Skip to content

v1.13.0

Compare
Choose a tag to compare
@aricart aricart released this 08 Mar 19:24
· 456 commits to main since this release
ab40594

What's Changed

This release has a breaking fix to JavaScript clients to the beta functionality of object store - previously JavaScript clients stored entries using the unpadded resource's base64 URL encoded name. Go and other clients stored entries using padding. This means when the clients attempted to read an entry, if the entry would have had padding the JavaScript client would have not been able to find them. Similarly other clients trying to read entries created by JavaScript which would have resulted in names with padding wouldn't have been able to find the entry. This release fixes the JavaScript clients, to properly generate the entry names for reads and writes.

This change also makes it impossible for a JavaScript client to access entries that had the unpadded name. While the functionality is beta, the JavaScript client includes a tool that fixes entries that were written incorrectly. The tool can be run as:

deno run -A https://raw.githubusercontent.com/nats-io/nats.deno/main/bin/fix-os.ts

You must backup your streams before running the tool and possibly upgrade clients to use v1.13.0 to prevent adding additional incorrect entries (if the client is writing them). The tool will find all the metadata entries for the specified object store and fix the ones that require padding. Please refer to the tool's help for more information.

  • [FIX] [BREAKING] [OS] ObjectStore meta subject entries name encoding by @aricart in #490

  • [FIX] duplicate kv/object store lists when unexpected stream types were included by @aricart in #486

  • [TEST] JetStream tests await publish acks by @Jarema in #485

  • [TEST] fixed resource limits on test by @aricart in #487

Full Changelog: v1.12.1...v1.13.0