Skip to content

Releases: cloudamqp/lavinmq

v1.0.0-beta.11: Beta 11

18 Mar 09:29
Compare
Choose a tag to compare

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

10 Mar 07:24
Compare
Choose a tag to compare

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

22 Feb 15:05
Compare
Choose a tag to compare

[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

  • Property tag shortcuts for JSON Payload fixed #441
  • Warn if vm.max_map_count is low on boot
  • Restore priority queues correctly #436
  • Increased multi threading compability
  • Can re-decalre a delayed-message exchange without failing #450
  • Allow empty arguments when importing definitons #457

v1.0.0-beta.8: 1.0.0-beta.8

29 Nov 16:47
Compare
Choose a tag to compare

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 in Makefile

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

21 Nov 10:26
Compare
Choose a tag to compare

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

10 Nov 15:21
Compare
Choose a tag to compare

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

02 Nov 14:58
Compare
Choose a tag to compare

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

  • Selects the selected vhost as default when creating queue (#394)
  • Add number of persistent messages in queue response (#390)

v1.0.0-beta.4

26 Oct 13:58
Compare
Choose a tag to compare

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

06 Sep 12:05
8053870
Compare
Choose a tag to compare

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

30 Jun 08:48
Compare
Choose a tag to compare
  • Fix endless loop over expire_queue on expired queues that still had consumers (#363 and #364)

Changes: v1.0.0-beta.1...v1.0.0-beta.2