All notable changes to this project will be documented in this file.
- Fix crash by requiring makara in the adapter #54 Eric Saxby
- Add connection logging in non-Rails enviroments #223 Andrew Kane
This release is a major change to how we remember state between requests. A redis store is no longer needed. Everything is in the cookies.
- Implement stickiness for the duration of
primary_ttl
via cookies #194 Rosa Gutierrez
Fixed
- Send nextval queries to primary and show queries to replicas for Postgres #173 Andrew Kane
- Fixes can't add a new key into hash during iteration error #174 Andrew Kane
- Fix: an application freezes when a replica is down #180 Alexey P
- Allow SELECTs that use common table expressions to go to replicas #184 Andrew Kane
- Send advisory lock requests to the primary #198 George Claghorn
- Postgres exists query #199 Brian Leonard
Documentation and Test
- Clarify README's "What goes where" #187 Jan Sandbrink
- Fix loading fixtures in Rails 5.2 #192 George Claghorn
- Travis Upgrade #199 Brian Leonard
Changed
- Add postgis support #118 Kevin Bacha
Changed
- Rails 5.1 compatibility #150 Jeremy Daer
- Minimize redundant context cache requests #157 Greg Patrick
- thread-local cache for previous context stickiness #158 Jeremy Daer
- Configurable cookie options #159 Jeremy Daer
- Test against Rails 5.x and Ruby 2.x #160 Jeremy Daer
Changed
- Fix the hierarchy of the config file #116 Kevin Bacha
- "Disable blacklist" parameter #134 Alex Tonkonozhenko
- Fixes bug in
without_sticking
#96 Brian Leonard - Always stick inside transactions #96 Brian Leonard
- Rails 5 support #122 Jonny McAllister
Changed
- Allow different strategies such as
priority
andround_robin
for pools #105 Brian Leonard
Changed
- Raise
Makara::Errors::AllConnectionsBlacklisted
on timeout. #104 Brian Leonard
Added
- Add
url
to database connections configurations. #93 Benjamin Fleischer
Changed
- Improve Postgresql compatibility and failover support, also fix #78, #79. #87 Vlad
- Update README: Specify newrelic_rpm gem versions that will have the performance issue. #95 Benjamin Fleischer
Changed
- A context is local to the curent thread of execution. This will allow you to stick to primary safely in a single thread in systems such as sidekiq, for instance. Fix #83. #84 Matt Camuto
Fixed
- Fix a
ArgumentError: not delegated
error for rails 3. #82 Eric Saxby
Changed
- Switch log format from
:info
to:error
. Mike Nelson
Changed
- Globally move to multiline matchers. Mike Nelson
Changed
Changed
- Reduce logging noise by using the same rules as ActiveRecord uses. #76 Andrew Kane
Fixed
- Fix an issue for postgres that would route all queries to primary. #72 Kali Donovan
- Fix an edge case which would cause SET operations to send to all connections(#70). #80 Michael Amor Righi
- Fix performance regression with certain verions of newrelic/rpm(#59). #75 Mike Nelson
Added
- Allow bypassing of stickiness
Added
- Add postgres specific tests.
Changed
- Change using methods for matchers to be able to monkey patch them.
- Follow AR naming conventions for adapter naming.
Removed
- Remove initial connection logic. If a connection can't be made on startup, an error will be thrown rather than the node getting blacklisted.
Added
- Add logging of makara operations via the Makara::Logger.
Changed
- Begin tracing the series of errors associated with blacklisting rather than just the last. This becomes apparent in error messages.
- Fix Rails.cache usage when full environment is not loaded.