Changelog for
nats-server-2.9.2-lp155.1.37.x86_64.rpm :
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.9.2:
* Release v2.9.2
* [UPDATED] Dependencies
* [FIXED] JetStream: redeliveries for LastPerSubject delivery policy
* Bump to 2.9.2-beta.1
* With snapshots both streams are present on restart so sources or mirrors that have a subject change from the origin would not recover. We now suppress that if we know we are recovering an existing stream.
* Allow meta layer to snapshot on a clean shutdown.
* [FIXED] bug in consumer names paging, did not honor limits and returned duplicate results.
* [IMPROVED] Fan-out performance
* [FIXED] JetStream: Scale down of consumer to R1 would not get a response
* Make sure to clear fss state on disk
* [FIXED] JetStream: File store memory usage
* [FIXED] JetStream: prevent panic on consumer assignment
* [FIXED] Format protocol error []byte with %q
* Bump version to 2.9.2-beta as per release process
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.9.1:
* Release v2.9.1
* [UPDATED] Dependencies
* [FIXED] LeafNode: connecting using websocket and no_auth_user
* Bump to 2.9.1-Beta.2
* Added check on publish error.
* Also require MaxMsgsPerSubject to be set per peer review feedback.
* Allow discard new per subject for certain KV type scenarios. Requires general DiscardNewPolicy.
* Fix for #3848.
* Bump version to 2.9.1-beta.1
* When filtering a source stream use new consumer create API subject.
* [ADDED] JetStream: peer (the hash of server name) in statsz/jsz
* [FIXED] JetStream: possible panic on peer remove on server shutdown
* [FIXE] JetStream: Pull requests closed due to max_bytes were silent
* Move new test to new jetstream_cluster_3_test.go file
* Change ByID boolean to Peer string and add Peer id in replicas output
* [ADDED] JetStream: ability to remove a server by peer ID instead of name
* For ackMsg, make sure sequence is still relevant as well.
* Optimize needAck.
* Add error if Consumer Durable and Name are not equal
* Fix peer randomisation when creating consumers groups for replica=1
* Fixes mishandling of an edge condition in the {{Split()}} subject mapping function
* Split more tests to speed up Travis run
* Bump version to 2.9.1-beta
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.9.0:
* Release v2.9.0
* changed format of JSClusterNoPeers error (#3459)
* [ADDED] Architecture s390x in goreleaser.yml file
* Bump to 2.9.0-RC.19
* Fix for issue #3455
* Better accounting for max-bytes for pull consumers
* Implements pagination for JS Stream Info requests
* Fixed some tests
* server: expire display Never instead of 1970
* Bump to 2.9.0-RC.18
* JetStream: R1 durables were incorrectly migrated on shutdown
* Need to wait on cluster ready
* Use lostQuorum default versus live for reporting.
* TLS testdata: invoked regenerate_rdns_svid.sh
* TLS testdata: automate more cert issuance
* tweak lost quorum reporting
* Only complain about leaderless group with previous leader if we know jetstream has been running for some threshold.
* Bump to 2.9.0-RC.17
* js: add per account reserved mem/store bytes
* NoAck allowed now on pull consumers
* Updates to tests
* Remove auto-promotion of direct get. Force stream config to set AllowDirect to true.
* Upgrade packages
* NATS Publish benchmark
* [FIXED] JetStream: Restarted queue subscriptions may not receive msgs
* Fixed lexer changes made in #3434
* [FIXED] Parsing of strings starting with numbers and K/G/etc.. suffix
* [FIXED] JetStream: Some nodes may never be reported as offline
* KeyValue Put/Get/Update benchmark
* Make sure update covered
* We detected overlap between different streams but not same stream with multiple subjects.
* [FIXED] JetStream: expired accounts were counted toward limits
* JetStream publish and consume benchmarks
* Compose cluster URL without trailing comma
* Use testing.TB interface instead of
*T
* Move bitset test utility
* Bump to 2.9.0-RC.16
* [FIXED] JetStream: possible routing issues through gateways
* Bump back the defaultMaxTotalCatchupOutBytes to 128MB
* [FIXED] Subjects collide would not properly return false in some conditions.
* Bump to 2.9.0-RC.15
* Updates to stream and consumer move logic.
* Allow stream msgs to be compressed within the raft layer and during upper layer catchups.
* Rename config param to max_outstanding_catchup
* [ADDED] JetStream: Ability to configure the per server max catchup bytes
* New consumer create that allows elevation of stream and consumer names, and optional filter subject to the request subject.
* [FIXED] Stream info numbers may be 0 after cluster restart
* Bump to 2.9.0-RC.14
* When writing a msg after the fss state was expired we would count the msg twice.
* Bump to 2.9.0-RC.12
* FSS state could skew on expire on recover with no msgs left. Also added in sanity check on server start.
* [FIXED] Gateway: system request/replies may not work properly
* Regenerate test cert data
* Set cert lifetime on CA cert too
* [FIXED] Service import/export cycles causing stack overflow
* Don\'t fail if auto setting of maxprocs fails.
* Bump to v2.9.0-RC.11
* Revert a change made in PR #3392
* Bump to 2.9.0-RC.10
* CAS operations improved, hold lock past store. Use separate lock for consumer list and storage updates.
* Try to dump any cached state including fss on recovery to avoid memory bloat on restart.
* Increase test timeout for nightly code coverage
* Update based on code review
* bump version to 2.9.0-RC.8
* scale down happened too soon
* Bump to 2.9.0-RC.7
* [FIXED] Service import response invoking svc import (#3393)
* Fixed a bug that would not track per subject info for streams that were mirrors or sources.
* Inline turning on direct subs for non-clustered streams
* Updates based on review feedback
* fix signing key template processing dropping allow (#3390)
* General improvements to clustered streams during server restart and KV/CAS scenarios.
* Add test that demonstrate cons pending < stream first seq is OK
* fix consumer subject validation on recovery (#3389)
* Change json tag name to finger_prints
* Reduce length of some clustering tests
* [ADDED] Monitoring: TLS Peer Certificates in Connz when auth is on
* Some more checks for cc.meta == nil
* Fixed possible panic in monitorStream
* Fix bad sys request for different account (#3382)
* [CHANGED] Gateway: Switch all accounts to interest-only mode
* induce delay prior to scale down (#3381)
* - Changes to make adding new mapping functions easier (#3305)
* Bump version to RC.6
* fixed consumer source update receiving upstream msgs (#3364)
* Don\'t immediately listen on the direct get subjects.
* Chaos tests for KeyValue
* Bump to 2.9.0-RC.5
* Improve StreamMoveInProgressError (#3376)
* We can\'t purge directories here since not 100% sure all state is in snapshot.
* Make sure llts update under lock, fss can be force expired so remove.
* When filestore is used for raft layer do not attempt to track subject metadata.
* [FIXED] Gateway: possible panic if monitor endpoint inspected too soon
* fix jwt template ordering issue and error message (#3373)
* Stop the raft node to not cause test to flap.
* Install consumer snapshot on clean exit and few other fixes
* [FIXED] JetStream: issue with max deliver and server/cluster restart
* Update dependencies.md
* Bump to 2.9.0-RC.4
* Make kek function based on review feedback
* Add chaos tests for Ordered, Async, Pull, Durable consumers
* Fix typo in comment
* Support auto-conversion
* Updated dependency file [ci skip]
* Add support for AES cipher encryption for filestore.
* Adding templates to scoped signing key user permis (#3367)
* Bump to RC.3
* Make sure when SubjectState is called we have loaded fss state.
* [FIXED] JetStream: subject overlap error should be returned
* fix unit test (#3359)
* Update nats.go mod to be able to run tests
* Fixed message timestamp formatting for direct message get feature
* bump version to 2.9.0-RC.2 (#3357)
* adding source/mirror unit tests (#3352)
* Fix race between stream stop and monitorStream (#3350)
* fix move cancel issue where tags and peers diverge (#3354)
* fixed consumer restart on source filter update (#3355)
* Added check for source/mirror filter subjects (#3356)
* Fic a data race
* Bump to 2.9.0-RC.1
* Improvements to filestore for large KVs.
* Added param options to /healthz endpoint
* Declare some catchup static errors
* [IMPROVED] JetStream catchup can be aborted and better flow control
* Bump to 2.9.0-beta.22
* Reset activity interval on catchup to default vs ramp up. Tweak test.
* Make a check loop based on review feedback.
* Make sure empty msgs do not interfere with catchup process.
* Attempt to improve long RTT catchup time during stream moves.
* Additional stability improvements for catchup.
* Write lock not needed
* No need to hold server write lock since sendq has its own.
* Fix up some processing during account purge to fix flapping tests
* Improve handling when a snapshot represents state we no longer have.
* Change the report to something like this instead: ``` Replica: Server name unknown at this time (peerID: jZ6RvVRH), outdated, OFFLINE, not seen ``` After discussing with AATTripienaar, this text convey better a sense that this is a transient situation.
* [IMPROVED] Replicas ordering and info regarding unknown in stream info
* Exclude chaos tests from build by default
* Exclude chaos tests helpers from default build
* [FIXED] Wrong flag in Travis to exclude chaos tests
* better error when peer selection fails (#3342)
* Use filepath.Join() instead of manual concatenation
* Fixed flapping test
* Remove io/ioutil
* Adding account purge operation (#3319)
* Move to Go 1.19, remote io/util, fix data race and a flapper
* nit: Cap stats
* Bump to 2.9.0-beta.21
* [FIXED] Memory leak when unsubscribing the last queue subscription
* change set test to > 0
* [ADDED] LeafNode: Support for a SignatureHandler in remote config
* Update leafNodeEnabled value on Start()
* Use specific boolean for a leaf test instead of using leafNodeEnabled
* Fixed JS cluster prefix name for Travis run
* Bump to 2.9.0-beta.20
* Direct get across a leafnode using cross domain mappings to a queue subscriber did not work.
* Update client for direct get in KV
* [FIXED] JetStream: reject stream update with changes to RePublish
* Add \'chaos\' test utility and 2 example tests
* Ignore `dist` and `.vscode`
* Bump to 2.9.0-beta.19
* Auto-set and upgrade AllowDirect when MaxMsgsPerSubject is set. Also allow mirrors to inherit properly.
* Bump to 2.9.0-beta.18
* Move to crypto/rand for nonce generation (#3324)
* Allow direct get by subject to be all subject based.
* Downgrade a RAFT warning to debug
* Improved speed of storing new messages when lots of messages are present in KV mode.
* Bump to 2.9.0-beta.17
* [FIXED] MQTT: Possible panic when clients misbehave
* Make sure to reset block encryption counter when clearing block but holding state for tracking sequences.
* When compact would reclaim head of block space, we needed to update block key for counter for new writes.
* Replace \"go get\" with \"go install\"
* Bump to 2.9.0-beta.16
* Update nightly to Go 1.18
* General stability improvements
* Add check and test to prevent updating consumer MaxWaiting
* Bump to 2.9.0-beta.15
* Improvements to raft layer with snapshots on catchup.
* Encrypt meta and raft states.
* Fixed TLS test so it passes on macOS
* Revert direct changes to main
* - Adds new subject mapping functions: {{SplitFromLeft(wildcard index, position)}} {{SplitFromRight(wildcard index, position)}} {{SliceFromLeft(wildcard index, slice size)}} {{SliceFromRight(wildcard index, slice size)}} {{Split(wildcard index, deliminator)}}
* New expendable implementation of subject mapping destinations to transform processing
* Removed `export GODEBUG=\"x509sha1=1\"` from runTestsOnTravis.sh
* Update tests to check last seq
* testdata: regenerate X509 certs with new script
* test data: x509 cert reissuance script
* Bump version to 2.9.0-beta.14
* Changed \"return\" to \"continue\"
* Moving super-cluster tests from cluster tests file to supercluster file
* Fixed a panic when consumer is closed
* Add comment that this is to silence the race detector.
* Fixed data race between UpdateConfif() and subjString
* Bump to 2.9.0-beta.12
* add implementation for consumer replica change (#3293)
* Bump to 2.9.0-beta.11
* fix peer tracking by removing peers before scaledown (#3289)
* fix race by locking arround o.isLeader (#3291)
* [FIXED] JetStream: Some scaling up issues
* [FIXED] JetStream/Cluster: Stream names/infos would return bad response
* Update compress dependency
* Bump to 2.9.0-beta.10
* When msgs were expired on restart recovery we could lose track on subsequent restart of starting sequence with no additional activity.
* Bump version to 2.9.0-beta.9
* down scale consumer before downscale of stream (#3282)
* Short index write could lead to loss of stream sequence for empty stream
* increase maxDeliver
* improve tests based on feedback
* fix and improve unit test (#3281)
* [IMPROVED] JetStream: stream already exists error description
* Make sure to protect against mset == nil
* Fix raft issue where pindex of follower was off by 1 (#3277)
* move test to appropriate file
* fix jwt unit test by ensuring activation issue time is bigger than expiration (#3275)
* added cluster test
* follow convention (_EMPTY_, fwcs). Add special case short-circuit to skip unnecessary tokenization and transform.
* Bump version to 2.9.0-beta.8 (#3274)
* Move and cancel fixes (#3270)
* optimize for > or empty src (any subject)
* Fix static code check violation on two unit tests and normalize unit test values to ADR-28.
* Fix and test for RePub src ignored at runtime.
* Check for mirror configuration
* [FIXED] JetStream: stream mirror updates not rejected in standalone
* [UPDATED] Compression library
* Make MaxDeliver update changes take effect
* bump version to 2.9.0-beta.7 (#3259)
* add the ability to cancel a move in progress (#3253)
* [Added] account specific monitoring endpoint(s) (#3250)
* [FIXED] JetStream: servers may be reported as orphaned
* Improves error handling for subject mapping destination mustache functions (#3255)
* enhanced unit test to check for leader post move (#3257)
* Fixed a test that was causing others to flap
* Allow get next for json stream get version
* Allow stream and mirror direct get abilities to be updated.
* Bump to 2.9.0-beta.5
* Fix for stalled catchup in endless cycle on EOF trying to retrieve catchup msg.
* Fix unique_tag issue with stream replica increase
* Fix data race
* Bump to 2.9.0-beta.4
* [CHANGED] JetStream: accept \"Nats-Expected-Last-Sequence\" with \"0\"
* Also wait on consumer
* Allow retries on connect
* Make sure to clean up client connection
* bump server version to 2.9.0-beta.3
* Consumer isFiltered could crash if the stream was a mirror with no direct subjects but it was in interest or workqueue retention mode.
* fixes peer removal, simplifies move, more tests
* Do not unsubscribe from direct access on leader stepdown, only stopping. Also wait for stream to have replicas and leader for test.
* Allows direct get to also do get next for subject with starting sequence
* Reserve a system queue group
* Attempt to fix flapping test
* Fix data race
* Bump to 2.9.0-beta.2
* Direct access to JetStream resources would be affected if across a leafnode that was down.
* [ADDED] Symlink for deb/rpm packages
* Update copyrights, build tags
* Stubs for WebAssembly
* When stalled for MaxAckPending, expire all pull requests that are one shot, meaning had at least 1 delivered message
* Make pull consumers FIFO per message, not per request.
* Wait a bit longer for the direct sub
* Some tests improvements on non-standard JS cluster setup
* Allow all members of a replicated stream to participate in direct access. We will wait until a non-leader replica is current to subscribe.
* Allow direct msg get for stream to operate in queue group and allows mirrors to opt-in to the same group.
* Allow maxprocs to debug log after start banner
* fix json tag for meta stream move
* Close leafnode connection when same cluster name detected
* Resolves #3151 plus redo and improve subject mapping destination validation and error handling (#3231)
* Bump to 2.9.0-beta.1
* removed commented out code (#3228)
* [added] support for jwt account option DisallowBearer (#3127)
* [FIXED] Pull consumer may be incorrectly removed after InactiveThreshold
* Allow filtered stream mirrors
* Fix some spellings
* Tweak MQTT test
* Rework startupComplete gate from PR #2360
* AutoMaxProcs would default log output, this suppresses the logging.
* [Fixed] race on unlocked cfg access (#3223)
* Fix the lock
* [ADD] account specific in/out msgs/bytes stats to CONNS (#3187)
* [fixed] reload related races (#3222)
* Commit properly
* Remainder of time after waiting for startupComplete, add waitgroup done call after createClient
* Re-add startupComplete channel, make readyForConnections wait for it
* Review comments AATTkozlovic
* Update comments (re. review)
* Add InProcessConn, DontListen
* Made direct get from a stream part of the $JS.API hierarchy vs separate. Also for direct get and for pull requests, if we are not on a client connection check how long we have been away from the readloop. If need be execute in a separate go routine.
* chore: go mod tidy
* [Add] ability for operator to move streams (#3217)
* Fix race
* Convert server mutex to RW.
* Do not default to sharing all client info for JetStream, only server and cluster info.
* feat: add automaxprocs
* Allow consumer filter subjects to be updated
* For older versions just check we did not break build step
* Fix TLS tests and allow older test certs for now
* Allow compile and staticheck to pass.
* Bump CI to Go 1.18
* Bump version to 2.8.5-beta.6
* Change test to not have path separators
* When stream or consumer names contained path separators it prevented backup and restore.
* Allow users directives for leafnodes to not block reloads.
* If no max bytes set do better randomization of placement. If the stream is replicated take into consideration number of ha assets on the server already.
* Bump version to 2.8.5-beta.5
* Support reload
* Allow for MQTT QoS-1 consumers to be auto cleanup after inactive threshold of time.
* Add in support for inactivity thresholds for durable consumers.
* Fix for data race - issue 3188
* Bump to 2.8.5-beta.4
* When internal system messages were destined for a queue subscriber across a route the reply subject would be empty but not nil which caused mangling of the RMSG proto.
* In the presence of many subjects in a stream and a wildcard filter subject, fall back to linear scan if too many.
* Bump to 2.8.5-beta.2
* Make error on make bytes exceeded on a pull request a 409
* Republish on the republish subject, place original in a header like direct get
* Bump version to 2.8.5-beta.1
* Make sure only stream leader does a republish
* This improves when a server is under load or low on resources like FDs and a user is trying to delete a stream with lots of consumers.
* export the correct subject transformer subject
* Mark meta recovering state and use to suppress api responses and api audits during restarts.
* Updates based on group feedback.
* Make sure we do not resend responses on restart for certain clustered consumers.
* When stores and load for last for subject where concurrent and competiting for the same msg, we could fail to retrieve a newly placed message.
* Stream get for KV was going through API layer, but with popularity needed a more peformant and lighter weight and direct approach.
* Allow for republish to be headers only
* Suppress consumer create and R1 stream update advisories on server restart.
* Don\'t do advisories or API stats for a direct get msg from a stream.
* Export the subject transformer
* Update go.mod dependencies
* Bump version to v2.8.5-beta
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.8.4:
* Release v2.8.4
* Bump version to v2.8.4-beta.2 and fix flapper
* [FIXED] MQTT: Same session ID in different domains were considered duplicates
* Fix spurious 408s under load and move processing of acks to their own Go routine.
* Consumer pending was not correct when stream had max msgs per subject set > 1 and a consumer that filtered out part of the stream was created. Also make sure to update stream\'s config on a stream restore in case of changes.
* Bump version to dev v2.8.4-beta
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.8.3:
* Release v2.8.3
* [FIXED] JetStream: consumer with deliver new may miss messages
* [FIXED] MQTT: Errors deleting consumers will now prevent deletion of session
* [FIXED] Fast routed JetStream API requests were dropped
* Consumer\'s num pending can now rely on the stream\'s store vs trying to maintain furing runtime which could be wrong under certain conditions.
* removed redundant republish code (#3138)
* Speed up raft for tests
* Fix new MQTT test flapper
* [FIXED] JetStream: data race with account\'s jsLimits
* Added consumer_memory_storage to make consumer memory based
* Added consumer_replicas (similar to stream_replicas)
* [ADDED] MQTT: Stream/Consumer replica count override
* Allow proper mix and match of consumer stores and stream stores.
* [ADDED] Monitoring: Routez\'s individual route has now more info
* Make sure consumer store is memory based when selected
* Move cfg check for republish to common func
* Enable republishing of messages once stored in a stream.
* Allow explicit configuration of consumer\'s replica count and allow a consumer to force memory storage.
* Support for MaxBytes for pull requests.
* With use cases bringing us more data I wanted to suggest these changes.
* Bump to 2.8.3-beta.2
* Fix for #3119
* General improvements to accounting for the filestore. This in response to tracking issue #3114.
* [FIXED] JetStream: Some data races
* [FIXED] JetStream: panic processing cluster consumer create
* Bump version to 2.8.3-beta.1
* [FIXED] JetStream: possible lockup due to a return prior to unlock
* altered move unit test to test tiered/non tiered setup (#3113)
* [FIXED] Accounts Export/Import isolation with overlap subjects
* Remember the last timestamp by not removing last msgBlk when empty and during purge pull last timestamp forward until new messages arrive. When a downstream stream uses retention modes that delete messages, fallback to timebased start time for the new source consumers.
* Fix for race on recovery
* Fix for panic due to not loaded cache during compact
* Bump version to dev 2.8.3-beta
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.8.2:
* Release v2.8.2
* Revert \"[added] support for jwt operator option DisallowBearerToken\"
* Bump up default block sizes
* Bump to 2.8.2-beta.5
* [IMPROVED] JetStream: check max-per-subject once
* Raft and cluster improvements.
* [FIXED] JetStream: PullConsumer MaxWaiting==1 and Canceled requests
* Fixed GithubAction code coverage to handle test panics
* [FIXED] JetStream: possible panic checking for group leader less
* Update locksordering.txt with some more ordering and jsa.usageMu
* [FIXED] JetStream: possible lock inversion
* review comments
* [added] support for jwt operator option DisallowBearerToken
* Bump to 2.8.2-beta.4
* Combined canSubscribe and canQueueSubscribe for consistency in specialized deny clause handling.
* Fix for subject transforms and JetStream delivery subjects.
* [FIXED] JetStream: file store compact and when to write index
* Small improvement with fss processing
* Bump to 2.8.2-beta.2
* [fixed] step down timing, consumer stream seqno, clear redelivery (#3079)
* For memory store KV with history of 1 we were scanning for our next first when we did not have to.
* Fix for a consumer recovery issue. Also update healthz to check all assets that are assigned, not just running.
* Split JS cluster and super clusters tests and compile only on 1.16
* Changes to tests that run on Travis
* Add JSConsumerDeliveryNakAdvisory
* Bump version to 2.8.2-beta
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.8.1:
* Release v2.8.1
* Bump version to 2.8.1-beta.1
* [FIXED] JetStream: Mirrors would fail to be recovered
* [FIXED] JetStream: stream mirror issues in mixed mode clusters
* fix for CVE-2022-27191
* our CVE scanner has detected crypto go module vulnerability in nats exporter this PR fixes that issue by updating the module version
* [FIXED] JetStream: stream sources issue in mixed mode clusters
* Fix subject renaming for leaf connections and queue subs (#3062)
* Fixes issue on restart where mirror config was invalid (#3060)
* introducing max_age/dupe_window minimum value of 100ms. (#3056)
* When we polled too quickly on migration we could check before catchup logic had even kicked in.
* [FIXED] LeafNode: propagation interest issue after a config reload
* Bump version
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.8.0:
* Release v2.8.0
* Bump version to 2.8.0-beta.23
* [fixed] On config reload js got disabled, when previously set via command line arg
* [IMPROVED] JetStream: add file names for invalid checksums
* [FIXED] JetStream: some stream SOURCE issues
* Bump flow control window back up.
* [Fixed] limits enforcement issues (#3046)
* Bump to version 2.8.0-beta.22
* If we moved a stream back to a cluster we were once at, the stream would appear to have no messages. The old raft node assignment would prevent proper catchup.
* Cleanup timers on consumer leader change
* Fixed mixed mode server without JS dropping js export on jwt update (#3044)
* Bump to 2.8.0-beta.20
* Improvements to move semantics.
* Fix flapping test
* Change \"server limit\" to \"system limit\"
* Return limit in consumer max_ack_pending limit exceeded
* Bump to 2.8.0-beta.19
* fix
* Don\'t quickly declare lost quorum after scale up
* Protect against no cluster
* Fix test that should have been fixed following FC tweak
* Add catchup messages limit that was removed
* Make sure if we recreate something after deleting that we do not wipe valid state
* Make sure mirror re-syncs after origin is moved. Speed up mirror and sources heartbeats.
* Fix test that should have been fixed following FC tweak
* Tweak ordered consumer flow control and bump to beta.18
* Bump to 2.8.0-beta.17
* Update based on code review
* [IMPROVED] JetStream: reduce unnecessary leader election
* Improvements to stream and consumer move.
* [Adding] max_ha_assets to limit placement on server with more ha assets (#3032)
* Re-enable placement tests (#3034)
* Bump to 2.8.0-beta.16
* Bump catchup flow control max outstanding bytes
* Fixed JetStream flapper
* [FIXED] LeafNode interest propagation with imports/exports
* Fixed data race with RAFT node election timer
* Bump to version 2.8.0-beta.15
* Move test to no race, rename others
* Fix description for Wipe
* Only wipe on certain errors and always resume
* [FIXED] JetStream stream catchup issues
* Fix for flapping WAL test
* Don\'t set domain here
* [FIXED] subject renaming with hand crafted reply subject (#3026)
* Add in Domain to alternates
* First pass support for stream alternates
* Bump to 2.8.0-beta.14
* [FIXED] Consumer deliver subject incorrect when imported and crossing gateway (#3025)
* Select next leader before truncating
* Remove old code
* Refactor SystemLimitsPlacement tests (#3014)
* fix js nex interest check where leaf node masked gw subj propagation (#3016)
* Allow nats-server to run as system user on Windows
* Fixes for some flapping tests
* Improvements to the raft layer for general stability and support of scale up and down and asset move.
* Upgrade to latest released client
* Add consumerMemStore impl to allow proper replication of state.
* Skip flapper for now, will fix in separate PR
* Tweak timing for test to prevent flapping
* When using a stream import for a push consumer\'s messages, if the message crossed a route we dropped the delivered subject.
* Disallow moving a stream that is already being moved
* Adding unique_tag to ensure matching tags are not used twice (#3011)
* Reject configuration with value below 2.8.0
* fix sleep in unit test to ensure updates have propagated (#3012)
* Fixed comment typos and some rewording
* [ADDED] LeafNode `min_version` new option
* Add test that demonstrated the consumer filter perf degradation
* Bump version to 2.8.0-beta.12
* During recovery check our guess on the last block.
* When loading blocks in use len(mb.fss) to determine if we can use sfilter optimization. Also check fs.lmb when the stream config is updated.
* [IMPROVED] Stream with multiple subjects and consumer with filter
* unit test to make sure tiered limits and stream moves work together (#3007)
* returns -1 for new unlimited/unset limits and tests/fixes info counts (#3002)
* Bump to 2.8.0-beta.11
* Undo sending bad request on no-interest in apiDispatch
* Bump to 2.8.0-beta.10
* Allow assets such as streams and their associated consumers to migrate between clusters.
* fix unit test that did not fail when header was modified (#3000)
* fix crash on shutdown with meta being nil (#2999)
* Add a config modification callback to createJetStreamCluster (#2998)
* [FIXED] JetStream: send \"bad request\" response for malformed API requests
* [ADDED] Monitoring: MQTT and Websocket blocks in `/varz` endpoint
* Some changes based on review
* [CHANGED] Rate limit similar warnings
* error handling and info when moving a stream from non existing tier (#2992)
* start using unit test TestJWTClusteredJetStreamTiers, size was off (#2988)
* Not allowing streams to be created meant we could not recover on server restart.
* Skip SystemLimitsPlacement if we can\'t get the desired leader (#2989)
* Updated snapshot default chunk size and window size
* Fixed wrong error check (#2986)
* Bump version to beta.7
* In Merge validate nkey and subsequent saveIfNewer error on invalid jwt (#2985)
* added max_ack_pending setting to js account limits (#2982)
* Fixed data race and some flappers
* skips jsz on non js machines when leader only requested
* Bump version to 2.8.0-beta.6
* We were not accounting for some newer internal clients (JETSTREAM, ACCOUNT, etc) when reloading authorization, etc. We were also not copying over local state that has been added over the years to track different types of clients. We also needed to make sure to reuse the account\'s internal client and the subscription id (acc.isid).
* [FIXED] Monitoring: verify_and_map in tls{} config would break monitoring
* Rewrite trackDownAccountAndInterest() to make it easier to read
* Fixes #2969, on reload stream import was not removed for js streams
* [FIXED] Possible panic due to data races
* Adding max stream bytes check (#2970)
* Bump to 2.8.0-beta.5
* Update catchup as well
* Add logs to healthcheck handler
* OrderedConsumer was very conservative with slow start and small max outstanding bytes. This is increasing perf for longer rtt.
* Bump to 2.8.0-beta.4
* Fix for a flapping test
* Ping staticcheck to previous release since getting:
* Improved consumer snapshot logic in clustered mode and disk usage. Also fixed a bug that could cause memory based replicated consumers to no longer work after snapshots and server restarts.
* Fixed some data race and some flappers
* [CHANGED] JetStream: lower default consumer\'s maximum ack pending
* Adding server limits (max ack pending/dedupe window) to js config (#2967)
* update message size was too short when nothing needed to be sent (#2968)
* Bump version to 2.8.0-beta.3
* [ADDED] Tiered limits and fix limit issues on updates (#2945)
* Bump version to 2.8.0-beta.2
* When recycling blocks we could potentially place partials into a tier. This would possibly cause the load code to thrash since it would not be big enough for a full block and we would need to recycle again and make a new one.
* Fix map init
* Changed subjString to accept a byte slice
* Additional improvements to memory pooling and management. Also logic fix for firstMatching that did unnecessary work when matching all.
* [FIXED] JetStream: sampling not updated during consumer update
* Make sure to prevent flappers if possible
* Under heavy contention skip combined with remove could result in index being stamped with underflow for number of messages.
* Fix for #2955. When scaling up a stream with existing messages the existing messages were not being replicated.
* Fix some flappers
* Fixed data race caused by moving some code inside startGoRoutine
* Fix update of R1 Consumer in clustered setup.
* Fixed another possible lock inversion consumer->stream
* [FIXED] JetStream: possible deadlock during consumer leadership change
* [FIXED] Server version check
* ensures the cluster info in jsz is sent from the leader only
* Make at least work
* Fix for version comparison
* Bump to 2.8.0-beta.1
* Improve memory usage through JetStream storage layer.
* Make sure that we do not become a candidate/leader too soon or if we are not caughtup.
* Update Go client
* JS: BackOff list caused too frequent checkPending() calls
* Fixed panic on stream create failure (with filestore)
* Update test to capture accounts{} and single u/p or token
* [CHANGED] Duplicates in authorization{} and accounts{} now detected
* Add test for updating JS Consumer with sampling
* Use random high port in placement test (#2940)
* [FIXED] JetStream: possible panic on leadership change notices
* Disable some supercluster limit placement tests (#2937)
* [FIXED] Removal of an external source stream
* Tests: Replace all Ack() with AckSync() for now
* Fixing flapper
* Attempt to fix flapper
* Changes to IPQueues
* Make warning more detailed
* When detecting exact duplicates for URLs for routes, gws or leafnodes, enter a warning and ignore. If misconfigured could prevent the JetStream system from electing a leader.
* Add stream limit update test (#2929)
* Fix a flapper
* Show version on main monitoring page with link to source
* Improve state preservation for consumers, specifically DeliverNew variants when no activity has been present.
* Add consumer check to healthz and allow to be called directly
* Prevent reserved bytes underflow (#2907)
* Bump to 2.7.5-beta.2
* When a stream or consumer was offline we would not properly respond to a delete. We also would hang if no stream info requests were sent during a stream list due to the asset being offline.
* Test ack metrics
* [CHANGED] Gateway: Detect duplicate names between clusters
* improve mapping template regex to allow for some extra spaces and associated test upgrade
* Bump version
* source cleanup
* Optimizations, cleanups and new mapping destination error
* Fix test by using AckSync() to avoid flapping
* [CHANGED] JetStream: Redeliveries may be delayed if necessary
* Change mapping function name being passed as a string to being passed as a \'constant\' regex and small simplification because the hash\'s Write never returns an error
* Adds deterministic subject tokens to partition mapping introduces \'Moustache\' style subject mapping format (e.g. foo.
*.
* -> foo.{{wildcard(1)}}.{{wildcard(2)}}.{{partition(10,1,2)}})
* Make staticcheck happy (https://staticcheck.io/docs/checks#S1007)
* Adds deterministic subject tokens to partition mapping introduces \'Moustache\' style subject mapping format (e.g. foo.
*.
* -> foo.{{wildcard(1)}}.{{wildcard(2)}}.{{partition(10,1,2)}})
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.7.4:
* Release v2.7.4
* Ensure file path is correct during stream restore
* Adding denies $KV.>/$OBJ.> along leaf connections on differing domain (#2916)
* [FIXED] Some lock inversions
* [FIXED] Panic when monitoring enabled on non 64bit architectures
* When a consumer has no state we are now compacting the log, but were not snapshotting.
* Fixed lock inversion by not using account lock to get the name
* Made improvements to scale up and down for streams and consumers.
* Bump to 2.7.4-beta.2
* [FIXED] JetStream: Some stream advisories missing
* When removing a stream peer with an attached durable consumer, the consumer could become inconsistent.
* If we had not heard from a source or mirror we would still calculate the delta since now. This would wrap and create a large number which overflowed JSON\'s 2^53 limit.
* Spiffied up monitoring landing page a bit
* Gateways: data race when setting first ping timer
* [FIXED] LeafNode: queue sub interest not properly sent to new LN
* Some users reporting checksums don\'t match and \"no message cache\" on recovery.
* Fixed bug that would not recover a stream after non-clean shutdown with deleted messages.
* Bump to 2.7.4-beta
* Fix for #2885.
* In the process of working on #2885 with a user, I was struggling to map $SYS directories to consumer names.
* [FIXED] JetStream stream info consumers count in clustered mode
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.7.3:
* Release v2.7.3
* Bump version to v2.7.3-beta.3
* [FIXED] Gateway: connect could fail due to PING sent before CONNECT
* Update compress and highwayhash dependencies
* Various changes
* Revert \"Initial commit\"
* Initial commit
* Bump to 2.7.3-beta.2
* Cleanup key files when removing message blocks.
* Small improvements to send performance to a full stream.
* On filtered subjects when consumers were staggered we need to disqualify a filtered consumer if not applicable.
* Allow stream placement by tags.
* Allow replica updates during stream update. Also add in HAAssets count to Jsz.
* Allow pull requests to specify a heartbeat when idle to detect when a request is invalidated.
* avoid seg fault when stream restore fails
* Fixed consumer dlv count and num pending wrong due to redeliveries
* Bump to 2.7.3-beta
* During a filestore snapshot we generate the fss files but were not cleaning them up if the block was deleted before a server restart.
* Snapshot initial consumer info when needed.
* A stream name is tied to its identity and can not be changed on a restore.
* Removed JetStream directory
* [FIXED] Adding a consumer could return inaccurate consumer info
* Fixed a bug that would calculate the first sequence of a filteredPending incorrectly.
* Improved sparse consumers replay time.
* Fixed flow control stall under specific conditions of message size.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.7.2:
* Release v2.7.2
* Remove dynamic account behaviors.
* Add in NumSubjects to StreamInfo
* Added in ability to get number of subjects from StreamInfo, and optionally details per subject on how many messages each subject has. This can also be filtered, meaning you can filter out the subjects when asking for details.
* When a consumer had not filtered subject and was attached to a interest policy retention stream we could incorrectly drop messages.
* This test was using fetch and failing if the complete batch was not filled. This has nothing to do with the test, we just want to make sure the leader steps down and there were no low level errors on the fetch.
* Under certain scenarios the pending for a consumer could appear to get stuck.
* [FIXED] JetStream: BackOff redeliveries would always use first in list
* Fixed behavior for when MaxMsgsPerSubject is set and DiscardNew is also set.
* Bump to 2.7.2-beta
* Fix flapping test
* A true no wait pull request was not considering redeliveries.
* Fix for #2828. The original design of the consumer and the subsequent store did not allow updates. Now that we do, we need to store the new config into our storage layer.
* Updating a push consumer to be pull would succeed but cause a panic if used. This disallows that upgrade. We had a check in place for pull to push, but not the reverse.
* Store JetStream Config in node info map
* Nightly: set Go version to 1.17 and use latest goreleaser
* Fix nightly to have proper git commit and move to Go 1.17
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.7.1:
* Release v2.7.1
* Fix collectRevocations
* incorporate comments
* Fix jwt based user/activation token revocation and revocation granularity
* Added in /healthz endpoint for health and liveness probes in environments like k8s.
* Update config error
* Updates based on feedback. MaxDeliver needs to be set properly now to be > len(BackOff) but if larger we will reuse last value in BackOff array.
* Formal json version for NAK delay
* Allow a consumer to be configured with BackOffs.
* Allow NAK to take a delay parameter to delay redelivery for a certain amount of time.
* Fixed data race and fuxed bug that we would not clear our waiting queue when a leader stepped down.
* If we detect negative deleted, adjust
* Update Go client
* Updates based on review feedback
* Track reply subjects for pending pull requests across clustered consumers.
* Add source and mirror info to stream monitoring
* Reset authSet state
* Fixed #2810. Do not warn about password for internally generated no auth user when just system account assigned to non-default.
* When no_auth_user is set, do not require a CONNECT proto.
* The 2.7 update broke the one-shot pull consumer fetch behavior due to change and a fix to a bug that allowed it to work before.
* Bump version to v2.7.1-beta02
* Fix race condition in HTTP monitoring shutdown (#2805)
* [FIXED] Possible deadlock
* Fixed goreleaser ldflags
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.7.0:
* Release v2.7.0
* Fix goreleaser script invocation - bump to rc2
* Update deps
* Removed vendor directory
* Prepare for release v2.7.0, start with v2.7.0-rc1
* add roadmap link [ci skip]
* Pooling pubMsg and jsPubMsg objects
* Fixed some tests
* Adding logger for IPQueue
* Reworked RAFT\'s leader change channel
* Renamed variables, removing the \"c\" that indicated it was a channel
* Replaced catchup and stream restore channels
* Replaced RAFT\'s stepdown channel
* Replaced RAFT\'s vote request and response channels
* Replaced RAFT\'s append entry response channel
* Replaced RAFT\'s append entry channel
* Replaced RAFT\'s apply channel
* Replaced stream\'s inbound list
* Adapted jsOutQ
* Adapted system sendq
* Replaced MQTT\'s send queue
* Replaced system event queue
* Replaced ackMsgQueue
* Added intra-process queue to exchange objects instead of channels
* remove roadmap
* Start monitoring before JetStream
* When rebuilding the complete state need to do this in a go routine. We did this properly above but forgot this one.
* Fixed consumer info num pending bug.
* [Adding] support for JS MaxBytesRequired
* [IMPROVED] JetStream clustering with lots of streams/consumers
* Add in explicit subscription for import responses when bound to a leafnode.
* Remove switch
* Fix non used error
* Review
* Track interest properly across accounts for pull consumers
* Add parsing of string for sizes
* Check if value is string or int64
* [ADDED] TLS connection rate limiter
* Add in ability to have ephemeral pull based consumers
* Add in ability to limit aspects of a pull request, specifically batch size and expiration.
* Updated pull consumers.
* Update client
* Only report peers that we have seen a stats/usage update for
* Update atomics placements based on feedback
* Make cluster placement log more detailed
* Implement overflow placement for JetStream streams.
* Add X-Forwarded-For IP to the client\'s remote address
* FIX: Fix broken link to monitoring documentation
* Avoid deadlock, release js lock
* Avoid race condition
* JetStream ephemeral consumers could create a situation where the server would exhaust the OS thread limit - default 10k.
* Bump to 2.7.0-beta
* Stabilize filstore to eliminate sporadic errPartialCache errors under certain situations. Related to #2732
* Improved selectMsgBlock with lots of messages. Also have fetchMsg return hint about clearing cache.
* Fixed system account issue where the wrong struct got updated
* Added test to show cross account interest for push consumers works
* Added in ability to have account limits configured in server config.
* [FIXED] JetStream: stream first/last sequence possibly reset
* Memory store tracked interior deletes for stream state, but under KV semantics this could be very large.
* Full stream state with interior delete details not needed by recipient of snapshot
* [FIXED] JetStream: stream blocked recovering snapshot
* [FIXED] JetStream: interest across gateways
* Js leaf deny (#2693)
* [FIXED] TLS map: panic for existing user but conn type not allowed
* [FIXED] Check for no_auth_user
* fixes a nil panic on jsz
* removed suffix from \"missing\" list
* Adding missing entry to stream/consumer list
* [FIXED] JetStream: panic \"could not decode consumer snapshot\"
* [ADDED] MQTT: Support for Websocket
* [IMPROVED] Websocket: added client IP from X-Forwarded-For header
* [UPDATED] golang.org/x/crypto dependency
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.6:
* Release v2.6.6
* Set incomplete error when cluster list fails
* Update documentation link
* [CHANGED] Profiler: Start profile_port earlier
* Add in a warning when detecting subjects on a mirror
* There were situations where invalid subjects could be assigned to streams.
* Aligning timeout to be shorter than 5 second cli default
* [FIXED] Corrupted headers receiving from consumer with meta-only
* prevent stream update to add subjects to mirrors
* ensure streams have only valid interest subjects
* hitting an account limit left an outgoing leaf node conn in bad state (#2715)
* [FIXED] Monitoring: tls configuration not updated on reload
* [FIXED #2708] Removing a source depending on timing could cause a server panic.
* [FIXED #2706] - Only utilize full state with deleted details when really needed. Otherwise fast state will suffice.
* [FIXED/CHANGED] Add leafnode websocket connection type
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.5:
* Release v2.6.5
* [FIXED] Bug in memstore that when setting max msgs per subject to 1 would not work properly.
* Bump version
* Recreate client in case shutdown server was the one we were connected to
* Use local variable that we got under the lock
* Needed to undo since we already recorded
* Better handling of stream mismatch scenarios.
* Handle skip msgs better, do not update mb stats, clear erased bit
* expose the nonce to custom authentication
* allow streams api to be filtered like list api
* Remove TestNoRace tests from code coverage
* Bump tests code coverage timeout
* support always presenting a nonce to clients
* Add support for designated OCSP responders
* Remove version for misspell and staticcheck tools
* Travis updates
* Fix for staticcheck shadow issue
* Bump version
* Fix for latency tracking bug.
* [FIXED] A slow consumer could cause the publisher to block
* fixed unit test where after a server shutdown no quorum existed
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.4:
* Undo race fix which could cause deadlock
* Release v2.6.4
* Fix for race on js.cluster status
* Add in max_sub_tokens support
* [ADDED] Allow certain consumer attributes to be updated #2670, #2603
* Only pass through to system account for account info api
* Altered jwt unit tests to not use localhost and prefixed tests with TestJWT
* Bump version
* Allow system account to respond with jetstream not enabled.
* Bump version
* Fix for #2658
* Fix for #2666
* Fix for #2662.
* [IMPROVED] Websocket: Add client IP in websocket upgrade failures
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.3:
* Release v2.6.3
* Race around accessing storage type
* [FIXED] Gateway URLs gossip and `/varz` report issues
* If AckWait less then restart check interval use AckWait
* Fix for a bug that did not properly decode redelivered state for consumers from a filestore.
* Fix for #2633
* tests: hard-reject bad ports for JS clusters
* tests: don\'t allocate fixed ports from random range
* Redact URLs before logging or returning in error (#2643)
* Bump version
* Fix for #2642
* Fixed flapper
* [FIXED] Monitoring: `/varz` gateway URLs not always updated
* Optimize compaction under heavy KV use
* Upgrade Go client
* Fix for #2644
* Review comment
* fix timer not being stopped prior to reset
* Fixed memory leak caused by retained client and conn of timer
* Update test
* Fix #2630
* Fix for #2628 #2629 issues
* Use %q when trimming msg payload under trace
* Fix for #2622.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.2:
* Release v2.6.2
* Honor JetStream server settings of 0.
* Fixed data race in setSourceConsumer
* Updates based on code review
* Bump version
* Fix for stream purge where purge would remove all pending messages for a filtered consumer.
* Ignore the \'not filtered\' shortcut if deliver last policy is set
* Simplified a bit
* Improvements to meta raft layer around snapshots and recovery.
* rename param: close id golang builtin func name , mislead
* [FIXED] Websocket: issue with compression and Safari
* Test that reproduces the issue reported in #2611
* Bump version
* fix go doc: DenyRules
* Added more robust checking for decoding append entries. Allow a buffer to be passed in to relive GC pressure.
* Don\'t make consumers go backwards on purge
* error when a stream requesting rollups deny purge
* [IMPROVED] MQTT: add client id to client connection string
* Update rollup based on feedback
* Allow consumers to request only headers to be delivered
* In addition to sealed we add in other stream perms to control purge, msg deletes and rollups.
* Fix for rollups and filtered purge
* [FIXED] JetStream: data race on shutdown
* Rollup functionality.
* Allow streams to be sealed through a stream update.
* fixes the msg get audit event
* Update nats-io/jwt dependency
* added unit test to test stream source/mirror cross different domains
* [fixed] missing support for header in some request handler
* Log when we adjust the peer set size
* Bump version
* Only adjust downward if we have a total >= original estimate
* On cold start in mixed mode if the js servers were not > non-js we could stall.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.1:
* Release v2.6.1
* Revert back to old subject, don\'t suppress updates on non client/leaf
* Do not count non client or leafnode connections for account limit reporting.
* Improve handling when exceeding account resources and trying to catch up streams, etc.
* Adjust timing
* NO COMMIT, demonstrate JS conn count
* Fix corrupt wal test that was flapping
* Update version to beta until ready to release
* Fixed other MQTT test that was setting JWT mem but not disk limits
* Moving 2 new tests to jetstream test file
* Fix MQTT test that was not setting MaxStore
* Fix for no storage limits
* Direct consumers used for mirroring should not be affected by max consumer limits
* Make sure wp is > len(cache.buf)
* NO COMMIT, unit test to show issue with mixed enablement of js storage
* Release v2.6.1
* Fix for deadlock with stream mirrors or sources where origin is interest or workqueue policy.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.6.0:
* Release v2.6.0
* incorporating review comments.
* [added] value to JS stats showing memory used from accounts with reservations
* Fix for #2551
* Fix for #2548
* Avoid panic if WAL was truncated out from underneath of us. If we were leader stepdown as well.
* Fix RAFT WAL repair.
* Run coverage, but push to coverall only after_success
* protect against negative dupe window via negative max age
* Make sure to set last sequence on recovery, check for ddloaded on last msg id
* Bump version
* Test tweaks
* Only rebuild dedupe state as needed versus always on startup. Was penalizing large non-dedupe streams on startup.
* Log error on write errors
* Remove extra unlock that causes panics
* Improvments to writeIndexInfo logic and managing open FDs. Also hold lock while doing sync and optionally close FDs if idle.
* Improvements to cache management.
* Update nats.go version
* Exposing reserved memory in jsz/varz
* Make large batch requests expire more efficiently.
* Fix for data race around c.echo
* ConsumerInfo in clustered mode would return not found if assigned but not properly setup with a leader. This change returns an info in those states now to better support client logic when binding consumers.
* Allow clustered JetStream to allow duplicate stream creation like single server mode.
* MQTT handle idempotent session stream creation.
* [CHANGED] JetStream: flow control requires heartbeats
* fix error code for JSStreamHeaderExceedsMaximumErr
* Fix flapping test
* MQTT: delete the session record even on restart with clean flag
* Fixed a condition where JetStream assets could be created in multiple leafnodes. Also added in optional Domain to StreamInfo.
* Bump version
* We use u16 to encide header len when replicating JetStream messages. Make sure to error if we exceed that limit.
* During compaction the cache may not be loaded completely if msg block was lmb (active writing). This could lead to the filtered subject state being incorrect.
* Updates based on code review
* [FIXED] Report config error if \"token\" defined for cluster{} and gateway{}
* fixed queue group memory leak
* [FIXED] Websocket: possible panic when decoding CLOSE frame
* Add hardened systemd service
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.5.0:
* Release v2.5.0
* Changed ClientID to MQTTClient and client_id to mqtt_client
* [ADDED] Monitoring: ClientID (for MQTT clients) on connection events
* Only supply expected last header is seq != 0
* Added ability to check if no message exists as a test to store the message.
* Fix for issue #2488.
* Updates based on code review
* Bump version
* Make sure to suppress dupes on JS deny all for system account
* [IMPROVED] MQTT stream per session replaced with single stream
* Fixed a bug when an interest retention stream with noack consumers is in clustered mode. We were not properly propagating the ack state and proper cleanup of the stream messages.
* Renew some TLS certs
* Bump version
* Bump Go test timeout
* During peer removal, try to remap any stream or consumer assets.
* Fixed bug that could lead to perceived message loss.
* Wait for complete server shutdown in a test
* Set defaultServerOptions port to -1 for random
* [FIXED] Account resolver TLS configuration
* Fix some timing and bump server version
* [FIXED] Pull requests: don\'t send 408 when request expires
* Handle SIGTERM on windows
* Return if pull subscriber and exists
* Avoid potential race
* Shorten max wait for test
* Set consumer config defaults early on to avoid a race condition.
* Fix for Issue #2397
* Add a comment to explain that we want to make a copy of the config
* Additional lock inversion between jetStream and jsAccount
* [FIXED] JetStream: possible deadlock due to lock inversion
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.4.0:
* Release v2.4.0
* Use a better seed for a rand generator
* If we are in a simple mixed-mode setup with just global account and system account and clustered, allow pass through.
* with \'go fmt\' applied
* remove not needed import
* quickfix for #2445
* fix daisy chained leaf node subject propagation issue. (#2468)
* Fixed creating raft groups when we had a js->s lock pattern.
* The slowdown was due to trying top expire messages without a proper index info. So now we read and encrypt index info in place as well.
* Fix for test
* Added ability for leaafnodes to allow broader subscriptions to pass through and not cause disconnects.
* Fixes for reversing perms on the hub side of a leafnode.
* [FIXED] LeafNode: wrong permission check prevented message flow
* Do not use crypto rand for nonce generation.
* [fixed] error print on re adding existing system import
* Consumer num pending fixes for multiple matches and merging.
* Adding counter for number of failed logons due to pinned accounts
* Add in optional compression schemes for Accept-Encoding on server api requests.
* [CHANGED] ConsumerInfo\'s SequencePair replaced with SequenceInfo
* [added] operator option to ensure user are signed by certain accounts
* Use append in case pubAck is larger than stack []byte
* Only compact when msg is not first. Make sure compact works with snapshots.
* Updates based on feedback
* When a JetStream stream was used as a KV, there could be times where we have lots of file storage unused.
* Update Go client
* [FIXED] LeafNode: wrong permission check prevented message flow
* make error actionable when adding operator+leafnodes
* Bumped beta version
* Add in additional checks for failures during filestore encryption.
* When we expired all messages on a restart we did not properly setup lmb.
* Added test for system account update as well
* Make sure jwt claim update does not wipe system imports
* updated go client for tests
* fixed unit tests where SequencePair comparisons fail due to time last_active
* Add in warn for error on catchup
* [FIXED] LeafNode with \"wss://..\" url was not always initiating TLS
* Fix for flapper
* When an account asked for connz should be client and leaf connections only by default.
* Fix for tests
* No race flag for GHA [ci skip]
* Fix for flapping test
* Fixed a leak of internal clients for JetStream consumers.
* Bypass norace tests for GHA
* More fixes for some flapping tests
* Fixed and moved large purge test to no race
* Keep SequencePair vs SequenceInfo
* Fix for flapper
* Added in last active reporting for consumers for delivered and ack floor.
* Add in push bound status for consumer info.
* Tweak travis vm size
* Remove PushActive
* Update Go client
* Add in DeliverGroup to consumer as optional queue group.
* Break once we see interest
* Update Go client
* Added in ability for normal accounts to access scoped connz info.
* Make sure PushActive is nil for pull consumers
* added check assuring subscription made it to other end of leaf connection
* [fixed] issue where js overwrote leafnode remotes permissions from creds
* Made test more predictable by waiting for leader after leader shutdown
* Fix for data race and corruption
* Fix for a flapper
* Fix for flapper
* Add in deliver status for consumer info
* Add domain to PubAck1
* assign default to MaxAckPending when AckExplicit -or- AckAll, not just AckExplicit
* fixed unit test to require fc export as well
* attempt to improve UX of the error system
* Fix for #2423
* Fix for #2420
* Simplified flow control, avoid stalls due to msg loss
* Update Go client
* Fix for subscription leak.
* Update Go client
* Bump version
* Fix for #2416
* Fix for #2417
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.3.4:
* Release v2.3.4
* Report the limit using MAX_PAYLOAD_MAX_SIZE instead of hardcoded in warning
* Add warning if max_payload > 8MB
* [CHANGED] Check that max_payload is not greater than max_pending
* Number of initial pending was off by one when DeliverLastPerSubject was utilized on a consumer.
* Fix for #2401.
* Due to internal limits the actual maximum payload size is 64Mb. Beyond that the subscribing process is unable to receive the messages, so adjusting the maximum size the server allows you to set for `max_payload`.
* Various bug fixes and improvements to filestore consumer stores.
* Fix for reentrant read lock on a stream that once anyone else wanted the write lock would deadlock.
* Test to reproduce panic on consumer state recovery
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.3.3:
* Release v2.3.3
* Update go.mod JWT reference to latest release
* Fix for #2392. We were not resetting the pending timer properly during stream purge.
* Fix for #2388. Leafnodes with no JS can seamlessly access a HUB with JS.
* Off by one bug (surprise) that would skip first new message on deliver last per subject.
* When a server was restarting, if a stream had a MaxAge and there were a very large amount of messages to expire, this would take too long.
* Merge branch \'main\' into deliver-last-per-subject
* Remove \'-s\' flag from ldflags from the build
* We had a situation where when a stream with interest retention had a clustered consumer it could cause the server to panic when the consumer was being deleted.
* Allow delivery policy of DeliverLastPerSubject, which is helpful for scoped watchers for K/V.
* Updates based on code review
* [fixed] crash in unit test caused by
*ConsumerStore.State() return nil, nil
* [fixed] jetstream unique server name requirement across domains (#2378)
* Add descriptions to JetStream streams and consumers.
* [FIXED] OCSP: parse cert.Leaf if not set
* [fixed] updated jwt library to avoid an error when counting tokens
* fix error replacements in consumer validation
* Remove the swapping of accounts during processing of service imports.
* Change naming in server fuzzer
* Remove unnecessary lines
* fix performance by changing signature of tokenizeSubjectIntoSlice
* Review comments
* [fixed] subscription on wildcard import that is not a subset
* [changed] default account fetch timeout to be smaller as client timeout
* [fixed] tls timeout now accepts units
* Removed debug.PrintStack() from apiDispatch [ci skip]
* remove ADR files from the server
* Bump to 2.3.3 beta
* Fix for a consumer\'s num pending being stuck at 1.
* remove duplicate error
* remove duplicate error
* Fix for flapper
* Fix for multiple concurrent ephemeral consumer requests in clustered mode with max consumers set.
* Fix for #2352
* [adding] kind and client_type to account connect/disconnect events (#2351)
* Adds public ReloadOptions api support
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.3.2:
* Release v2.3.2
* [fixed] CONNS system endpoint which had issues with header and empty msg
* Fixed another flapper
* Fix yet another flapper
* Fixed another flapper
* Fixed some tests
* Make requirement for interest on creation of ephemerals soft vs hard. Will start the cleanup timer if no interest but allow creation.
* Fixed peer info reports that had large last active values. Also put in safety for lag going upside down as well.
* Use of sync.Pool for filestore could cause msg corruption.
* Add error codes for all consumer creation errors
* [fixed] header handling in system services
* Fix version
* We should not sit in place here, no measurable effect on latency in tests
* Add OCSP cert generator script
* Cleanup references to \'master\' and \'gnatsd\' (#2336)
* adr documenting the idle_heartbeat feature for consumers (#2330)
* adr documenting purge and options (#2331)
* Fix for crash in test run
* Fix for #2329.
* Check not really needed here, so removed
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.3.1:
* Release v2.3.1
* If dirty flag set always write state out
* 2.3.1-RC.1
* Protect account prand, use faster Uint64 variant
* Improvements to large numbers of JetStream R1 consumers per stream.
* Added ability to match based on last expected sequence per subject.
* do not log at Error level for some store failures
* Fix for Go client behavior change
* Bump threshold
* Updated Go client and crypto deps
* 2.3.1-beta.1
* FIXED Clustered streams can become broken with seq mismatch state on low level store failures.
* FIXED max consumers was not enforced when set on stream
* Update OCSP CA
* Bump to 2.3.1
* Added in Stream get last message by subject.
* Skip for now, covermode blows up memory and latency thresholds
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.3.0:
* Release v2.3.0
* Bump threshold
* Bump to 2.3.0-RC.1
* Make sure to return tmp bufs to pool when we can
* Improvements to filtered purge and general memory use for filestore.
* [FIXED] Failed route TLS handshake would leave failed conn\'s lock, locked
* Bump to beta 16 and ran go mod tidy
* 2.3.0-beta.14
* [CHANGED] Reduce print for an account subs limit to every 2 sec
* Fix for extended purge by sequence.
* update for review
* Add in ability to have encrypted JetStream filestores.
* Add in chacha20 and poly1305
* [FIXED] Clients disconnected on reload when only $SYS account configured
* [FIXED] Websocket compression/decompression issue with continuation frames
* test to show slow purges
* 2.3.0-beta.12
* Add test for sequence only
* Updates and fixes to PurgeEx
* Allow for more advanced purge operations that filter by subject, specify the sequence or number of messages to keep.
* further tagged error confusion cleanups
* further tagged error confusion cleanups
* Fix data race condition
* Prepare for acceptance
* Fix for #2290
* remove config !nil check,beacuse the if branch is always not nil
* [fixing] leafnode missing retry and service export interest propagation (#2288)
* 2.3.0-beta.10
* Test rename for no race versions
* Bump timeout threshold
* Added in per subject limits for streams.
* Make filtered consumers in large mixed streams more efficient. Allow wider scoped filtered subjects.
* 2.3.0-beta.8
* When checking limits we would check total ask against the server limits if limits were not set. We were also dynamically setting account limits based on a single server limit.
* When we got into certain situations where we are catching up but the first entry matches the index but not the term, we would not update term. This would cause CPU spikes and catchup cycles that could spin.
* 2.3.0-beta.6
* Make sure leader ready
* When leader changes happened to streams that mirrored or sourced other streams we could continue to try to create consumers.
* 2.3.0-beta.4
* When receiving a response across a gateway that has headers and a globally routed subject (_GR_) we were dropping header information.
* ocsp: add more config options to customize ocsp stapling
* fomatting
* [fixed] hanging leaf node connection when account can\'t be found (#2267)
* [adding] jetstream info to statsz (#2269)
* Bumped memory ceiling
* Added active servers to statsz.
* 2.3.0-beta.2
* Handling of rewrites for subjects to a globally routed subject was not properly handling c.pa.deliver or reply rewrite.
* [FIXED] LeafNode config reload failed without any change made
* Bump version
* ocsp: Add OCSP Stapling support for cluster, gateway and leafnodes
* [FIXED] MQTT: panic when using import/export
* ensure correct error handling in non clustered stream add
* Changes to leafnodes to support multiple domains where the hub is JetStream enabled but the hub account is not, and the leafnode is.
* Remove external dependency on \'ps\' for memory and cpu usage.
* Minor updates to error data
* ocsp: Add caching staples to disk to store dir
* typo fix, report highest number
* restore old error constants for backwards compat
* richer api errors proposal
* Add OCSP support
* Vendor ocsp dep
* clarifying js prefixes
* changed as per pr comments
* 0006-protocol-naming-conventions
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.6:
* Release v2.2.6
* [changed] pinned certs to check the server connected to as well (#2247)
* Fix for varz JetStream usage showing total account usage vs server usage.
* [fixed] deletion of js mappings on account jwt update
* Fix for #2243. We were not allowing replicated acks processing for workqueues properly, only interest retention.
* Fix for #2242.
* Fix for corrupting a message when extending an existing header.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.5:
* Release v2.2.5
* [fixed] issue with invalid api prefix for source/mirror
* [added] pinned_cert option to tls block hex(sha256(spki)) (#2233)
* [FIXED] MQTT: session fails if the number servers below cluster size
* Fix a data race.
* Fix flapping test
* Removing peers should wait for RemovePeer entry replication.
* Mapped cross account test
* Move default file and dir perms
* Fixed issue that we would stage snapshot restore in temporary storage. This did not work when using our default docker image which does not have /tmp by default.
* Under double import scenarios we could map to the wrong subject.
* [Fixed] Always initialize httpReqStats
* If a consumer state has a redelivered that is not quite correct that should not be a corrupt state error.
* Clarified client operations to promote cross-client compatibility
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.4:
* Release v2.2.4
* No need to fetch account if we detect that it is valid NKEY
* Stupid spelling where I introduced this..
* Fix stream source lookup and add in optional External to StreamSourceInfo.
* Don\'t fix dir perms yet, punt to separate issue
* Error-checking, resilience & perms for JetStream move
* Fix for #2213
* Fix for #2205
* Fixed typos and updates checkOrigin() doc
* [FIXED] Websocket: Origin should be checked only if present
* Fix for #2202
* Update based on feedback.
* Fix for store directory on disk prior to 2.2.3 without the \'jetstream\' directory.
* Fix data race
* Fix for failing test, we needed to account for consumers having filtered subjects configured but not really being filtered.
* [added] check for mirror stream return error when de dupe window is set
* Fixed flappers
* Bump version and skip test for now, will fix in followup PR.
* Export the clientOpts structure
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.3:
* Release v2.2.3
* [added] filter system requests by JS domain
* Extend stream/consumer name validation to include more characters
* When dealing with filtered subjects do not assume the current state as others can.
* 2.2.3-beta.8
* For WorkQueues that have direct we need to make sure they have received the message before deleting.
* With WorkQueue policy streams that are mirrored or sourced need to only delete if no regular consumers.
* Remove debug
* For interest or workqueue streams with ephemerals we need to not reduce replication to 1.
* Tweak timing
* add domain in JS advisories
* Don\'t need to store domain in mqttJSA structure
* Fixed bug that could cause raft group to spin trying to catchup.
* Check for nil chan
* 2.2.3-beta.7
* Detect if perm subjects have queue group qualifiers.
* Fixed mirror/source streams from work queues. Fixed deadlock with no-ack consumers on interest retention streams.
* remove . from domain names
* small tweaks to domains
* 2.2.3-beta.6
* Update based on PR feedback, moved to validateOptions
* Check for bad domain names
* MQTT make session streams domain aware
* Another test fix
* Fix test
* Make storedir consistent with mix of flags etc
* Moved the JetStream logic for solicited leafnodes to after we receive first info. We needed access to the other side\'s JetStream status.
* Fixed some tests to manually close account resolver
* Add in support for JetStream domains.
* Update client to released version
* Fix data race
* Expand test to target mirrors and sources in different JS domains.
* Rework auto insertion of deny exports and imports for leafnodes. This shifts to runtime vs setup time.
* Create helper function to check on account jetstream status.
* Add in formal support for multiple JetStream domains across leafnodes.
* Force server name to be set if mqtt{} defined
* Add in comments to help with usage
* [FIXED] Under certain conditions with messages being auto-deleted we would not honor blk size properly.
* Fixed issue when limiting bytes with an unlimited account that would always fail.
* 2.2.3-beta.5
* Improved stability when expireMsgs and writeMsg and Compact/Purge all concurrent.
* [fixed] decorated jwt parsing issue by using same functionality of jwt
* [FIXED] MQTT fixes and improvements
* [FIXED] MQTT retained message in cluster mode may not be delivered
* Bump version
* Under heavy load and a leader change we could warn about not processing responses. This also adjust the min election timeout to 2 seconds vs just 1 for very large networks.
* Bump version
* [FIXED] Getting varz from the http endoint saw Subscriptions always double for each fetch.
* Bump version
* Update comment per feedback
* Make sure when we extend the JetStream domain with a single server leafnode we can place things there.
* This adds ability to have a single node server with a system leafnode expand an existing JetStream cluster domain.
* Move to Info vs Warn
* When detecting a jetStream domain that is extended to a leafnode or leafnode cluster we want to auto-suppress JetStream traffic on normal accounts.
* allow custom authenticators to set a username
* Bump version
* [FIXED] TLS: default ciphers not set when tls enabled from command line
* Internal JetStream callbacks for message delivery across GWs could lose responses.
* Fixed comments
* [FIXED] MQTT: asset placement in origin cluster
* [FIXED] Message loop with cluster, leaf nodes and queue subs
* [fixed] crash when using nats-resolver without system account (#2162)
* [added] leaf deny exports/imports to varz monitoring (#2159)
* Randomize leafnode route URLs and add option to disable
* fix unit test crashing when leader was nil caused by quorum reformation
* apply review - rephrase
* add \'flushClientsWithCheck\' to prevent block in readLoop
* Try to flush in place, if producer and consumer are client.
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.2:
* Release v2.2.2
* close tempfiles, fix path print
* [IMPROVED] MQTT error message when client connects with websocket
* Do not persist or snapshot consumer state after a restore. This can lead to a data race and is not needed after being applied.
* Delaying stream/consumer error response when there is no contact to meta
* Fix race
* Make sure to not have the raft layer block on apply channel on exit.
* Check for overlapping subjects on stream update.
* Fix for data race when disabling JS running out of resources
* Updates based on feedback
* Make sure to return no consumer if we are still waiting on a leader to be elected.
* Check direct consumers directly, stream state back to previous behavior
* 2.2.2-beta.11
* Make sure to clean up ephemerals across a Gateway. Also report direct consumers in num consumers in stream info.
* 2.2.2-beta.10
* Fix for consumer on restore being deleted
* Move cas in prunePubPermsCache() itself and clear with atomic.Store
* [FIXED] Possible panic due to concurrent access to unlocked map
* Use lower ports to not collide with -1s
* Concurrent multiple durable subscribers would cause unpredictable behaviors. Upgraded to current Go client.
* Move to dynamic ports
* Fix account resolver lock ordering on shutdown
* Check that we have mirror still to not panic and deadlock/hang
* Put back direct consumer subject prefix
* Fix subscription leaks for mirrors and sources for streams as well as flow control subjects for consumers.
* Return not ready for connection reason
* Check err
* 2.2.2-beta.8
* Randomize cluster and gateway ports
* Process upstream missing messages for mirrors better.
* Fix flapper
* [fixed] only become observer if the leaf config has raft not restricted (#2125)
* Bump version
* Make sure clseq does not fall below lseq
* Maintain stream sequence properly
* Help with flapping tests
* Make sure source consumers work properly after expiration/purge
* Declare required JetStream resources in test
* Minimize proposals doing skip msgs
* Increase clients and runtime
* Use higher timeout for deleting consumer
* Increase apply channel size
* Move test to norace
* Add large stress test, skipped by default
* Cleanup error handling, fix deadlock in test
* 2.2.2-beta.5
* [fixed] sub ref count issue across leaf node connections
* Cleanup some tests + GetTLSConnectionState() race fix
* Do not propagate service import interest across GW and ROUTES
* js: msgblock close fix
* Fix flapper
* Bump Version
* Track removed peers properly
* Do not limit expansion of new peers
* Cleanup request subscription if no answer
* Fix calling FailNow in parent test
* Allow control messages like heartbeats to pass the old sub test.
* Make sure to stop retries for mirror consumers when not leader and through old control messages.
* Bump Version
* Add in more extensive test on extending hubs with leafnode clusters
* When messages were no longer available in an upstream stream a mirror could wedge and not resolve. This fixes that scenario by detecting the situation and inserting skip msgs to catch up.
* Change to report total deleted by default for stream info. Allow deleted details if requested.
* [fixing] subscription issue when subscribing to a super set of deny_import
* When a cluser of leafnodes connects to a cluster or supercluster hub and they share the system account make the leafnode servers observers.
* Bump version
* Pull based consumers when deleted were not removing messages from an interest based stream. Fix for #2097.
* Make sure we do not set last to -1. #2068
* Make SIGTERM exit 1
* Fixed leafnode flapper
* When checking cluster size we need to make sure we have heard from all peers before making adjustments. Also check back periodically.
* Partial fix for #2068.
* Make sure to clean up directories
* Add mixedmode test back in
* Updated based on comments that the one fix was actually a misconfiguration.
* Run gofmt -s to simplify code
* Mixed mode improvements.
* using clearTimer(&c.ping.tmr) for cleanup
* Ensure that leafNodeFinishConnectProcess is only executed once.
* [Fixed] leaf node subscription permission negotiation.
* Fix flappers
* Fixed expected pid path in options
* [FIXED] LeafNode: set first ping timer after receiving CONNECT
* fix for memstore storeRawMsg be consistent with filestore
* Fix for #2083 to release ack pending when messages expire or hit max redeliveries.
* expose the connection kind to CustomClientAuthentication
* extract update remote subscription.
* Bump to 2.2.2-beta
* In some scenarios compact could count messages it should not and make mb.msgs go negative which meant max uint64.
* Quiet race detector
* If we fail to load an account while processing a stream assignment, send error back to metaleader.
* [FIXED] Websocket: TLS configuration not updated on reload
* Check errors when removing test directories and files
* If a mirror config was removed the reference to mset.mirror.msgs would fail. This protects against that.
* During startup each filtered consumer could do a linear scan of the stream to determine number of messages pending. This improves that with a startup cache.
* ensure varz subscriptions consider all accounts
* Consolidate temporary test files and directories
* Adding back public error ErrAccountResolverSameClaims
* [fixed] issue with concurrent account fetch when account was incomplete (#2067)
* [FIXED] Leafnode: incorrect loop detection in multi-cluster setup
* put typestring to map and add tests
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.1:
* Release v2.2.1
* [Fixed] remote subscription leak for leafnodes caused by auto unsubscribe
* [FIXED] MQTT: make sure unsubscribe is propagated
* [Adding] (fetch) timeout to nats resolver (#2057)
* RC15
* Fix data race
* During repeated server restarts or failures consumer state could drift between replicas.
* Agressive cache expiration was hindering performance when publishing and receiving from a stream concurrently.
* Fix test since we moved from 500 to 404
* [Fixed] missing unlock and added a warning trace (#2054)
* Fix for #1976
* Updated go client for unit tests and fixing test
* Fix to authentication revoked test
* Fix test, needed prefix
* Update Go client in tests
* Introduced default max ack pending for ack explicit. Fixed a bug that would introduce performance degradation for durable consumers R>1.
* Check for entries going negative. Shutdown in place on server exit
* [added] disconnect of all clients and disable account on remove
* [added] ability to remove account jwt using an operator signing key
* [FIXED] Websocket: print correct random port instead of `0`
* Update based on staticcheck update
* Make sure to not delete streams on bad updates.
* Under rare scenarios we could fail to load, but this should not be a panic. We should recover on the lines below.
* Release server lock when getting usage
* [Added] error when mirror/source stream prefix overlaps with stream subs (#2041)
* [fixed] issue where verify_and_map: true in leaf node config was not used (#2038)
* [FIXED] Websocket: do not generate empty frames + LN corruption
* RC10
* Durable consumers with R>1 had performance challenges. This code changes the way we handle raft based proposals for consumers.
* Guard account client map
* Update travis
* Bump to RC9
* Protect against negative
* Increase connection timeout to avoid test failures when running whole test suite.
* fix nightly builds
* Calling out to the storage update should not hold lock. We had lock inversion with consumers.
* Check for subject overlaps after check for pre-existing
* Fixes based on PR feedback
* Make sure to configure global account for reload
* Reload already calls configAll
* Introduce a previous leader state in the raft layer to allow quicker responses when leaderless.
* Fix data race
* Make standalone mode ignore leaf connections
* Enforce server limits even when dynamic limits for accounts in play.
* Do not request streaminfo from streams that are completely offline.
* Tweak seq tracking for flow control, also fixup code
* Reworked flow control for sources and mirrors.
* Fix broken test
* Fix for an issue with multiple restarts that showed stalled and sometimes lost streams.
* [fixed] version parsing issue that got tripped by extra .
* Fix for bad behavior with flow control and multiple sources streams. Allow chaining of sources and mirrors with filtered consumers.
* Update to use Go client
* Reduce sliding window for direct consumers and catchup stream windows. Remove another possible wire blocking operation in raft.
* Fix for new data race detected
* Removed un-needed check in test
* Send both last consumer and stream sequence for idle hb
* Make sure to not interrupt flow control unless we miss. Fix deadlock for mirrors.
* Reworked sources and mirrors on missed data. Add last delivered sequence to consumer idle heartbeats.
* Fix for flapping test
* Wait longer
* Can not use sub comparisons for old messages from direct consumers.
* Do not send idle heartbeats if not active
* Update info status for JetStream when disabling and restarting
* Fix for when gateways were dropped and we did not detect interest returning. Fix for leaked subscription when retrying the source consumers. Better suppression of old messages from old direct consumers.
* Fix for data race
* In operator mode with JetStream we want to load accounts that have stable storage. Also if an account was registered but not JetStream enabled, update it vs error.
* Make sure the jetstream accounts use the name as the key to the map. This prevents possible double adds under reload or restart scenarios.
* Bump to go 1.16
* Unlock only on return
* Directs may not show up here anymore
* Fix for race detector
* ensure connect events are always sent
* Direct consumer updates.
* When a stream was busy but not for a filtered consumer with idle heartbeats they would be suppressed.
* Bump version
* Mirrors were not properly retrying after failures to create their internal consumer.
* improve log line when account registration fails
* Updates to memory pressure.
* Protect against the stream nil\'ing out the outq for the consumer
* update banner url
* When a stream is a mirror or has sources we need to check the upstream streams for filter subject correctness.
* Fix for #2011 and atomics on 32bit systems.
* Suppress varz jetstream output if not enabled
* Don\'t set to nil on stop to avoid any panics accessing that map.
* Re-enable tests post release process
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.2.0:
* Release v2.2.0
* Avoid lock inversions.
* We no longer force remove our peer on out of space. We also delay restarting JetStream to make sure accounts are enabled.
* Delete Dockerfile.alpine
* [fixed] private import issue by pulling in up to date jwt library
* Fix for updating peers and quorum sizes.
* Fix for JS reload and exports
* Make sure to properly add peer after failure
* Fixes for index first from idx file
* RC10
* Fixed several bugs.
* Make setting of mb.first.seq more reliable
* [CHANGED] Move Gateway interest-only mode switch from INF to DBG
* Bump version
* Properly print when a stream is doing out of band catchup. Print node banner consistently
* Test fixes
* Make API access determing system not available consistent.
* Fix deadlock
* Truncate up to entry, no need for previous
* Check in initial pending if our filtered subject directly matches our stream config.
* fix deadlock
* Increase wait time
* Make Compact to higher first seq atomic
* Clear timer in case currently set
* Skip test since no auto remap atm
* Only snap if needed
* Suppress multiple out of space warnings
* Close FDs when we are done writing
* Flush to make sure it gets processed
* Bump version
* Make max block size 16MB
* Updated raft processing and dealing with remove peer. Made sure to not remove us if we were remapped after the peer removal. Fixed some raft behaviors.
* Version bump
* Tune down default blk sizes for streams
* Removed unused functions
* Do not auto remap
* Do not fail to start with small cluster sizes. Short ciruit full wait for leaders if we were a leadership xfer of preferred.
* Ephemeral cleanup across GWs
* reload: Allow re-enabling JS after it was disabled
* raft: Fixes to cluster size check for streams
* More unit test fixes
* more timeout changes
* Fixed a quorum formation issue that caused truncation
* RC8
* Disable flaky tests for now
* This changes our behaviors for streams and peer removals in several ways.
* Protect against cluster and meta being gone
* Bump version
* Remove internal retries for mirrors and sources
* Tweak flow control and slow start
* Fix ephemeral consumer delete in single cluster
* Increasing test timeout
* Bump to RC7.4
* Delete no longer needed
* Make source and mirror consumers direct, meaning they are not mapped by the metaleader.
* Disable JS on restart if on invalid state
* Increasing test timeout
* Increasing the timeout of waitOnClusterReady
* Fix unit test that received an extra connect message
* Fixed consumer idle hearbeats and JS route/GWs unsubscribes
* Updates to JS consumer errors
* Wait longer for response
* Need to make sure order of clseq as stamped also make it to the propose chan. However we do not want to hold the actual stream lock.
* fixing crash when disabling already shut down client
* Increasing unit test timeout for waitOnStreamCurrent from 10 to 30 sec
* Stabilized stream sources under restart
* Bump Version
* Make sure to check for old messages during processsing. Also changed the way we detect old messages.
* Modified flow control for clustered mode. Set channels into and out of RAFT layers to block.
* Prevent pull batch size larger than max ack pending
* Fix check from next request msg
* Make sure to look in the WAL if not found in pae
* Switched to fast state
* Protect against divzero
* Added code to constrain size of WAL under most scenarios.
* Under heavy load retreiving the append entry from the WAL while trying to also send new append entries was causing contention.
* Skip TERM signal during lame duck mode
* monitorConsumer perform snapshot similar to monitorStream
* Fixes for data races and some locking.
* Reworked internal consumers used for sources and mirrors. Now use ephemerals and heartbeats and flowcontrol.
* Fixed a bug where we were not determing clustered state so were straight processing msgs from routes. Cleaned up lseq and clseq code.
* Most tooling, Docker and Kubernetes send SIGTERM, so do graceful shutdown on the signal.
* Fix for not placing checksum back properly on manual check restore
* Enable opt-in flow control for push based consumers.
* Use code 100 instead
* Allow an option to push based consumers to have idle heartbeats delivered. This allows an endpoint to know the consumer is still alive.
* Can\'t remove based on interest directly
* Snapshot on peer state change, e.g. removal
* LQ is longer now
* Don\'t need to release locks now with outq. Also borrow once
* Changed stream sendq to linked list outq. Made consumer share streams outq.
* Updates based on PR feedback
* rc5
* Move RAFT comms off internal sendq. Move route and gateway msgs our of fast path for inbound stream msgs.
* Fix based on feedback
* Tweaks to flaky test
* Better handling on out of disk. Suppress some stream and consumer bad results since they delete the asset. Allow rehup to re-enable JetStream. Various bug fixes and improvements.
* Changes to handle short writes. Bug fixes to truncation.
* Fixed leaking info sub
* Switch Gateway JS accounts to interest-only mode + some other fixes
* [Fixed] missing export jsAllApi on system account update
* Fixed data race with nodeInfo
* Provide feedback to users when trying to pull from a push based consumer.
* Mark raft node as offline when server is removed
* More time to make sure mirror consumer has hooked up properly
* More time for consumer delivered state to propagate
* For large redeliver queues linear search was not good, so added index. Also set to nil when drained to avoind holding onto large underlying arrays.
* restore meta peer remove by name rather than id
* Make consumer processing of next message not inline if non client connection. Also fixed a bug with processing ack floors.
* Better errors, no need to wait on leader twice
* Cleanup export and import processing
* Flaps with cluster size of 5 too much
* Flapping test
* Test for existing service import
* Revert to previous, will redo out of band version
* Need to return
* [Changed] all times exposed will be computed in UTC (#1943)
* Updated comment
* Actually need to wait to accumulate, make sure we get at least 8.
* Consumers would process next message batches inline. In clustered mode this could block a route or gateway processor.
* One less api call
* Adjustments for change in actual JSApi subs
* If capturing calls with no dispatch just return
* In clustered JetStream we need to move API calls out of routes/gateways/leafnodes path.
* Fixed linter issues
* Bump Version
* Fix for leaked subs on non-leader change
* Only updateDelivered needs to be suppressed for leaders
* Enable cross account behaviors for mirrors and sources.
* update api types, remove meta peer by id
* Stabilize test, wait a bit for migration
* Bump to RC2
* Consumers were double processing as leaders
* Wait for consumer migration
* Fix data race, stabilize usage test
* Make sure trailing usage updates accounted for eventually
* More conservative in replay
* Progress updates could potentially block on channels, this cleans that up.
* Don\'t forget last message
* Move processing of append entry response out of route path.
* Make sending account usage updates more efficient
* Write snapshots without lock held
* RC1
* Use .Equal
* Moved back to channel handling of append entry to avoid inline processing with disk IO in route path.
* Fix some flapping tests
* Make ephemeral consumers R=1 and provide optimistic migration on peer removal or server shutdown.
* Enable cluster server removal API.
* Check for stream updates and disallow changes to mirrors and replicas for now.
* upgrade nightlies to go 1.16
* Enable support for changing config on stream restore.
* Use internal wildcard inbox for stream and consumer info requests. More gateway friendly but suffers from no echo, so added new client based internal send.
* Test updates
* Changes for sources and mirrors improvements. Better handling of messages on restart from a WAL.
* Support updating sources via stream update. Tweaked internal consumers and flow logic for sources and mirrors.
* Tweaked buffered channels, moved locks for snapshots. Also placed debug for inline processing of append entries. This is for removal of that inline.
* Prep for restore config override
* Fixed data corruption bug, optimized Compact(). Also trim fs.blks slice appropriately to avoid unbound growth.
* Inline flow in clustered mode was flaky, removed that path. Changed up accounting.
* Update Go client
* changing NEXT expires field from time to duration in nanoseconds
* Bump Version
* Allow sources and mirrors to not be pre-defined. Will keep trying to establish contact.
* extend the out of space advisory
* Bump version
* Skip test for now
* Properly support memory based WALs
* Reverse the flag for fip
* Bug check err, check for out of space on catchup
* Handle out of space situations, general stability enhancements
* Track write errors. Fixed a few bugs.
* Pass deliver, don\'t remap
* Explicit on async and sync settings
* Fix lock bug, capture write errors and report better
* always store the filter subject
* Remove slow advisory checks
* Suppress raft campaigns on restart. Extend election timeout interval.
* ensure sources and mirror info is in clustered stream list
* Fixed bug where followers WAL would not snapshot/compact. Tweaked write and sync params.
* spelling
* File writes to term and vote and peerstate were in the direct route path and could cause delays. This moves the actual writes to a separate Go routine and also allows multiple writes to be compressed into one write under load. We only want latest.
* Change default sync to 60s
* When pulling consumer messages if the consumer and the client were on the same server we needed to process local deliver subject.
* check for \'\
\' at beginning og key
* Make sure it\'s the exact key
* Cross account pull consumers would not work correctly due to reply subject rewrite.
* add version strings to the nightly builds of nats cli
* Removed this one due to slow timing now
* These are slower so need to wait longer
* General stability improvements. Fixes to subscription state not cleaning up.
* Updates to when do snapshot
* Revert switching to interest only mode
* Test cleanup
* Move storage type to own variable for unlocked access, can\'t change
* Fixes for flapping tests
* Add in support for stream mirrors and sources. Add in proper support for stream updates in clustered mode. Don\'t send API updates without subjects, caused GW parser errors. Stream internal loops use their own clients now.
* Does not need receiver
* Don\'t send empty subjects, always put system account in interest only
* Make sure this is GW and leafnode friendly
* Tweak hb and election times, fix unsubscribe leak
* Spelling
* Handle JetStream subjects across GWs
* [fixes] crash in checkJetStreamExports when there is no system account
* Updates based on feedback
* Allow placement directives for metacontroller stepdown to allow placement to new clusters.
* Changes to setHeader
* MQTT clustering
* [fixed] LeafNode sending message using stream\'s import subject.
* Change for client update in api requests
* Bump Version
* Removed unused function
* Consumer interest was not properly handled cross cluster.
* Split vote improvements
* [fixed] out of range issue in processMsgResults during subject rewrite
* Bump Version
* various bug fixes, wal/snapshot stability
* Bump Version
* General stability improvements.
* Some stability improvements to raft lib and catchup stream processing.
* Make sure to not process AR when no longer leader
* Increase due to sendq
* Stabilize catchups and snapshot logic
* Handle AppendEntry reponse inline, lower outstanding on catchup to stabilize
* Increase internal sendq due to JSC
* [FIXED] Gateway\'s implicit connection not using global user/pass
* revert to previous checkout version
* enable manual triggers of nightly builds
* Use system account when nil
* Bump Version
* Restoration of streams would possibly block route and client connections.
* Skip perf tests
* Set pindex to wrong setting on snapshot restore with no WAL
* Bumped Version
* Fixed raft bug on catchup logic with external snapshots
* More robust key detection per feedback
* Changes needed to properly support multi-layer service imports for system services like JS.
* Bump Version
* Interest based retention did not work correctly with wildcards or multiple subjects and filtered consumers. This allows that to work properly, needed for MQTT.
* Fix for interest policy based retention for streams in clusters.
* General fixes, stability improvements
* Detect closed state
* go vet error
* Fix for index mismatch on first seq
* Improved snapshots and compactions.
* track per server stats rather than cluster stats
* Remove mkpasswd from server
* skip responses from non leaders in jsz
* fix jsz when server is not started in cluster mode and fix landing page (#1901)
* Fix test that was broken
* Account for reload with autosetup
* Report any stepdown errors
* Allow metaleader stepdown. Allow easy way to put authorization on system account and still use $G.
* [added] support for jwt based account mappings (#1897)
* Remap subject only for service imports
* [added] system_account to varz/accounts and is_system to accountz (#1898)
* Prevent non-exported messages from leaking into importer account (#1891)
* Added leader only response for jsz.
* Bump version [ci skip]
* Fix for some test flappers
* Do ramp down on server stats on startup
* Fix for crash in test
* For larger superclusters we send out our server information after a short delay on startup. For determing leaderless make sure the raft node has been running for long enough.
* Move JetStream direct APIs to private.
* Shutdown JetStream on failed stream msg store in clustered mode
* Fixed bug that would prevent queue subs to ack messages
* Reset WAL on mismatch catchup regardless, condition ok
* Always reset election timeout on vote request
* Send our own serverinfo when we receive an update from a new server
* Test fix for delay in lost quorum adv
* Broken test for non MarshalIndent
* Stability improvements
* Stability improvements.
* Track peers differently, react to removal entries
* user single node info struct
* Remove pretty indent for json.
* Force filestore to flush in place by default. Track lost data and truncate message blocks when detecting failures or write errors.
* Send serverInfo on remote shutdown and remove mapping entries
* [added] jsz nats and http monitoring endpoint for jetstream (#1881)
* Make peer reassigment supercluster aware.
* Make direct message retrieval from stream cluster aware
* Noticed stream snapshots were being processed on recovery causing high cpu usage and memory usage. Also made consumer Created() UTC.
* Change the way we decide to compact on purge op replay
* Make sure old purge did what it was supposed to
* Purge operations would be replayed on restart regardless if they had already been processed.
* release support mips64le
* Bump Version [ci skip]
* Fixed some issues with JS consumers
* First pass at supercluster enablement.
* Test for restart after delete
* Only respond for delete and purge if leader and not recovering.
* Handle msg delete and stream purge for R=1
* Allow NoErase option to deleting a message through the formal API
* There was a bug when a messages was erased and we expired the cache we would not properly re-index. We need to clear the erase bit to properly set fseq in the cache structure.
* Bump Version
* Modified jetstream varz information
* Suppress lost quorum processing if to close to raft node creation time.
* Make sure audit events have the proper subject regardless of where processed.
* Added in JS disable per server on reload. Also removing peerw from a stream and leader stepdown for streams and consumers. Various bug fixes, stability improvments.
* [Adding] support for account_token_position (#1874)
* Bump version to beta.66
* Fixed compression http header request/response
* [removed] activation token download (#1867)
* Make sure to suppress duplicate create/delete audit events
* Bumped Beta version
* Make debug not error since we recover
* Fixed bug on raft inline cacthup when apply channel was full.
* Bumped Beta Version
* Fixed a bug that on restore of single streams in clustered mode would subscribe to the stream subjects twice.
* Fix for data race
* Fix for #1864.
* Suppress additional advisories on server restart and leadership changes.
* added test demonstrating how js breaks imports
* Bump version to beta.60
* incorporated comments
* Changed option to make masking the default and option to disable it
* Change to API.Total and API.Errors
* [added] field to varz output containing the operator jwt/claim
* Duplicate leader elect and lost advisories to the system account as well. Also suppress lost quorums to at most once every 10 secs.
* Track API calls per account. Track success and errors.
* [FIXED] Return no match result if subject contains empty token
* js: consumer list request fix
* Fix for data race, don\'t need to check here
* Support for Websocket Leafnode connections
* Make TLS client/server handshake helpers function
* [added] cluster/gateway/leafnode tls required/verify/timeout to varz (#1854)
* Removed stream state for advisories
* Updated lost quorum signalling to be less fragile.
* Add in advisories for leader elected and quorum lost advisories.
* Help with flappers
* Fix for broken stream restore functionality
* Bumped Beta Version
* Allow memory store for clustering
* Add in tracking for quorum in raft and do auto stepdown. Also added in API responses when no leader is present for meta, streams and consumers.
* Don\'t load entry for snapshot, fix data race
* Bumped Beta Version
* Fix for split vote bug
* Fixed typo in new const name
* [added] support for StrictSigningKeyUsage and updated jwt library (#1845)
* [CHANGED] Enforce max_control_line for client connections only
* Make sure to not go backwards on applied or commit indexes
* Change up for banner
* Fixing some flappers (leafnode and mqtt)
* Add --server_name flag to set server name
* [FIXED] LeafNode: save hostname that may be used during TLS handshake
* Bump Beta Version
* Make sure randomServer() adapts for shutdown servers
* Wait for interest
* Make sure stepdown logic does not block system
* Wait in case stopped server was also stream leader
* Possible retry in case peers have not committed state
* Bump Beta Version
* Just run 1.15, don\'t need vendored installs
* Templates not supported currently in clustered mode
* LDM trigger to move raft leaders
* test fixes
* Timing for state propagation
* On stepdown still process appendEntry
* Don\'t pre-vote, causes flapping on split vote
* Bump beta version
* Attempt to fix flapper
* Fixes based on PR feedback, cleanup
* Added tests for MQTT bearer token authentication
* Allow use MQTT Connection password field as a JWT to authenticate clients
* Fixed raft bug that would cause entries to be missed on restart with leader HB trigger. Also added in creation times to stream and consumer assignments to make them consistent.
* Fix for race and test for issue R.I. was seeing in nightly. Also fixed flappers.
* Fix for issue with stream info and R=1 and fix for a flapper
* Added ability to properly restore consumers from a snapshot.
* Cleanup the consumer assignments when consumers become inactive.
* Fix for consumer names list in clustered mode
* Fix for cluster info with R=1
* Use client version for stream and consumer extended info
* Change over last to active and a duration
* Fix for interest only, broken test
* More cleanup and stabilization for consumers and failing when sending messages.
* Bump version\'s beta (#1834)
* Bumped beta version
* Added support for clustered account info and limit enforcement
* [added] jwt/issuerkey/nametag/tags to monitoring and event endpoints (#1830)
* [added] support for tags and filter ping monitoring requests by tags (#1832)
* spelling
* Fix data race
* Bump version, remove spurious debug prints
* Fix data race
* Additional stabilizations for split votes, general fixes
* We were having issues with the account being changed for the internal system client.
* Shutdown cluster on errors
* Fix based on feedback from Ivan
* Race detector cacthes this now with 1.15.7
* Reworked snapshot and restore.
* Make snapshot API cluster aware
* Report on RAFT group information.
* Fixed SIGSEGV when sending update for unknown stream
* Fixed consumer sending to nil channel on shutdown/leader change.
* Fix stop of consumer\'s delivery loop
* Simplify sendSubsToRoute()
* Only send if we deleted properly
* Stability improvements around startup and restore.
* Stabilty improvements for split votes.
* Fix for segfault
* Copy off before starting Go routine
* Updates based on PR comments
* Make all requests same timeout
* Added support for stream and consumer lists.
* Add proper support for stream update
* Stabilize restart/catchup for raft.
* Routes send subscriptions by utilizing random clients from an account. There was a bug where the client chosen under the $SYS account could have a different account.
* Fixed gateway reply mapping following changes in JetStream clustering
* Change back \"server_name\" to \"name\" for backward compatibility
* Fixed some leafnode issues introduced from JS cluster work
* Update error message with correct config value
* Fixing latency sharing which was overwritten
* Fix flapping unit test and incorporate more review comments
* Fix for race
* Fix data race
* Incorporating review comments
* [added] enforcement and usage of scoped signing keys
* Fixed service import cycle detection that broke with JS clustering
* Fix for race
* Tweak timing more for tests
* Fix for race on setting term
* Fix for no raft node
* Fix for various flappers
* Remove alpha banner
* Fixes to PR.
* JetStream Clustering WIP
* [Added] support for jwt export response threshold
* Fixed sublist notification
* Propose going back to condition variable to notify writeLoop
* [FIXED] Monitoring endpoint `connz?auth=true` show incorrect user
* [fiixed] infinite loop in config parser for include with quote and double quote
* Incorporating review comments
* Added tests for cfg/jwt based queue restrictions and updated jwt lib
* use go 1.15 for nightly builds
* Create dependencies.md [ci skip]
* [fixed] timeout in configuration lexer found by oss-fuzz (#1792)
* [Added] support for jwt export response threshold
* Incorporating review comments
* [fixed] two minor configuration lexer issues found by oss-fuzz
* Incorporating review comment
* [Added] support for wildcard services and import remapping by JWT.
* [FIXED]: syslog Warnf call Notice() instead of Warning()
* stream handle headers with no space after colon
* Fixed GW implicit reconnection
* Fixed headers support for inbound leafnode connection
* updated iteration of signing keys (previously a list, now a map). (#1779)
* [Added] ability to use jwt latency sampling properties headers/share
* Updated go mod/vendor due to PR #1737
* Break test up into shorter ones
* Fix for https://github.com/nats-io/jetstream/issues/406
* Fix flapper
* Catch condition where a serviceImport response matched the original import subject.
* Reduce risk of failure for TestJetStreamConsumerMaxDeliveryAndServerRestart
* Fixed debug num subs tests
* Add fix for TestLeafNodeLoop and others
* Fixed some flappers
* [FIXED] Config reload for gateways/leaf remote TLS configurations
* use new nats code location
* Updates to MQTT
* Bump version
* Increase Pub performance
* use the natscli repo instead of jetstream
* removing t.Errorf
* fix test timing issue and flapper caused by unnecessary pop/push
* Tweaks to mqttProcessConnect()
* Added Compact to store interface for WAL functionality
* Add clientType() which returns NATS/MQTT/WS for CLIENT connections.
* Fixes https://github.com/nats-io/jetstream/issues/396
* Fixed some MQTT tests
* Add c.isMqtt() and c.isWebsocket()
* Split createClient() into versions for normal, WS and MQTT clients.
* Limit search depth for account cycles for imports
* Added Slack link to badges.
* Better impl for detecting cycles between accounts
* Revert changes to processSub()
* Some updates based on code review
* Allow \"nats\" utility to display internal MQTT streams
* Fixed flapper
* [ADDED] MQTT Support
* Log errors
* Make sure to clear JS resources on reload
* Version bump
* Also make sure account works after reload
* Fix for #1736
* Send LS- without origin to route
* Remove limitation on ackall for filtered consumers
* Re-ordered
* Update badges
* Added Docker downloads badge
* ensure the stream originating a pub error is reported
* System account was not properly tracking GW routed replies
* Fixed bug restoring consumer state.
* Changed dcount -> dc
* Flattened filters for stream names API
* JetStream changes.
* goreleaser target freebsd/amd64
* FreeBSD fixes: %cpu scale; no-cgo for amd64
* Fixed data race on leafnode check for remote cluster
* [FIXED] Split LMSG across routes
* Fixed comment
* Reducing complexity of lookup
* added comments [ci skip]
* Added more straight forward loop detection fail
* Incorporating comments and moving code
* fixed testing of the user issuer against the account id (Name) - was set to Issuer instead added some tests.
* Adding test that fails where there is no cycle but sometimes passes
* We prevent cycles between services but not streams
* Imported services can be renamed, this eludes cycle detection
* [Added] account name checks for leaf nodes in operator mode
* [FIXED] LeafNode reject duplicate remote
* Allow matching DNs regardless of order
* Fix for flapper
* Force a copy of the PubAck normal response
* Unbreak FreeBSD compilation (syscall.Statfs_t) (#1734)
* Formalized PubAckResponse
* Allow to check for last sequence and last msgid for conditional publish
* Fix race
* Allow complete $JS.API to be imported from another account.
* Fix for service import cycles
* Add support for subjects with multi value RDN
* Add test for multiple CNs
* Add test with service import cycle
* Renaming to verify_cert_and_check_known_urls
* changing the option name verify_and_implicit_allow to verify_and_accept_known_urls
* Speeding up unit test fail case
* Incorporating comments and fixed an issue where code was not invoked
* [Added] verify_and_implicit_allow to tie subject alt name to url in cfg
* Enable JetStream streams and consumer access to be exported to another account
* [Adding] ability to reference $SYS in leaf node config
* [FIXED] LeafNode: duplicate queue messages in complex routing setup
* Bump beta version (.33) (#1724)
* Incorporating comment and making fetchAccount private
* Fixes for filestore not remember first sequence when all messages deleted.
* Rename reject_unknown to reject_unknown_cluster
* Only fetch account jwt if the name is a proper public account key
* Updated fuzzer
* Optimize ackReply parsing
* Updated year in header
* Test showing issue with filestore after a restart
* support subjects starting with {
* trim json text
* support json requests for stream lookup
* Make sure to honor MaxAckPending when streaming directly to consumers
* Release lock for sending non-consumer messages as well
* Decouple consumer from using stream\'s sendq
* Allow stream lookup by subject.
* Add support for MaxAckPending
* Fix bug when removing the same message from a stream.
* Larger AckWait to prevent flapping
* fix
* Fixed bug when returning wrong error from LoadMsg and a race condition
* Make interest notifications explicit match only
* Fix flapper, be pedantic about signaling on delivery subject update
* Remove conditional and broadcast for signalling consumers
* Changed fuzzer name
* Bumped beta version
* Clarify HPUB and HMSG examples (#1695)
* Updates to consumer store to support delta updates.
* Bumped version
* Updates to index cache handling for message blocks.
* Update GOVERNANCE.md
* Fix flappers
* Make sure to set timer for additional redeliveries
* Redeliver pending right away on change of delivery subject for a consumer.
* Bumped beta version
* Fix for partial cache overwrite bug.
* Test that shows message disappear from filestore
* [CHANGED] Gateway connections now always send PINGs
* Update latest release URL in README [ci skip]
* support next structure in acknxt
* Set in flusher state inside spinup function
* Flush after purge too
* Fix for flapper and additional consumer perf test
* Separate out disk available for Windows
* Update to write architecture and bug fixes and stability improvements.
* Bumped version.
* Added 2 fuzzers
* address review
* ensure bare AckNxt requesting >1 is supported
* Lock access updates.
* Fixed bug that would not properly handle wildcard streams with interest retention and filtered consumers.
* JetStream: clear erased bit when reading sequence number
* Run go fmt on tests
* Updates based on PR feedback and fix for merge regression with pending PR
* Add support for base2 units in NATS config
* Make flush channel buffered since we do non-blocking kicks
* Make sure flushLoop is running before returning from constructor.
* Always return with no cache, optionally reset timer
* rename consumer pending fields for clarity
* With no limits was setting blkSize to smallest which was wrong
* Updates based on PR feedback
* Stability and performance updates.
* Updated release version [ci skip]
* Track number of stream pending for each consumer.
* Fixed no_advertise comment in `nats-server -help`
* Bump version to 2.2.0-beta.27 (#1670)
* Purge clears dedupe window as well
* always include purged number
* Add store.SkipMsg() and update no interest retention streams
* Moved test to ones run without `-race` and cap number of conns
* Do not report bad latency on auto-unsubscribe triggers
* include nsc nightly binaries
* Fix timing issue in unit test
* Adding more debugging information to accountz
* Prevent panic when accepting TLS leafnode connections
* Add detailed info on error for NextMsg() request
* Switched behavior to never refuse new request, and to alert when expiring ones with interest
* Do not forward service import messages to a stream export.
* Allow AckNxt to also process a next request struct
* Formalize requests for next msg, support NoWait and Expires
* Adding support and an option for removal of jwt
* Updated tests for addition of ErrNoResponders
* More robust waiting queue for pull mode consumers
* Update number of client implementations
* Bump version to 2.2.0-beta.26
* Fixed account update issue where signing key (and thus issuer) changes
* Incorporating readability suggestions
* Fix nil deref when account is in bad/incomplete state
* Make it a small function
* [FIXED] Possible panic when server accepts TLS leafnode connection
* add type hints num accounts message
* Allow mapping destinations to be parsed as singles and not force array syntax
* Use separate lock to pull cluster name for mapping
* Allow cluster filters for mappings, changed accountz for mappings
* Make sure mappings to 0% turn off all traffic
* Allow mapping destinations that introduce message loss (debugging, chaos monkey)
* Added support for mappings in Accountz
* Snapshot account but update at end of each readloop
* Fix race accessing c.acc checking for mappings
* Fix typo in websocket err message
* Updates based on PR feedback
* [Fixed] revocation check for activations used current time instead of jwt issue time
* Account subject mappings and full wildcard support for exports/imports
* fix npe for offsets larger than items
* [FIXED] Stream\'s subscription propagation issue with gateways
* Fixed crash on non existing directory
* Incorporating comments
* Adding list/delete/update operations for jwt stored by nats-resolver
* Revert \"Update nightly image server binary path\"
* Update nightly image server binary path
* Skip revocation check if the client has no jwt and is therefore internal
* Changed warning message
* Accepting route warns if remote server has same name
* [CHANGED] Default TLS and Auth timeout
* [Fixed] revocation check used current time instead of jwt issue time
* Avoid unnecessary CONNS subscription
* Remove delivery count check, could flap
* Use closed variable on consumer, don\'t check consumer sequences
* Additional fixes to interest retention based streams and offline durables with redelivery.
* Various fixes for this PR.
* AckExplicit removes message for \"offline\" durable
* Bump version
* Updated jwt library and check (account/token) issuer prior to jwt Validate
* Moving TestQueueAutoUnsubscribe to norace_test.go
* Add defer srv.Shutdown() where manual shutdown was done
* Fixing test race condition
* Adding fetch on missing jwt of full nats based resolver
* Avoid blocking when holding account lock.
* Fixed possible panic on consumer.Delete() during server Shutdown()
* Set to 1 if no acks received, fixes #1619
* AddConsumer causes redelivery of first message
* Fix event ordering issue caused by re-locking
* Holding lock when accessing leaf node account for filtering
* [Fixed] race condition where account conns timer was disabled too soon
* [Added] filtering by account to leafz and exposing this as per acc subj
* Incorporating review comments
* [Adding] Accountz monitoring endpoint and INFO monitoring req subject
* updates from PR
* [FIXED] Prevent LeafNode loop detection on early reconnect
* updates from PR
* Expose SUBSZ and CONNZ monitoring endpoints for accounts
* Add $SYS.REQ.ACCOUNT.%s.CLAIMS.UPDATE
* Do not ack to AckNxt
* Adding new subscription for account conns (#1599)
* Validate options for user embedded NATS Server in their app
* Added test with unknown JWT allowed connection type
* Add some tests for config parsing
* Added an allowed connection type filter for users
* Incorporating comments and renaming claims pack as well
* Tie account in system event subject to data and clean up subject names
* Change nats.io resources from HTTP to HTTPS
* Fix dirstore code and speed up some tests
* Add Go 1.15 version to CI
* Update config check tests
* Fix all certs for Go 1.15 SAN and CN changes
* [ADDED] Support for route hostname resolution
* Offer .tar.gz releases
* Header ADR clarifications (#1528)
* Fixing unit test
* Updating jetstream account settings from jwt
* Add more config checks for leafnode remotes
* [FIXED] Error when importing an account results in an error, retry later (#1578)
* Make sure to clear messages from stream when consumer deleted
* Fix test flapper
* Better support for distinguishedNameMatch in TLS Auth
* Fix for #1580
* Interest based retention should not store if no consumers present.
* Convert current time into time for locale before usage
* Support locale for times in user jwt
* Discard client provided jwt when not in operator mode
* Update JWT and incorporate change of cidr ranges from string to array
* Fix flapping test and limit channel recv when there is an error
* Adding user jwt payload and subscriber limits
* Removing blank line from imports
* Update jwtv2 and fix test that embedded jwtv2 operators
* Emit latency traces when sampling is set to headers
* Speed up test and make it more robust (#1569)
* [ADDED] Checks for CIDR blocks and connect time ranges specified in jwt (#1567)
* [FIXED] Possible panic for TLS connections that are aborted early
* Nats based resolver & avoiding nats account server in smaller deployments (#1550)
* Incorporating suggestions and fixes
* Fix for https://github.com/nats-io/jetstream/issues/297
* Bumped version
* Inhibit Go\'s default TCP keepalive settings for NATS (#1562)
* Create dedicated options struct for system events that invoke monitoring
* fix absolute url in monitoring menu
* Bump version
* [FIXED] Deadlock on config reload with routes and account service import
* Fix sysSubscribe races
* Rework closeConnection()
* Removing gateway as this condition won\'t be happening
* Deliver to all non remote queue subscriber instead of kind == CLIENT
* [FIXED] Possible deadlock with solicited leafnodes when cluster conflict
* Websocket: add option to disable TLS
* Remove unnecessary account fetch from remote remove functions
* Incorporating review comments
* Reduce usage of tmpAccounts to only location where it is needed imports
* [Fixed] Skip fetch when a non config based account resolver is used
* allow account limits to be applied to unlimited streams
* Ensuring that an untrusted account is not held in memory
* missed the comment that was automatically changed
* sometimes IDEs are stupid
* add client provided info into server side client logs when available
* bumped beta version
* Adding unit test demonstrating silent subscription loss
* Add in consumer rate limits
* allow max consumers to be set
* [FIXED] Queue subscriptions not able to receive system events.
* added option so clients can test if a server disables header support
* Fix for stream delete with many consumers - https://github.com/nats-io/jetstream/issues/260
* Added -cluster_name command line option
* adr describing new `ldm` field in the `INFO` protocol.
* ensure unlimited account limits are calculated correctly
* Renamed gossipURLs type and moved its declaration to util.go
* [FIXED] Handling of gossiped URLs
* More checks on duplicate window config, signal in PubAck if duplicate
* Fixed no_responders use of sendProtoNow()
* Recover dedupe in memory structures on stream recovery
* Fix config reload when no changes for leafnode remotes
* Rename json field
* Redo for fast exit when key not found
* Provide exactly once semantics
* [FIXED] Handling or real duplicate subscription
* [FIXED] Connection name in log statement for some IPv6 addresses
* Fixed accept loops that could leave connections opened
* Pending timers could go negative, this is a fix for #1502
* Fixed some flappers
* Fixed async client tests
* version bump
* Reordering for inbound processing
* Updates based on feedback
* Update write deadline, client processing and slow proxy
* Track destination leafnode status
* Updates based on feedback
* Support clustername change on reload, fixes #1492
* Properly support leadnode clusters.
* Update MAINTAINERS.md
* Update MAINTAINERS.md
* Update GOVERNANCE.md
* bump version
* Fix for #1486
* Fixed flapper
* Fix for memory expiration and age timer
* Avoid data race on cluster name
* Run expiration only once at a time and double check cache, fixes #1482
* Support Cookie JWT auth via WebSocket
* Proper no response
* Off by one, and need to send in place
* Filter by host and json name change
* Add filtering by name and cluster to PING events
* Bump version
* Always check publish perms for leafnode delivery
* Make sure to merge with local deny clauses
* Updated older tests for new functionality
* Properly handle leafnode spoke permissions.
* Allow support for a empty response message when no responders are present.
* More updates based on feedback
* Updates based on feedback, sped up some slow tests
* Fixed flapper
* Cluster names are now required.
* [FIXED] LeafNode solicit failure race could leave conn registered
* Fixed a test with data race
* [ADDED] Print the config file being used in startup banner
* Fixed TestPing test
* Fix maintainers typo
* [FIXED] LeafNode TLSMap and websocket auth override
* changed `\\r` to `␍` and `\
` to `␊`
* Refactor some code to make it reuseable
* Fixed flappers
* Added dedicated auth block for websocket
* [ADDED] lame_duck_grace_period option
* Key off TLS first byte
* Read 4 bytes, wait TLS timeout
* Allow mixed TLS and non-TLS on same port
* Don\'t leak service import subs on claim updates
* [FIXED] Unsubscribe may not be propagated through a leaf node
* Add default system account back to accounts after reload
* Consolidate subDetail
* Add account details to subsz.
* fix nightly schedule
* Do proper ubsubscribe when shutting off restore endpoint
* Bumped version
* Require reply subjects for restore chunks
* Better error handling and reporting for failures
* add nightly docker build workflows
* Snapshot restore now works across leafnodes.
* Removed double connection close trace
* distributed tracing adr
* LameDuckMode takes into account websocket accept loop
* Incorporating comments
* Added default_permissions to accounts and account jwt
* Bump version for server to beta.13
* Fix flapper by making the channel buffered
* Moving nats.go unit test and updating go modules
* removed extraneous ticks from md
* Remove hdrs for now, find better way to deliver in client
* Make arg order same for Snapshot
* Fix race, can\'t clear direct memory since shared
* fix argument order in snapshots
* publish audit advisories to the correct subject
* send stream advisories using a helper
* Fixes for race detections under GHA
* Avoid parsing large sizes for messages
* Pulling in updated jwtv2 and using server version stored in operator
* updated jwtv2
* jwt2 testbed
* Fix JetStream benchmark test
* Read INFO used bufio.Reader
* Fix flapper
* Fix race for snapshots
* [FIXED] Log file size limit not honored after re-open signal
* Allow redelivery for AckAll policy, general upgrades to pending beahviors. Fixes #1436
* go.mod cleanup
* Add in headers to consumer delivered messages
* Do snapshot setup in go routine as well for checkMsgs
* First pass header support for JetStream
* System Account on by default.
* Fixed some tests
* Allow snapshots to optionally check all message checksums
* Snapshot performance tweaks
* review comments removed synopsys of http header spec
* Header specification from the perspective of client libraries.
* Fix more flappers
* First check $ prefix
* Fix gap test from flapping
* Fix flapper test where no messages to receive at end
* Fix flappers
* Avoid deadlock by releasing consumer lock
* Close connections when a remote update exceeds maximum
* Add in snapshot modtime, use PAX format
* [FIXED] Possible removal of interest on queue subs with leaf nodes
* Add in a terminate delivery for https://github.com/nats-io/jetstream/issues/189
* Udpates based on PR feedback
* Fix for checksum hash race
* Add in snapshot and restore JSApi
* Add support for SPIFFE x.509 SVIDs for auth
* Support all bcrypt versions
* improve consistency between top level and account js options
* Updated snapshots, added restore, generic hashes
* Don\'t allow JetStream on system account. Warn when accounts configured but no JS
* Properly recover ephemeral consumers after restart
* Wait a bit longer to get subs
* Flush the sub interest
* Don\'t let bad rtt estimate fail tests
* Force fixed capacity to not allow append to underlying buffer
* Fix race when active state has not been updated yet
* Wait for sub propagation on some NewRouteServiceImport
* Fix flapper, wait for subs to propagate
* Fixed flapper, will fix bug in other PR
* Fix flapper, wait for sub to propagate
* Use old request style, no pause between new sends
* Ensure route INFO is processed before starting queue test
* Fix TestNoRaceRouteCache test
* Remove a test that offers no value but keeps failing
* Remove update of start in readLoop
* Give a bit of room for slow proxy
* Prevent TestWSFailureToStartServer from being stuck
* Fix for flapper
* Update start time for readloop started, check RTT on flapper test
* Ignore if we do not have minimum measurements
* Fixing some flappers
* Move the send of INFO after client listener has been shutdown
* Write consumer state during stop if not deleting
* [FIXED] Possible stall on shutdown with leafnode setup
* [FIXED] Race condition during implicit Gateway reconnection
* adds a warning banner about the preview status
* removes the configuration from advisories
* create advisories for stream and consumer add/delete/modify
* [FIXED] LameDuckMode sends INFO to clients
* Disable logs in test
* Remove GHA badge for now [ci skip]
* Updated for link.
* add a badge
* initial gh actions
* Fix for test failure when racing against double deletes
* [ADDED] Support for JWT BearerToken
* [ADDED] Websocket support
* Bumping version
* Fixes post rebasing with master
* Race detection fix
* Don\'t send updates to leafnodes before all subs on init
* Header support for Leafnodes
* Header support for GWs
* Fix flapper, wait for no clients
* Add timestamps to stream state for first and last, addresses #1396
* Do not allow streams to overlap with our public API - https://github.com/nats-io/jetstream/issues/137
* Fix flapper
* Fix for race in selectMsgBlock
* Updates based on feedback, more tests, few bug fixes
* Server support for headers between routes
* Better way to retrieve header support
* Added support for delivery of HMSG and support for older clients
* Add in support for client header bool in CONNECT and tests
* First pass at headers awareness for server
* typed messages adr
* ensures that the streams value is never null
* initialize api response structs properly
* fix the type hint for msg_get
* rename ApiPagedResponse
* consistency fix on stream template list response
* improve some error reporting around bad JSON and bad requests
* adds API type hints to responses
* Make sure to not turn on cache when it was disable
* Make file state cleanup consistent for all JetStream tests
* Make tests use same timings
* Various bug fixes, fixes for flappers
* Fix for data race
* Test fails under race flag, so scale back
* Changed cache back to simple map.
* Be more efficient when cleaning up all consumers for a stream
* Improve RemoveBatch by disabling cache
* Removed duplicate init
* minor fix for json keys on consumer lists
* Return 404 codes when resources are not found
* Move list to names, and add list in for detailed info for streams and consumers
* Fixes for Template subject API
* Addressed issues raised in https://github.com/nats-io/nats-server/pull/1369
* expand on empty requests and non json requests
* clarify error schemas can be mostly empty
* move to description for error fields
* initial Architecture Decision Record
* Major rewrite for NATS JetStream API
* Small changes to event ids, good approach though with separate lock on account
* add type hints to service latency, use time.Time for timestamp
* Be more forgiving on empty api requests, force json request for delete msg api
* Move enabled to Enabled vs JetStream in response
* Redesign message-based API
* Added support for DiscardPolicy on streams
* Add additional fields to client info for latency
* Don\'t do sample ack unless msg was on pending
* Change to consumer info, removed state, made pending and redelivery counts
* Move ack to +ACK, +OK still works
* Make sure messages are not redelivered if ack\'d late (pull-based this can happen)
* Allow addition of streams and consumers (durables) with same config to be acceptable
* Fix for test failure
* Additional service latency upgrades.
* Make all start times UTC for latency tracking
* Services rewrite #2
* Fix race condition
* move events nuid to the server struct
* move to events having Type not Schema
* use constants for the schema ids
* add schema, id and time to client connect events
* send audit advisories for all api errors
* expose the arrival timestamp in the message metadata
* PubAck details that provide stream name and sequence assigned
* First pass at account config for jetstream server reload support
* Properly parse and use jetstream server config
* ensure deliver policy can be marshalled
* First pass account configuration for jetstream
* Breaking change to upgrade ConsumerConfig for consumer creation.
* Fold replay original logic into main loop, fixed pull bug on replay original
* Double check we receive on the correct subject
* Rebase with master, updates to go.mod and vendor, bumped version
* Fix for https://github.com/nats-io/jetstream/issues/144
* Fix for https://github.com/nats-io/jetstream/issues/143
* Allow filter subjects to have wildcards. Fix for https://github.com/nats-io/jetstream/issues/136
* Remove pull based consumers that are no longer valid or have registered interest
* add the stream name in consumer info
* small fix for race
* Fixes for filestore consistency on server restarts under heavy load with purge operations
* Do not deadlock when triggering lots of didNotDeliver notices. Don\'t hold lock on chan send
* Beginning basics for stream and consumer snapshotting
* Increased purge performance for very large streams
* Rework how service imports are handled to avoid performance hits
* Write performance tweaks
* Fix for queue subscribers as consumers
* Fixes for test and locking, bumped version
* Redesigned file storage engine.
* Should not ask match to acquire lock already held
* support jetstream client kind in a few places
* show basic jetstream info in varz and server info
* Fixed improper field pass to Fatalf()
* Impl for GetSeqFromTime for FileStore was missing
* Added Stream Update abilities for certain properties
* Version 2.2.0-beta.2
* Fix for test
* Version 2.2.0-beta.1
* Allow JetStream consumers to work across multi-server hops
* Fix for filestore age timer bug
* Allow JS to work over leafnodes for streams
* add some more jetstream options
* allow jetstream to be enabled in the config file
* handles 0 length tokens correctly
* consistency update in api subjects
* consistent timestamps in events
* Split out host and port on audit advisories
* Audit advisories, work based off of #1253 from ripienaar
* Removed condition not needed
* Separate out consumer API for Durable vs Ephemeral
* Fix for non-js msg failed delivery stopping normal subscribers
* Tweak ACK reply subject
* Add in API support for templates, proto error helper
* Make other API calls for next, ack ,and byseq more aligned with others
* also validate that subject matches request
* add stream name to create subject
* Changed API subjects to be authorization friendly
* Added support for wildcards for service imports
* use \"advisory\" instead of \"notification\"
* proposed schemas for events
* fix purge export subject
* JetStream major refactor for name changes.
* Pulled out K/V support for now
* Do not allow overlapping message sets for now
* npe guard around mset access when sampling acks
* Add in K/V Delete
* Added in basic K/V scenario
* Added in template support
* Allow ephemeral observables on work queue message sets
* Check for store errors
* Added in error for Delete and Stop for store
* Fix for writing messages after restart and delivery count suppression on max
* Add in delete for observables for filestore impl
* Move Subject to FilterSubject
* Add MaxDeliver for observables
* MaxMsgSize for MsgSets, -ERR api cleanup
* Pull-based observables must be durable
* unexported import of Comma function from humanize
* Adjust delivered for obs info via -1
* de-humanize
* Make sure purge works with redeliveries pending
* Add Name to Observable info
* elevate some logging to improve visibility into corruption
* Fix case where request for next msg times out
* adds json tags to StoredMsg
* Update observables on purge
* fix MsgSetInfo json keys
* Allow notifications for literal subjects.
* update readme to point to new CLI and updated guide
* adjust ack event json field names for consistency
* also track delivery counts and msg set
* support sampling time to ack messages in explicit ack mode
* Flush state on shutdown and re-initialize pending checks on restore to do redelivery
* correctly name pending and redelivery
* report observable config and observables count on message sets
* Allow direct lookup of message from msgset
* Include config in info for msgset
* rm msg matches help docs
* Fixed Memory() for Windows
* Add ability to use remote servers
* Updates to jsm
* Bug fix for original replay with no initial interest, README updates
* support TLS on the jsm command
* markdup fixes
* Intro doc for techpreview, bug fixes to jsm
* JetStream management tool
* Add ability to set storage directory
* API fix and rebase fix
* add long version to toggle on jetstream
* More debug info on startup and restore
* More API impls, tests for DeleteMsg
* bytes limit accounting
* Remove deadlock, balance filestore perf
* Remote request API
* Changed Partition -> Subject
* Optimize for concurrent pub/sub
* State recovery and server shutdown
* metadata and checksum storage
* Rework test flow with t.Run
* Plugin filestore to jetstream tests
* Stub in observable state store
* Observable state storage
* Sync timer and read ahead
* Read cache expiration
* Remove performance, dmap collapse logic
* Erased msg recovery, bug fix on linux for idx file, LoadMsg vs Lookup
* Filestore read perf, secure delete for stores
* Bitrot protection and tests
* filestore updates
* filestore first pass
* API cleanup
* Tracking usage and limits
* Server limits and account reservations
* Observable replay policy to control rate of replay
* Add purge and interest retention tests
* Implement delivery count, nak checks, no restart on nak
* Nak as restart semantics on push based observable
* Rework of delivery sequence vs store sequence and ack reply subjects
* Make sure to update pending timestamp on redelivery
* Durable reassignment and takeover
* Flush first progress ack
* Auto-expiration of ephemeral push based observables
* NoAck option for MsgSets
* Working ACK indicator
* NAK for workers
* AckWait and redelivery
* cleanup
* ack prep
* Move load balance test to norace
* Added push based observable no ack benchmark
* Add AckNext and batch size for worker pull mode
* test updates
* Reworked load balance test
* Basic partitioning
* First pass pull mode, e.g. worker
* Update expiration test
* Fix message expiration
* JetStream first pass basics.
* Pointing to jwt master
* Move system account check to validateTrustedOperators
* Raise error when system_account in config and operator jwt do not match
* Looking up system_account from operator jwt
* Picking up jwt branch corresponding to this change
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.1.9:
* Update URLs references to actual branch.
* Release v2.1.9
* [FIXED] Added defensive code for handling of leafnode connection
* [FIXED] Panic on shutdown while accepting TLS client connection
* [FIXED] User and claims activation revocation checks
* [FIXED] Possible panic if server receives a maliciously crafted JWT
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.1.8:
* Release 2.1.8
* [FIXED] Error when importing an account results in an error
* [FIXED] Better support for distinguishedNameMatch in TLS Auth
* [FIXED] Connection name in log statement for some IPv6 addresses
* [FIXED] Log file size limit not honored after re-open signal
* Fix flappers
* [FIXED] Handling or real duplicate subscription
* Fixed flapper
* [FIXED] LeafNode solicit failure race could leave conn registered
* [FIXED] Unsubscribe may not be propagated through a leaf node
* [FIXED] Possible removal of interest on queue subs with leaf nodes
* [FIXED] Possible stall on shutdown with leafnode setup
* [FIXED] Race condition during implicit Gateway reconnection
* [FIXED] Allow response permissions to work across accounts
* Sun Oct 02 2022 ecsosAATTopensuse.org- Update to version 2.1.7:
* Release v2.1.7
* Implement basePath for monitoring endpoints
* Move reset of internal client to after the account sublist was moved.
* [FIXED] default_permissions apply to nkey users as well
* [FIXES] Unnecessary account reloads and pointer to old accounts- Switch to _service file.
* Fri Sep 25 2020 ecsos
- Remove macros %{goprep} %{import_path}, %{goinstall} and %{gosrc}, because not need and it is a bug boo#1163689 in macro %{gosrc} from package golang-packaging since version 15.0.12.
* Sat May 23 2020 ecsos - Initial version 2.1.7