Skip to content

Commit

Permalink
add Semantic Versioning
Browse files Browse the repository at this point in the history
  • Loading branch information
Harsh Gupta committed Aug 9, 2017
1 parent 3db1933 commit e1c67b7
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1127,6 +1127,19 @@ client.SocketPollInterval = 1000;
## Notes
### Semantic Versioning
FluentFTP uses [semantic versioning](http://semver.org/), a package numbering scheme that indicates API compatibility between releases. A version consists of `MAJOR.MINOR.PATCH`, that use this scheme:
- **Major** version changed when incompatible/breaking changes are made to the API
- eg: Methods/properties are removed, Method arguments are removed/refactored
- **Minor** version changed when functionality has been added in a backwards-compatible manner
- eg: Methods/properties are added, New arguments added into methods
- **Patch** version changed when backwards-compatible bug fixes are released
- eg: Fixes/minor features are added
### Stream Handling
FluentFTP returns a `Stream` object for file transfers. This stream **must** be properly closed when you are done. Do not leave it for the GC to cleanup otherwise you can end up with uncatchable exceptions, i.e., a program crash. The stream objects are actually wrappers around `NetworkStream` and `SslStream` which perform cleanup routines on the control connection when the stream is closed. These cleanup routines can trigger exceptions so it's vital that you properly dispose the objects when you are done, no matter what. A proper implementation should go along the lines of:
Expand Down

0 comments on commit e1c67b7

Please sign in to comment.