All Versions
11
Latest Version
Avg Release Cycle
130 days
Latest Release
1605 days ago

Changelog History
Page 1

  • v0.5.3 Changes

    November 27, 2019

    🆕 New Features

    • 🔦 Expose Windows client authentication (#1018)

    🐛 Bug Fixes

    • 👌 Support more MySQL encodings and warn rather than crash on unsupported encodings (#1040)

    🔄 Changes

    • 🏁 Precompiled mysql2 gem for Windows supports Ruby 2.2, 2.3, 2.4, 2.5, 2.6. Windows Ruby 2.0 and 2.1 are dropped.
    • 💎 Keyword arguments have to be explicitly double-splatted in Ruby 2.7+ (#1084)
    • ➕ Add Centos to CI matrix (#989, #1085)
    • ✂ Remove spec from gem (#1044)
    • ⚡️ Replace Win32API with Fiddle, update appveyor.yml (#1053)
    • ⚡️ Update README to clarify the protocol value in DATABASE_URL (#1047)
    • 👌 Improve performance to call Mysql2::Result#each and Mysql2::Result#fields (#1046)
    • 🛠 Fix fragile specs due to clock skew and timeout/threads corruption (#1041)
    • ⚡️ README updates (#1002, #1038)
  • v0.5.2 Changes

    July 06, 2018

    🆕 New Features

    None

    🐛 Bug Fixes

    • 🌐 Bounds-check the encoding translation array from MySQL to Ruby encodings.

    🔄 Changes

    • ➕ Add more encoding translations for MySQL 8 compatibility.
  • v0.5.1 Changes

    April 11, 2018

    🆕 New Features

    • None

    🐛 Bug Fixes

    • 🛠 Fix with --with-mysql-dir (#952)
    • 🔀 Prevent command out of sync errors with Prepared Statements (#956, #957, #958)

    🔄 Changes

    • 🐎 Specs: Use the prepared statement performance schema if available (#960)
    • 🚅 README mysql2 0.5.x works with Rails 5.0.7, 5.1.6, and higher
    • README be sure to read about the known limitations of prepared statements
  • v0.5.0 Changes

    March 21, 2018

    💥 Breaking Changes

    • 💎 Ruby 2.0 or higher required. Ruby 1.8.7 and Ruby 1.9.3 are not supported.
    • 👍 MySQL 5.5 or higher required. MySQL 5.0 and 5.1 are not supported.
    • ⬆️ For Rails 4.x please pin the gem to mysql2 '~> 0.4.0' to avoid the 0.5.x upgrade.
    • 🚀 For Rails 5.x the next point releases will enable both mysql2 0.4.x and 0.5.x, but until the next point release you may wish to pin the mysql2 version in your Gemfile.

    🆕 New Features

    • Expose mysql_set_server_option to turn multiple statements on and off (#943)
    • Accept query options on Statement#execute (#912)
    • 👌 Support connect attributes and the program_name attribute (#760)
    • 👉 Make server_status variable available (#755)

    🐛 Bug Fixes

    • 🛠 Fix wrong value of type YEAR on big endian environment (#921)
    • MySQL 8.0.3 Release Candidate removes MYSQL_SECURE_AUTH (#891)
    • ⚠ Suppress Fixnum and Bignum warnings on Ruby 2.4 (#907)

    🔄 Changes

    • ⚠ Resolve warnings for my_bool vs. bool types (#916, #919)
    • Call BigDecimal(num) instead of BigDecimal.new(num) (#925, #928)
    • 0️⃣ GitHub is HTTPS by default (#922)
    • Misc Cleanups (#918)
    • 👻 More specific exception classes (#260, #404, #870, 911)
    • ⚡️ Update RuboCop to 0.50.x (#752)
    • Prefix more C functions with rb_mysql_ (#910)
    • 🛠 Fix compat with RubyInstaller-2.4 on Windows (#875)
  • v0.4.10 Changes

    December 15, 2017

    🆕 New Features

    • 👉 Make sure ssl is enabled if only :sslverify is set (#889)

    🛠 Fixes

    • Cast the BIT(1) type when :cast_booleans is true for prepared statements (#883, #903)
    • Compilation failures against MariaDB Connector/C 3.0.2 (#878, #888, #895, #900, #901, #902)
    • MYSQL_SECURE_AUTH has been removed in MySQL 8.0.3 RC (#892, #898)

    🔄 Changes

    • 👍 Better specs (#904)
    • 🚚 Extended keyword for the explain statement has been removed (#894)
  • v0.4.9 Changes

    August 11, 2017

    🐛 Bug Fixes

    • Fixed enable_cleartext_plugin mode (#874)
    • Prepared statements should handle booleans properly (#871)
  • v0.4.8 Changes

    July 11, 2017

    🐛 Bug Fixes

    Add ifdefs for MySQL 5.1 without MYSQL_ENABLE_CLEARTEXT_PLUGIN

  • v0.4.7 Changes

    July 01, 2017

    🆕 New Features

    • ➕ Add Mysql2::Client#closed? (#796)
    • Adding support for MYSQL_ENABLE_CLEARTEXT_PLUGIN flag (#845)

    🛠 Bugfixes

    • Avoid invalidating re-assigned socket fd by fixing connected check (#847)
    • 🛠 Fix use after free of client field when closing with reconnect option (#846)
    • 🛠 Fix segfault for Mysql2::Statement#fields on non-SELECT queries (#860)

    🔄 Changes

    • 👌 Support for MariaDB 10.2 (#857 and others)
    • ✅ Close several unclosed clients in tests (#848)
    • 📄 Docs: Fix link in readme (#854)
    • 🛠 Fix incorrect use of word "deprecated" (#855)
    • 🛠 Fix leaky test that caused a re-assigned socket to be closed on GC. (#853)
    • ✅ Wait for close to be processed by server in test for Threads_connected (#850)
    • 🛠 Fix flaky test that used Process.wait without specifying a pid (#849)
  • v0.4.6 Changes

    May 04, 2017

    🆕 New Features

    None.

    🛠 Bugfixes

    • Mysql2::Error: This connection is still waiting for a result, try again once you have the result (#772)
    • 🖐 Handle being terminated while reading query result (#811 )
    • 🛠 Fix segfault on SIGINT race condition (#816, #813)
    • 👍 Better error messages when the connection options have errors (#831)

    🔄 Changes

    • 🚚 Use bool instead of my_bool which has been removed since MySQL 8.0.1 (#840, #838)
    • Reminder for Mac users to install xcode-select (#832)
    • ⚡️ Update Travis CI and AppVeyor matrix (#820, #819, #812)
    • ⚡️ Update Travis CI for MySQL 8.0 tests (#818, #817)
  • v0.4.5 Changes

    October 22, 2016

    🆕 New Features

    • ➕ Add new connection argument :ssl_mode to Mysql2::Client#new
    • 👍 Prepared statements now support DateTime arguments

    🛠 Bugfixes

    • 🛠 Fix segfault when wrapper->result is used after it is freed
    • 👻 Raise an exception but don't crash on non-string encoding argument
    • 👻 Raise an exception but don't crash on nil argument to Mysql2::Client#new
    • Avoid RangeError on integers larger than LONG_LONG
    • 🛠 Fix a BigDecimal value binding in Prepared Statements
    • ⏱ Avoid type error when using connect_timeout, read_timeout and write_timeout in a DATABASE_URL env variable

    🔄 Changes

    • 👷 Travis CI matrix now includes MySQL 8.0
    • 👷 Travis CI matrix defaults to MySQL 5.6
    • 👷 AppVeyor CI matrix switched to MySQL 5.7
    • 🛠 Fix test that implicitly creates a passwordless user
    • 👉 Use RSpec expect output instead of StringIO
    • 🚚 Move macro REQUIRE_CONNECTED to client.c
    • ➕ Add a note about casting boolean columns
    • ⚠ Suppress rubocop's invalid UTF-8 literal warning