Releases: cloudamqp/lavinmq
Releases Β· cloudamqp/lavinmq
v1.2.7: [1.2.7] - 2023-12-12
- Version 1.2.6 may not include the bumped version of lavinmq, so instead use version 1.2.7
- Same as 1.2.6
Fixed
- Don't update user's password hash if given password is the same as current #586
- Remove old segments in the background for stream queues #608
Changed
- New amq-protocol.cr version 1.1.12
- Add package build for Debian 12 (bookworm) #597
- Do not update permissions if they are the same #609
- Do not update password hash if given current password #586
Added
- Add playwright for frontend specs #560
Changes: v1.2.6...v1.2.7
v1.2.6: Version 1.2.6
See release 1.2.7 for changes
Changes: v1.2.5...v1.2.6
v1.2.5: [1.2.5] - 2023-11-06
[1.2.5] - 2023-11-06
Added
- Consumer arguments support for shovels #578
Fixed
- A bug in delay exchanges caused messages to be routed to x-dead-letter-exchange instead of bound queues. It also ruined any dead lettering headers.
- A bug that prevented headers exchange to match on table in message headers.
- Purging a queue with a lot of messages blocked LavinMQ from other operations.
- Message timestamps not being updated when dead lettered breaking TTL.
Changed
- Definitions uploads can now be JSON body #580
Changes: v1.2.4...v1.2.5
v1.2.4: [1.2.4] - 2023-09-26
[1.2.4] - 2023-09-26
Fixed
- A bug in amq-protocol caused corrupt headers when a message was dead-lettered multiple times amq-protocol/#14
Changes: v1.2.3...v1.2.4
v1.2.3: [1.2.3] - 2023-09-12
[1.2.3] - 2023-09-12
Fixed
- A bug in amq-protocol caused lost headers when dead-lettering amq-protocol/#12
- Block creation of queues and users when disk is close to full to prevent disk from becoming full #567
- Compacting definitions during runtime to avoid the definitions file to grow endlessly when churning bindings/queues (#571)
- Only store bind/unbind defintions if not already added, decreases definitions file growth
- Unmap segments in stream queues regularly
- Unmap segments when all consumers from a queue has disconnected
Changes: v1.2.2...v1.2.3
v1.2.2
Added
- Make it possible to declare temp queues in lavinmqperf connection-count
Fixed
- Delete fully ACK'd segments when opening new segments #565
- Don't send internal error messages to clients
- Remove queues from ACL cache on deletion
- Use federated queue's name if queue name is empty #562
Changed
- Refactoring
- Use amq-protocol v1.1.8, refactor header handling
- Optimize SegmentPosition creation
Changes: v1.2.1...v1.2.2
v1.2.1: 1.2.1
Changes: v1.2.0...v1.2.1
v1.2.0
Added
- Stream queues, queues that can be consumed multiple times, messages (segments) are only deleted by a retention policy
Fixed
- Queue message segments where opened with the wrong permissions to be able to be truncated if needed
Changes: v1.1.7...v1.2.0
v1.1.7: 1.1.7
Changes: v1.1.6...v1.1.7
v1.1.6: 1.1.6
Added
- Replication support, followers can connect and stream data from a leader in real time, enabling hot-standby use-cases
- Config variables for free_disk_min and free_disk_warn
- Support for adding custom properties in
lavinmqperf throughput --properties '{"headers": {"a": 1}}'
- Support for random bodies in
lavinmqperf --random-bodies
Changed
- Temporary message files (per channel) are not truncated on publish, so performance for transactions are up 10x, and publishing messages larger than frame_max too
- Modifying defintions (declaring/deleting queues/exchanges etc) is now synchrous and thread safe.
- Message segments aren't ftruncated until server is cloded, as it's a slow operation
- SEGV signal always generate coredumps now (no custom signal handler for SEGV)
- Boehm GC upgraded to version 8.2.4 (from 8.2.2)
Fixed
- Messages larger than frame_max, routed to multiple queues, were only written to the first queue, and corrupted the others
- Message segments are aggressively unmapped to decrease memory usage
- Exclusive queues are no longer included in definitions export
- UI error handling simplified
Changes: v1.1.5...v1.1.6