Skip to content

Latest commit

 

History

History
378 lines (189 loc) · 12.9 KB

CHANGELOG.rdoc

File metadata and controls

378 lines (189 loc) · 12.9 KB

Changelog for Redis::Objects

2.0.0.beta (30 Mar 2023)

  • Updated internal calls to match ‘redis-rb`

  • INCOMPAT: ‘Redis.current` is no longer allowed due to changes in `redis-rb`

  • INCOMPAT: The order of items popped off a list by the rarely-used command ‘list.pop(n)` to specify multiple elements is now reversed to match redis.

1.7.0 (29 Apr 2022)

  • Bumped version to 1.7.0 to revert redis-rb version lock [Nate Wiger]

1.6.0 (29 Apr 2022)

  • Upgrade version to 1.6.0 due to redis-rb changes to Redis.current [Nate Wiger]

1.5.1 (10 Jul 2021)

  • Added double-splat for **options to account for Ruby 3.0 [Nate Wiger]

  • Fix ConnectionPoolProxy Ruby 3.0 compatibility Fix: github.com/nateware/redis-objects/pull/258 [Jean byroot Boussier]

  • Change Redis#exists to Redis#exists? * bump redis version to 4.2 [Alina Hryshchuk]

  • Local variable ‘dir` is not in use since 98226b95f35ef455f231692fdb679dfd61200a78 [Akira Matsuda]

  • Issue 249: when atomic decrbyfloat fails, increment back instead of decrementing again [Slava Samoliuk]

  • Update documentation to reflect ability to assign values directly [Artin Boghosian]

  • Allow directly assigning values of lists, hashes and sets [Artin Boghosian]

