1.2.0
Changes from 1.1.4
Persistence
- Always close the CQEngine ResultSet - recommended for DiskPersistence.
- Improved reflection performance of Serializer::getValueByPath by 4.5x.
- Improved insert performance for IndexedMapPersisted by 16x.
- Move in-memory mapper to volatile + remove indexes on persisted CQ map.
- AsyncStorage::values now returns a lazily evaluated Stream.
Context
- Add a testcase to verify that the blocking pool is not exhausted.
- Moved shutdown hook to context and made it complete without waiting.
- deprecate Delay::forShutdown -> logs are now flushed on JVM hook. …
- persistent shutdown listeners with unsubscribe option.
- Use the default vert.x blocking pool + change defaults for pool size.
- simplify listener settings by removing the supplier.
- Renamed shutdown hook log message from "system" to "context."
- Launcher must close the logger as it doesn't have a hook anymore.
- ShutdownHookHandler waits for blocking pool termination + test cases.
- faster startup for non-remote blocks + save 17s in LaunchContext tests.
- expand on the concept of TimerSource with additional functionality.
- Changed cleanup of stale lifecycle listeners.
Protocol
- Lazily retrieve the API target from the handler for gen documentation.
Benchmarks
- fix the formatting of console benchmark reports.
Logging
- Support user defined logging levels.
- ensure that term colors works on windows 10 (yellow, magenta broken).
- ShutdownHookHandler binds to vertx instance + uses own logger.
Security
- Reconsider what is allowed in Validator::plaintext.
- Simplify security based API's; Token, ByteComparator
- API improvements to regex configurations for the Validator.
Build
- move elasticsearch support back into core
- optional dependencies.
- Fixed a rogue dependency on Hazelcast in FileWatcherBuilder.
- Support for ElasticSearch 7.0.0
- Upgraded Vert.x from 3.6.3. to 3.7.1.
- Upgraded to CQEngine 3.0
- Upgraded to Vert.x 5.0.0RC1
Documentation
- Added documentation on API definition generation.
- Documentation on custom logging levels.
- Optional dependencies and reducing jar size.
- New chapter on storage implementations.
- Changes to reflect this release.
Documentation is an ongoing process, currently there are three main chapters to write
- Benchmarking, Files and Testing.