Releases: cloudamqp/lavinmq
Releases · cloudamqp/lavinmq
v1.0.0-beta.11: Beta 11
Changed
- Each queue now has its own message store, simplifying a lot of code (net -1500 LOC), but sacrificing fanout performance and persistent exchange support (to be replaced with stream queues). Single queue performance is better (as only one write is needed per message) and no message GC is needed, disk space usage is better.
- Backup data dir before migration (remember to delete when successful)
- pcre2 as regex engine
Fixed
- No flash of layout when not logged in to the UI
- Delete temporary messages on transaction rollback
Changes: v1.0.0-beta.10...v1.0.0-beta.11
v1.0.0-beta.10: 1.0.0-beta.10
Added
- Log view in the UI, uses SSE to live stream any logs from the server
Changed
- Use relative links in the UI, so that the mgmt interface can be mapped at any path
- HTML views are now templated using ECR
- Own implementation of embedding UI assets in executable
Fixed
- Fixed potential message store corruption bug, if client disconnected while publishing (and body frame split over multiple TCP packets)
- Include libsystemd-pthread in container image so that lavinmqperf works again
- Builds are reproducible
Changes: v1.0.0-beta.9...v1.0.0-beta.10
v1.0.0-beta.9
[1.0.0-beta.9] - 2023-02-22
Changed
- Side menu in manager is now more responsive to smaller browser windows #437
- Updated Chart.js version form v2.9.4 to v4.0.1 #426
- Build lavinmqperf with multi threading
lavinmqperf connection-count
now uses multiple fibers to take use of multi threading- Charts are updated faster with recent information
- UI updates for a better responsive experience #463
Fixed
v1.0.0-beta.8: 1.0.0-beta.8
Added
- Upload definitions to a specific vhost only
- Building RPM packages (for Fedora 37 currently, please request others if needed)
- Build DEB debuginfo/debugsource packages
- Include debug symbols in the container image binaries
install
/uninstall
targets inMakefile
Changed
- Allow administrators to change user's tags without also updating password
- Doesn't try to send publish confirms before publish (so messaged being delivered might still be unconfirmed)
- Understandable error message from lavinmqctl if lavinmq isn't running
- Lint openapi spec before building API docs
Fixed
- Messages published in a transaction now gets their timestamp at the time of commit
- Impersonator tag now works as it should (allow messages to have another
user_id
property than the user publishing it) - Unacked messages are only stored on the Channel level now, no double booking in the Queue, ~17% performance increase
- Close client socket as soon as Connection#CloseOk has been read
- Close channel if a new publish starts before another publish has finished
- Prevent double ack in a transaction
- Precondition error if trying to TxCommit/Rollback when TxSelect hasn't been issued
- Don't requeue uncommited ack:ed messages in Tx on BasicRecover
Changes: v1.0.0-beta.7...v1.0.0-beta.8
v1.0.0-beta.7
Added
- Include the message timestamp and the TTL in the queue index for faster handling of expired message when the Queue has a message TTL
- Migrating index files to the new queue index format
- New RoughTime methods for faster time lookups
- Transaction support in lavinmqperf
- Spec stage/layer in
Dockerfile
:docker build --target spec .
Fixed
- Queue/exchange arguments has priority over policies, but lowest value wins in case of numeric property
- Removed the use of StringPool for short strings, no performance impact and lower memory usage
- Proper error message if listing in UI includes error items
- Correct handling of zero TTL messages (expire on requeue)
- 6% publish rate increase due to caching of segment id (1.6M msgs/s locally)
- Include ca-certificates in container image so that lavinmqperf can connect to AMQPS servers with valid certs
- Unacked basic_get messages werent accounted for, which in rare cases could lead to message loss (unacked for a long time and then requeued)
Changed
- Always fsync on transaction commit (if the transaction included persistent messages)
- Build container image and debian packages with crystal 1.6.2
- lavinmqctl list_connections connection_properties emulates the rabbitmqctl output format
- Command line arguments overrides config file settings
- lavinmqperf queue-churn uses random queue names for parallel runs
Changes: v1.0.0-beta.6...v1.0.0-beta.7
v1.0.0-beta.6
Changes: v1.0.0-beta.5...v1.0.0-beta.6
Fixed
- Improved user handling (#400)
- BasicRecover w/ requeue should return all unacked messages to the queues (#398)
Added
- Support for AMQP transactions (#403)
- Support for set_permissions to lavinmqctl (#397)
- Let consumers pull messages from queues (#391
Changed
- Keep same Logger for server restarts (#399)
v1.0.0-beta.5
Changes: v1.0.0-beta.4...v1.0.0-beta.5
Changed
- Removed first/last timestamp from Queue view, as it as poorly implemented (#392)
Fixed
v1.0.0-beta.4
Changed
- Allow "policy maker"-user to export/import vhost definitions (#379)
Fixed
- Ensure Http tag does not give management access (#381)
- If the server crashed, the index files could in many cases be corrupted and result in message loss (#384)
Changes: v1.0.0-beta.2...v1.0.0-beta.4
v1.0.0-beta.3
Measure and log time it takes to collect metrics in stats_loop #371.
Added
- Queue size metric details to present expensive queue metrics calculation (#362)
- Support for vhost limits (max-queues and max-connections)
- Support for configuring max_message_size (default 128MB)
- The amount of ready and unacknowledged messages are shown in the nodes details (#368)
Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3
v1.0.0-beta.2
Changes: v1.0.0-beta.1...v1.0.0-beta.2