nats-go @ v1.17.0
integrity
- size
- 419.9 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module github.com/nats-io/nats.go
release notes
Changelog
IMPORTANT
This release uses a new consumer create API when interacting with nats-server version 2.9.0 or higher. This changes the subjects used by the client to create consumers, which might in some cases require changes in access and import/export configuration. To opt out of this feature, use UseLegacyDurableConsumers() option when creating JetStreamContext.
Added
-
JetStream:
- Support for enhanced stream purge.
PurgeStream()now acceptsStreamPurgeRequestas an option, allowing partial purge by subject sequence number or keeping selected number of messages (#988) - Option to fetch
DeletedDetailswhen fetchingStreamInfo.StreamInfo()now acceptsStreamInfoRequestallowing to passDeletedDetailsflag (#990) - Option to report subjects on
StreamInfo()request.StreamInfo()now acceptsStreamInfoRequestallowing to passSubjectsFiltervalue (#1010) - Support
AllowDirectin stream configuration, enabling faster access to individual messages on a stream (#991) - Support for
DirectGetAPI inGetMsg()throughDirectGet()andDirectGetNext()options (#1020, #1030) HeadersOnlyoption toRePublishfield on stream configuration and change struct name toRePublish(#991)SecureDeleteMsg()method to securely delete and overwrite a message on a stream (#1025)MaxRequestMaxBytes()PullConsumer()option allowing setting the maximum number of bytes a singleFetch()can receive (#1043)- Filter streams and stream names by subject in
StreamsInfo()andStreamNames()usingStreamListFilter()option (#1062) - Accept
AckAllfor pull consumers. Thanks to @neilalexander for the contribution (#1063) - Support for setting consumer replicas through
Subscribe()options. Thanks to @goku321 for the contribution (#1019) - Support for setting memory storage on consumer with
ConsumerMemoryStorage()option inSubscribe(). Thanks to @goku321 for the contribution (#1078)
- Support for enhanced stream purge.
-
KV:
RePublishoption on key value configuration (#1031)
-
ObjectStore:
ObjectStores()andObjectStoreNames()methods for listing object store buckets (#1074)
-
TLSConnectionState()to expose TLS connection state (#996) -
UserJWTAndSeedhelper function accepting JWT and seed as parameters (#1046) -
natsProtoErrtype for proto error normalization and comparison usingerrors.Is()(#1082)
Improved
-
JetStream
- Add
JetStreamErrortype for all JetStream related errors, containing error codes (for API errors).JetStreamErrorsupports comparing and unwrapping errors using nativeerrorspackage (#1044, #1047) - Force
Subscribe()to use memory storage and no replicas when usingOrderedConsumer()(#989) - Consistent error value of context timeout when using
Fetch()on pull subscription. Thanks to @wdhongtw for the contribution (#1011) - Add additional note to
PullSubscribe()on durable semantics (#994)
- Add
-
KV:
- Utilize
DirectGet()in KV for improved performence (#1020)
- Utilize
-
Add support for reporting flusher errors. THanks to @GeorgeEngland for the contribution (#1015)
-
Mention field defaults in
Optionsstruct documentation. Thanks to @costela for the contribution (#1013)
Changed
- JetStream:
DeleteMsg()now usesNoEraseoption by default, not overwriting the message on stream (only marking it as deleted) (#1025)StreamInfo()will now return all subjects when requested (#1072)
Updated
-
JetStream:
- [BREAKING] Use new consumer create API when interacting with nats-server version 2.9.0 or higher. This changes the subjects used by the client to create consumers, which might in some cases require changes in access and import/export configuration. To opt out of this feature, use
UseLegacyDurableConsumers()option when creatingJetStreamContext(#1080) - Add missing fields to
AccountInfoschema (#1026) - Align
StreamSourceInfoschema with server (#1039)
- [BREAKING] Use new consumer create API when interacting with nats-server version 2.9.0 or higher. This changes the subjects used by the client to create consumers, which might in some cases require changes in access and import/export configuration. To opt out of this feature, use
-
Use nats-server 2.9.0 in tests (#1073)
-
Add new test TLS certs and run tests for go 1.18 in CI (#1023, #1055)
Fixed
-
JetStream
Subscribe()automatically sending ACK whenAckPolicyNoneis set (#987)- Return error when attempting to ACK a message on a
AckNoneconsumer (#1032) - Use native time.Time.Equal method for equality check when comparing consumer configs (#993)
- Ephemeral PullConsumer's Fetch() failing with "no responders" (#1022)
ConsumerInfonil pointer dereference whenjsiis not initialized. Thanks to @Sergey-Belyakov for the contribution (#1024)- Paging in stream and consumer name listing (#1060)
-
ObjectStore
- Update object
Put()to avoid loosing last chunk whenReaderreturns both value andEOF. Thanks to @tinou98 for the contribution (#995) - Invalid digest decoding on object
Get(), not propagating errors fromGet()to the user (#1052) - Allow updating meta if new name exists but is deleted (#1053)
- Disallow adding links in
Put()object meta (#1057)
- Update object
-
Typo in
CustomInboxPrefix()error message. Thanks to @subtle-byte for the contribution (#1028) -
Ignore trailing comma at the end of URL lists (#1058)
Complete Changes
https://github.com/nats-io/nats.go/compare/v1.16.0...v1.17.0
download
curl -fL -o v1.17.0.zip https://ratatoskr.space/pkg/nats-go/v1.17.0.zip
printf '%s %s\n' '48b8fcebdf7b89b13968fdd7d111540fbec054fb27df68da268e15066473f0ec' 'v1.17.0.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/nats-go/v1.17.0.zip"
$out = "v1.17.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "48b8fcebdf7b89b13968fdd7d111540fbec054fb27df68da268e15066473f0ec") { throw "sha256 mismatch" }
curl -fL -o v1.17.0.tar.gz https://ratatoskr.space/pkg/nats-go/v1.17.0.tar.gz
printf '%s %s\n' 'b4bd05f50198fbf7aa0fc0ff5d7ba845da9f4a06859ac29d262559d9e1dccece' 'v1.17.0.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/nats-go/v1.17.0.tar.gz"
$out = "v1.17.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "b4bd05f50198fbf7aa0fc0ff5d7ba845da9f4a06859ac29d262559d9e1dccece") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1.17.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.zip
printf '%s %s\n' '48b8fcebdf7b89b13968fdd7d111540fbec054fb27df68da268e15066473f0ec' 'v1.17.0.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.zip"
$out = "v1.17.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "48b8fcebdf7b89b13968fdd7d111540fbec054fb27df68da268e15066473f0ec") { throw "sha256 mismatch" }
curl -fL -o v1.17.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.tar.gz
printf '%s %s\n' 'b4bd05f50198fbf7aa0fc0ff5d7ba845da9f4a06859ac29d262559d9e1dccece' 'v1.17.0.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.tar.gz"
$out = "v1.17.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "b4bd05f50198fbf7aa0fc0ff5d7ba845da9f4a06859ac29d262559d9e1dccece") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1.17.0.zip | zip | 420.6 KiB |
blake3-24 bac6a6ed25282f7a5105d371d26270ae51b501d2d1d0e057
sha256 48b8fcebdf7b89b13968fdd7d111540fbec054fb27df68da268e15066473f0ec
sha1 2a640517401e6a45999fa286e744417045babe67
|
| v1.17.0.tar.gz | tar.gz | 366.9 KiB |
blake3-24 432650af04f455e1262266e756572567f35de28ff2b5d48a
sha256 b4bd05f50198fbf7aa0fc0ff5d7ba845da9f4a06859ac29d262559d9e1dccece
sha1 e8b0b08c47e0a7b4aaf37c86138a463ea629c193
|
go module archive
module zip with the module path rewritten to this mirror; fetched by go get through the
GOPROXY route
| artifact | format | size | hashes |
|---|---|---|---|
| v1.17.0.zip | zip | 422.8 KiB |
blake3-24 9d24265e251541c29c95cb63f7bb1f7d44d5b1e16d47d48b
sha256 a67a97d0e42d4d0a2827010f20e70aa4f8ac0de777334867b8e20ffcf25d17c9
sha1 f945f8cb2e27c93e3797402dc516c23fc4053b9a
|
install
http_archive(
name = "nats-go",
urls = ["https://ratatoskr.space/pkg/nats-go/v1.17.0.tar.gz"],
integrity = "sha256-tL0F9QGY+/eqD8D/XXuoRdqfSgaFmsKdJiVZ2eHczs4=",
strip_prefix = "nats-go-v1.17.0",
)
.url = "https://ratatoskr.space/pkg/nats-go/v1.17.0.tar.gz",
GOPROXY=https://ratatoskr.space GOSUMDB=off go get ratatoskr.space/pkg/nats-go@v1.17.0
install via yggdrasil mesh
http_archive(
name = "nats-go",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.tar.gz"],
integrity = "sha256-tL0F9QGY+/eqD8D/XXuoRdqfSgaFmsKdJiVZ2eHczs4=",
strip_prefix = "nats-go-v1.17.0",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go/v1.17.0.tar.gz",
GOPROXY=http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg GOSUMDB=off GOINSECURE=14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/* go get 14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/nats-go@v1.17.0