- Added support for custom node locators in the Ketama continuum
- Added TLS support
- feat: introduce a
ReconnectionListener
which theReconnectingClient
will call when trying to reconnect. This is called more often than registeredConnectionChangeListener
s, and is mostly useful for logging purposes.
- Add non-authenticated errors for all ASCII operations
- Add support for ASCII authentication
- Expose opcode and withCas in SetRequest
- Expose withCas in binary DeleteRequest
- core: The Ascii client will behave more similar to Binary client for the case of server returning out-of-memory or value-too-large.
- folsom-semantic-metrics: Bug-fix for the memcache-hit-ratio gauge
- Ergonomic feature: Add support for generics when using Serializable transcoder
- Re-add public methods that were accidentally removed
- Expose numPendingRequests in RawMemcacheClient
- Move duplicate method to the Request interface
- Add support for flags
- Add micrometer metrics
- Fix minor internal bug related to event listeners
- Stop using Guava EventBus for internal listeners to avoid blocking calls.
- Minor maven related changes
- Minor maven related changes
- Add new utility methods for multigets to return maps instead of lists:
BinaryMemcacheClient.getAndTouchAsMap
MemcacheClient.getAsMap
MemcacheClient.casGetAsMap
- Bump guava from 28.0-android to 29.0-android
- Add new method getAllNodes() to support advanced custom use cases for multi-node setups.
- Minor bugfix: metrics for outstanding requests could sometimes return the wrong value after connection is closed
- Deprecate withRequestTimeoutMillis, replace with withConnectionTimeoutMillis.
- Add deleteWithCas
- Take ElastiCache configuration version into account
- Add elasticache resolver
- Add BOM artifact
- Bump dependency versions. This includes major version bumps of com.google.guava:guava and com.spotify.metrics:semantic-metrics-core. Folsom continues supporting also the old versions, so users can delay upgrading if needed.
- Add support for OpenCensus based tracing
- Implemented support for reading memcached statistics
- Added support for setting multiple usernames/passwords for SASL authentications
- Fixed problem with release being built using a too new JDK, causing runtime errors
- Fixed bug with reconnections during high request loads
- Added MemcachedClient.deleteAll() method
- Reuse existing connections on DNS updates.
- Fixed bug with the outstanding-requests metric.
- Extracted Yammer metrics to a separate module to limit dependencies.
add "folsom-yammer-metrics" module to your project's dependencies if you need
YammerMetrics
class. - Added support for configurable batch size when creating clients. See the new
withRequestBatchSize(int)
method inMemcacheClientBuilder
. - More precise timeout detection (check every 10 ms instead of every second)
- Always send expiration values to server as TTL instead of timestamp for TTL's up to 30 days.
- Fixed memory/fd/thread leak introduced in 1.1.0
- Added MemcachedClient.flushAll() method
- Add support for SASL authentication for binary protocol
- Fixed bug with setting too large values
- Added specifiable Netty EventLoopGroup and executor
Non backwards-compatible change
- Requires Java 8
- API now uses CompletionStage instead of ListenableFuture - be careful about exception handling as things may come wrapped in CompletionException now!
- Remove HostAndPort from API and inline internal usage to avoid Guava version conflicts
- Add utility methods for waiting for connects and disconnects.
- Added withMaxKeyLength which can be used if the memcache server has different key length restrictions
- Fixed race condition in ReconnectingClient, causing shutdowns to fail
- Make more robust client shutdown logic
- Add Utils.getGlobalConnectionCount() to track number of memcached connections. Also add metrics for this to YammerMetrics
- Minimize Netty dependency
- Make sure build works on Java 9
- Fix broken GAT (get and touch)
- Allow for overriding integration server address
- Bump OSS parent
- Fixed bug that broke reconnects
- Fix minor bug where requests to a disconnected client appears to have hit the outstanding request limit.
- Disallow set-requests with too large values and also make that limit configurable.
- Update to dns-java 3.0.1 which is not backwards compatible
- Fixed bug that broke reconnects
- Fix minor bug where requests to a disconnected client appears to have hit the outstanding request limit.
- Disallow set-requests with too large values and also make that limit configurable.
- Monkey patch jmemcached to make tests more robust.
- Add metrics-support for pending requests.
- Fix race condition on client timeout.
- Partition large multiget requests.
- Various minor refactoring and added tests.
- Fix bug with creating SRV client from MemcacheClientBuilder
- Add SRV Ketama support.
- Relax restrictions on key format.
- Add support for configurable key charset.
- Add internal API for observing connection changes.
- And some minor bugfixes
First public release