Skip to content

Releases: blackbeam/rust-mysql-simple

v9.1.0

23 Feb 14:06

Choose a tag to compare

Changes:

  1. Serde-based JSON support via serde_integration feature (thanks to @TheServerAsterisk).
  2. Connect timeout is implemented and available through tcp_connect_timeout option and tcp_connect_timeout_ms url parameter.

v9.0.0

25 Jan 18:19

Choose a tag to compare

Changes:

  1. JSON support.
  2. openssl updated to v0.9
  3. tcp_keepalive_timeout_ms option added.

JSON Support

  1. FromValue is implemented for rustc_serialize::json::Json and for Unserialized<T> where T: Decodable:

    #[derive(RustcDecodable)]
    struct DecodableStruct {
        // ...
    }
    // ...
    let (Unserialized(val),): (Unserialized<DecodableStruct>,)
        = from_row(row_with_single_json_column);
  2. From<Json> and From<Serialized<T>> where T: Encodable is implemented for Value:

    #[derive(RustcEncodable)]
    struct EncodableStruct {
        // ...
    }
    // ...
    conn.prep_exec("INSERT INTO table (json_column) VALUES (?)",
                   (Serialized(encodable_struct_instance),));

v8.0.0

25 Dec 21:33

Choose a tag to compare

Changes:

  1. Reexport chrono and time crates (@deniskolodin).
  2. Conditional compilation and io module refactoring (@deniskolodin).
  3. socket, pipe and uuid features removed.
  4. Native ssl support on OS X (via security framework).
  5. Fix unicode handling in parse_named_params.
  6. ssl feature is now opt-in.
  7. GenericConnection trait introduced (@alex-gulyas).
  8. Traits reexports moved to mysql::prelude module.

v7.1.2

13 Sep 17:31

Choose a tag to compare

#64 fixed.

v7.1.1

12 Sep 10:24

Choose a tag to compare

⚠️ Note that version bumped incorrectly so there is no v7.1.0

Changes (thanks goes to @Diggsey 👍):

  1. utf8mb4 encoding used by default for mysql>=5.5.3.
  2. Support for custom local infile handlers added.

v7.0.1

06 Sep 19:16

Choose a tag to compare

Numbers now allowed in named parameters names, but name can't start with a number.
:param1 now is a valid named parameter, but :1param still isn't.

v7.0.0

13 Aug 07:14

Choose a tag to compare

uuid version bumped.

v6.0.0

05 Aug 07:22

Choose a tag to compare

This release fixes typo in PooledConn::drop() which leads to huge performance regressions for cases where number of acquired PooledConns is greater than pool.min. It also fixes Pool::first_exec signature (mut removed) and adds implementation of From<[u8; 0..32]> for Value.

Also this release adds a bunch of performance improvements as a result of solving #53:

  • Column was rewritten to speedup Column::from_payload and Column::clone(). It affects performance of prepare and prep_exec in all cases.
  • Connectivity check was improved. It affects performance of Pool::prepare and Pool::get_conn.
  • TLS slot for pool connection was added. It removes pool overhead in many cases.
  • A way to turn off connectivity checks, pool-level stmt cache and TLS slot was added. Turning off connectivity checks may speedup batch jobs in cases when Pool::get_conn and Pool::prepare is frequently used.
  • XXHash now used for stmt cache.
  • InnerPool now using VecDeque to store connections.

v5.2.2

12 Jul 19:03

Choose a tag to compare

  • params! macro was improved so this:

    // ...
    params! {
        foo => my::Value::from("foo"),
        bar => my::Value::from(42),
    }
    // ...

    now could be written like this:

    // ...
    params! {
        foo => "foo",
        bar => 42,
    }
    // ...

v5.2.1

12 Jul 18:59

Choose a tag to compare

  • The lifetime of a pool is now untied from a Transaction in Pool::start_transaction