- #84 - use a named logger
- #83 - add
DEFLATE
support - #80 - configurable
nsqlookupd
HTTP request timeouts - #78 - fix potential
Reader
connection index error - #77 - more flexible
nsqlookupd
configuration - #76 - fix potential out-of-order backoff/resume
- #72 -
AUTH
support - #73 - support 64char topic/channel names
IMPORTANT: this is a bug-fix release to address an issue where Reader
would raise
and exception when receiving a heartbeat.
- #68 - fix heartbeat_interval bug
IMPORTANT: this is a bug-fix release to address an issue preventing Reader
from
consuming messages.
- #63 - fix connection attributes bug;
heartbeat_interval
as ms - #65 - fix invalid arguments during read error
- #66/#64 - add integration tests; improve testing matrix
This release includes an array of new features, refactoring, and bug fixes.
Primarily, support for sampling channels, modifying output buffering, enabling Snappy compression, and setting user agent metadata.
Finally, there was a large internal refactoring in #52 to achieve better separation of concerns and pep8 compliance in #53.
- #59 - add
nsq_to_nsq
example app (thanks @ploxiln) - #58 - add user agent
IDENTIFY
metadata - #57 - add channel sampling feature negotiation
- #55 - update
Message
docs (thanks @dsoprea) - #53 - pep8
- #52 - evented refactoring
- #49 - add output buffering feature negotiation
- #50 - add Snappy compression feature negotiation
- #51 - fix periodic timers when not configuring
nsqlookupd
This is a bug-fix release addressing a few issues in Writer
.
- #48 - fix writer encoding issues
- #47 - fix writer uncaught exception when no connections to publish to
- #45 - fix writer id property
This release drops the concept of "tasks" in Reader
(in favor of a single message handler). This
greatly simplifies internal RDY state handling and is a cleaner API as we head towards 1.0.
These changes modify the public API and break backwards compatibility. To ease the transition we've
added a LegacyReader
class that accepts the previous version's arguments and facilitates
instantiating new Reader
instances for each task with the same automatic channel naming
conventions.
We suggest you begin to migrate towards using the new API directly (LegacyReader
will not be
in the 1.0 release), but for now the upgrade is as simple as:
from nsq import LegacyReader as Reader
Finally, TLS support is available via tls_v1
and tls_options
params to Reader
(available in
nsqd
as of 0.2.22+
).
- #42 - TLS support
- #39 - distribute requests to lookupd
- #38 - fix edge case where conn would never get RDY; RDY fairness when # conns > max_in_flight
- #36/#37 - refactor internal connection, backoff, and RDY handling
- #29/#34/#35 - refactor public API (drop "tasks"); improve RDY count handling
- #28/#31 - improve backoff handling
- #25 - add Writer
- #24 - add is_starved to Reader
- #23 - fix Message export, cleanup IDENTIFY response logging
- #22 - feature negotiation (supported by nsqd v0.2.20+) wait 2x heartbeat interval before closing conns more logging improvements
- #21 - configurable heartbeat interval (supported by nsqd v0.2.19+)
- #17 - add task to all connection related logging; ensure max_in_flight is never < # tasks
- #16 - always set initial RDY count to 1
- #14 - automatically reconnect to nsqd when not using lookupd
- #12 - cleanup/remove deprecated async=True
- #9 - redistribute ready state when max_in_flight < num_conns
- #10 - fix parameter type for REQ
- #8 - add tests
- #6 - fix TOUCH; deprecate
async=True
in favor of always using message instance methods
- #4 - TOUCH support; new message response API (deprecates
finisher
)
- #5 - add/use IDENTIFY
- #1 - check topic/channel length for validity
- Initial Release