cache2k v1.9.1.Alpha Release Notes

Release Date: 2020-10-13 // over 3 years ago
  • ๐Ÿš€ This is a preview release for evaluation purposes and should not be used in production.

    The preview is in preparation for version 2 which will have some major breaking changes to the previous releases. The final release will be 2.0.0.Final - "North Atlantic".

    ๐Ÿ†• New and Noteworthy

    • cache2k-api, cache2k-core, cache2k-jmx and cache2k-config are fully modularized
    • Requires at least Java 8 to run
    • ๐Ÿ”ง Adaptions to Java 8 on API level. E.g. use of Duration in the configuration
    • ๐Ÿ†• New interfaces for CacheLoader and CacheWriter
    • ๐Ÿ—„ Removal of deprecated classes and methods
    • ๐Ÿ”ง JMX and XML configuration support is no longer part of cache2k-core
    • ๐Ÿ‘€ OSGi support with cache2k-osgi-all removed, see: #83

    Possible Breakages

    ๐Ÿš€ Since this is a major release, some rarely used things in the API are changed without backwards compatibility. Most code is supposed to run without breaking.

    • Requires at least Java 8 to run
    • โœ‚ Remove deprecated classes and methods: Cache.prefetch, Cache.prefetchAll, IntCache, LongCache,
      CacheEntry.getLastModification, AbstractCacheEntry
    • Incompatible change of CustomizationSupplier interface
    • ๐Ÿšš org.cache2k.integration.ResiliencePolicy removed. Replaced by: org.cache2k.io.ResiliencePolicy
    • ๐Ÿšš JMX support moved from cache2k-core to cache2k-jmx to minimize module dependencies
    • ๐Ÿ”ง XML configuration moved from cache2k-core to cache2k-config to minimize module dependencies
    • โฌ‡๏ธ Dropped apache commons logging support. Commons logging seems to be not
      ๐Ÿ‘ maintained any more and lacks Jigsaw/module support.
    • โฌ‡๏ธ Drop support for XML configuration on Android, removed XML pull dependency
      ๐Ÿ‘ (The Android will be potentially unsupported in cache2k V2 at first)
    • ๐Ÿ”ง Moved JCache configuration classes in org.cache.jcache from cache2k-api to cache2k-jcache.
      If these are used, cache2k-jcache needs to be in compile scope.
    • Cache2kConfiguration: Changed all parameters of type long, representing
      milliseconds to type Duration

    API Changes

    • ๐Ÿ“ฆ org.cache2k.integration.CacheLoader and everything in package org.cache2k.integration
      ๐Ÿ—„ is deprecated. Replacements are available in org.cache2k.io. This major change was done to
      ๐Ÿ”„ change from abstract classes to interface. The new package was introduced for smoother transition
      ๐Ÿ—„ to keep the previous classes and deprecated them.
    • โž• Add Cache.loadAll and Cache.reloadAll which return CompletableFuture
      ๐Ÿ—„ Old methods which use CacheOperationCompletionListener are deprecated
    • โœ‚ Remove deprecated classes and methods: Cache.prefetch, Cache.prefetchAll, IntCache, LongCache,
      CacheEntry.getLastModification, AbstractCacheEntry

    ๐Ÿ›  Fixes and Improvements

    • All cache customizations (e.g. CacheLoader) implement Customization.
    • ๐Ÿšš Speedup of internal hash table, because compatibility for Java 6 could be removed