Releases: nsqio/go-nsq
0.3.7
Upgrading from 0.3.6: There are no backward incompatible changes. THIS IS THE LAST STABLE RELEASE PROVIDING THIS API. Future releases will be based on the api in #30 and will not be backwards compatible!
This is a bug fix release relating to the refactoring done in 0.3.6
.
0.3.6
Upgrading from 0.3.5: There are no backward incompatible changes.
This release includes a significant internal refactoring, designed to better encapsulate responsibility, see #19.
Specifically:
- make
Conn
public - move transport responsibilities into
Conn
fromReader
/Writer
- supply callbacks for hooking into
Conn
events
As part of the refactoring, a few additional clean exit related issues were resolved:
- wait group now includes all exit related goroutines
- ensure that
readLoop
exits before exitingcleanup
- always check
messagesInFlight
atreadLoop
exit - close underlying connection last
0.3.5
Upgrading from 0.3.4: There are no backward incompatible changes.
This release includes a few new features such as support for channel sampling and sending along a user agent string (which is now displayed in nsqadmin
).
Also, a critical bug fix for potential deadlocks (thanks @kjk for reporting and help testing).
New Features/Improvements:
Bug Fixes:
0.3.4
Upgrading from 0.3.3: There are no backward incompatible changes.
This is a bug fix release, notably potential deadlocks in Message.Requeue()
and Message.Touch()
as well as a potential busy loop cleaning up closed connections with in-flight messages.
New Features/Improvements:
- #14 - add
Reader.Configure()
- #18 - return an exported error when an
nsqlookupd
address is already configured
Bug Fixes:
0.3.3
Upgrading from 0.3.2: This release requires NSQ binary version 0.2.23+
for compression support.
This release contains significant Reader
refactoring of the RDY handling code paths. The motivation is documented in #1 however the commits in #8 identify individual changes. Additionally, we eliminated deadlocks during connection cleanup in Writer
.
As a result, both user-facing APIs should now be considerably more robust and stable. Additionally, Reader
should behave better when backing off.
New Features/Improvements:
- #9 - ability to ignore publish responses in
Writer
- #12 -
Requeue()
method onMessage
- #6 -
Touch()
method onMessage
- #4 - snappy/deflate feature negotiation
Bug Fixes:
0.3.2
Upgrading from 0.3.1: This release requires NSQ binary version 0.2.22+
for TLS support.
New Features/Improvements:
- #227 - TLS feature negotiation
- #164/#202/#255 - add
Writer
- #186 -
MaxBackoffDuration
of0
disables backoff - #175 - support for
nsqd
config option--max-rdy-count
- #169 - auto-reconnect to hard-coded
nsqd
Bug Fixes:
- #254/#256/#257 - new connection RDY starvation
- #250 -
nsqlookupd
polling improvements - #243 - limit
IsStarved()
to connections w/ in-flight messages - #169 - use last RDY count for
IsStarved()
; redistribute RDY state - #204 - fix early termination blocking
- #177 - support
broadcast_address
- #161 - connection pool goroutine safety
0.3.1
0.3.0
Upgrading from 0.2.4: There are no backward incompatible changes to applications
written against the public nsq.Reader
API.
However, there are a few backward incompatible changes to the API for applications that
directly use other public methods, or properties of a few NSQ data types:
nsq.Message
IDs are now a type nsq.MessageID
(a [16]byte
array). The signatures of
nsq.Finish()
and nsq.Requeue()
reflect this change.
nsq.SendCommand()
and nsq.Frame()
were removed in favor of nsq.SendFramedResponse()
.
nsq.Subscribe()
no longer accepts shortId
and longId
. If upgrading your consumers
before upgrading your nsqd
binaries to 0.2.16-rc.1
they will not be able to send the
optional custom identifiers.