1.5.0 (18 Sep 2019)

  • updated README on expireat [Nate Wiger]

  • Add option for using a custom serializer [Tomás Rojas]

  • DRY up objects to enable custom prefixing when desired [Tomás Rojas]

  • Allow spop to return multiple members [Evan Paul]

  • Rename #delete! to #redis_delete_objects [Mattias Pfeiffer]

  • Make deletion simpler with just 1 call to Redis [Mattias Pfeiffer]

  • Move ‘CoreCommands` inclusion to `BaseObject` [Tomás Rojas]

  • Move ‘Enumerable` functionality to `EnumerableObject` [Tomás Rojas]

  • Move ‘attr_reader`s to `Redis::BaseObject` [Tomás Rojas]

1.4.3 (7 Oct 2018)

  • Merge pull request #235 from johnc219/fix/end-time-expiration Add expiration in seconds to obtain end_time [Nate Wiger]

  • Merge pull request #223 from artinboghosian/compress-redis-value Allow compression of value stored in Redis::Value to save memory on R… [Nate Wiger]

  • Merge pull request #224 from artinboghosian/sorted-set-missing-operations Fix set operation methods on SortedSets [Nate Wiger]

  • Merge pull request #233 from tmattia/master Add SortedSet#count alias so it’s consistent with Set#count [Nate Wiger]

  • Merge pull request #236 from nateware/revert-220-threadsafe Revert “Make Redis::Objects.connection thread-safe” [Nate Wiger]

  • Revert “Make Redis::Objects.connection thread-safe” [Nate Wiger]

1.4.2 (29 Aug 2018)

  • Merge pull request #227 from D-system/optimise_lock Optimise lock [Nate Wiger]

  • Merge pull request #228 from D-system/travis_ruby_2.5 Travis: test against ruby 2.5 [Nate Wiger]

  • Travis: test against ruby 2.5 [Thomas Brennetot]

  • Lock: update comment [Thomas Brennetot]

  • Lock: add backward compatibility [Thomas Brennetot]

  • Use SET with the NX and the expiration option in a single request [Thomas Brennetot]

  • Merge pull request #218 from edwardbako/list_pushed_count Return count of lpush & rpush commands [Nate Wiger]

  • Merge pull request #220 from gammons/threadsafe Make Redis::Objects.connection thread-safe [Nate Wiger]

  • Make Redis::Objects.connection threadsafe [Grant Ammons]

  • Return count of lpush & rpush commands [Edward Bako]

  • Removed support for versions of Ruby < 2.2 [Nate Wiger]

1.4.1 (Unreleased)

  • Buggy release that was removed

1.4.0 (7 Dec 2017)

  • Bumped dependency to redis.rb 4.0 [Nate Wiger]

1.3.1 (29 Aug 2017)

  • Merge pull request #213 from onk/feature/proc_expireat Allow to set proc for expireat [Nate Wiger]

  • Merge pull request #212 from yuzixun/hotfix/counter modify Counter#nil? [Nate Wiger]

  • Merge pull request #207 from i2bskn/improve_bulk_get Reduce query to Redis. [Nate Wiger]

  • Merge pull request #209 from yuzixun/hotfix/hash_key/bulk_related fix error when fields/keys is an array [Nate Wiger]

  • Use pre-calculated symbols for instance_variable_(get|set) for performance #211 [Nate Wiger]

  • Weird inheriting from version AR::Migration thingy [Nate Wiger]

  • Reduce query to Redis. Don’t query to Redis if #bulk_get/#bulk_values arguments is empty. [i2bskn]

1.3.0 (11 Mar 2017)

  • handle two Redis::Counter objects adding/subtracting [Nate Wiger]

  • Merge pull request #193 from Galathius/Galathius-patch-1 Doesn’t set default value to redis when just try read [Galathius]

  • Merge pull request #194 from oggy/pop-shift-n Add support for popping/shifting multiple elements from a List. [oggy]

  • Merge pull request #199 from bf4/fix_hashkey_hmget_empty_collection Fixes case of hmget empty collection [bf4]

  • Merge pull request #200 from liukgg/master Add method “mget” to improve efficiency for fetching values of multiple objects [liukgg]

  • Fixes case of hmget empty collection to return nil or raise the appropriate error [Benjamin Fleischer]

  • Merge pull request #189 from mneumark/add_delete_whole_object_method Add @object.delete! whole object delete method [mneumark]

  • fix some tests for changes in AR 4.2 [nateware]

  • Add support for popping/shifting multiple elements from a List like ruby’s array [George Ogata]

  • Merge pull request #187 from rossta/bug_fix_to_json Add more complete #to_json and #as_json to also address recursion bugs [Ross Kaffenberger]

  • Doesn’t set default value to redis if just try to read [Ilya Kamenko]

  • Add specs for #as_json [Ross Kaffenberger]

  • Implement BaseObject#as_json and #to_json in terms of #to_hash [Ross Kaffenberger]

  • Add delete! method to Redis::Objects [Micah Neumark]

  • Implement #value, #to_json for Redis::BaseObject to fix previous situations where #to_json would hang [Ross Kaffenberger]

  • Reproduce blocking #to_json call issue #134 When using ActiveSupport’s Object#to_json [Ross Kaffenberger]

1.2.1 (1 Nov 2015)

  • Fixed use of #tap which caused issues with pipelined calls [Ross Kaffenberger]

  • Removed setnx on get some value with default option [Ilya Kamenko]

1.2.0 (30 Apr 2015)

  • New expiration implementation to address edge cases and missing methods [Ross Kaffenberger]

  • Add support for expiration/expireat on HashKey#update [Ross Kaffenberger]

  • Make locks with 0 timeout possible [Jean Boussier]

  • Update hdel methods to support deleting multiple keys [Star]

1.1.0 (21 Jan 2015)

  • Support connection_pool usage via a proxy object [Jared Jenkins]

  • Fix typo on :counter usage [Kevin Bongart]

  • Use parent redis_id_field if present [Arnaud Lavrard]

  • Fetch the objects options through a redis_options method [Arnaud Lavrard]

1.0.1 (14 Oct 2014)

  • Array handling for unmarshal [dreyks]

  • Test against Ruby 2.1 / 2.2 on Travis CI [tricknotes]

  • Redis::Set#randmember method accept count as optional parameter [xeviknal]

1.0.0 (25 Jul 2014)

  • Fix expiration filter to handle atomic blocks, remove method aliasing [nateware]

  • Fix incrbyfloat to actually return a float [james-lawrence]

  • Allow false as default: value (bugfix) [james-lawrence]

  • Allow unionstore and interstore between sorted sets and sets [jrdi]

  • Add syntax highlighting to README.md [bartolsthoorn]

0.9.1 (25 Mar 2014)

  • Fix bad marshal calls in SortedSet [Fleurer, nateware]

  • Handle marshalling/unmarshalling of nil values [anujdas]

  • Add :default as synonym to :start for Counter [Fleurer]

0.9.0 (6 Feb 2014)

  • Ensure we don’t double-unmarshal values, which could be a security issue [markijbema, nateware]

  • Support a custom redis connection per redis key [hfwang]

  • HashKey#fetch now behaves more similarly to Ruby [datapimp]

  • Add incrbyfloat and decrbyfloat for values and hashes [nateware]

  • Add support for @sorted_set.merge and variadic zadd [hfwang]

  • Add support for srandmember for sets [LYY]

  • Handle @set << [] in an intelligent way [kitchen]

  • Add multi-unshift functionality [nateware]

  • Additional test coverage for @sorted_set.merge and other ops [nateware]

0.8.0 (9 Nov 2013)

  • Refactor to modular include/extend approach to enable hooking and remove evals [nateware]

  • Custom id field via redis_id_field :whatever [liuming]

  • Support marshaling of sorted set key names for incr/decr [hfwang]

  • Add support for pushing multiple values into a list [scranton]

  • Fix problematic typo in HashKey#fill [johnmaxwell]

  • Fix wrong parameter order for revrangebyscore method [FoGhost]

  • Convert to using Bundler from Jeweler to manage gem [nateware]

0.7.0 (27 Feb 2013)

  • Enable inheritance of Redis::Objects models [rossta]

  • Finally fix require/autoload so “require ‘redis/foo’” is not needed [nateware]

  • Redis::Objects.redis= now properly sets subclass handles as expected [nateware]

  • Add lib/redis-objects.rb for easier Gemfile require [notEthan]

  • Fix wrong readme line, fix some indentation [giglemad]

0.6.1 (13 Dec 2012)

  • Fixed error that incorrectly specified activerecord as a gem dep [nateware]

0.6.0 (13 Dec 2012)

  • Add [email protected]()+ method to add multiple members at once [hfwang]

  • Add insert method to Redis::List instances [giglemad]

  • Updated APIs for recent redis-server sort API compat [nateware]

  • Add HashKey#bulk_values for fetching values in the same order than the given keys [aspgems]

  • Lists now handle the insert command

  • Changed [email protected]+ method on SortedSet to return nil for invalid members [hkarthik]

  • Test using redis-objects counters and fix when AR passes a string

  • Add LSET to lists [neonlex]

  • Fix interstore/unionstore for redis 2.6 [david]

  • Redis-rb 3.0.0 support [seomoz]

  • group_set_with_scores is no longer needed.

0.5.2 (13 Jun 2012)

  • Added Redis::SortedSet#member? method [Karl Varga]

  • Added ttl method to CoreCommands [Karl Varga]

0.5.1 (23 May 2011)

  • Fixed super class delegation conflicts with Redis Counters vs ActiveRecord [Tim Aßmann]

  • Added zcount method to SortedSet [dunedain289]

  • Updated redis-objects to look for Redis.current and prefer it over global $redis variable [Jean Boussier]

  • Updated URLs to reflect new redis.io website [Jérémy Lecour]

0.5.0 (8 Nov 2010)

  • Incompatible change: Had to rename Redis::Hash to Redis::HashKey due to internal conflicts with Redis lib and Ruby [Nate Wiger]

  • Fixed AR counter override so that Redis::Objects doesn’t hide AR counters [Mattias Pfeiffer]

  • Fixed delete problem with Redis::List and complex values [Esdras Mayrink]

  • Fix Redis::HashKey to support complex (marshaled) types [Mattias Pfeiffer]

  • Group results of SortedSet#rangebyscore and #revrangebyscore if :withscores option is passed [Szymon Nowak]

  • Updated Redis DEL semantics per API change [Gabe da Silveira]

0.4.1 (23 Aug 2010)

  • Fixes for Ruby 1.8 failures due to missing flatten() [Gabe da Silveira]

  • Enable subclasses of classes mixing in Redis::Objects to automatically pick up objects from their superclasses [Gabe da Silveira]

  • Renamed prefix() and field_key() to redis_prefix() and redis_field_key() to prevent gem conflicts [Jason Meinzer]

  • Fixed a typo in delete_if and added missing test coverage [Julio Capote, Nate Wiger]

0.4.0 (11 Aug 2010)

  • Full support for redis hashes via new Redis::Hash class [Julio Capote, Nate Wiger]

  • Now dependent on redis-rb client 2.0.4 or later. Should still be backwards compatible with redis-server 1.x

  • Fixes to sets and sorted sets to bring them up to speed with redis-rb 2.0 from tomstuart [Tom Stuart]

  • Incompatible change: Update list and sorted_set to work consistently with Ruby in all cases [Tom Stuart]

  • Refactoring to make constructors common across all object types from dbalatero [David Balatero]

  • Renamed :withscores option to :with_scores for consistency with redis-rb 2.0, but kept backwards compat [Tom Stuart, Nate Wiger]

0.3.2 (21 Jul 2010)

  • New “maxlength” option to Redis::List can create length-limited lists (eg, like a ring buffer) from dbalatero [David Balatero]

  • Fix score conversions in Redis::SortedSet (scores are floats, not ints) from tomstuart [Tom Stuart]

  • Switched from rspec to bacon for tests

0.3.1 (1 Jun 2010)

  • Integrated fixes for sorted_set deletions from capotej [Julio Capote]

0.3.0 (14 Apr 2010)

  • Due to Ruby 1.9 bugs and performance considerations, marshaling of data types is now OFF by default. You must say :marshal => true for any objects that you want serialization enabled on. [Nate Wiger]

  • Sorted Set class changed slightly due to feedback. You can now get an individual element back via @set since it acts like a Hash.

0.2.4 (9 Apr 2010)

  • Added sorted set support via Redis::SortedSet [Nate Wiger]

0.2.3 (18 Feb 2010)

  • Added lock expiration to Redis::Lock [Ben VandenBos]

  • Fixed some bugs [Ben VandenBos]

  • Added lock tests and test helpers [Ben VandenBos]

0.2.2 (14 Dec 2009)

  • Added @set.diff(@set2) with “^” and “-” synonyms (oversight). [Nate Wiger]

  • Implemented Redis core commands in all data types, such as rename. [Nate Wiger]

  • Renamed Redis::Serialize to Redis::Helpers::Serialize to keep Redis

    cleaner. [Nate Wiger]

  • More spec coverage. [Nate Wiger]

0.2.1 (27 Nov 2009)

  • First worthwhile public release, with good spec coverage and functionality. [Nate Wiger]