Releases: nats-io/nats.java
Releases · nats-io/nats.java
2.25.3 Server 2.14 Support
Core
- More schedule headers to match updated server implementation #1543
- Headers object toString bug #1545
- WebSocket masking used % 8 instead of % 4 — #1546
- NatsConnection fine tuning variable access #1547
- Flush Immediately After Publish Fix #1550
- Finds while building J3 #1554
JetStream
- Update api objects based on schema review #1549
- ObjectInfo getObjectName() should be marked @nonnull #1559
- 2.14 Stream Configuration #1561
- 2.14 Reset Consumer #1562
- Flow Control $JS.FC support #1563
- 2.14 Stream Consumer Source support #1565
- Reset Consumer Test Flapper #1567
- Reset Consumer correct API response and improve test #1568
Testing
- Fix test, server 2.12.5 allows update max consumers #1538
Miscellaneous
- Document use of ConsumerInfo management call #1539
- Add Readme index to Consumer Info Calls #1541
- Move examples to subproject #1544
CI/CD
- Setup claude to only manually trigger #1540
- Testing claude script v2 #1542
- Fix Claude workflow configuration #1551 @Jarema
- Change claude to always review #1569
New Nats Docs Examples
- Queue Group Doc Examples were switched #1553
- [New Nats Docs Examples] Complete Missing Examples #1556
- [New Nats Docs Examples] SubjectsSingleWildcard #1557
- [New Nats Docs Examples] Update Single and Multi Wildcard #1558
- [New Nats Docs Examples] Misc Examples Improvements #1560
- [New Nats Docs Examples] Improved Comment #1564
- [New Nats Docs Examples] Fix start marker #1566
2.25.2 Bug Fixes and Housekeeping
Core
- fix race condition in reconnect #1523 @scottf @jkraml-staffbase
- "Payload Size" includes header bytes, not just data #1525 @scottf @francoisprunier
- NatsConnection improvements: reader and writer replace, options executors use #1526 @scottf
- HostnameResolveMode better organizes the 4 possible modes #1536 @scottf @bartosz822
JetStream
- Simplification track user processed not client received. #1528 @scottf
- New Examples for Priority Groups #1529 @roeschter
- StreamInfo fix active to handle -1 and not supplied correctly #1531 @scottf
Testing
Miscellaneous
2.25.1 Options Additions and Message Queue Improvements
Core
- Fix setting options via properties #1489 @scottf
- Lazy initialize Options executors #1492 @scottf
- Adding flexibility for executor options #1493 @scottf
- [bug] Properly count message/bytes when in discardWhenFull mode #1498 @scottf
- Subject validation #1501 @scottf
- Call to error listener should have been done in a callback, not directly #1502 @scottf
- Message Queue Splitting #1505 @scottf
- NatsConnectionReader better ReadListener call #1507 @scottf
- NatsConnectionReader better exceptions #1509 @scottf
- Enable path component when connecting via WebSocket #1514 @jbaeck
- Faster JsonValue equals and hashcode #1517 @scottf
Object Store
Miscellaneous
2.24.1 Minor and Automatic-Module-Name
2.24.0
Core
- [BUG] Properly return pending bytes #1437 @scottf
- Improve ConnectionListener #1438 @scottf
- Server Pool Improvement #1443 @scottf
- Improved reconnect determining when to switch queues #1444 @scottf
- Improve output queue push locking and error message #1446 @scottf
- ConnectionListener event time #1448 @scottf
- Optimize header reading #1449 @scottf
- Header fine tuning #1451 @scottf
- Header tuning don't over engineer #1453 @scottf
- Micro-optimization getBytes(ISO_8859_1) vs getBytes(US_ASCII) #1455 @scottf
- Reduce calls to stats by combining. #1465 @scottf
- [BUG] MessageQueue drainTo was not properly copying length and size. #1468 @scottf
- MessageQueue drainTo more #1469 @scottf
- Auth Error is allowed to be set before being connected #1475 @scottf
JetStream
- Stream Config Persist mode #1436 @scottf
- Review methods with varargs for proper validation #1456 @scottf
- [BUG] AccountTier read reserved values as int instead of long #1457 @scottf
- Handle both wrong last sequence 10071 / 10164 #1463 @scottf
- Pinned Consumer Support #1472 @scottf
Docs
Test
- Refactor test to validate issue 1426 #1447 @scottf
- Additional test coverage #1452 @scottf
- Demonstrate Pull Status Warning Handling #1454 @scottf
- Miscellaneous Test Coverage #1460 @scottf
- Fix and Enable ReconnectTests testForceReconnectQueueBehaviorCheck #1473 @scottf
- Javadoc Technical Debt #1476 @scottf
Build
2.23.0 Server 2.12 Support and Core Socket Customizations
Server 2.12 Specific
Core
- Make NatsStatistics public so it can be extended #1414 @scottf
- Statistics classes improvements #1415 @scottf
- Lock around access to pending message and byte counts #1416 @scottf
- Socket Read Timeout remove validation #1417 @scottf
- Ensure write timeout is not less than 100 nanoseconds #1429 @scottf
- Options to set underlying socket configuration of SO_SNDBUF and SO_RCVBUF #1432 @scottf
JetStream
- Exposed StreamName #1431 @roeschter
Misc
2.22.0 Fixes and catch-up
Core
JetStream
- Add publish header "Nats-Expected-Last-Subject-Sequence-Subject" #1401 @scottf
- Add publish header "Nats-Expected-Last-Subject-Sequence-Subject" part b. #1402 @scottf
- [Fix] Reset cached consumer info when re-making ordered consumers #1405 @scottf
- consumers - metadata comparison #1410 @scottf
ObjectStore
Misc
- Clarify documentation for JetStreamSubscription #1400 @davidmorley
- Build (CI/CD) Stuff #1404 @scottf
- Update version of bouncycastle to resolve CVE-2025-9341 #1406 @vkolomeyko
2.21.5
Core
- Implement Fast fallback algorithm in SocketDataPort #1351 @jitinsharma
- [FIX] Shutdown internal executors on connection close. #1357 @scottf
- Convert serverAuthErrors to ConcurrentHashMap #1359 @scottf
- Fix SSL handshake listeners never removed, preventing garbage collection #1360 @scottf
- Fix core unsubscribe by subject #1363 @scottf
- Move from JetBrains nullability annotations to JSpecify #1366
- Fix timeout computing to address possible nano time overflow #1375 @scottf @magicprinc
- Create NatsInetAddress to allow replacement of InetAddress #1378 @scottf @jitinsharma
- Json parser tuning. #1382 @scottf
- Connection and adjacent objects nullability markers. #1383 @scottf
- Headers +toString(), fixes #1385 @magicprinc
- Header nullability #1395 @scottf
- Updated SSL Files and Build preparing for server 2.12 #1397 @scottf
JetStream
- [Fix] Simplified Ordered Consumer - Getting name early can cause NPE #1354 @scottf
- Stream Name cannot be null #1377 @scottf
- Fix JetStreamApiException constructor nullability conflict #1379 @scottf
- Ensuring nullability contracts #1387 @scottf
Key Value
- Add revision guard on KV key "create" #1356 @scottf
- Fixed limit marker test for server change #1367 @scottf
- Additional KV Marker / TTL testing #1391 @scottf
Testing / Examples / Docs / Etc
- Ordered Consumer Examples #1352 @scottf
- Update readme for fast fallback option #1353 @jitinsharma
- Improved Consumer Name Testing #1365 @scottf
- Review for Issues (#1361 and #1362) #1368 @scottf
- Unit test refactor #1369
- Use String.replace instead of String.replaceAll #1381 @scottf @magicprinc
- Fixed Jacoco from considering test classes #1390 @scottf
- Fixing flapping tests #1393 @scottf
- Fix test flappers #1396 @scottf
2.21.4 Features and Fixes
Core
- Fix race condition during reconnect sends UNSUB messages #1321 @ajax-surovskyi-y
- Add connection auth token supplier option #1324 @buleuszmatak
- Nano time for elapsed timings and Nats System Clock #1334 @scottf
- Replace Timer with scheduled tasks #1335 @scottf
- [Bug] Fix UNSUBs after disconnect can cause auth violations #1336 @scottf @ajax-surovskyi-y
- Options allow token supplier from property, not just api method #1349 @scottf
JetStream
- Annotating API objects with NotNull and Nullable #1333 @scottf
- [Bug] MessageConsumer.isFinished() not set properly in certain conditions #1339 @scottf
- [Bug] Pull Heartbeat handler intermittent failure after switch to scheduler #1345 @scottf
- Fix heartbeat timer handling broken when replacing timer with scheduler. #1348 @scottf
Key Value
- Nats-Marker-Reason must be mapped to a Key Value Operation #1323 @scottf
- KV Purge Per Message TTL #1344 @scottf
Tests
- Addition validation and test for token / token supplier #1325 @scottf
- Add test for auth violations during reconnect #1328 @ajax-surovskyi-y
- Fixed KV Limit Marker Test to only run against 2.11.2 or later #1338 @scottf
- Fix flapping test: testOverflowFetch #1340 @scottf
- Set the test timeout default to 3 minutes. #1343 @scottf
Misc
2.21.3 DO NOT USE. REPLACED BY 2.21.4
DO NOT USE. REPLACED BY 2.21.4