v3.7.1 (2024-09-03)
Implemented enhancements:
- Fix wrong stream IO error code, improve write speed #1192 (ramunasd)
- AMQP Exception marker interface is for
Throwable
types #1189 (Ocramius)
v3.7.0 (2024-07-09)
Implemented enhancements:
- fix: create a new exception for each warning in IO layer with reference to previous #1183 (ramunasd)
Fixed bugs:
- first error message thrown by stream_socket_enable_crypto() is not propagated to caller #1181
Closed issues:
- feof() check in /Wire/IO/StreamIO::write() blocks connection #1176
Merged pull requests:
- AMQPConnectionClosedException is never thrown from checkConnection() #1185 (villfa)
- chore: deprecate properties related to old protocol mode #1182 (ramunasd)
- Add verbose test output #1180 (lukebakken)
- CI workflow updates #1179 (lukebakken)
- deprecate AMQPSSLConnection class #1178 (ramunasd)
- remove feof() check on connection. this check fails under Windows wh… #1177 (jjdunn)
v3.6.2 (2024-04-15)
Merged pull requests:
- Trigger ssl_protocol deprecation when it is really not null and not AMQPConnectionConfig instance #1163 (SergeyKhrystenko)
v3.6.1 (2024-02-07)
Implemented enhancements:
Fixed bugs:
Closed issues:
- stream_set_blocking(): Argument #2 ($enable) must be of type bool, int given #1155
- Connection option close_on_destruct doesn't work because of circular reference #1144
- Cannot avoid static analysis issues with deprecation of
$ssl_options
inAMQPStreamConnection
#1136
Merged pull requests:
- fix static analysis warnings #1156 (ramunasd)
- Delay stream resource init #1154 (ramunasd)
- Widen
AMQPStreamConnection
's$ssl_protocol
parameter to acceptAMQPConnectionConfig
#1137 (ben-challis)
v3.6.0 (2023-10-22)
Implemented enhancements:
- Only call fwrite() if select() said the fd is ready. #1132 (Sthing)
- TCP keepalive for TLS connections #1116 (egorgrushko)
Fixed bugs:
Closed issues:
- Wrong thrown
AMQPTimeoutException
-exception for heartbeat #1118 AMQPTimeoutException
is thrown without reaching the timeout limit #1109- tls connection without verify peer failed #1108
Merged pull requests:
- Updated docblock #1133 (berniedurfee-renaissance)
- Update checkout to v4 #1128 (salehhashemi1992)
- Add Additional Test Coverage for AMQPConnectionConfig Class #1126 (salehhashemi1992)
- Test against php 8.3 #1124 (sergiy-petrov)
- drop support for PHP7.1 #1122 (ramunasd)
- Adjust config for isSecure and setSslVerify #1106 (wiryonolau)
v3.5.4 (2023-07-01)
Implemented enhancements:
Fixed bugs:
- Positive heartbeat of client is overwritten by server's 0 heartbeat value. All versions from 3.3.1 affected #1080
Closed issues:
- Heartbeat senders do not work with lazy connections #1099
v3.5.3 (2023-04-03)
Fixed bugs:
v3.5.2 (2023-03-01)
Implemented enhancements:
- Security levels SSL options #1075 (alexanderbirch)
Fixed bugs:
- Does not pass
$config
parameter to AMQPSocketConnection usingAMQPConnectionFactory::create
#1076 - Bug fix, Deprecation notice update #1077 (ssi-anik)
v3.5.1 (2023-01-20)
Closed issues:
- Connect error since 3.5.0 #1065
Merged pull requests:
- Update GHA to use latest RabbitMQ #1068 (lukebakken)
- Revert #1060 #1066 (lukebakken)
v3.5.0 (2023-01-16)
Implemented enhancements:
- Support for authentication method "external" #1064 (ramunasd)
- Optimize frame parsing logic #1063 (ramunasd)
- Add support for lazy connect to all classes #1042 (ramunasd)
- Added channel_rpc_timeout #1041 (bravoman)
Fixed bugs:
- SIGHeartbeatSender uses fixed Signal #1039
- Define default ssl context parameter #1060 (ramunasd)
- Fix hardcoded signal code in SIGHeartbeatSender #1043 (ramunasd)
v3.4.0 (2022-10-18)
Implemented enhancements:
Fixed bugs:
- v3.3.0 heartbeat error #1029
Merged pull requests:
- Missing PHPDoc param in AbstractConnection constructor #1033 (i3bepb)
- Split buffer and IO readers into separate classes #1031 (ramunasd)
v3.3.1 (2022-10-04)
Fixed bugs:
Closed issues:
- Flaky CI test runs #1027
v3.3.0 (2022-10-03)
Implemented enhancements:
- Allow set socket send buffer size #1026 (ramunasd)
- Add capath SSL option support #1014 (garrick-lam)
Fixed bugs:
- Heartbeat of client overwrite without any conditions the one from server #1018
- Fix heartbeat negotiation #1024 (ramunasd)
- Throw connection exceptions on batch publish #983 (foment)
Merged pull requests:
- Update codecov action to latest version #1028 (ramunasd)
- Upgrade toxiproxy, enable all tests on CI #1025 (ramunasd)
- chore: Set permissions for GitHub actions #1001 (nathannaveen)
- Fix rate limiting #985 (lukebakken)
v3.2.0 (2022-03-10)
Implemented enhancements:
- Channel method for continuous message consumption #977 (ramunasd)
- Propagate real exceptions #976 (dmitryuk)
- unified configuration class and factory for all kinds of connection #975 (ramunasd)
- Custom PCNTL Heartbeat Sender #971 (khepin)
Fixed bugs:
- PCNTL SIGTERM break on select ? #458
- Add $restart_syscalls = true explicitly when calling pcntl_signal to avoid crashing SQL Server connections #972 (maxiwheat)
Merged pull requests:
- Php amqplib 3.2.0 #984 (lukebakken)
- getChannelId can return null #981 (dmitryuk)
v3.1.2 (2022-01-18)
Implemented enhancements:
Fixed bugs:
Closed issues:
- Deprecation warnings on ArrayAccess methods #967
Merged pull requests:
v3.1.1 (2021-12-03)
Fixed bugs:
Closed issues:
- Support for PHP 8.1 #959
v3.1.0 (2021-10-22)
Implemented enhancements:
- drop support for PHP7.0 #949 (ramunasd)
- Add support for floating point values in tables/array #945 (ramunasd)
- Add PHP 8.1 support #929 (javer)
Fixed bugs:
- Consumer fails with AMQP-rabbit doesn't define data of type [d] #924
- Fixed composer php version constraint #916 (rkrx)
Closed issues:
- How $channel->wait() work on loop forever #939
- The header isn't fragmented causing large headers to hit the maximum frame size. #934
- Keeping a connection open for publishing #932
- prefetch_count seems to consume always only 1 message #919
- Can't connect to ssl amqp hosts. #918
- Updating "phpseclib/phpseclib" is necessary! #914
- README - Non-existant code of conduct file #913
- consumer_tag: Consumer identifier #909
- AMQPLazyConnection::create_connection does not work #798
Merged pull requests:
- throw exception on attempt to create lazy connection to multiple hosts #951 (ramunasd)
- Fix static analysis warnings #948 (ramunasd)
- Use correct default for read_write_timeout in AMQPStreamConnection#try_create_connection #923 (bezhermoso)
- Improved examples and dosc #917 (corpsee)
- Fix code style: unnecessary space #915 (maximal)
v3.0.0 (2021-03-16)
Merged pull requests:
v3.0.0-rc2 (2021-03-09)
Fixed bugs:
- PHP 8 support #904 (patrickkusebauch)
Closed issues:
- PHP 8 support issue #903
v3.0.0-rc1 (2021-03-08)
Breaking changes:
Implemented enhancements:
- Allow to use SSL connection as lazy #893 (odombrovskyi-dev)
- Support php 8.0 #858 (axxapy)
Fixed bugs:
- BigInteger breaks authoritative class maps #885
- fix ValueError on closed or broken socket #888 (ramunasd)
Merged pull requests:
- Drop support for PHP5.6 #884 (ramunasd)
- feat(Composer) run test composer 2. #882 (Yozhef)
- feat(Travis) remove travis. #881 (Yozhef)
- feat(CodeCov) add Codecov phpunit code coverage. #880 (Yozhef)
- Phpdoc types and minor improvements #869 (andrew-demb)
v2.12.3 (2021-03-01)
Fixed bugs:
- ValueError exception in PHP8 #883
Closed issues:
- process multiple messages at the same #898
- application_headers vs headers #890
- Remove support for PHP 5.X #877
2.12.2 (2021-02-12)
Implemented enhancements:
Fixed bugs:
- Provide AMQPTable to exchange_declare #873
- fix annotation when AMQPTable is allowed variable type #874 (ramunasd)
- fix PCNTL heartbeat signal registration #866 (laurynasgadl)
Closed issues:
- Type definition delivery tag differs #876
- PHP 8 Deprecate required parameters after optional parameters issue #870
- PCNTLHeartbeatSender would be never triggered again when connection in writing status #865
- PHP8 deprecation warnings #860
- PHP 8.0.0 Deprecated: Required parameter ... follows optional parameter ... in #856
- The connection would lost on some environment and cause destruct failed #849
- About message body string "quit" #848
- Why is the client disconnecting automatically with no errors nor Exceptions? #847
- PHP 8: Required parameter $io follows optional parameter $vhost #846
- AMQPProtocolException phpdoc arguments type annotations are swapped #844
- PHP Fatal error: Uncaught exception 'PhpAmqpLib\Exception\AMQPTimeoutException' with message 'The connection timed out after 3 sec while awaiting incoming data' #839
- The dependency phpseclib needs an update to version 3.* #867
Merged pull requests:
- Fixed AMQPProtocolException phpdoc arguments type annotations #845 (zerkms)
- Change phpdoc $delivery_tag type to int #838 (autowp)
- Update documentation on published release #837 (ramunasd)
- perform CI tests using github actions #836 (ramunasd)
- PSR 12 #868 (andrew-demb)
- feat (Code Style) start integration PSR-2. #859 (Yozhef)
- Implement \ArrayAccess in AMQPAbstractCollection #850 (idsulik)
v2.12.1 (2020-09-25)
Implemented enhancements:
- Tests should run with TLS enabled #758
- Use docker containers for broker and proxy in travis CI tests #831 (ramunasd)
Fixed bugs:
- wait_for_pending_acks results in: LogicException("Delivery tag cannot be changed") #827
- Error Connecting to server(0): #825
- validate basic_consume() arguments and avoid invalid callbacks #834 (ramunasd)
Closed issues:
- Does the library supports federation conf? #826
- Publishing not happend after publishing to non-existent exchange #823
Merged pull requests:
- SSL tests and fixed demo #832 (ramunasd)
- fix LogicException while waiting for pending broker ack #830 (ramunasd)
- revert #785 'Enable TLS SNI by default' #829 (ramunasd)
v2.12.0 (2020-08-25)
Implemented enhancements:
- Add signal-based heartbeat option #815 (laurynasgadl)
- CI tests for PHP 7.4 #800 (ramunasd)
- AMQPMessage new interface #799 (ramunasd)
- Enable TLS SNI by setting peer_name to $host in $ssl_options #785 (carlhoerberg)
Fixed bugs:
- Adding exception handling for better user experience #810
- Possible blocking connection even when connection_timeout is specified #804
- use simple output instead of STDOUT in debug helper #819 (ramunasd)
- add missing timeout param for connection handshake response #812 (ramunasd)
Closed issues:
- Setting x-ha-policy from client side is not longer available since version 3.0 #811
- Debug in some cases is not working - possible fix - line 29 in DebugHelper #809
- when I want to use publish_batch in confirm: 2 #807
- when I want to use publish_batch in confirm #806
- NullClasses for testing #802
Merged pull requests:
- AbstractIO::select() never returns false #817 (szepeviktor)
- Tidy up CI configuration #816 (szepeviktor)
- add type check for basic_consume() callback #814 (ramunasd)
- Exclude non-essential files from dist #796 (fedotov-as)
v2.11.3 (2020-05-13)
Fixed bugs:
- Unexpected heartbeat missed exception #793
- Fix unexpected missed heartbeat exception #794 (ramunasd)
v2.11.2 (2020-04-30)
Fixed bugs:
Closed issues:
- Fatal error: Uncaught exception 'PhpAmqpLib\Exception\AMQPConnectionClosedException' with message 'FRAME_ERROR - type 2, first 16 octets #789
- Incorrect behaviour when heartbeat is missing #787
- How to know When rabbitmq server get last heartbeat from client? #783
v2.11.1 (2020-02-24)
Implemented enhancements:
Fixed bugs:
- Handling of SOCKET_EAGAIN in StreamIO not working in PHP 7.4 #764
- fix: ensure hosts is an array, otherwise latest_exception can be null #778 (mr-feek)
- change phpDocumentator template, fix incorrect constructor documentation #771 (ramunasd)
Closed issues:
- circular reference #759
Merged pull requests:
- Add package meta class #782 (ramunasd)
- Code style and static analysis warnings #768 (ramunasd)
- Mention AMQProxy as related library #767 (johanrhodin)
- Fix comments #766 (Yurunsoft)
- Restrict PHP 7.4.0 - 7.4.1 due to a PHP bug #765 (Majkl578)
v2.11.0 (2019-11-19)
Implemented enhancements:
- Remove bcmath dependency #754 (ramunasd)
- Run phpunit on appveyor #751 (ramunasd)
- Add support for PLAIN authentication method #749 (ramunasd)
Fixed bugs:
Closed issues:
Merged pull requests:
- Fix phpunit tests reported as risked #755 (ramunasd)
- throw AMQPConnectionClosedException when broker wants to close connection #750 (ramunasd)
v2.10.1 (2019-10-10)
Implemented enhancements:
Fixed bugs:
- Channel gets stuck if user
wait_for_pending_acks
#720 - Update amqp_connect_multiple_hosts.php #740 (nguyendachuy)
- Fix fatal error in skipped tests #736 (ramunasd)
- Fix wrong headers exchange demo #735 (ramunasd)
- Fix infinite wait for pending acks #733 (ramunasd)
Closed issues:
- basic_publish and memory alarms #743
- Connection timeout error #739
- Exchanges list #734
- Cannot create a durable queue #731
- isConnected remains true while AMQPConnectionClosedException is thrown #730
- Use v2.9~2.10, the CPU will 99% when waiting for new messages. v2.8 has no such problem. #729
- Headers exchange - php example #554
- AMQPMessage::basic_consume + $nowait=null results in $nowait=true #422
Merged pull requests:
- Specify language id in the code blocks #747 (funivan)
- Update version number to 2.10 #746 (ramunasd)
- Remove phpDocumentator from dev dependencies #745 (ramunasd)
- Typo #738 (marianofevola)
v2.10.0 (2019-08-08)
Closed issues:
- Update API docs #721
Merged pull requests:
v2.10.0-rc1 (2019-08-08)
Implemented enhancements:
- depricated getIO will break heartbeat #696
- Run travis tests against PHP 7.4 #700 (ramunasd)
- allow assoc array and generator for connection creation #689 (black-silence)
- getDeliveryTag method for AMQPMessage #688 (ilyachase)
Fixed bugs:
- UNIX only SOCKET_* constants trigger E_NOTICE on Windows #723
- Fix wrong exception type on failed connect to broker #716 (ramunasd)
Closed issues:
- Enhance PHPUnit version definitions in composer.json #718
- Connection timeout disguised as missed server heartbeat #713
- why php alway quit #708
- Is Channel access by reference a possibility? #707
- Broken pipe or closed connection #706
- Warning for SOCKET_EWOULDBLOCK not defined #705
- how to get Consumer Cancel Notify #704
- Long running producer -- can send messages to queues already declared, but can't declare new queues #703
- [Question] php-amqplib reuse connection #702
- Enabling heartbeat by default throws PHP Fatal error #699
- FATAL ERROR: Call to a member function send_content() on null #698
- stream_select(): You MUST recompile PHP with a larger value of FD_SETSIZE #693
- report error inqueue_declare #692
- Catch Them all except: PhpAmqpLib\Exception\AMQPConnectionClosedException #691
- stream_socket_client unable to connect (Unknown error) - OpenSSL 1.0 vs 1.1 #687
- High CPU usage after 2.9.0 release. #686
- Always allow to set a timeout #89
Merged pull requests:
- Revert changes from #648 #726 (lukebakken)
- Wrapper for sockets extension constants #724 (ramunasd)
- Resolves issue#718 #722 (peter279k)
- Add github issue templates #717 (ramunasd)
- PHP information script #712 (ramunasd)
- Install RabbitMQ package before travis tests #711 (ramunasd)
- Set minimum PHP version to 5.6 #710 (ramunasd)
- Added link to #444 #709 (Maxim-Mazurok)
- fix call to a member function o null when connection was closed #701 (ramunasd)
- Add connection heartbeat check method #697 (ramunasd)
- Fix phpdoc #690 (black-silence)
- Adjust PHPDoc for AMQPChannel's "$ticket" parameters #685 (AegirLeet)
v2.9.2 (2019-04-24)
Implemented enhancements:
Fixed bugs:
- Changes in SSL handling breaks bschmitt/laravel-amqp #672
Closed issues:
- stream_socket_client(): unable to connect to tcp:// #682
- Broken pipe connection #679
- Error Wrong parameters for PhpAmqpLib\Exception\AMQPRuntimeException([string $message [, long $code [, Throwable $previous = NULL]]]) #671
- stream_select(): unable to select [4]: Interrupted system call (max_fd=5) #670
- AMQP SSL Broken Pipe #669
- Default heartbeat settings #563
Merged pull requests:
- fix unknown var #681 (anarbekb)
- Revert default SSL options #677 (ramunasd)
- fix regression after #675 due to too early changed flag #676 (ramunasd)
- Ensure amqp client status is closed that network had been rst #675 (wjcgithub)
v2.9.1 (2019-03-26)
Fixed bugs:
- Undefined constant SOCKET_EAGAIN in Windows #664
Closed issues:
- Revert some non-backwards-compatible changes #666
- getting AMQPTimeoutException on 150+ publishes/second. #665
Merged pull requests:
- Fix undefined constant #668 (ramunasd)
- Revert argument checking #667 (lukebakken)
v2.9.0 (2019-03-22)
Implemented enhancements:
- php-amqp AMQPStreamConnection abstraction class constructor sets heartbeat = 0, keepalive = false #374
Fixed bugs:
v2.9.0-rc2 (2019-03-18)
Closed issues:
- Existing error handler is nuked by class StreamIO #655
- Please, publish your OpenPGP key #654
- [2.7,2.8] StreamIO force protocol "ssl" (hardcoded) #641
- Connection remains isConnected === true while AMQPHeartbeatMissedException is thrown #627
- Duplicate call to AbstractIO::connect() during reconnecting (AbstractConnection::reconnect()) #626
- infinite loop inside StreamIO::write, in case of broken connection #624
- heartbeat problem on non_blocking consumers #508
- isConnected was still true when broken pipe or close connection in channel->wait() #389
- Keepalive and heartbeat on ssl #371
Merged pull requests:
- Allow choosing a different protocol for SSL/TLS #661 (lukebakken)
- Remove AbstractIO reconnect as it is only used, incorrectly, in one p… #660 (lukebakken)
- Catch a couple exceptions in select #659 (lukebakken)
- Throw exception if keepalive cannot be enabled on ssl connections #658 (ramunasd)
v2.9.0-rc1 (2019-03-08)
Merged pull requests:
v2.9.0-beta.1 (2019-02-27)
Implemented enhancements:
- Send a specific exception when the vhost doesn't exist #343
Fixed bugs:
- Signals not being handled correctly #649
- Incorrect list of arguments for AMQPRuntimeException causes fatal error #637
- Endless loop after broken connection with rabbitmq in AMQPReader::rawread because of zero timeout #622
Closed issues:
- 如何判断 channel->basic_publish 是否成功? #646
- 在哪里能设置 x-expires呢,在不修改库代码的情况下 #644
- Connection is aborted without Exception #639
- Error: The connection timed out after 3 sec while awaiting incoming data #636
- What compatibility with Symfony4 #635
- Workers consuming multiple queues in topic exchange don't always process in parallel prefetch_count=1 #607
- Call protected function outside class #604
- Queue declare not timing out #561
- Error handler relies on locale setting #557
- Error handling of connection issues #548
- Right way to use AMQPSocketConnection #547
- basic_qos() fails static analysis #537
- check_heartbeat in write() at StreamIO #507
- Return listener not called #490
- pcntl SIGHUP Consumer restart not working in demo #489
- Add Roadmap #485
- Invalid frame type 65 #437
- Why are we reconnecting in check_heartbeat method? #309
- heartbeats and AMQPTimeoutException #249
- AMPConnection just sits there #248
- Repeated Acknowledgements with SetBody() #154
- StreamIO::read loops infinitely if broker blocks producers #148
- AMQPConnection can hang in __destruct after a write() failed #82
Merged pull requests:
- Remove workarounds for hhvm, use latest version of scrutinizer tool #652 (ramunasd)
- Fix signals demo #651 (ramunasd)
- Fix regression after #642 #650 (ramunasd)
- Enable heartbeats by default #648 (lukebakken)
- Drop support for HHVM #647 (ramunasd)
- Docker dev environment #643 (ramunasd)
- Fix channel wait timeouts and endless loops #642 (ramunasd)
- Add some constant to AMQP exchange #640 (dream-mo)
- Fixed typo that may cause fatal error in runtime #638 (FlyingDR)
- IO improvements #634 (ramunasd)
- fix isssue with close channel #632 (kufd)
v2.8.2-rc3 (2018-12-11)
v2.8.2-rc2 (2018-12-10)
Implemented enhancements:
- Test against latest php versions #631 (ramunasd)
- Allow to specify a timeout for channel operations #609 (mszabo-wikia)
Fixed bugs:
- Error when systemd tries to restart workers since 2.8.0 #611
Merged pull requests:
v2.8.2-rc1 (2018-11-29)
Fixed bugs:
Closed issues:
- How do I listen to all queues #629
- Broken pipe or closed connection #628
- yii queue/listen No "message_id" property #625
- Long phpamqplib.DEBUG: Queue message processed logs before throwing fwrite #623
- Undefined constant SOCKET_EAGAIN in Windows #619
Merged pull requests:
v2.8.1 (2018-11-13)
v2.8.1-rc3 (2018-11-07)
Fixed bugs:
- fwrite(): send of 3728 bytes failed with errno=11 Resource temporarily unavailable #613
Closed issues:
- calling check_heartbeat causes connection to close #617
- message not received by the server but no exception thrown #595
Merged pull requests:
- Restore code that sets last_read #618 (lukebakken)
v2.8.1-rc2 (2018-11-02)
Closed issues:
- AMQPStreamConnection $connection_timeout - milliseconds or seconds? #616
Merged pull requests:
- Parse error string to determine error number instead of using errno #615 (davidgreisler)
v2.8.1-rc1 (2018-10-30)
Fixed bugs:
- ext-sockets required since 2.8.0 #608
- Fixed restoring previous error handler in StreamIO #612 (cezarystepkowski)
- Move ext-sockets from "suggest" to "require" #610 (lukebakken)
Closed issues:
- Getting really often "Connection reset by peer" #546
v2.8.0 (2018-10-23)
Closed issues:
- Feature Request: Allow overriding of LIBRARY_PROPERTIES #603
Merged pull requests:
- Add getLibraryProperties abstract connection method and test #606 (madrussa)
- Fix potential indefinite wait #602 (lukebakken)
- fix the logical error #601 (aisuhua)
- Use specific exceptions instead of general AMQPRuntimeException #600 (ondrej-bouda)
v2.7.2.1 (2018-10-17)
Closed issues:
- When heartbeats parameter is greater than 0 #352
v2.8.0-rc1 (2018-10-11)
Implemented enhancements:
- lazy channels #291
Closed issues:
- "Server nack'ed unknown delivery_tag" when using batch_basic_publish #597
- fwrite: errno=11 in StreamIO #596
- where is the function "AMQPStreamConnection::create_connection()" #586
- RPC server not sending reply down the wire #585
- Please add support for AMQP 1.0 #583
- Connecting to Red Hat JBOSS #580
- Consuming message coming in truncated #579
- can't throw fwrite() error immediately #578
- Can't reuse AMQPMessage object with new properties #576
- Invalid frame type 65 #572
- The set_nack_handle can not be triggered correctly. #571
- channel->wait() with timeout make memory leak #566
- SOCKS Proxy between RMQ and client #558
- Version 2.7 connects as 2.6 #555
- Update minimum php version in composer.json #543
- StreamIO can wait for data indefinitely #416
- Releasing connection reference too early in a channel leads to a segmentation fault #415
- StreamConnection does not time out #408
- $this->debug can be null in AbstractConnection.php #386
- Read and write to multiple queues within one script #293
- decode() method not defined #160
Merged pull requests:
- Use errno instead of error strings #599 (marek-obuchowicz)
- Corrected typo and comment alignment in demo/amqp_consumer_exclusive.php #591 (lkorczewski)
- Corrected typos in demo/amqp_publisher_exclusive.php #590 (lkorczewski)
- Fix heartbeat-check if pcntl is unavailable #584 (srebbsrebb)
- don't throw an exception in an error handler #581 (deweller)
- Cleanup serialized_properties on property set #577 (p-golovin)
- Annotate at @throws \ErrorException at AbstractChannel::wait #575 (nohponex)
- Structuring tests #574 (programarivm)
- Test with php 5.3 and 7.2 #569 (snapshotpl)
- Add extended datatype for bytes #568 (masell)
- Fwrite \ErrorException not being thrown to the top function call when doing basic_publish #564 (dp-indrak)
- Introduce a method to create connection from multiple hosts. #562 (hairyhum)
- Throw exception on missed heartbeat #559 (hairyhum)
v2.7.3 (2018-04-30)
Closed issues:
- stream_select() ErrorException FD_SETSIZE #552
- Whoops, looks like something went wrong. (1/1) ErrorException getimagesize(): send of 18 bytes failed with errno=104 Connection reset by peer #551
- no-local? #550
- Can php-amqplib consumer work on a web page? #549
- Functional tests fail after upgrading to 2.7.1 and 2.7.2 #545
- fwrite failure / not sure how to debug further #544
- PHP
5.3
compatibility PR
- Support PHPUnit 6 PR
- Use
tcp_nodelay
forStreamIO
PR - Pass connection timeout to
wait
method PR - Fix possible indefinite waiting for data in StreamIO PR, PR
- Change protected method check_heartbeat to public PR
- Ensure access levels are consistent for calling
check_heartbeat
PR
- Increased overall test coverage
- Bring heartbeat support to socket connection
- Add message delivery tag for publisher confirms
- Add support for serializing DateTimeImmutable objects
- Fixed infinite loop on reconnect - check_heartbeat
- Fixed signal handling exit example
- Fixed exchange_unbind arguments
- Fixed invalid annotation for channel_id
- Fixed socket null error on php 5.3 version
- Fixed timeout parameters on HHVM before calling stream_select
- declare(ticks=1) no longer needed after PHP5.3 / amqplib 2.4.1
- Minor DebugHelper improvements
- Add extensions requirements to README.md
- Add PHP 7.1 to Travis build
- Reduce memory usage in StreamIO::write()
- Re-enable heartbeats after reconnection
- Added the ability to set timeout as float
- Fixed restoring of error_handler on connection error
- Verify read_write_timeout is at least 2x the heartbeat (if set)
- Many PHPDoc fixes
- Throw exception when trying to create an exchange on a closed connection
- Added AMQPLazySocketConnection
- AbstractConnection::getServerProperties method to retrieve server properties.
- AMQPReader::wait() will throw IOWaitException on stream_select failure
- Add PHPDocs to Auto-generated Protocol Classes
- Disable heartbeat when closing connection
- Fix for when the default error handler is not restored in StreamIO
- Cleanup tests and improve testing performance
- Confirm received valid frame type on wait_frame in AbstractConnection
- Update DEMO files closer to PSR-2 standards
- Add constants for delivery modes to AMQPMessage
- Fix some PHPDoc problems
- AbstractCollection value de/encoding on PHP7
- StreamIO: fix "bad write retry" in SSL mode
- Update PHPUnit configuration
- Add scrutinizer-ci configuration
- Organizational changes from videlalvaro to php-amqplib org
- Minor complexity optimizations, code organization, and code cleanup
- The
AMQPStreamConnection
class now throwsErrorExceptions
when errors happen while reading/writing to the network.
- Heartbeat frames will decrease the timeout used when calling wait_channel - heartbeat frames do not reset the timeout
- Declared the class AbstractChannel as being an abstract class
- Reads, writes and signals respond immediately instead of waiting for a timeout
- Fatal error in some cases on Channel.wait with timeout when RabbitMQ restarted
- Remove warning when trying to push a deferred frame
* This Changelog was automatically generated by github_changelog_generator