1.6.0
-
Adapters - Support for Rails 6.1 and above (Adapters::ActiveRecord,
Adapters::ActiveSupportCache, ActiveSupportCache::MonetaStore)
-
Adapters::YAML - add ‘theadsafe` option
-
Adapters::Sequel - fix deadlock issue with #increment on MySQL in newer
Sequel versions (#244)
-
Adapters::Sequel - fix issue with Postgres HStore on newer Postgres (#243)
-
Adapters - fixed an issue many adapters had where #merge! errored if passed
an empty hash (#246)
-
Support changes - Drop support for 2.3 and 2.4, add support for 3.x
1.5.2
-
Proxy - handle returning config when the adapter does not use config
-
Avoid calling ‘supports?(:expires)` when expiry isn’t needed
-
Adapters::Mongo - fix ‘merge!` behaviour when no values are inserted
1.5.1
-
Adapters::File - fix an implicit hash issue in Ruby 3 (#222)
1.5.0
-
Adapters - internally, most (all?) adapters now inherit from a base Adapter class
-
Adapters - adapter configuration is now accessed via a ‘config` method on
each adapter - see the code for examples. This shouldn't affect users unless they were directly modifying adapters' attributes.
-
Redis - fix deprecation warnings for Redis 4.6+ multi/pipelined handling (#215)
-
Mongo - slight improvement to error handling
1.4.2
-
Pool - fix busy-loop issue (#197)
1.4.1
-
Adapters::Mongo - deprecate :db option, document :database option (#194)
-
Adapters::Mongo - add retries to increment operation
1.4.0
-
Adapters::Mongo - drop support for moped gem (#182)
-
Adapters::Redis - use #exists? where available (#189)
-
Some reorganisation of code into more separate files (#177)
1.3.0
-
Transformer - add :each_key support (#170)
-
Server - add :each_key support, use non-blocking IO (#165)
-
Builder - dup options before passing to adapter/proxy (#174)
-
Adapter::Couch - add HTTP basic auth support
-
Support MRI 2.7.0 (#172)
-
Minimum required MRI version is now 2.3.0 (#172)
1.2.1
-
Transformer - fix :escape transformer deserialize implementation (#168)
1.2.0
-
Adapters::Sequel - fix for compatibility with new version of JDBC SQLite
-
Adapters::Couch - refactor of error handling, #clear, #merge!, #slice, rev caching
-
Fallback - add fallback proxy (#162)
-
Pool - rewrite to enable limiting of size, gradual shrinking
-
Enumerable - add proxy providing Enumerable API (using #each_key)
-
Adapters::Couch, Adapters::RestClient - add Faraday :adapter option
-
Adapters::Couch - add :full_commit and :batch options to some operations
-
Adapters::LRUHash - rewrite to take advantage of ordered hashes
-
Adapters::ActiveRecord - recover from deadlock during increment
1.1.1
-
Adapters::Sequel - use prepared statements
-
Adapters::Sqlite - use upsert for increment where supported
1.1.0
-
Adapters::ActiveRecord - rewrite to use Arel directly; support for Rails 5
-
Moneta::Server - close all connections when stopping
-
Moneta::Shared - recover from socket errors
-
Transformer - add :urlsafe_base64; use this by default for keys with Couch adapter
-
Adapters::MongoMoped - recover from failed increment
-
Moneta::Pool - fix race condition in #pop (#144)
-
Moneta::Client - raise EOFError if a read fails
-
Moneta::Expires - use Rational objects to get much more accurate time resolution
-
Moneta::Lock/Moneta::Pool - allow wrapped methods to call other wrapped methods
-
Adapters::Sequel - add optimisations for MySQL, PostgreSQL and SQLite
-
Adapters::Sequel - add Postgres+HStore backend
-
Add Adapters::ActiveSupportCache
-
Adapters::Sqlite - add :journal_mode option
-
Add table creation options to Sequel and ActiveRecord adapters
-
Adapters::ActiveRecord - support for forking (#159)
-
Adapters::Cassandra - rewrite to use cassandra-driver gem (#81)
-
Adapters::Couch - add a LRUHash to cache document revs
-
Adapters::KyotoCabinet - implement atomic increment
-
Add :each_key feature and implemented on many adapters; add Moneta::WeakEachKey (#143; see feature matrix)
-
Add bulk read/write methods to the spec; added default implementation to Defaults and fast versions in many adapters (#116; see feature matrix)
-
First class support for latest JRuby (#160)
-
Minimum required MRI version is now 2.2.2 (#135)
1.0.0
-
Adapters::Sequel - allow usage of Sequel extensions and connection validation
-
ActiveSupport::Cache::MonetaStore - dup options before mutating them
-
ActiveSupport::Cache::MonetaStore - allow writing raw values
0.8.1
-
Adapters::TokyoTyrant - more consistent error handling
-
Adapters::MongoMoped - support for moped gem v2.0
-
Adapters::MongoOfficial - support for mongo gem versions 2-4
-
Adapters::File - fix a bug in #load (#74)
-
Adapters::LRUHash - allow to disable the limits by passing nil for max_size, max_count
-
Transformer - don’t use OpenSSL::Digest::Digest namespace
-
Adapters::Sequel - fix issue with unknown “blob” type
-
Rack::Cache - fix deprecated require paths
-
Adapters::MemcachedNative - properly close connections
-
Transformer - support bson gem versions 2-4
-
Transformer - switch to rbzip2 gem for bzip2 support
-
Adapters::MemcachedDalli - #create returns a boolean
0.8.0
-
Rename Moneta::Adapters::Mongo to Moneta::Adapters::MongoOfficial
-
Add Moneta::Adapters::MongoMoped
-
Drop Ruby 1.8 support
0.7.20
-
Adapters::LRUHash: add option :max_value
-
Moneta.new(:Couch, :Riak, :RestClient): use urlencode instead of base64 for key encoding)
-
Transformer: Add :hex encoder
-
Transformer: Don’t wrap object in array for JSON serialization
-
Transformer: Add :php serializer
-
Moneta.new(:Sequel) - Don’t encode blob data using base64
-
Moneta::Adapters::LMDB added (Symas Lightning Memory-Mapped Database)
-
Moneta::Adapters::Sequel - Fix for github.com/jeremyevans/sequel/issues/715
0.7.19
-
ActionDispatch::Session::MonetaStore fixed for Rails 4
-
Moneta::Server: Tries now to remove stale unix socket
-
Moneta::Server: More robust and better performance
0.7.18
-
Adapters::File#increment and #create fixed on JRuby
-
Adapters::Couch and Adapters::Mongo can store hashes directly as documents. It is not necessary to serialize values as strings anymore.
-
Adapters::Couch#create added
-
Pool thread safety improved
-
Transformer: Add CityHash
0.7.17
-
Transformer: LZ4 compression added
0.7.16
-
Better builder validation
-
Adapters::Sequel: check for correct exceptions
0.7.15
-
CONTRIBUTORS file added
-
Adapters::File#increment fixed
0.7.14
-
Adapters::ActiveRecord, Adapters::Sequel: store values as blobs
-
Adapters::ActiveRecord fixed and improved
0.7.13
-
Adapters::ActiveRecord: Use connection_pool
-
Adapters::File: Race condition in #increment fixed
0.7.12
-
Concurrency tests added
-
Bugfixes for File, Sqlite, Sequel and Datamapper, ActiveRecord
0.7.11
-
Logger: Add option :file
-
Adapters::TokyoTyrant supports both native (ruby-tokyotyrant) and pure-ruby tokyotyrant gems
-
Adapters::Couch use Faraday directly instead of buggy CouchRest
-
Adapters::RestClient use Faraday
-
Transformer: add quoted printable encoding (:qp)
0.7.10
-
Adapters::TokyoTyrant added
-
Add attr_reader :backend and option :backend to some adapters
-
Cache rename #backend to #adapter
0.7.9
-
Adapters::KyotoCabinet added
-
Feature detection methods #features and #supports? added
-
Validity checks added which check features
0.7.8
-
Adapters::Memcached: switched to Dalli by default
-
Adapters::Daybreak: add option :sync to load and store
-
Adapters::LRUHash: add option :max_count
-
Adapters::Mongo: add options :user and :password
-
Adapters::Mongo: Correctly close connection
-
Adapters::Redis: Correctly close connection
-
Transformer: add inspect key transformer
-
Added #create method to atomically create entries
-
Added WeakCreate and WeakIncrement proxies
-
Added Mutex and Semaphore synchronization primitives for shared/distributed database locks
-
Rename unix socket options from :file to :socket
0.7.6
-
Adapters::Daybreak: api changed
-
Adapters::File: flock fix for jruby
-
Transformer: add to_s key transformer
0.7.5
-
OptionsSupport#with: Add support to insert additional proxies
-
Builder#adapter: Accepts Moneta store instance now
0.7.4
-
Transformer: fix truncate
-
Adapters::RestClient: raise error if store fails
-
Adapters::TDB added
-
Adapters::Daybreak added
-
Adapters::Mongo - Expiration and increment support added
-
Pool proxy added
-
Mixin ExpiresSupport added
-
Expiration value handling unified
-
0 and false are interpreted as persist value
-
-
Adapters::RestClient uses net/http now
0.7.3
-
Added Adapters::RestClient
-
Added Rack::MonetaRest
-
Added Rack::MonetaStore
0.7.2
-
Renamed WithOptions to OptionSupport
-
Refactored Base in Defaults mixin
-
Removed Transformer option :quiet
-
Transformer might raise an exception if an invalid value is transformed
-
Expires middleware only wraps Arrays and nils in an Array if no expiration time is given (backward compatible change)
-
Moneta middlewares are not allowed to modify option hash given to functions like #load and #store
0.7.1
-
Memcached: Use binary protocol and no base64 encoding of the keys
-
Transformer: Remove newlines from base64 encodes values
-
Server: Add method #run which will block and #running? to allow forking
-
SDBM: #store might raise errors (Don’t use SDBM, it is unstable!)
-
Add #decrement method
-
Fix #fetch to handle false correctly
-
Fix Expires middleware to handle boolean and nil values correctly
-
Base64 encode Riak keys since Riak needs valid UTF-8 for the REST interface
0.7.0
-
Major rewrite by Daniel Mendler
0.6.0
-
First public release by Yehuda Katz