Skip to content

Releases: codingchili/chili-core

1.4.1

14 Dec 15:45
Compare
Choose a tag to compare

Changes

  • removed dependency to log4j required by elastic client through the use of log4j to slf4j adapter.
  • elastic storage now uses the vert.x even loop for requests/response handling.
  • storage loader now generates a plugin string if a plugin is set by class.
  • all listeners now start the handler fully before processing events.
  • all listeners now properly propagate when failing to bind.
  • added proxy support for Connection write method.
  • IndexedMap now normalizes db path before checking if it's shared.
  • improved logging by filtering out internal frames.
  • added ThreadGuard to debug thread and context related issues.
  • removed synchronization from listener transports.
  • IndexedMap: now uses a dedicated worker pool per instance (size 1).
  • added support for jks/pkcs12 keystores.
  • now using ConsoleLogger for the AuthenticationGenerator.
  • Disable file upload handling in rest/websocket listeners by default.
  • Account class now uses char[] instead of String to allow wiping from memory.
  • Fixed some bugs in test cases related to the hash/secret factory.
  • Extended type support for logging metadata.

updated dependencies

  • vertx 4.1.5 -> 4.2.1
  • jansi 2.3.4 -> 2.4.0
  • kryo 5.1.1 -> 5.2.0
  • slf4j 1.7.30 -> 1.7.32
  • gradle 7.1 -> 7.3-rc2

1.3.6

05 Mar 14:05
Compare
Choose a tag to compare

This release contains the following fixes/new features.

#268 - Race condition in AuthenticationGenerator affecting token generation.
#269 - Adds CORS headers before error handling to ensure clients using RS can read the response error.
#267 - Support for deploying multiple blocks in the Launcher
#266 - Expose the deployed blocks from the LaunchContext.
#265 - Fix: Launcher ignores the deployment argument for blocks.
#264 - API support for registering multiple metric reporters.
#263 - Upgraded all dependencies.
#262 - Exposes the dropwizard API through the MetricCollector on the CoreContext.
#261 - Configurable metrics snapshot to reduce overhead.
#260 - Allow enabling ALPN (h2c) without enabling security.
#259 - Support for passing implementation specific properties through StorageLoader/StorageContext
#258 - Support for registering complex metadata on the Logger implementation.
#257 - Fix: JsonItem copy constructor was not implemented. (renamed JsonItem -> JsonStorable)

1.3.5

15 Sep 16:32
Compare
Choose a tag to compare

#270 - Fix: poor exception handling when using Java reflection.

1.3.4

02 Sep 16:49
Compare
Choose a tag to compare

#271 - add setAccessible in Protocol for performance.

1.3.3

01 Sep 19:14
Compare
Choose a tag to compare
  • Fixed an issue in Token where expiry would was eagerly set - causing issues in environments which weren't running chili-core but only consuming the com.github.codingchili.core.security.Token. (This triggered some native libraries to load for logging - which doesn't work on Android.)

1.3.2

17 Jul 18:58
Compare
Choose a tag to compare

Changes

  • support for J14
  • support reuse of commandline parser.

1.3.0

09 Aug 22:56
Compare
Choose a tag to compare

Changes

  • updated Elasticsearch high-level transport client from 7.0.0a -> 7.3.0.
  • updated vert.x dependency from 3.7.1 to 3.8.0.
  • New Handler for context#blocking calls.
  • Indexes are no longer automatically added when queried.
  • New API in AsyncStorage addIndex(String path) to add indexes.
  • Upgraded to CQEngine 3.4.0 with fixes for performance/concurrency.

Changes to how indexes are added will improve performance and fix some issues caused by disk indexes not being reloaded at startup. To make sure it works as expected call addIndex before adding any items, or make sure to call IndexedMapPersisted.reindex() before instantiating the disk persistence plugin - which will cause a reindex when the indexes are added.

See npgall/cqengine#242 for more information.

1.2.0

04 Jul 18:36
Compare
Choose a tag to compare

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.

1.1.4

04 Apr 17:58
Compare
Choose a tag to compare

Changes and new features

ConfigurationFactory

  • enumerate(recursive, path), readDirectory and readDirectoryTree now return Streams.

1.1.3

01 Apr 15:11
Compare
Choose a tag to compare

Changes and new features

  • upgraded elastic storage plugin for 7.0.0
  • upgraded vert.x from 3.6.0 to 3.6.3.

Tests passed on 7.0.0-beta1.