[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["Version latestkeyboard_arrow_down\n\n- [2.2.0 (latest)](/ruby/docs/reference/activerecord-spanner-adapter/latest/CHANGELOG)\n- [2.1.0](/ruby/docs/reference/activerecord-spanner-adapter/2.1.0/CHANGELOG)\n- [2.0.0](/ruby/docs/reference/activerecord-spanner-adapter/2.0.0/CHANGELOG) \n\nRelease history for activerecord-spanner-adapter\n================================================\n\n### 2.2.0 (2025-04-03)\n\n#### Features\n\n- transaction isolation level ([#355](https://github.com/googleapis/ruby-spanner-activerecord/issues/355))\n\n### 2.1.0 (2025-03-17)\n\n#### Features\n\n- support IDENTITY columns for auto-generated primary keys ([#352](https://github.com/googleapis/ruby-spanner-activerecord/issues/352))\n\n #### Documentation\n\n- add a test to verify that FOR UPDATE can be used ([#348](https://github.com/googleapis/ruby-spanner-activerecord/issues/348))\n\n- update README with the correct supported versions ([#349](https://github.com/googleapis/ruby-spanner-activerecord/issues/349))\n\n### 2.0.0 (2025-01-23)\n\n### ⚠ BREAKING CHANGES\n\n- drop support for Rails 6.1 ([#346](https://github.com/googleapis/ruby-spanner-activerecord/issues/346))\n- deserialize BYTES to StringIO ([#343](https://github.com/googleapis/ruby-spanner-activerecord/issues/343))\n\n#### Features\n\n- drop support for Rails 6.1 ([#346](https://github.com/googleapis/ruby-spanner-activerecord/issues/346))\n- support Rails 8.0 ([#331](https://github.com/googleapis/ruby-spanner-activerecord/issues/331))\n\n #### Bug Fixes\n\n- deserialize BYTES to StringIO ([#343](https://github.com/googleapis/ruby-spanner-activerecord/issues/343))\n\n #### Documentation\n\n- add rails dbconsole to list of limitations ([#224](https://github.com/googleapis/ruby-spanner-activerecord/issues/224))\n\n### 1.8.0 (2024-12-12)\n\n#### Features\n\n- INSERT OR [IGNORE\\|UPDATE](/ruby/docs/reference/activerecord-spanner-adapter/latest/[#332](https://github.com/googleapis/ruby-spanner-activerecord/issues/332))\n\n #### Bug Fixes\n\n- Fixed incorrect argument handling. ([#333](https://github.com/googleapis/ruby-spanner-activerecord/issues/333))\n\n### 1.7.0 (2024-12-11)\n\n#### Features\n\n- support Rails 7.2.0 ([#328](https://github.com/googleapis/ruby-spanner-activerecord/issues/328))\n\n #### Bug Fixes\n\n- `SpannerAdapter` requires prepared statements to be enabled ([#323](https://github.com/googleapis/ruby-spanner-activerecord/issues/323))\n\n- local emulator test ([#320](https://github.com/googleapis/ruby-spanner-activerecord/issues/320))\n\n### 1.6.3 (2024-08-31)\n\n#### Bug Fixes\n\n- a few Ruby DSL schema dump bug fixes ([#308](https://github.com/googleapis/ruby-spanner-activerecord/issues/308))\n\n #### Documentation\n\n- update bit-reversed sequence sample ([#303](https://github.com/googleapis/ruby-spanner-activerecord/issues/303))\n\n### 1.6.2 (2024-02-19)\n\n#### Bug Fixes\n\n- failed to convert active model type to spanner type under certain condition ([#299](https://github.com/googleapis/ruby-spanner-activerecord/issues/299))\n\n### 1.6.1 (2024-02-05)\n\n#### Bug Fixes\n\n- _insert_record failed for other adapters ([#298](https://github.com/googleapis/ruby-spanner-activerecord/issues/298))\n\n### 1.6.0 (2023-12-20)\n\n#### Features\n\n- interleaved tables with built-in composite pk ([#282](https://github.com/googleapis/ruby-spanner-activerecord/issues/282))\n- support Query Logs ([#291](https://github.com/googleapis/ruby-spanner-activerecord/issues/291))\n- support Rails 7.1 ([#278](https://github.com/googleapis/ruby-spanner-activerecord/issues/278))\n\n### 1.5.1 (2023-12-12)\n\n#### Bug Fixes\n\n- more permissive arg passthrough for insert_all and upsert_all ([#283](https://github.com/googleapis/ruby-spanner-activerecord/issues/283))\n\n### 1.5.0 (2023-11-03)\n\n#### Features\n\n- Drop support for Ruby 2.6 ([#270](https://github.com/googleapis/ruby-spanner-activerecord/issues/270))\n- translate annotate to tags ([#267](https://github.com/googleapis/ruby-spanner-activerecord/issues/267))\n\n #### Documentation\n\n- update README to reference PGAdapter for PG ([#263](https://github.com/googleapis/ruby-spanner-activerecord/issues/263))\n\n- update README to reference PGAdapter for PG ([#263](https://github.com/googleapis/ruby-spanner-activerecord/issues/263)) ([#268](https://github.com/googleapis/ruby-spanner-activerecord/issues/268))\n\n### 1.4.4 (2023-09-06)\n\n#### Bug Fixes\n\n- Support for changes in Rails 7.0.7. ([#260](https://github.com/googleapis/ruby-spanner-activerecord/issues/260))\n\n### 1.4.3 (2023-06-09)\n\n#### Bug Fixes\n\n- unquote string default value ([#253](https://github.com/googleapis/ruby-spanner-activerecord/issues/253))\n\n### 1.4.2 (2023-06-01)\n\n#### Bug Fixes\n\n- allow functions to be default values ([#252](https://github.com/googleapis/ruby-spanner-activerecord/issues/252))\n- use original types for composite primary keys ([#246](https://github.com/googleapis/ruby-spanner-activerecord/issues/246))\n\n### 1.4.1 (2023-03-01)\n\n#### Bug Fixes\n\n- wrap default values in () as required ([#238](https://github.com/googleapis/ruby-spanner-activerecord/issues/238))\n\n #### Documentation\n\n- call out best practices and dialect compatibility ([#240](https://github.com/googleapis/ruby-spanner-activerecord/issues/240))\n\n### 1.4.0 (2023-01-18)\n\n#### Features\n\n- dropped support for Ruby 2.5 ([#236](https://github.com/googleapis/ruby-spanner-activerecord/issues/236))\n\n### 1.3.1 (2022-12-15)\n\n#### Bug Fixes\n\n- build error for ruby 2.5 ([#216](https://github.com/googleapis/ruby-spanner-activerecord/issues/216))\n\n### 1.3.0 (2022-12-08)\n\n#### Features\n\n- add check constraint support to migrations ([#205](https://github.com/googleapis/ruby-spanner-activerecord/issues/205))\n- allows passing of type parameter when creating parent_key column ([#195](https://github.com/googleapis/ruby-spanner-activerecord/issues/195))\n- include index options in the output of SchemaDumper ([#203](https://github.com/googleapis/ruby-spanner-activerecord/issues/203))\n- schema_dumper should use DDL batch ([#207](https://github.com/googleapis/ruby-spanner-activerecord/issues/207))\n- support column DEFAULT expressions in migrations ([#196](https://github.com/googleapis/ruby-spanner-activerecord/issues/196))\n\n #### Bug Fixes\n\n- ignore no database when recreating ([#208](https://github.com/googleapis/ruby-spanner-activerecord/issues/208))\n\n #### Documentation\n\n- fix typo in example of interleaved-tables ([#209](https://github.com/googleapis/ruby-spanner-activerecord/issues/209))\n\n### 1.2.2 (2022-08-29)\n\n#### Documentation\n\n- add ActiveRecord 7 as a supported version to the README ([#189](https://github.com/googleapis/ruby-spanner-activerecord/issues/189))\n- update limitation on interleaved tables and default column values ([#190](https://github.com/googleapis/ruby-spanner-activerecord/issues/190))\n\n### 1.2.1 (2022-08-28)\n\n#### Bug Fixes\n\n- Corrected the namespace for the transaction selector class ([#187](https://github.com/googleapis/ruby-spanner-activerecord/issues/187))\n\n### 1.2.0 (2022-08-03)\n\n#### Features\n\n- support composite primary keys for interleaved tables ([#175](https://github.com/googleapis/ruby-spanner-activerecord/issues/175))\n\n### 1.1.0 (2022-06-24)\n\n#### Features\n\n- Support insert_all and upsert_all with DML and mutations\n\n### 1.0.1 (2022-04-21)\n\n#### Bug Fixes\n\n- ActiveRecord::Type::Spanner::Array does not use element type\n\n#### Documentation\n\n- add limitation of interleaved tables\n- fix a couple of minor formatting issues\n\n### 1.0.0 (2021-12-07)\n\n- GA release\n\n### 0.7.1 (2021-11-21)\n\n#### Performance Improvements\n\n- inline BeginTransaction with first statement in the transaction\n\n### 0.7.0 (2021-10-03)\n\n#### Features\n\n- add support for query hints\n\n### 0.6.0 (2021-09-09)\n\n#### Features\n\n- support JSON data type\n- support single stale reads\n- support stale reads in read-only transactions\n\n### 0.5.0 (2021-08-31)\n\n#### Features\n\n- Add support for NUMERIC type\n- Add support for ARRAY data type\n- google-cloud-spanner version upgraded to 2.2\n- retry session not found\n- support and test multiple ActiveRecord versions\n- support DDL batches on connection\n- support generated columns\n- support interleaved indexes + test other index features\n- support optimistic locking\n- support PDML transactions\n- support prepared statements and query cache\n- support read only transactions\n- support setting attributes to commit timestamp\n\n#### Performance Improvements\n\n- add benchmarks"]]