### 2.12.0 / 2012-11-12
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.11.4...2.12.0)
Enhancements
* Support validation contexts when using `#errors_on` (Woody Peterson)
* Include RequestExampleGroup in groups in spec/api
Bug fixes
* Add `should` and `should_not` to `CollectionProxy` (Rails 3.1+) and
`AssociationProxy` (Rails 3.0). (Myron Marston)
* `controller.controller_path` is set correctly for view specs in Rails 3.1+.
(Andy Lindeman)
* Generated specs support module namespacing (e.g., in a Rails engine).
(Andy Lindeman)
* `render` properly infers the view to be rendered in Rails 3.0 and 3.1
(John Firebaugh)
* AutoTest mappings involving config/ work correctly (Brent J. Nordquist)
* Failures message for `be_new_record` are more useful (Andy Lindeman)
### 2.11.4 / 2012-10-14
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.11.0...v2.11.4)
Capybara-2.0 integration support:
* include RailsExampleGroup in spec/features (necessary when there is no AR)
* include Capybara::DSL and Capybara::RSpecMatchers in spec/features
See [https://github.com/jnicklas/capybara/pull/809](https://github.com/jnicklas/capybara/pull/809)
and [http://rubydoc.info/gems/rspec-rails/file/Capybara.md](http://rubydoc.info/gems/rspec-rails/file/Capybara.md)
for background.
2.11.1, .2, .3 were yanked due to errant documentation.
### 2.12.0 / 2012-11-12
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.3...2.12.0)
Enhancements
* `and_raise` can accept an exception class and message, more closely
matching `Kernel#raise` (e.g., `foo.stub(:bar).and_raise(RuntimeError, "message")`)
(Bas Vodde)
* Add `and_call_original`, which will delegate the message to the
original method (Myron Marston).
Deprecations:
* Add deprecation warning when using `and_return` with `should_not_receive`
(Neha Kumari)
### 2.11.3 / 2012-09-19
[full changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.2...v2.11.3)
Bug fixes
* Fix `:transfer_nested_constants` option of `stub_const` so that it
doesn't blow up when there are inherited constants. (Myron Marston)
* `any_instance` stubs can be used on classes that override `Object#method`.
(Andy Lindeman)
* Methods stubbed with `any_instance` are unstubbed after the test finishes.
(Andy Lindeman)
* Fix confusing error message when calling a mocked class method an
extra time with the wrong arguments (Myron Marston).
### 2.12.0 / 2012-11-12
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.3...2.12.0)
Enhancements
* Colorize diffs if the `--color` option is configured. (Alex Coplan)
* Include backtraces in unexpected errors handled by `raise_error`
matcher (Myron Marston)
* Print a warning when users accidentally pass a non-string argument
as an expectation message (Sam Phippen)
* `=~` and `match_array` matchers output a more useful error message when
the actual value is not an array (or an object that responds to `#to_ary`)
(Sam Phippen)
Bug fixes
* Fix `include` matcher so that `expect({}).to include(:a => nil)`
fails as it should (Sam Phippen).
* Fix `be_an_instance_of` matcher so that `Class#to_s` is used in the
description rather than `Class#inspect`, since some classes (like
`ActiveRecord::Base`) define a long, verbose `#inspect`.
(Tom Stuart)
### 2.11.3 / 2012-09-04
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.2...v2.11.3)
Bug fixes
* Fix (and deprecate) `expect { }.should` syntax so that it works even
though it was never a documented or intended syntax. It worked as a
consequence of the implementation of `expect` in RSpec 2.10 and
earlier. (Myron Marston)
* Ensure #== is defined on built in matchers so that they can be composed.
For example:
expect {
user.emailed!
}.to change { user.last_emailed_at }.to be_within(1.second).of(Time.zone.now)
### 2.11.2 / 2012-07-25
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.1...v2.11.2)
Bug fixes
* Define `should` and `should_not` on `Object` rather than `BasicObject`
on MacRuby. On MacRuby, `BasicObject` is defined but is not the root
of the object hierarchy. (Gabriel Gilder)
### 2.12.2 / 2012-12-13
[full changelog](http://github.com/rspec/rspec-core/compare/v2.12.1...v2.12.2)
Bug fixes
* Fix `RSpec::Core::RakeTask` so that it is compatible with rake 0.8.7
on ruby 1.8.7. We had accidentally broke it in the 2.12 release
(Myron Marston).
* Fix `RSpec::Core::RakeTask` so it is tolerant of the `Rspec` constant
for backwards compatibility (Patrick Van Stee)
### 2.12.1 / 2012-12-01
[full changelog](http://github.com/rspec/rspec-core/compare/v2.12.0...v2.12.1)
Bug fixes
* Specs are run even if another at\_exit hook calls `exit`. This allows
Test::Unit and RSpec to run together. (Suraj N. Kurapati)
* Fix full doc string concatenation so that it handles the case of a
method string (e.g. "#foo") being nested under a context string
(e.g. "when it is tuesday"), so that we get "when it is tuesday #foo"
rather than "when it is tuesday#foo". (Myron Marston)
* Restore public API I unintentionally broke in 2.12.0:
`RSpec::Core::Formatters::BaseFormatter#format_backtrce(backtrace, example)`
(Myron Marston).
### 2.12.0 / 2012-11-12
[full changelog](http://github.com/rspec/rspec-core/compare/v2.11.1...2.12.0)
Enhancements
* Add support for custom ordering strategies for groups and examples.
(Myron Marston)
* JSON Formatter (Alex Chaffee)
* Refactor rake task internals (Sam Phippen)
* Refactor HtmlFormatter (Pete Hodgson)
* Autotest supports a path to Ruby that contains spaces (dsisnero)
* Provide a helpful warning when a shared example group is redefined.
(Mark Burns).
* `--default_path` can be specified as `--default-line`. `--line_number` can be
specified as `--line-number`. Hyphens are more idiomatic command line argument
separators (Sam Phippen).
* A more useful error message is shown when an invalid command line option is
used (Jordi Polo).
* Add `format_docstrings { |str| }` config option. It can be used to
apply formatting rules to example group and example docstrings.
(Alex Tan)
* Add support for an `.rspec-local` options file. This is intended to
allow individual developers to set options in a git-ignored file that
override the common project options in `.rspec`. (Sam Phippen)
* Support for mocha 0.13.0. (Andy Lindeman)
Bug fixes
* Remove override of `ExampleGroup#ancestors`. This is a core ruby method that
RSpec shouldn't override. Instead, define `ExampleGroup#parent_groups`. (Myron
Marston)
* Limit monkey patching of shared example/context declaration methods
(`shared_examples_for`, etc.) to just the objects that need it rather than
every object in the system (Myron Marston).
* Fix Metadata#fetch to support computed values (Sam Goldman).
* Named subject can now be referred to from within subject block in a nested
group (tomykaira).
* Fix `fail_fast` so that it properly exits when an error occurs in a
`before(:all) hook` (Bradley Schaefer).
* Make the order spec files are loaded consistent, regardless of the
order of the files returned by the OS or the order passed at
the command line (Jo Liss and Sam Phippen).
* Ensure instance variables from `before(:all)` are always exposed
from `after(:all)`, even if an error occurs in `before(:all)`
(Sam Phippen).
* `rspec --init` no longer generates an incorrect warning about `--configure`
being deprecated (Sam Phippen).
* Fix pluralization of `1 seconds` (Odin Dutton)
* Fix ANSICON url (Jarmo Pertman)
* Use dup of Time so reporting isn't clobbered by examples that modify Time
without properly restoring it. (David Chelimsky)
Deprecations
* `share_as` is no longer needed. `shared_context` and/or
`RSpec::SharedContext` provide better mechanisms (Sam Phippen).
* Deprecate `RSpec.configuration` with a block (use `RSpec.configure`).
### 2.11.1 / 2012-07-18
[full changelog](http://github.com/rspec/rspec-core/compare/v2.11.0...v2.11.1)
Bug fixes
* Fix the way we autoload RSpec::Matchers so that custom matchers can be
defined before rspec-core has been configured to definitely use
rspec-expectations. (Myron Marston)
* Fix typo in --help message printed for -e option. (Jo Liss)
* Fix ruby warnings. (Myron Marston)
* Ignore mock expectation failures when the example has already failed.
Mock expectation failures have always been ignored in this situation,
but due to my changes in 27059bf1 it was printing a confusing message.
(Myron Marston).
## 0.10.10 2012-10-11
No changes
## 0.10.9 2012-08-13
* Handle bigint insert id's
* Add handling for invalid date and datetimes with value 0000-00-00
* Handle empty database names for connecting to the default database
## 0.10.10 2012-10-11
* JRuby performance improvements
* Reconnect added on JRuby
* do\_sqlite3 C driver supports busy\_timeout
## 0.10.9 2012-08-13
* Don't try to escape queries when no binding parameters are given
=== 2.0.1 / 2012-11-02
* 1 bug fix:
* Fixed dependency on alpha ruby_parser. *sigh*
=== 2.0.0 / 2012-11-02
* 1 minor enhancement:
* Only do phase 1 testing if $SIMPLE=1.
* 1 bug fix:
* Fixed block args processing for RP 3.0 sexp changes
=== 2.0.0.b1 / 2012-07-27
* 4 major enhancements:
* Made it work without arglist in call.
* Made it work without scope/block in class/module/defn/defs.
* Removed block from resbody
* Removed block from when node
* 4 minor enhancements:
* Added debug task to help isolate an error
* Empty hash is now a proper {}
* Refactored and added finish method.
* Switched to new Ruby18Parser to avoid deprecation warnings
* 4 bug fixes:
* Fixed call with empty hash arg. (neilconway)
* OMG WTF... removed long decrepit ParseTree dependency
* Removed isolate/rake require to reduce minimum bootstrap to hoe + rake + rake install_plugins (*2)
* Skip 1.9 tests for now.
=== 4.1.3 / 2012-12-06
* 2 bug fixes:
* Code cleanup... what was I thinking???
* Explicitly setting pt_testcase.rb to US-ASCII to avoid encoding hell
=== 4.1.2 / 2012-11-03
* 1 bug fix:
* Sexp#structure should grep for Sexps, not Arrays
=== 4.1.1 / 2012-11-02
* 1 minor enhancement:
* iter args revamp for ruby_parser 3 changes.
=== 4.0.1 / 2012-07-03
* 4 minor enhancements:
* 1.9: Had to version split all my 'not' tests since 1.9 is insane.
* 1.9: f (args) is not allowed in 1.9.
* 1.9: f(hash, *splat) is not allowed in 1.9.
* Added module2 test to verify module w/ 2+ entities
* 2 bug fixes:
* 1.9: Changed !@ to ! since that is what you implement
* True to my wtf comment, there was a bug in my case_splat test
=== 4.0.0 / 2012-06-07
* 5 major enhancements:
* Removed :arglist from everything except :op_asgn1.
* Removed block from resbody
* Removed block from when node
* Removed block nodes inside of scope nodes (defn/defs/class/sclass).
* Removed scope nodes in defn/defs/class/sclass nodes.
* 1 minor enhancement:
* Added Sexp#deep_each and Sexp#each_sexp. Refactored from Flay
## 0.13.1
* Fix#97 - `Mocha::ParameterMatchers#has_entry` does not work with an Array as the entry's value. Thanks to @ngokli.
* Allow deprecation `:debug` mode to be switched on from `MOCHA_OPTIONS` environment variable.
## 0.13.0
* Major overhaul of MiniTest & Test::Unit integration. Mocha now integrates with later versions of the two test libraries using documented hooks rather than monkey-patching. This should mean that Mocha will integrate with new versions of either library without the need to release a new version of Mocha each time, which was clearly bad and unsustainable. Many thanks to @tenderlove, @zenspider & @kou for their help, suggestions & patience.
* Temporarily deprecated `require 'mocha'`. Use `require 'mocha/setup'` instead. The plan is that eventually `require 'mocha'` will *not* automatically integrate with either of the two test libraries as it does at the moment, and you'll need to explicitly & separately trigger the integration. I think this will provide a lot more flexibility and will hopefully do away with the need for the `require: false` option in the `Gemfile` which has always confused people.
* Deprecated `require 'mocha_standalone'` and `require 'mocha/standalone'`. Use `require 'mocha/api` instead.
* Although these are not part of Mocha's public API, I thought I should mention that the MiniTest and Test::Unit assertion counter classes have been combined into a single class `Mocha::Integration::AssertionCounter`.
* Extracted Mocha::Hooks module from Mocha::API and added documentation for test library authors.
* Improvements to documentation. Much of it has been combined into the README file.
* Fix#101 - Mock#respond_to? doesn't work with a string argument - thanks to @urbanautomaton.
* Fix#105 - Travis link in README - thanks to @cknadler.
* Various improvements to automated testing of integration with test libraries.
* Make deprecation warnings more prominent.
= 0.12.7
* Officially support minitest v4.1.0 (still monkey-patching).
= 0.12.6
* Fixes#103.
= 0.12.5
* Officially support minitest v3.5.0 (still monkey-patching).
== 2.1.0 / 2012-11-24
The major change of the 2.1 release is to switch over to `Hash#fetch`
as the fundamental CRUD read method inplace of the previous `#read` core
extension (an alias of `#[]`). This is a pretty fundamental change which
required modification of a number of classes. So please do extra-diligence
and file an issue if you experience any problems.
In addition, the Hash#read core extension has been renamed to Hash#retrieve
to avoid any possible confusion with IO objects. This release also fixes
a couple of issues with 1.8 compatibility and makes a few other small
enhancements.
Changes:
* Rename Hash#read to Hash#retrieve.
* Deprecate `Dictionary.alpha` in favor of `Dictionary.alphabetic`.
* Add support for block argument in Dictionary#order_by_key and #order_by_value.
* Fix OpenHash issues with Ruby 1.8.x compatibility.
* OpenHash methods are opened up via `protected` instead of `private`.
* Change OpenCascade to auto-create the subclass when inherited.
# News
## <a id="2-3-5">2.3.5</a>: 2012-12-11
This is a bug fix release.
### Fixes
* [POParser] Fixed the class name for backward compatibility.
## <a id="2-3-4">2.3.4</a>: 2012-12-11
This is a many changes and new implements release.
### Improvements
* [Merger] Implemented "fuzzy-match" with Levenshtein distance.
* Added the class "PO" for management PO entries. Please use PO
instead of PoData. (see details in
http://rubydoc.info/gems/gettext/GetText/PO.html)
* [POEntry (renamed from PoMessages)] Supported to specify msgstr.
* [POEntry] Stored comments each type
(translator\_comment, extracted\_comment, flag, previous).
see
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
for details of comment type.
* [POEntry] Checked if specified type is valid in #type=.
* [PoParser][MO] Concatenated msgctxt, msgid, msgid\_plural to
"#{msgctxt}\004#{msgid}\000"{msgid\_plural}" by MO instead of
PoParser. PoData and MO treat a concatenated string as msgid, but
PO doesn't.
* [PoParser] Parsed each type comment from whole comment.
### Changes
* Rename some classes and methods.
* PoMessage to PoEntry. This isn't "message" but "entry".
(See http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files)
* PoMessages#== to POEntry#mergeable?.
* PoMessages#to\_po\_str to POEntry#to\_s.
* PoMessages#sources(sources=) to POEntry#references(references=)
* MoFile to MO. For backword compatible, MoFile can be used now.
* PoParser to POParser. For backword compatible, PoParser can be used now.
* Raised no error when POEntry doesn't have references.
It is useful for no references in .PO file.
# News
## <a id="2-3-3">2.3.3</a>: 2012-10-18
It's a package fix and msginit improvement release.
### Improvements
* [msginit] Supported plural forms for Bosnian, Catalan, Norwegian
Bokmal and Chinese.
### Fixes
* Fixed the bug that messages (i.e. the help message for rmsgfmt)
aren't localized in each environment. However, some
messages aren't tranlated or resolved fuzzy. Please
help us to translate or resolve them.
[Github #12][Reported by mtasaka]
* Used String#% to localize some messages.
### Thanks
* mtasaka
## <a id="2-3-2">2.3.2</a>: 2012-09-20
It's a bug fix release.
### Fixes
* Fixed the bug that untranslated messages are included in a .mo file.
[Github #11][Reported by Ramón Cahenzli]
### Thanks
* Ramón Cahenzli
0.7.7
More fixes for App Engine, now less likely to swallow important exceptions.
Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
Added GeoTrust cert
Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/
The following issues have been fixed:
229 python3 httplib2 clobbers multiple headers of same key
230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes
The Mandelbulb is a three-dimensional analogue of the Mandelbrot
set. In reality there are many natural fractal shapes such as
clouds, trees, broccoli, and such.
1.8.4 (2012-11-25)
Updated distribute to 0.6.31. This fixes#359 (numpy install regression) on UTF-8 platforms, and provides a workaround on other platforms: PYTHONIOENCODING=utf8 pip install numpy.
When installing virtualenv via curl, don't forget to filter out arguments the distribute setup script won't understand. Fixes#358.
Added some more integration tests.
1.8.3 (2012-11-21)
Fixed readline on OS X. Thanks minrk
Updated distribute to 0.6.30 (improves our error reporting, plus new distribute features and fixes). Thanks Gabriel (g2p)
Added compatibility with multiarch Python (Python 3.3 for example). Added an integration test. Thanks Gabriel (g2p)
Added ability to install distribute from a user-provided egg, rather than the bundled sdist, for better speed. Thanks Paul Moore.
Make the creation of lib64 symlink smarter about already-existing symlink, and more explicit about full paths. Fixes#334 and #330. Thanks Jeremy Orem.
Give lib64 site-dir preference over lib on 64-bit systems, to avoid wrong 32-bit compiles in the venv. Fixes#328. Thanks Damien Nozay.
Fix a bug with prompt-handling in activate.csh in non-interactive csh shells. Fixes#332. Thanks Benjamin Root for report and patch.
Make it possible to create a virtualenv from within a Python 3.3. pyvenv. Thanks Chris McDonough for the report.
Add optional --setuptools option to be able to switch to it in case distribute is the default (like in Debian).
=== 3.3.1 / 2012-11-23
* 1 minor enhancement:
* Updated rake dep to be >= 0.8 and < 11.0 for the new wack version scheme. (MichaelXavier)
=== 3.3.0 / 2012-11-12
* 3 minor enhancements:
* Added Sow#make_sub_modules. (bhenderson)
* Hoe.normalize_names now returns test class name separately. (bhenderson)
* Sow now generates test and impl files with proper namespacing. (bhenderson)
=== 3.2.0 / 2012-11-09
* 3 minor enhancements:
* Added flog_method and defaulted it to max_method
* Changed flog_threshold to 20, 2x the industry average. Be strong. You can do it.
* Hoe#timebomb will now default finis/start values to 1/1 and 12/31 of the current year if not specified.
=== 3.1.0 / 2012-09-21
* 1 minor enhancement:
* Added Hoe#licenses and Hoe#license for declaring your gem's license. (flavorjones)
* 1 bug fix:
* Rake 0.8.7 sets verbose flag to true, breaking 2 tests. (michelboaventura)
0.17.3:
Bugs fixed
----------
* During final interpreter cleanup (with types cleanup enabled at compile
time), extension types that inherit from base types over more than one
level that were cimported from other modules could lead to a crash.
* Weak-reference support in extension types (with a "cdef __weakref__"
attribute) generated incorrect deallocation code.
* In CPython 3.3, converting a Unicode character to the Py_UNICODE type
could fail to raise an overflow for non-BMP characters that do not fit
into a wchar_t on the current platform.
* Negative C integer constants lost their longness suffix in the generated
C code.
0.17.2:
Features added
--------------
* ``cythonize()`` gained a best effort compile mode that can be used to
simply ignore .py files that fail to compile.
Bugs fixed
----------
* Replacing an object reference with the value of one of its cdef
attributes could generate incorrect C code that accessed the object after
deleting its last reference.
* C-to-Python type coercions during cascaded comparisons could generate
invalid C code, specifically when using the 'in' operator.
* "obj[1,]" passed a single integer into the item getter instead of a tuple.
* Cyclic imports at module init time did not work in Py3.
* The names of C++ destructors for template classes were built incorrectly.
* In pure mode, type casts in Cython syntax and the C ampersand operator
are now rejected. Use the pure mode replacements instead.
* In pure mode, C type names and the sizeof() function are no longer
recognised as such and can be used as normal Python names.
* The extended C level support for the CPython array type was declared too
late to be used by user defined classes.
* C++ class nesting was broken.
* Better checking for required nullary constructors for stack-allocated C++
instances.
* Remove module docstring in no-docstring mode.
* Fix specialization for varargs function signatures.
* Fix several compiler crashes.
=== 3.42.0 (2012-12-03)
* If an exception occurs while committing a transaction, attempt to rollback (jeremyevans)
* Support setting default string column sizes on a per-Database basis via default_string_column_size (jeremyevans)
* Reset Model.instance_dataset when extending the model's dataset (jeremyevans)
* Make the force_encoding plugin work with frozen strings (jeremyevans)
* Add Database#do on PostgreSQL for using the DO anonymous code block execution statement (jeremyevans)
* Remove Model.dataset_methods (jeremyevans)
* Allow subset to be called inside a dataset_module block (jeremyevans)
* Make Dataset#avg, #interval, #min, #max, #range, and #sum accept virtual row blocks (jeremyevans)
* Make Dataset#count use a subselect when the dataset has an offset without a limit (jeremyevans) (#587)
* Dump deferrable status of unique indexes on PostgreSQL (radford) (#583)
* Extend deferrable constraint support to all types of constraints, not just foreign keys (radford, jeremyevans) (#583)
* Support Database#copy_table and #copy_into on jdbc/postgres (bdon) (#580)
* Make Dataset#update not use a limit (TOP) on Microsoft SQL Server 2000 (jeremyevans) (#578)
=== 3.41.0 (2012-11-01)
* Add bin/sequel usage guide (jeremyevans)
* Make Dataset#reverse and #reverse_order accept virtual row blocks (jeremyevans)
* Add Sequel.delay for generic delayed evaluation (jeremyevans)
* Make uniqueness validations correctly handle nil values (jeremyevans)
* Support :unlogged option for create_table on PostgreSQL (JonathanTron) (#575)
* Add ConnectionPool#pool_type to get the type of connection pool in use (jeremyevans)
* Explicitly mark primary keys as NOT NULL on SQLite (jeremyevans)
* Add support for renaming primary key columns on MySQL (jeremyevans)
* Add connection_validator extension for automatically checking connections and transparently handling disconnects (jeremyevans)
* Add Database#valid_connection? for checking whether a given connection is valid (jeremyevans)
* Make dataset.limit(nil, nil) reset offset as well as limit (jeremyevans) (#571)
* Support IMMEDIATE/EXCLUSIVE/DEFERRED transaction modes on SQLite (Eric Wong)
* Major change in the Database <-> ConnectionPool interface (jeremyevans)
* Make touch plugin handle touching of many_*_many associations (jeremyevans)
* Make single_table_inheritance plugin handle non-bijective mappings (hannesg) (#567)
* Support foreign key parsing on MSSQL (munkyboy) (#564)
* Include SQL::AliasMethods in most pg_* extension objects (treydempsey, jeremyevans) (#563)
* Handle failure to create a prepared statement better in the postgres, mysql, and mysql2 adapters (jeremyevans) (#560)
* Treat clob columns as strings instead of blobs (jeremyevans)
=== 3.40.0 (2012-09-26)
* Add a cubrid adapter for accessing CUBRID databases via the cubrid gem (jeremyevans)
* Add a jdbc/cubrid adapter for accessing CUBRID databases via JDBC on JRuby (jeremyevans)
* Return OCI8::CLOB values as ruby Strings in the Oracle adapter (jeremyevans)
* Use clob for String :text=>true types on Oracle, DB2, HSQLDB, and Derby (jeremyevans) (#555)
* Allowing marshalling of Sequel::Postgres::HStore (jeremyevans) (#556)
* Quote channel identifier names when using LISTEN/NOTIFY on PostgreSQL (jeremyevans)
* Handle nil values when formatting bound variable arguments in the pg_row extension (jeremyevans) (#548)
* Handle nil values when parsing composite types in the pg_row extension (jeremyevans) (#548)
* Add :disconnect=>:retry option to Database#transaction, for automatically retrying the transaction on disconnect (jeremyevans)
* Greatly improved support on Microsoft Access (jeremyevans)
* Support Database#{schema,tables,views,indexes,foreign_key_list} when using ado/access adapter (ericgj) (#545, #546)
* Add ado/access adapter for accessing Microsoft Access via the ado adapter (jeremyevans)
* Combine disconnect error detection for mysql and mysql2 adapters (jeremyevans)
* Update the association_pks plugin to handle composite primary keys (chanks, jeremyevans) (#544)