- update errors lib
- fix error handling in
proxyClose
- added option to specify rabbitmq vhost
- use quorum queues
- update libs
- rewrite connection handling
- reconnect automatically, do not need to call Reconnect function
- return error from Start method
- release v2 module
- handle channel closing notifications and restart connection
- release version v1.0.0
- add verify script and ci job
- go module update
- set default MaxGoroutines to 10
- add retry middleware for Publish
- return error from Handler.Publish if called without calling Handler.Start first
- fixed Handler.Close if called without calling Handler.Start first
- added panic reason to recovery middleware in case panic was not called with an error
- added a recovery middleware
- added Start method which must be called manually (instead of implicitly calling it during Publish/OnEvent)
- removed OnError/Restart methods from geb queue (can be used as option when creating handler)
- publishing to a broken connection now returns with error instead of hanging, and no longer triggers OnError callback
- refactored rabbitmq.go
- added tests
- removed support for multiple struct tags in codec (only 1 can be used now)
- tag is now mandatory (no longer uses struct field name as fallback)
- replaced json library
- fixed publish deadlock introduced by 0.5.1
- improved concurrency handling (tested with --race flag)
- error handling fixes
- inline documentation
- improved performance with low MaxGoroutines setting
- during OnEvent, deliver messages on a new goroutines until "MaxGoroutines" limit reached, the default value is 1
- add "MaxGoroutines" option to OnEvent
- added option to set publish context
- added fluent interface for Publish & OnEvent
- added context handling
- added middleware support
- added msgpack encoding
- added headers/body separation to events
- create an interface for the queue
- move the original implementation to rabbitmq package and keep the interface in the geb package
- unexport
Timeout
struct field from rabbitmq.Queue, it is set through an Option, so don't need to be exposed
- fixed fatal error: concurrent map iteration and map write
- fixed a bug introduced in 0.1.4 which resulted in panic when rabbitmq server was unavailable
- removed reerror dependency
- changed dependency manager from glide to dep
- removed logging of bound queues (client should log them if needed)
- added PublishStruct convenience method
- added timeout option and reduced default timeout from 30s to 5s
- fixed reconnect
- fixed concurrency issues
- project created