- Added support for .xz / lzma (PR [262](https://github.com/RaRe-Technologies/smart_open/pull/262), [vmarkovtsev](https://github.com/vmarkovtsev))
- Added streaming HTTP support (PR [236](https://github.com/RaRe-Technologies/smart_open/pull/236), [handsomezebra](https://github.com/handsomezebra))
- Fix handling of "+" mode, refactor tests (PR [263](https://github.com/RaRe-Technologies/smart_open/pull/263), [vmarkovtsev](https://github.com/vmarkovtsev))
- Added support for SSH/SCP/SFTP (PR [58](https://github.com/RaRe-Technologies/smart_open/pull/58), [val314159](https://github.com/val314159) & [mpenkov](https://github.com/mpenkov))
- Added new feature: compressor registry (PR [266](https://github.com/RaRe-Technologies/smart_open/pull/266), [mpenkov](https://github.com/mpenkov))
- Implemented new `smart_open.open` function (PR [268](https://github.com/RaRe-Technologies/smart_open/pull/268), [mpenkov](https://github.com/mpenkov))
smart_open.open
This new function replaces `smart_open.smart_open`, which is now deprecated.
Main differences:
- ignore_extension → ignore_ext
- new `transport_params` dict parameter to contain keyword parameters for the transport layer (S3, HTTPS, HDFS, etc).
Main advantages of the new function:
- Simpler interface for the user, less parameters
- Greater API flexibility: adding additional keyword arguments will no longer require updating the top-level interface
- Better documentation for keyword parameters (previously, they were documented via examples only)
The old `smart_open.smart_open` function is deprecated, but continues to work as previously.