Releases: 3rd-Eden/memcached
AWS friendly
Compatibility improvements
This release improves compatiblity with Ubunty releases of Memcached. Ubunty likes injecting its name into the Memcached version, breaking our parser. This was fixed by @mrlannigan (thanks!).
We now also test all Travis runs against Node 4 and 5.
IOJS / Node 4.0 support
The underlaying hashring module has been updated and had its binary addons removed. While the test showed no regression in hashring distribution, I would rather be safe than sorry and published it as 2.2.0 instead of 2.1.1.
Yet another hashring distribution update
There was another incompatibility discovered in the hash ring module, see 3rd-Eden/node-hashring#23. So we've bumped the dependency of hashring and as the distribution slightly changes again, we've also done a major update of this module.
Sorry for the inconvenience.
1.0 - Major breaking change
New hash ring version
This 1.0 release contains a major breaking change for those of us who are using multiple servers with the memcached driver. The 1.0 release contains an updated hashring module which is now fully compatible with libketama and the python hash_ring module. Because of the changes within this module your keys will be requested on different servers as the hash ring now uses a better distribution. To switch between hashing algorithms you can set a compatiblity
option. It's ketama by default but you can switch to hash_ring compatiblity by setting to hash_ring
The updated hashring module also fixes a memory leak that we had within memcached as key->server mapping is now cached with a LRU cache instead of just a plain object.
No more CHANGELOG
Also as you might have noticed, the CHANGELOG.md
file has been deleted. All future releases and changes will be announced using the releases feature of Github. To see a full list of changes you can just compare the different versions as from now on, we will make sure that every release is automatically tagged (which is done automatically for us using the Github releases feature).
Death to domains
Domains have been source of pain, it's an experimental feature and in some cases lead to memory leaks and crashes of applications. We've decided to completely remove support for domains and believe that node should make it possible for users to implement this instead of library authors.
Future
So what is the future of this module. As some of you might have been noticing the commits and fixes in this module has been slacking to a point of being completely dead at times. My apologies for this but it's quite hard to maintain all your modules equally. If you wish to help maintaining or sponsor the maintenance, please reach out to me on twitter or send me an e-mail.
To keep this module moving forward I've decided to re-start my 1.0 branch which implements a new parser and reboot it as the future 2.0. The new parser will fix a lot of new line issues that this module has faced and dramatically improves the parsing speed. As this will touch all API's it should be considered that it will be a full rewrite of the module as it also allows me to clean up dead and horrible code.