Skip to content

Releases: pika/pika

BlockingChannel fix to 0.10.0b1

16 Jul 01:23
@gmr gmr
Compare
Choose a tag to compare
Pre-release

f72b58f - Fixed failure to purge _ConsumerCancellationEvt from BlockingChannel._pending_events during basic_cancel. (Vitaly Kruglikov)

0.10.0 Pre-release 1

11 Jul 00:20
@gmr gmr
Compare
Choose a tag to compare
0.10.0 Pre-release 1 Pre-release
Pre-release

Notable changes:

  • Change to 3-Clause BSD License
  • Python 3.x support
  • Over 150 commits from 19 contributors
  • Refactoring of SelectConnection ioloop
  • This major release contains certain non-backward-compatible API changes as
    well as significant performance improvements in the BlockingConnection
    adapter.
  • Non-backward-compatible changes in Channel.add_on_return_callback callback's
    signature.
  • The AsynchoreConnection adapter was retired

0.9.14

11 Jul 00:26
@gmr gmr
Compare
Choose a tag to compare
  • 57fe43e - fix test to generate a correct range of random ints (ml)
  • 0d68dee - fix async watcher for libev_connection (ml)
  • 01710ad - Use default username and password if not specified in URLParameters (Sean Dwyer)
  • fae328e - documentation typo (Jeff Fein-Worton)
  • afbc9e0 - libev_connection: reset_io_watcher (ml)
  • 24332a2 - Fix the manifest (Gavin M. Roy)
  • acdfdef - Remove useless test (Gavin M. Roy)
  • 7918e1a - Skip libev tests if pyev is not installed or if they are being run in pypy (Gavin M. Roy)
  • bb583bf - Remove the deprecated test (Gavin M. Roy)
  • aecf3f2 - Don't reject a message if the channel is not open (Gavin M. Roy)
  • e37f336 - Remove UTF-8 decoding in spec (Gavin M. Roy)
  • ddc35a9 - Update the unittest to reflect removal of force binary (Gavin M. Roy)
  • fea2476 - PEP8 cleanup (Gavin M. Roy)
  • 9b97956 - Remove force_binary (Gavin M. Roy)
  • a42dd90 - Whitespace required (Gavin M. Roy)
  • 85867ea - Update the content_frame_dispatcher tests to reflect removal of auto-cast utf-8 (Gavin M. Roy)
  • 5a4bd5d - Remove unicode casting (Gavin M. Roy)
  • efea53d - Remove force binary and unicode casting (Gavin M. Roy)
  • e918d15 - Add methods to remove deprecation warnings from asyncore (Gavin M. Roy)
  • 117f62d - Add a coveragerc to ignore the auto generated pika.spec (Gavin M. Roy)
  • 52f4485 - Remove pypy tests from travis for now (Gavin M. Roy)
  • c3aa958 - Update README.rst (Gavin M. Roy)
  • 3e2319f - Delete README.md (Gavin M. Roy)
  • c12b0f1 - Move to RST (Gavin M. Roy)
  • 704f5be - Badging updates (Gavin M. Roy)
  • 7ae33ca - Update for coverage info (Gavin M. Roy)
  • ae7ca86 - add libev_adapter_tests.py; modify .travis.yml to install libev and pyev (ml)
  • f86aba5 - libev_connection: add **kwargs to _handle_event; suppress default_ioloop reuse warning (ml)
  • 603f1cf - async_test_base: add necessary args to _on_cconn_closed (ml)
  • 3422007 - add libev_adapter_tests.py (ml)
  • 6cbab0c - removed relative imports and importing urlparse from urllib.parse for py3+ (a-tal)
  • f808464 - libev_connection: add async watcher; add optional parameters to add_timeout (ml)
  • c041c80 - Remove ev all together for now (Gavin M. Roy)
  • 9408388 - Update the test descriptions and timeout (Gavin M. Roy)
  • 1b552e0 - Increase timeout (Gavin M. Roy)
  • 69a1f46 - Remove the pyev requirement for 2.6 testing (Gavin M. Roy)
  • fe062d2 - Update package name (Gavin M. Roy)
  • 611ad0e - Distribute the LICENSE and README.md (#350) (Gavin M. Roy)
  • df5e1d8 - Ensure that the entire frame is written using socket.sendall (#349) (Gavin M. Roy)
  • 69ec8cf - Move the libev install to before_install (Gavin M. Roy)
  • a75f693 - Update test structure (Gavin M. Roy)
  • 636b424 - Update things to ignore (Gavin M. Roy)
  • b538c68 - Add tox, nose.cfg, update testing config (Gavin M. Roy)
  • a0e7063 - add some tests to increase coverage of pika.connection (Charles Law)
  • c76d9eb - Address issue #459 (Gavin M. Roy)
  • 86ad2db - Raise exception if positional arg for parameters isn't an instance of Parameters (Gavin M. Roy)
  • 14d08e1 - Fix for python 2.6 (Gavin M. Roy)
  • bd388a3 - Use the first unused channel number addressing #404, #460 (Gavin M. Roy)
  • e7676e6 - removing a debug that was left in last commit (James Mutton)
  • 6c93b38 - Fixing connection-closed behavior to detect on attempt to publish (James Mutton)
  • c3f0356 - Initialize bytes_written in _handle_write() (Jonathan Kirsch)
  • 4510e95 - Fix _handle_write() may not send full frame (Jonathan Kirsch)
  • 12b793f - fixed Tornado Consumer example to successfully reconnect (Yang Yang)
  • f074444 - remove forgotten import of ordereddict (Pedro Abranches)
  • 1ba0aea - fix last merge (Pedro Abranches)
  • 10490a6 - change timeouts structure to list to maintain scheduling order (Pedro Abranches)
  • 7958394 - save timeouts in ordered dict instead of dict (Pedro Abranches)
  • d2746bf - URLParameters and ConnectionParameters accept unicode strings (Allard Hoeve)
  • 596d145 - previous fix for AttributeError made parent and child class methods identical, remove duplication (James Mutton)
  • 42940dd - UrlParameters Docs: fixed amqps scheme examples (Riccardo Cirimelli)
  • 43904ff - Dont test this in PyPy due to sort order issue (Gavin M. Roy)
  • d7d293e - Don't leave repr sorting up to chance (Gavin M. Roy)
  • 848c594 - Add integration test to travis and fix invocation (Gavin M. Roy)
  • 2678275 - Add pypy to travis tests (Gavin M. Roy)
  • 1877f3d - Also addresses issue #419 (Gavin M. Roy)
  • 470c245 - Address issue #419 (Gavin M. Roy)
  • ca3cb59 - Address issue #432 (Gavin M. Roy)
  • a3ff6f2 - Default frame max should be AMQP FRAME_MAX (Gavin M. Roy)
  • ff3d5cb - Remove max consumer tag test due to change in code. (Gavin M. Roy)
  • 6045dda - Catch KeyError (#437) to ensure that an exception is not raised in a race condition (Gavin M. Roy)
  • 0b4d53a - Address issue #441 (Gavin M. Roy)
  • 180e7c4 - Update license and related files (Gavin M. Roy)
  • 256ed3d - Added Jython support. (Erik Olof Gunnar Andersson)
  • f73c141 - experimental work around for recursion issue. (Erik Olof Gunnar Andersson)
  • a623f69 - Prevent #436 by iterating the keys and not the dict (Gavin M. Roy)
  • 755fcae - Add support for authentication_failure_close, connection.blocked (Gavin M. Roy)
  • c121243 - merge upstream master (Michael Laing)
  • a08dc0d - add arg to channel.basic_consume (Pedro Abranches)
  • 10b136d - Documentation fix (Anton Ryzhov)
  • 9313307 - Fixed minor markup errors. (Jorge Puente Sarrín)
  • fb3e3cf - Fix the spelling of UnsupportedAMQPFieldException (Garrett Cooper)
  • 03d5da3 - connection.py: Propagate the force_channel keyword parameter to methods involved in channel creation (Michael Laing)
  • 7bbcff5 - Documentation fix for basic_publish (JuhaS)
  • 01dcea7 - Expose no_ack and exclusive to BlockingChannel.consume (Jeff Tang)
  • d39b6aa - Fix BlockingChannel.basic_consume does not block on non-empty queues (Juhyeong Park)
  • 6e1d295 - fix for issue 391 and issue 307 (Qi Fan)
  • d9ffce9 - Update parameters.rst (cacovsky)
  • 6afa41e - Add additional badges (Gavin M. Roy)
  • a255925 - Fix return value on dns resolution issue (Laurent Eschenauer)
  • 3f7466c - libev_connection: tweak docs (Michael Laing)
  • 0aaed93 - libev_connection: Fix varable naming (Michael Laing)
  • 0562d08 - libev_connection: Fix globals warning (Michael Laing)
  • 22ada59 - libev_connection: use globals to track sigint and sigterm watchers as they are created globally within libev (Michael Laing)
  • 2649b31 - Move badge [skip ci](Gavin M. Roy)
  • f70eea1 - Remove pypy and installation attempt of pyev (Gavin M. Roy)
  • f32e522 - Conditionally skip external connection adapters if lib is not installed (Gavin M. Roy)
  • cce97c5 - Only install pyev on python 2.7 (Gavin M. Roy)
  • ff84462 - Add travis ci support (Gavin M. Roy)
  • cf971da - lib_evconnection: improve signal handling; add callback (Michael Laing)
  • 9adb269 - bugfix in returning a list in Py3k (Alex Chandel)
  • c41d5b9 - update exception syntax for Py3k (Alex Chandel)
  • c8506f1 - fix _adapter_connect (Michael Laing)
  • 67cb660 - Add LibevConnection to README (Michael Laing)
  • 1f9e72b - Propagate low-level connection errors to the AMQPConnectionError. (Bjorn Sandberg)
  • e1da447 - Avoid race condition in _on_getok on successive basic_get() when clearing out callbacks (Jeff)
  • 7a09979 - Add support for upcoming Connection.Blocked/Unblocked (Gavin M. Roy)
  • 53cce88 - TwistedChannel correctly handles multi-argument deferreds. (eivanov)
  • 66f8ace - Use uuid when creating unique consumer tag (Perttu Ranta-aho)
  • 4ee2738 - Limit the growth of Channel._cancelled, use deque instead of list. (Perttu Ranta-aho)
  • 0369aed - fix adapter references and tweak docs (Michael Laing)
  • 1738c23 - retry select.select() on EINTR (Cenk Alti)
  • 1e55357 - libev_connection: reset internal state on reconnect (Michael Laing)
  • 708559e - libev adapter (Michael Laing)
  • a6b7c8b - Prioritize EPollPoller and KQueuePoller over PollPoller and SelectPoller (Anton Ryzhov)
  • 53400d3 - Handle socket errors in PollPoller and EPollPoller Correctly check 'select.poll' availability (Anton Ryzhov)
  • a6dc969 - Use dict.keys & items instead of iterkeys & iteritems (Alex Chandel)
  • 5c1b0d0 - Use print function syntax, in examples (Alex Chandel)
  • ac9f87a - Fixed a typo in the name of the Asyncore Connection adapter (Guruprasad)
  • dfbba50 - Fixed bug mentioned in Issue #357 (Erik Andersson)
  • c906a2d - Drop additional flags when getting info for the hostnames, log errors (#352) (Gavin M. Roy)
  • baf23dd - retry poll() on EINTR (Cenk Alti)
  • 7cd8762 - Address ticket #352 catching an error when socket.getprotobyname fails (Gavin M. Roy)
  • 6c3ec75 - Prep for 0.9.14 (Gavin M. Roy)
  • dae7a99 - Bump to 0.9.14p0 (Gavin M. Roy)
  • 620edc7 - Use default port and virtual host if omitted in URLParameters (Issue #342) (Gavin M. Roy)
  • 42a8787 - Move the exception handling inside the while loop (Gavin M. Roy)
  • 10e0264 - Fix connection back pressure detection issue #347 (Gavin M. Roy)
  • 0bfd670 - Fixed mistake in commit 3a19d65. (Erik Andersson)
  • da04bc0 - Fixed Unknown state on disconnect error message generated when closing connections. (Erik Andersson)
  • 3a19d65 - Alternative solution to fix #345. (Erik Andersson)
  • abf9fa8 - switch to sendall to send entire frame (Dustin Koupal)
  • 9ce8ce4 - Fixed the async publisher example to work with reconnections (Raphaël De Giusti)
  • 511028a - Fix typo in TwistedChannel docstring (cacovsky)
  • 8b69e5a - calls self._adapter_disconnect() instead of self.disconnect() which doesn't actually exist #294 (Mark Unsworth)
  • 06a5cf8 - add NullHandler to prevent logging warnings (Cenk Alti)
  • f404a9a - Fix #337 cannot start ioloop after stop (Ralf Nyren)

0.9.13

11 Jul 00:26
@gmr gmr
Compare
Choose a tag to compare

Major Changes

  • IPv6 Support with thanks to Alessandro Tagliapietra for initial prototype
  • Officially remove support for <= Python 2.5 even though it was broken already
  • Drop pika.simplebuffer.SimpleBuffer in favor of the Python stdlib collections.deque object
  • New default object for receiving content is a "bytes" object which is a str wrapper in Python 2, but paves way for Python 3 support
  • New "Raw" mode for frame decoding content frames (#334) addresses issues #331, #229 added by Garth Williamson
  • Connection and Disconnection logic refactored, allowing for cleaner separation of protocol logic and socket handling logic as well as connection state management
  • New "on_open_error_callback" argument in creating connection objects and new Connection.add_on_open_error_callback method
  • New Connection.connect method to cleanly allow for reconnection code
  • Support for all AMQP field types, using protocol specified signed/unsigned unpacking

Backwards Incompatible Changes

  • Method signature for creating connection objects has new argument "on_open_error_callback" which is positionally before "on_close_callback"
  • Internal callback variable names in connection.Connection have been renamed and constants used. If you relied on any of these callbacks outside of their internal use, make sure to check out the new constants.
  • Connection._connect method, which was an internal only method is now deprecated and will raise a DeprecationWarning. If you relied on this method, your code needs to change.
  • pika.simplebuffer has been removed

Bugfixes

  • BlockingConnection consumer generator does not free buffer when exited (#328)
  • Unicode body payloads in the blocking adapter raises exception (#333)
  • Support "b" short-short-int AMQP data type (#318)
  • Docstring type fix in adapters/select_connection (#316) fix by Rikard Hultén
  • IPv6 not supported (#309)
  • Stop the HeartbeatChecker when connection is closed (#307)
  • Unittest fix for SelectConnection (#336) fix by Erik Andersson
  • Handle condition where no connection or socket exists but SelectConnection needs a timeout for retrying a connection (#322)
  • TwistedAdapter lagging behind BaseConnection changes (#321) fix by Jan Urbański

Other

  • Refactored documentation
  • Added Twisted Adapter example (#314) by nolinksoft