| Age | Commit message (Collapse) | Author | Files | Lines |
|
0.5.4 (2022-05-03)
* The taint mechanism will be deprecated in Ruby 2.7 by @kamipo in #1083
* Made argument types strict for ruby 2.7 by @nobu in #1096
* Update rake (and rake-compiler) to suppress the warning. by @junaruga in
#1099
* Fix crash if a Mysql2::Client object is allocated but never connected by
@sodabrew in #1101
* Remove Enumerable include from Statement class by @adamcrown in #1104
* Add project metadata to the gemspec by @orien in #1089
* Don't call mysql_close if mysql_init wasn't called. by @fimmtiu in #1111
* Client session tracking by @insom in #1092
* Avoid a hash object allocation per each query/execute call by @kamipo in
#1112
* Implementing type reflection from mysql result by @danhuynhdev in #1068
* Register C global variables to Ruby GC to avoid problems with GC.compact
by @casperisfine in #1115
* Clarify Rails 4.2.11 support in Readme by @muzfuz in #1131
* Improve Homebrew compatibility by @stefansundin in #1135
* Tiny README syntax markup for consistency by @fwolfst in #1164
* Add GitHub Actions. by @junaruga in #1154
* Run GC.verify_compaction_references on CI by @casperisfine in #1155
* GitHub Actions: Add CentOS/Fedora cases. by @junaruga in #1168
* Random SEGV in do_send_query() by @unak in #1150
* GitHub Actions: Add macOS cases. by @junaruga in #1170
* Add GitHub Actions badges. by @junaruga in #1172
* Rename .travis_* files to ci/*. by @junaruga in #1171
* Make the benchmarks group optional. by @junaruga in #1173
* Verify the testing database before running tests. by @junaruga in #1174
* Rename the before/after hooks's symbol on RSpec 2 to the one on RSpec
3. by @junaruga in #1177
* Refactor CI yaml files by @junaruga in #1176
* Fix test failures on MariaDB by @junaruga in #1193
* Fix some typos [ci skip] by @kamipo in #1195
* Travis: Remove the command to pin Rubygems. by @junaruga in #1188
* Make Result#fields return interned strings in Ruby 3+ by @casperisfine in
#1181
* Can't enable SSL with MariaDB driver library. (#1182) by @vakuum in #1183
* Fix broken URL [ci skip] by @gaurish in #1207
* Dynamically set Homebrew-installed OpenSSL flag by @olivierlacan in #1204
* Setup default CA path if not provided by @dbussink in #1206
* Allow setting VERIFY_IDENTITY for MariaDB by @dbussink in #1205
* Fix session tracking tests by @insom in #1222
* Update Mysql2::Result spec for Ruby 3.1 by @casperisfine in #1219
* Update DATETIME casting tests for mysql 8.0 by @casperisfine in #1221
* Fix syntax by @tenderlove in #1223
* Fix more builds by @tenderlove in #1224
* Fix a mismatching size warning by @casperisfine in #1227
* Move rubocop to a separate CI job by @casperisfine in #1225
* improve ConnectionError mapping by @ThomasSevestre in #1215
* Undefine T_DATA allocators for Ruby 3.2 compatibility by @casperisfine in
#1236
* Add Ruby 3.1 to the CI matrix by @casperisfine in #1235
* Fix to build with MySQL 5.1 by @arika in #1197
* fix typo in README by @nealharris in #1247
* Add signing key for MySQL 5.7.37 / 8.0.28 and higher by @sodabrew in #1254
* Remove ubuntu-16.04 from workflows by @mishina2228 in #1257
* Update GitHub Actions workflows by @mishina2228 in #1253
|
|
|
|
0.5.3 (2019-11-27)
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)
|
|
0.5.2 (2018/07/06)
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.
|
|
0.5.1 (2018/04/11)
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
|
|
0.5.0 2018/3/21
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.
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)
* 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)
|
|
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)
|
|
0.4.9 2017/08/11
Bug Fixes
* Fixed enable_cleartext_plugin mode (#874)
* Prepared statements should handle booleans properly (#871)
|
|
0.4.7
* Adding support for MYSQL_ENABLE_CLEARTEXT_PLUGIN flag (#845)
* Avoid invalidating re-assigned socket fd by fixing connected check (#847)
* 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)
* Add a Mysql2::Client#closed? method (#796)
* Fix use after free of client field when closing with reconnect option (#846)
* Fix leaky test that caused a re-assigned socket to be closed on GC. (#853)
* Close several unclosed clients in tests (#848)
* Fix spec that expected Client#socket on all platforms, it's not available on
WIndows
* Docs: Fix link in readme (#854)
* English grammar: Fix incorrect use of word "deprecated" (#855)
* Minimal required changes to make it work for mariadb 10.2 (#857)
* Fix segfault for Mysql2::Statement#fields on non-SELECT queries
* Fix for name change of struct NET.vio to .pvio in MariaDB Connector/C 3.x.
* Fix for MariaDB 10.2 which does not define CLIENT_LONG_PASSWORD
* Add README section to discuss the special meaning of localhost
* Move the section for Multple Result Sets
* Update MySQL Connector/C version for Windows
* Change the quoting for unzipping MySQL Connector/C for Windows
0.4.8
* Add ifdefs for MySQL 5.1 without MYSQL_ENABLE_CLEARTEXT_PLUGIN
|
|
0.4.6 2017/5/4
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)
|
|
0.4.5
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
|
|
Bugfixes
• Fix segv when num of rows is zero
• Fix failed to allocate memory for an empty result set
• Fix :cache_rows => false on prepared statements
• Fix results buffer allocation fails with prepared statements
Changes
• Allow repeated each with :cache_rows => false
• Fix some tests for non-default creds
• Use the Travis Trusty image for Travis CI
|
|
0.4.3
New Features
* Add method Client#ssl_cipher to expose mysql_get_ssl_cipher
* Add method Result#free to immediately free a result set
* Add connection flag automatic_close: true/false to determine whether to
work around connections being closed by garbage collection in a child
after a fork. Default is true, which restores behavior prior to 0.3.16.
Bugfixes
* Fix to hold the GVL between mysql_stmt_execute and mysql_stmt_store_result
to prevent commands hitting the wire out of sync (e.g. if a GC run occurs
in the middle)
* Fix BigDecimal arguments to Prepared Statements were ignored
* Fix rake re-definition warning
Changes
* Add Ruby 2.3 to the Travis CI matrix
* Allow nil for timeouts instead of casting to 0 when creating a Client
instance
* Add connection flag automatic_close: true/false to determine whether to
work around connections being closed by garbage collection in a child
after a fork. Default is true, which restores behavior prior to 0.3.16.
|
|
* Free the MYSQL client handle after mysql_close to avoid a memory leak.
* Avoid crashing when Statement#close is called before a Result is
garbage collected.
|
|
0.4.1
0.4.0
@sodabrew sodabrew released this 26 days ago · 54 commits to master since this
release
New Features
* Support for Prepared Statements!
* Add connection option :sslverify
* Use mariadb_config for MariaDB builds
Bugfixes
* Fix Mysql2::Result#count always returns 0 when using stored procedures and
MULTI_STATEMENTS
Changes
* Prevent Timeout::timeout from interrupting query execution
* Use Ruby's String#encode to remove unrecognized characters from error messages
* Convert specs to RSpec 3 expect sytnax
* Refactored the Travis CI test scripts
* Misc cleanups with Rubocop
* Stricter CFLAGS
0.3.20
@sodabrew sodabrew released this on 25 Aug · 205 commits to master since this
release
Bugfixes
* Check if O_CLOEXEC is defined before using it in open()
* Fix an infinite loop while searching for libmysqlclient when mysql_config is
not found
Changes
* Call RakeCompilerDock.sh twice, once for 32-bit and once for 64-bit, when
building Windows binary gems
0.3.19
@sodabrew sodabrew released this on 30 Jul · 205 commits to master since this
release
New Features
* Mysql2::Client#info class method for easier debugging, and both the class
and instance method return US_ASCII output rather than using the connection
encoding.
* When streaming results, continue result.count across calls to result.each
Bugfixes
* Search for mariadb_config on compile
* Update to Connector/C 6.1.6 in the Windows builds
* Fix Mysql2::Client#escape to set the encoding even if the string was not
modified
* Fix LICENSE filename in gem file list
* Make the result.count return type consistent and match the source type
Changes
* Rename macro GetMysql2Result to GET_RESULT
* Convert StringValuePtr to either RSTRING_PTR or StringValueCStr
* Fix unused variable warning on Windows in rb_mysql_client_socket
* Add Ruby 2.2 to the AppVeyor matrix
* Test default client flag equality instead of bitwise truthiness
* Add rake-compiler-dock for building Windows binary gems
* Friendly ext build error <3
* Process :stream option in rb_mysql_result_to_obj once instead of
rb_mysql_result_each for each call to each
* Tests for streaming and stored procedures with multiple result sets
|
|
Changes are not available. Frmo commit log,
* Fix msec is not passed when calling db_timezone by rb_funcall().
* match callbacks_run inside event loop.
Other changes are Windows and cross build improvements.x
|
|
No exact Changelogs are available, please refer commit log on github.
Here is a two of them.
* Better Ruby 2.1 support.
* Add MariaDB support.
|
|
Exact changes nor release note isn't available but several bug fixes and
better support for Ruby 2.1. For more information, please refer commit
log <https://github.com/brianmario/mysql2/commits/master>.
|
|
Various bug fixes.
|
|
Exact changes aren't available. Please refer change log in github.
|
|
|
|
|
|
|
|
Mysql2
Mysql2 is a modern, simple and very fast Mysql library for Ruby - binding to
libmysql.
The Mysql2 gem is meant to serve the extremely common use-case of connecting,
querying and iterating on results. Some database libraries out there serve as
direct 1:1 mappings of the already complex C API's available. This one is
not.
It also forces the use of UTF-8 (or binary) for the connection (and all
strings in 1.9, unless Encoding.default_internal is set then it'll convert
from UTF-8 to that encoding) and uses encoding-aware MySQL API calls where it
can.
|