Skip to content

Releases: michaelklishin/rabbit-hole

3.1.0

31 Oct 18:17
Compare
Choose a tag to compare

Changes Between 2.16.0 and 3.1.0 (Oct 31, 2024)

Note: this release has no functional changes compared to 3.0.0
but correctly sets module version to v3.

See #325

Why the Major Version Bump?

There aren't any major breaking API changes. However, given
the ongoing evolution of the RabbitMQ HTTP API, in particular in the 4.x
development lifecycle, it makes sense to bump the major version of
this client and continue tracking RabbitMQ 3.13.x and (in development
at the time of writing) 4.x.

Removed Sockets Metrics

They will be gone starting with RabbitMQ 4.x. These are OS-level metrics
and should be monitored as such.

GitHub issue: #313

Exchange Auto-Deletion Field Had an Incorrect Default

Contributed by @pafmaf.

GitHub issue: #312

3.0.0

21 Jul 07:27
Compare
Choose a tag to compare

Changes Between 2.16.0 and 3.0.0

This release was retracted in favor of 3.1.0.

v2.16.0

04 Jan 13:39
64fd660
Compare
Choose a tag to compare

Changes Between 2.15.0 and 2.16.0 (Jan 4, 2023)

Definition Upload for a Single Virtual Host

UploadVhostDefinitions is a new function that's similar to UploadDefinitions but
allows for definition upload for a specific virtual host.

Contributed by @lescactus.

GitHub issue: #274

Fixed an Unmarshalling Failure of GetQueue

Contributed by @mcwarman.

GitHub issue: #279, #280

Fixed an Unmarshalling Failure in ChannelDetails

that affected RabbitMQ versions older than 3.11.8.

Contributed by @vitorquintanilha.

GitHub issue: #284

v2.15.0

18 May 11:23
Compare
Choose a tag to compare

Changes Between 2.14.0 and 2.15.0 (May 18, 2023)

Further Improve Shovel Support

Contributed by @ChunyiLyu.

GitHub issue: #266

v2.14.0

11 May 20:13
cd9dc6f
Compare
Choose a tag to compare

Changes Between 2.13.0 and 2.14.0 (May 11, 2023)

Allow Setting Default Queue Type for Virtual Hosts

GitHub issue: #261

Contributed by @mqhenning.

Correctly Set (Shovel) Destination Publish Properties

Correctly pass dest-publish-properties as a map.

GitHub issue: #262

Contributed by @Galvill.

v2.13.0

23 Feb 12:55
5aa2074
Compare
Choose a tag to compare

Changes between 2.12.x and 2.13.0

Avoid a panic when declaring a binding with unspecified destination type

Contributed by @ChunyiLyu.

PR: #253

Correct default for message TTL setting of federation upstreams

Contributed by @MirahImage.

PR: #233

Fixed several incorrect JSON tags

Contributed by @pazderak.

PR: #227.

v2.12.0

23 Feb 12:50
Compare
Choose a tag to compare

Changes Between 2.11.x and 2.12.0

Support for user limit operations

Contributed by @aitorpazos.

PR: #217

New function that lists connections in a specific virtual host

Contributed by @needsalongholiday.

Commit: 00d29ef

v2.11.0

16 Sep 16:58
Compare
Choose a tag to compare

Changes Between 2.10.0 and 2.11.0 (Sep 16, 2021)

This release contains minor breaking public API changes.

Avoid returning empty queue and exchange properties

struct values in ExportedDefinitions, QueueInfo, and ExchangeInfo have all been changed to pointers. This is to avoid having the empty struct values returned when exporting definitions and listing queues and exchanges.

Updated ExportedDefinitions, ExchangeInfo and QueueInfo.

Contributed by @mkuratczyk.

PRs: #208 and #209

Support for a special returned value of Queue and Exchange AutoDelete

QueueInfo and ExchangeInfo now use a special type for AutoDelete because returned value from RabbitMQ server could be a boolean or a string value "undefined".

// AutoDelete is a boolean but RabbitMQ may return the string "undefined"
type AutoDelete bool

// ExchangeInfo represents and exchange and its properties.
type ExchangeInfo struct {
	Name       string                 `json:"name"`
	Vhost      string                 `json:"vhost,omitempty"`
	Type       string                 `json:"type"`
	Durable    bool                   `json:"durable"`
	AutoDelete AutoDelete             `json:"auto_delete"`
...
}

// QueueInfo represents a queue, its properties and key metrics.
type QueueInfo struct {
	// Queue name
	Name string `json:"name"`
	// Queue type
	Type string `json:"type"`
	// Virtual host this queue belongs to
	Vhost string `json:"vhost,omitempty"`
	// Is this queue auto-deleted?
	AutoDelete AutoDelete `json:"auto_delete"`
         ...
}

Contributed by @mkuratczyk.

PR: #207

Support listing definitions for a specific vhost

Contributed by @mkuratczyk.

PR: #206

Support for vhost limits

Contributed by @Sauci.

PR: #200

Return more fields for NodeInfo and QueueInfo

Contributed by @hjweddie.

PR: #198

v2.10.0

03 Jun 16:22
Compare
Choose a tag to compare

Changes Between 2.9.0 and 2.10.0 (Jun 3, 2021)

This release contains very minor breaking public API changes.

ShovelDefinition.SourceDeleteAfter Type Now Matches That of ShovelDefinition.DeleteAfter

ShovelDefinition.SourceDeleteAfter type has changed to match that of
ShovelDefinition.DeleteAfter.

GitHub issue: #197

2.9.0

02 Jun 10:04
0a87d8d
Compare
Choose a tag to compare

Changes Between 2.8.0 and 2.9.0 (Jun 2, 2021)

This release contains minor breaking public API changes.

Support for Lists of Federation Upstream URIs

Federation definition now uses a dedicated type, URISet, to represent
a set of URIs that will be tried sequentially until the link
can successfully connect and authenticate:

type FederationDefinition struct {
	Uri            URISet `json:"uri"`
	Expires        int    `json:"expires,omitempty"`
	MessageTTL     int32  `json:"message-ttl"`
	MaxHops        int    `json:"max-hops,omitempty"`
	PrefetchCount  int    `json:"prefetch-count,omitempty"`
	ReconnectDelay int    `json:"reconnect-delay"`
	AckMode        string `json:"ack-mode,omitempty"`
	TrustUserId    bool   `json:"trust-user-id"`
	Exchange       string `json:"exchange,omitempty"`
	Queue          string `json:"queue,omitempty"`
}

// URISet represents a set of URIs used by Shovel, Federation, and so on.
// The URIs from this set are tried until one of them succeeds
// (a shovel or federation link successfully connects and authenticates with it)
type URISet []string

GitHub issues: #193, #194

Support for Operator Policies

Contributed by @MrLuje.

GitHub issues: #188, #190