Releases: nats-io/natscli
Release 0.3.0
Enhancements
- Add downgrade safety report in
nats server report downgrade(requires NATS Server 2.12) - Support configuring and reporting on Batch Publishing (requires NATS Server 2.12)
- Support Prioritized consumer groups (requires NATS Server 2.12)
- Support offline JetStream assets (requires NATS Server 2.12)
- Support message schedules (requires NATS Server 2.12)
- Support benchmarking batch publishing using
nats bench js pub(requires NATS Server 2.12) - Show when a leader became leader (requires NATS Server 2.12)
- Support Stream Persistence Mode (requires NATS Server 2.12)
- Support removing mirror configuration in
nats stream edit(requires NATS Server 2.12) - Show missing streams in list/report (requires NATS Server 2.12)
- Rewrite
nats subto usenats.go/jetstream - Allow stream retention to be edited
- Remove API Errors from JetStream reports
- Report missing Raft group in stream/consumer check
- Batched direct gets in
nats bench - Allow sorting
nats server watchby names
Bug Fixes
- Ensure parsed ints are in correct units
- Improve publishing from STDIN for
nats pub - Always fail when context doesn't exist
- Ensure API calls made by
nats.gouses correct timeout - Fix steam-check breaking on pretty-printed JSON
- Prints a warning at the end of a
nats benchrun if a disconnection happened - Validate history falls within limits rather than overflowing
- Align with the needs of go 1.24 go vet
- Fix MULTILEADER detection in stream/consumer check
- Improve help output in various commands
- Skip failed
nats rtttargets rather than error - Various UX and behaviour improvements to
nats bench - Fix stdin handling for
nats reqcommand - Perform exact matching when accessing z endpoints (requires NATS Server 2.12)
- Improved display of
nats benchstatistics - Force number of decimal places on Y axis on graphs
- Allow B and b when specifying number of bytes
- Correctly read the trace message body from user input
Full Changelog: v0.2.4...v0.3.0
Release 0.2.4
Bug Fixes
- Fix port usage when
nats rttis given an IP address - Use consumer stats instead of stream state for delivered rate
- Improve date consistency of various timestamps using the standard renderer
Enhancements
- Add
--endpoint/-etonats service info - Add some connection logs and slow down reconnects
- Report
GOMEMLIMITif set - Add
server req ipqandraftz - Support wildcard for KV list
- Add
--api-levelflag to stream find and consumer find commands - Report API Level in streams and consumers report
- Change the password length limit to 10 characters
- Report local addresses when different from client address
- Add
--directflag to sub command - Add
--filter flagtobench js consumeandfetchcommands - Drop placeholders to display default value for flags where it is set
- Implement
--templatesflag to disable template processing on publish
NATS Server 2.12 Preview Features
These are preview features that require the currently unreleased NATS Server 2.12
- Initial support for ADR-50 Atomic Batch Publishing
- Allows configuring ADR-49 Counters
New Contributors
Full Changelog: v0.2.3...v0.2.4
Release 0.2.3
Bug Fixes
- Fix
account report connections - Handle errors from reports with
--watchcorrectly - Improve handling timeout for the jetstream package
- Fix
kv editto not override unspecified fields
Enhancements
- Improve relevant help and logs about stream view page limit
- Add tests for consumer actions
- Remove redundant condition in consumer command
- Support sending on newline for
nats pub - Cross platform testing & fix runNatsCli timeout
- Support KV TTLs
- Add stream tests
- Add Windows to GH Action Tests
- Add
object editcommand - Add tests for server command and all related subcommands
New Contributors
Full Changelog: v0.2.2...v0.2.3
Release 0.2.2
Bug Fixes
- Improve embedability of check features
- Fix stdin detection for nats reply
- Fix operator signing-key description
New Contributors
- @heikkilamarko made their first contribution in #1338
Full Changelog: v0.2.1...v0.2.2
Release 0.2.1
Bug Fixes
- Consistency updates for account name argument
- Verify the connection prior to prompting for Consumer information
- Handle limit and offset in req jsz
- Fix handling of user set empty bodies in pub/req
Enhancements
- Add --watch flag to server report commands
- Add token authentication support to context options
- Update the readme's nats bench examples to use the new nats bench commands
New Contributors
Full Changelog: v0.2.0...v0.2.1
Release 0.2.0
Major New Features
Decentralized Authentication Management
We have introduced some of the functionality from nsc and nk into the new nats auth command. The aim is not to support every feature nsc has but to identify the key features most users use and bring those into the nats command.
This is an initial release and we're seeking feedback around missing features users feel are key and around the general interaction model.
Please see AUTH.md for a testing guide.
Configuration Scaffolding
To complement nats auth and to help new users we introduced a new configuration generation feature set in nats server generate. This tool will guide users through interactive questions to solve goal orientated outcomes such as generating local Docker Compose development Super Clusters or connecting to Synadia Cloud using a Leafnode.
The tool supports sharing bundles without performing new releases of the nats command and again we'd love feature requests on scaffolding you'd like to see here.
Major nats bench rewrite
The nats bench command has seen a major rewrite splitting it into seperate commands with options grouped around specific goals rather than all in one huge set of flags.
Real time graphs
We've added numerous graph features to the tooling that allow you to see traffic rates on specific subjects, in and out of streams and consumers and more.
See:
nats sub --graphnats stream graphnats consumer graphnats server graph
nats top
We've incorporated the nats-top command as a new sub command and made it work over NATS network rather than HTTP for consistency with all the other nats administration commands.
Enhancements
General
- Support switching to the previous context using
nats ctx previous - Temporary files that might be edited now use the correct extension to assist editors with syntax highlighting
- Supports TLS First in Contexts and general connection options via
--tlsfirst - A context may now be unsellected using
nats context unselect - Support loading TLS files from the Windows Certificate Store
- Adds a new
nats server watchcommand that can passively observe a NATS Cluster - Support compressing KV buckets
- Support compressing Object Store buckets
- Supports building for the s390x Architecture
- Supports subscribing to multiple subjects in
nats sub - Support options like
--js-domaininnats sub - Support encrypting and decrypting data using xkeys via
nats auth nk sealandnats auth nk unseal - Support interactive, guided, Server configuration generation using
nats server generate - Various utility flags for
nats sub:--subjects-only,--timestampand--delta-time - Name MQTT connections by MQTTClient ID instead of Name
- Major rewrite of the
nats benchcommand for better UX - Adds new
nats sub --graphoptions to interactively draw subject traffic rates - Various commands that parse the
EDITORenvironment variable now supports arguments in the supplied command - Improved color aware progress bars
- Subjects now support template parsing in
nats pubandnats req - The
--translateflag onnats subnow supports the--dumpflag
Operations
- Adds
nats server check credentialthat can monitor credential expiry and more - Support filtering connections using an expression language on
nats server report connections --filter - Support filtering connections by username using
nats server report connections --username - Support filtering connections by state using
nats server report connections --state - Support filtering closed connections by reason using
nats server report connections --state closed --closed-reason - New bar graph based views for CPU and Memory in
nats server report cpuandnats server report mem - Adds a new
nats server check consumerto validate various aspects of Consumers as a health check - Allow Replicas to be changed when performing Stream restores
- Adds a new
nats authcommand that can manage nkeys and has a subset ofnscfeatures - Adds a new
nats topcommand incorporating features previously found innats-top - Adds an initial cluster connections balancer in
nats server cluster balance - Support tracing message flow through complex cluster toplogies using
nats trace(Requires NATS Server 2.11) - The chunks size used by
nats stream backupcan now be adjusted to assist connections over slow transports or VPNs - New Stream and Consumer metadata based thresholds monitoring features
- Support requesting
cpuprofiles - Additional details shown about Slow Consumers in
nats server list - Renders JetStream API Pending counts in various reports
- Adds a new
nats server graphcommand that can graph various aspects of running NATS Servers nats server check consumersupports Pinned Consumers- Adds a new Cluster report in
nats server report cluster - Adds a new Super-Cluster report in
nats server report gateways - Adds a new Health report in
nats server report health - Adds a new Leafnode report in
nats server report leafs - Support placing Stream and Consumer leaders on a specific host in
nats stream cluster downandnats consumer cluster down(Requires NATS Server 2.11) - Supports rendering a hash (digest) of the running configuration in
nats server info(Requires NATS Server 2.11) - The
nats eventcommand can now read a Stream full of events with the new--streamand--sinceflags - Adds a new
nats server check requestthat can health check services - Adds an option to influence expected server counts in all
nats server reportcommands
JetStream
- Support interactive editing of Consumer configuration using the
-iflag nats pubis now JetStream aware with the new--jetstreamflag- Support setting Consumer limits on Streams
- Support parsing subject filters as a comma seperated list in
nats consumer add - Raft group details are now shown in Stream and Consumer info
- Report on tiered storage reservations in
nats account info - Support
--nakinnats consumer next - Renders Consumer Limits in
nats stream info - Support
nats stream viewfor WorkQueue streams with Direct Get enabled - Support editing Inactive Threshold in
nats consumer edit - Support unprompted cluster step-downs using
--force - New
nats stream graphandnats consumer graphcommands to view real time traffic statistics for Streamd and Consumers - Adds a new
nats consumer findcommand used for searching using various filters and limiters for Consumers - Improve
nats consumer listto behave more likenats stream list - Report JetStream limits in
nats server info(Requires NATS Server 2.11) - Support Pausing and Resuming consumers (Requires NATS Server 2.11)
- Support the concept of JetStream API levels based on ADR-44 and use that to ensure safer operations for those requiring NATS Server 2.11 and newer
- Support Pinned Consumers as per ADR-42 (Requires NATS Server 2.11)
- Support balancing leaderships for Streams and Consumers using
nats stream balanceandnats consumer balance(Requires NATS Server 2.11) - Supports configuring Per Message TTL features for Streams (Requires NATS Server 2.11)
- KV Buckets can now be edited using
nats kv edit - Additional options were added to
nats kv watch
Bug Fixes
- Numerous UX and rendering improvements
- When reporting on super clusters warn about route asymmetry per cluster rather than per super cluster
- Correctly calculate server RTTs in
nats rttcommand and support--trace - Use the correct name spaces for Prometheus monitoring output
- Correctly handle single subject filter consumers
- Memory usage improvements for
nats server report connections - Do not prompt for Backoff on AckNone policy
- Fix listing Object Store names using
--names - Fix incorrect JetStream store dir when using $XDG_DATA_HOME in
nats server run - Fix handling of
--topinnats server report accounts - Do not handle Flow Control headers when not communicating with JetStream
- Do not alert about no meta leader in standalone servers
- Improved sorting for
nats sub --report-subjects - Improve paging of Connz requests in various reports
- Various progress bar related bug fixes
- Be less interactive when using
--defaultsinnats stream add - Consumer
max_waitingshould not be editable - Fix overriding JetStream Domain when Contexts are used
- The
nats kvandnats objcommands now support Domains and API Prefixes
New Contributors
- @piotrpio made their first contribution in #866
- @LautaroJayat made their first contribution in #951
- @erhhung made their first contribution in #963
- @johnweldon made their first contribution in #974
- @samuelattwood made their first contribution in #986
- @MauriceVanVeen made their first contribution in #1000
- @zakk616 made their first contribution in #1025
- @jordan-rash made their first contribution in #1031
- @yeqown made their first contribution in #1039
- @mprimi made their first contribution in #1028
- @Zambito1 made their first contribution in https://github.com/nats-io...
Release 0.1.6
CVEs
- Vulnerability check warnings for CVE-2024-45337 are addressed by the dependency update to
x/crypto, although thenatsdoes not use the affected functionality and is therefore not vulnerable
Full Changelog: v0.1.5...v0.1.6
Release 0.1.5
Bug Fixes
- Various UX and rendering improvements
- Improve handling of cluster size counts in
nats server reqcommands - Improve stdin handling for
kvandobjectcommands - Report correct timezone in
nats streamcommands - Make the consumer inactive threshold editable
- Prevent empty subject transform configurations
- Improve handling of KV value sizes
- Documentation fixes
Enhancements
- New
nats server check consumercommand to verify consumer health - Show Consumer limits in
nats stream info - Support filtering closed connections by reason in
nats server report connections
Release 0.1.4
Bug Fixes
- Improve handling invalid nats context configurations
- Handle Subject Transforms correctly in
nats stream edit - Avoid some nil pointer exceptions when selecting consumers
Full Changelog: v0.1.3...v0.1.4
Release 0.1.3
Enhancements
- Support
--limit-consumer-inactiveand--limit-consumer-max-pendingfor Streams - New command
nats server check credentialsthat can monitor a NATS Credentials file - Adds new
--filteroption tonats server report connectionsallowing filtering like this examplenats server report connz --filter 'lower(conns.name) matches "surveyor" || conns.ip == "46.101.44.80"'this uses Expr language syntax to perform arbitrary filters - Support limiting connection reports by username using the new
--username - Support comma separate list of filter subjects in
nats consumer add - Support connecting to NATS Servers configured for TLS First using
--tlsfirst, also supported by contexts - Builds for the s390x architecture
- Support KV compression
Maintenance
- Remove some dependencies
Bug Fixes
- Warn about route asymmetry per cluster rather than per Super Cluster
- Minor UX improvements
- Correctly handle custom Prometheus namespaces in the
nats server checkcommands - Major memory use improvement for connections reports
- When editing a single filtered consumer the edit command would incorrectly change it to a multi filter consumer with just 1 match
- Do not prompt for Backoff information when Ack None was chosen for a Consumer
- Fix the
--namesflag when listing Object Bucket contents
Full Changelog: v0.1.1...v0.1.3