1# Change Log 2 3## [Unreleased] 4 5## [v0.10.35] - 2021-06-18 6 7### Fixed 8 9* Fixed a memory leak in `Deriver`. 10 11### Added 12 13* Added support for OpenSSL 3.x.x. 14* Added `SslStream::peek`. 15 16## [v0.10.34] - 2021-04-28 17 18### Added 19 20* Added `Dh::set_private_key` and `DhRef::private_key`. 21* Added `EcPointRef::affine_coordinates`. 22* Added `TryFrom` implementations to convert between `PKey` and specific key types. 23* Added `X509StoreBuilderRef::set_flags`. 24 25## [v0.10.33] - 2021-03-13 26 27### Fixed 28 29* `Dh::generate_params` now uses `DH_generate_params_ex` rather than the deprecated `DH_generated_params` function. 30 31### Added 32 33* Added `Asn1Type`. 34* Added `CmsContentInfoRef::decrypt_without_cert_check`. 35* Added `EcPointRef::{is_infinity, is_on_curve}`. 36* Added `Encrypter::set_rsa_oaep_label`. 37* Added `MessageDigest::sm3`. 38* Added `Pkcs7Ref::signers`. 39* Added `Cipher::nid`. 40* Added `X509Ref::authority_info` and `AccessDescription::{method, location}`. 41* Added `X509NameBuilder::{append_entry_by_text_with_type, append_entry_by_nid_with_type}`. 42 43## [v0.10.32] - 2020-12-24 44 45### Fixed 46 47* Fixed `Ssl::new` to take a `&SslContextRef` rather than `&SslContext`. 48 49### Added 50 51* Added the `encrypt` module to support asymmetric encryption and decryption with `PKey`s. 52* Added `MessageDigest::from_name`. 53* Added `ConnectConfiguration::into_ssl`. 54* Added the ability to create unconnected `SslStream`s directly from an `Ssl` and transport stream 55 without performing any part of the handshake with `SslStream::new`. 56* Added `SslStream::{read_early_data, write_early_data, connect, accept, do_handshake, stateless}`. 57* Implemented `ToOwned` for `SslContextRef`. 58* Added `SslRef::{set_connect_state, set_accept_state}`. 59 60### Deprecated 61 62* Deprecated `SslStream::from_raw_parts` in favor of `Ssl::from_ptr` and `SslStream::new`. 63* Deprecated `SslStreamBuilder` in favor of methods on `Ssl` and `SslStream`. 64 65## [v0.10.31] - 2020-12-09 66 67### Added 68 69* Added `Asn1Object::from_str`. 70* Added `Dh::from_pgq`, `DhRef::prime_p`, `DhRef::prime_q`, `DhRef::generator`, `DhRef::generate_params`, 71 `DhRef::generate_key`, `DhRef::public_key`, and `DhRef::compute_key`. 72* Added `Pkcs7::from_der` and `Pkcs7Ref::to_der`. 73* Added `Id::X25519`, `Id::X448`, `PKey::generate_x25519`, and `PKey::generate_x448`. 74* Added `SrtpProfileId::SRTP_AEAD_AES_128_GCM` and `SrtpProfileId::SRTP_AEAD_AES_256_GCM`. 75* Added `SslContextBuilder::verify_param` and `SslContextBuilder::verify_param_mut`. 76* Added `X509Ref::subject_name_hash` and `X509Ref::version`. 77* Added `X509StoreBuilderRef::add_lookup`, and the `X509Lookup` type. 78* Added `X509VerifyFlags`, `X509VerifyParamRef::set_flags`, `X509VerifyParamRef::clear_flags` 79 `X509VerifyParamRef::get_flags`. 80 81## [v0.10.30] - 2020-06-25 82 83### Fixed 84 85* `DsaRef::private_key_to_pem` can no longer be called without a private key. 86 87### Changed 88 89* Improved the `Debug` implementations of many types. 90 91### Added 92 93* Added `is_empty` implementations for `Asn1StringRef` and `Asn1BitStringRef`. 94* Added `EcPointRef::{to_pem, to_dir}` and `EcKeyRef::{public_key_from_pem, public_key_from_der}`. 95* Added `Default` implementations for many types. 96* Added `Debug` implementations for many types. 97* Added `SslStream::from_raw_parts`. 98* Added `SslRef::set_mtu`. 99* Added `Cipher::{aes_128_ocb, aes_192_ocb, aes_256_ocb}`. 100 101### Deprecated 102 103* Deprecated `SslStreamBuilder::set_dtls_mtu_size` in favor of `SslRef::set_mtu`. 104 105## [v0.10.29] - 2020-04-07 106 107### Fixed 108 109* Fixed a memory leak in `X509Builder::append_extension`. 110 111### Added 112 113* Added `SslConnector::into_context` and `SslConnector::context`. 114* Added `SslAcceptor::into_context` and `SslAcceptor::context`. 115* Added `SslMethod::tls_client` and `SslMethod::tls_server`. 116* Added `SslContextBuilder::set_cert_store`. 117* Added `SslContextRef::verify_mode` and `SslRef::verify_mode`. 118* Added `SslRef::is_init_finished`. 119* Added `X509Object`. 120* Added `X509StoreRef::objects`. 121 122## [v0.10.28] - 2020-02-04 123 124### Fixed 125 126* Fixed the mutability of `Signer::sign_oneshot` and `Verifier::verify_oneshot`. This is unfortunately a breaking 127 change, but a necessary soundness fix. 128 129## [v0.10.27] - 2020-01-29 130 131### Added 132 133* Added `MessageDigest::null`. 134* Added `PKey::private_key_from_pkcs8`. 135* Added `SslOptions::NO_RENEGOTIATION`. 136* Added `SslStreamBuilder::set_dtls_mtu_size`. 137 138## [v0.10.26] - 2019-11-22 139 140### Fixed 141 142* Fixed improper handling of the IV buffer in `envelope::{Seal, Unseal}`. 143 144### Added 145 146* Added `Asn1TimeRef::{diff, compare}`. 147* Added `Asn1Time::from_unix`. 148* Added `PartialEq` and `PartialOrd` implementations for `Asn1Time` and `Asn1TimeRef`. 149* Added `base64::{encode_block, decode_block}`. 150* Added `EcGroupRef::order_bits`. 151* Added `Clone` implementations for `Sha1`, `Sha224`, `Sha256`, `Sha384`, and `Sha512`. 152* Added `SslContextBuilder::{set_sigalgs_list, set_groups_list}`. 153 154## [v0.10.25] - 2019-10-02 155 156### Fixed 157 158* Fixed a memory leak in `EcdsaSig::from_private_components` when using OpenSSL 1.0.x. 159 160### Added 161 162* Added support for Ed25519 and Ed448 keys. 163* Implemented `ToOwned` for `PKeyRef` and `Clone` for `PKey`. 164 165## [v0.10.24] - 2019-07-19 166 167### Fixed 168 169* Worked around an OpenSSL 1.0.x bug triggered by code calling `SSL_set_app_data`. 170 171### Added 172 173* Added `aes::{wrap_key, unwrap_key}`. 174* Added `CmsContentInfoRef::to_pem` and `CmsContentInfo::from_pem`. 175* Added `DsaRef::private_key_to_pem`. 176* Added `EcGroupRef::{cofactor, generator}`. 177* Added `EcPointRef::to_owned`. 178* Added a `Debug` implementation for `EcKey`. 179* Added `SslAcceptor::{mozilla_intermediate_v5, mozilla_modern_v5}`. 180* Added `Cipher::{aes_128_ofb, aes_192_ecb, aes_192_cbc, aes_192_ctr, aes_192_cfb1, aes_192_cfb128, aes_192_cfb8, 181 aes_192_gcm, aes_192_ccm, aes_192_ofb, aes_256_ofb}`. 182 183## [v0.10.23] - 2019-05-18 184 185### Fixed 186 187* Fixed session callbacks when an `Ssl`'s context is replaced. 188 189### Added 190 191* Added `SslContextBuilder::add_client_ca`. 192 193## [v0.10.22] - 2019-05-08 194 195### Added 196 197* Added support for the LibreSSL 2.9.x series. 198 199## [v0.10.21] - 2019-04-30 200 201### Fixed 202 203* Fixed overly conservatifve buffer size checks in `Crypter` when using stream ciphers. 204 205### Added 206 207* Added bindings to envelope encryption APIs. 208* Added `PkeyRef::size`. 209 210## [v0.10.20] - 2019-03-20 211 212### Added 213 214* Added `CmsContentInfo::from_der` and `CmsContentInfo::encrypt`. 215* Added `X509Ref::verify` and `X509ReqRef::verify`. 216* Implemented `PartialEq` and `Eq` for `MessageDigest`. 217* Added `MessageDigest::type_` and `EcGroupRef::curve_name`. 218 219## [v0.10.19] - 2019-03-01 220 221### Added 222 223* The openssl-sys build script now logs the values of environment variables. 224* Added `ERR_PACK` to openssl-sys. 225* The `ERR_*` functions in openssl-sys are const functions when building against newer Rust versions. 226* Implemented `Clone` for `Dsa`. 227* Added `SslContextRef::add_session` and `SslContextRef::remove_session`. 228* Added `SslSessionRef::time`, `SslSessionRef::timeout`, and `SslSessionRef::protocol_version`. 229* Added `SslContextBuilder::set_session_cache_size` and `SslContextRef::session_cache_size`. 230 231## [v0.10.18] - 2019-02-22 232 233### Fixed 234 235* Fixed the return type of `ssl::cipher_name`. 236 237## [v0.10.17] - 2019-02-22 238 239### Added 240 241* Implemented `AsRef<str>` and `AsRef<[u8]>` for `OpenSslString`. 242* Added `Asn1Integer::from_bn`. 243* Added `RsaRef::check_key`. 244* Added `Asn1Time::from_str` and `Asn1Time::from_str_x509`. 245* Added `Rsa::generate_with_e`. 246* Added `Cipher::des_ede3_cfb64`. 247* Added `SslCipherRef::standard_name` and `ssl::cipher_name`. 248 249## [v0.10.16] - 2018-12-16 250 251### Added 252 253* Added SHA3 and SHAKE to `MessageDigest`. 254* Added `rand::keep_random_devices_open`. 255* Added support for LibreSSL 2.9.0. 256 257## [v0.10.15] - 2018-10-22 258 259### Added 260 261* Implemented `DoubleEndedIterator` for stack iterators. 262 263## [v0.10.14] - 2018-10-18 264 265### Fixed 266 267* Made some accidentally exposed internal functions private. 268 269### Added 270 271* Added support for LibreSSL 2.8. 272 273### Changed 274 275* The OpenSSL version used with the `vendored` feature has been upgraded from 1.1.0 to 1.1.1. 276 277## [v0.10.13] - 2018-10-14 278 279### Fixed 280 281* Fixed a double-free in the `SslContextBuilder::set_get_session_callback` API. 282 283### Added 284 285* Added `SslContextBuilder::set_client_hello_callback`. 286* Added support for LibreSSL 2.8.1. 287* Added `EcdsaSig::from_der` and `EcdsaSig::to_der`. 288* Added PKCS#7 support. 289 290## [v0.10.12] - 2018-09-13 291 292### Fixed 293 294* Fixed handling of SNI callbacks during renegotiation. 295 296### Added 297 298* Added `SslRef::get_shutdown` and `SslRef::set_shutdown`. 299* Added support for SRTP in DTLS sessions. 300* Added support for LibreSSL 2.8.0. 301 302## [v0.10.11] - 2018-08-04 303 304### Added 305 306* The new `vendored` cargo feature will cause openssl-sys to compile and statically link to a 307 vendored copy of OpenSSL. 308* Added `SslContextBuilder::set_psk_server_callback`. 309* Added `DsaRef::pub_key` and `DsaRef::priv_key`. 310* Added `Dsa::from_private_components` and `Dsa::from_public_components`. 311* Added `X509NameRef::entries`. 312 313### Deprecated 314 315* `SslContextBuilder::set_psk_callback` has been renamed to 316 `SslContextBuilder::set_psk_client_callback` and deprecated. 317 318## [v0.10.10] - 2018-06-06 319 320### Added 321 322* Added `SslRef::set_alpn_protos`. 323* Added `SslContextBuilder::set_ciphersuites`. 324 325## [v0.10.9] - 2018-06-01 326 327### Fixed 328 329* Fixed a use-after-free in `CmsContentInfo::sign`. 330* `SslRef::servername` now returns `None` rather than panicking on a non-UTF8 name. 331 332### Added 333 334* Added `MessageDigest::from_nid`. 335* Added `Nid::signature_algorithms`, `Nid::long_name`, and `Nid::short_name`. 336* Added early data and early keying material export support for TLS 1.3. 337* Added `SslRef::verified_chain`. 338* Added `SslRef::servername_raw` which returns a `&[u8]` rather than `&str`. 339* Added `SslRef::finished` and `SslRef::peer_finished`. 340* Added `X509Ref::digest` to replace `X509Ref::fingerprint`. 341* `X509StoreBuilder` and `X509Store` now implement `Sync` and `Send`. 342 343### Deprecated 344 345* `X509Ref::fingerprint` has been deprecated in favor of `X509Ref::digest`. 346 347## [v0.10.8] - 2018-05-20 348 349### Fixed 350 351* `openssl-sys` will now detect Homebrew-installed OpenSSL when installed to a non-default 352 directory. 353* The `X509_V_ERR_INVALID_CALL`, `X509_V_ERR_STORE_LOOKUP`, and 354 `X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION` constants in `openssl-sys` are now only present when 355 building against 1.1.0g and up rather than 1.1.0. 356* `SslContextBuilder::max_proto_version` and `SslContextBuilder::min_proto_version` are only present 357 when building against 1.1.0g and up rather than 1.1.0. 358 359### Added 360 361* Added `CmsContentInfo::sign`. 362* Added `Clone` and `ToOwned` implementations to `Rsa` and `RsaRef` respectively. 363* The `min_proto_version` and `max_proto_version` methods are available when linking against 364 LibreSSL 2.6.1 and up in addition to OpenSSL. 365* `X509VerifyParam` is available when linking against LibreSSL 2.6.1 and up in addition to OpenSSL. 366* ALPN support is available when linking against LibreSSL 2.6.1 and up in addition to OpenSSL. 367* `Stack` and `StackRef` are now `Sync` and `Send`. 368 369## [v0.10.7] - 2018-04-30 370 371### Added 372 373* Added `X509Req::public_key` and `X509Req::extensions`. 374* Added `RsaPrivateKeyBuilder` to allow control over initialization of optional components of an RSA 375 private key. 376* Added DER encode/decode support to `SslSession`. 377* openssl-sys now provides the `DEP_OPENSSL_VERSION_NUMBER` and 378 `DEP_OPENSSL_LIBRESSL_VERSION_NUMBER` environment variables to downstream build scripts which 379 contains the hex-encoded version number of the OpenSSL or LibreSSL distribution being built 380 against. The other variables are deprecated. 381 382## [v0.10.6] - 2018-03-05 383 384### Added 385 386* Added `SslOptions::ENABLE_MIDDLEBOX_COMPAT`. 387* Added more `Sync` and `Send` implementations. 388* Added `PKeyRef::id`. 389* Added `Padding::PKCS1_PSS`. 390* Added `Signer::set_rsa_pss_saltlen`, `Signer::set_rsa_mgf1_md`, `Signer::set_rsa_pss_saltlen`, and 391 `Signer::set_rsa_mgf1_md` 392* Added `X509StoreContextRef::verify` to directly verify certificates. 393* Added low level ECDSA support. 394* Added support for TLSv1.3 custom extensions. (OpenSSL 1.1.1 only) 395* Added AES-CCM support. 396* Added `EcKey::from_private_components`. 397* Added CMAC support. 398* Added support for LibreSSL 2.7. 399* Added `X509Ref::serial_number`. 400* Added `Asn1IntegerRef::to_bn`. 401* Added support for TLSv1.3 stateless handshakes. (OpenSSL 1.1.1 only) 402 403### Changed 404 405* The Cargo features previously used to gate access to version-specific OpenSSL APIs have been 406 removed. Those APIs will be available automatically when building against an appropriate OpenSSL 407 version. 408* Fixed `PKey::private_key_from_der` to return a `PKey<Private>` rather than a `PKey<Public>`. This 409 is technically a breaking change but the function was pretty useless previously. 410 411### Deprecated 412 413* `X509CheckFlags::FLAG_NO_WILDCARDS` has been renamed to `X509CheckFlags::NO_WILDCARDS` and the old 414 name deprecated. 415 416## [v0.10.5] - 2018-02-28 417 418### Fixed 419 420* `ErrorStack`'s `Display` implementation no longer writes an empty string if it contains no errors. 421 422### Added 423 424* Added `SslRef::version2`. 425* Added `Cipher::des_ede3_cbc`. 426* Added `SslRef::export_keying_material`. 427* Added the ability to push an `Error` or `ErrorStack` back onto OpenSSL's error stack. Various 428 callback bindings use this to propagate errors properly. 429* Added `SslContextBuilder::set_cookie_generate_cb` and `SslContextBuilder::set_cookie_verify_cb`. 430* Added `SslContextBuilder::set_max_proto_version`, `SslContextBuilder::set_min_proto_version`, 431 `SslContextBuilder::max_proto_version`, and `SslContextBuilder::min_proto_version`. 432 433### Changed 434 435* Updated `SslConnector`'s default cipher list to match Python's. 436 437### Deprecated 438 439* `SslRef::version` has been deprecated. Use `SslRef::version_str` instead. 440 441## [v0.10.4] - 2018-02-18 442 443### Added 444 445* Added OpenSSL 1.1.1 support. 446* Added `Rsa::public_key_from_pem_pkcs1`. 447* Added `SslOptions::NO_TLSV1_3`. (OpenSSL 1.1.1 only) 448* Added `SslVersion`. 449* Added `SslSessionCacheMode` and `SslContextBuilder::set_session_cache_mode`. 450* Added `SslContextBuilder::set_new_session_callback`, 451 `SslContextBuilder::set_remove_session_callback`, and 452 `SslContextBuilder::set_get_session_callback`. 453* Added `SslContextBuilder::set_keylog_callback`. (OpenSSL 1.1.1 only) 454* Added `SslRef::client_random` and `SslRef::server_random`. (OpenSSL 1.1.0+ only) 455 456### Fixed 457 458* The `SslAcceptorBuilder::mozilla_modern` constructor now disables TLSv1.0 and TLSv1.1 in 459 accordance with Mozilla's recommendations. 460 461## [v0.10.3] - 2018-02-12 462 463### Added 464 465* OpenSSL is now automatically detected on FreeBSD systems. 466* Added `GeneralName` accessors for `rfc822Name` and `uri` variants. 467* Added DES-EDE3 support. 468 469### Fixed 470 471* Fixed a memory leak in `X509StoreBuilder::add_cert`. 472 473## [v0.10.2] - 2018-01-11 474 475### Added 476 477* Added `ConnectConfiguration::set_use_server_name_indication` and 478 `ConnectConfiguration::set_verify_hostname` for use in contexts where you don't have ownership 479 of the `ConnectConfiguration`. 480 481## [v0.10.1] - 2018-01-10 482 483### Added 484 485* Added a `From<ErrorStack> for ssl::Error` implementation. 486 487## [v0.10.0] - 2018-01-10 488 489### Compatibility 490 491* openssl 0.10 still uses openssl-sys 0.9, so openssl 0.9 and 0.10 can coexist without issue. 492 493### Added 494 495* The `ssl::select_next_proto` function can be used to easily implement the ALPN selection callback 496 in a "standard" way. 497* FIPS mode support is available in the `fips` module. 498* Accessors for the Issuer and Issuer Alternative Name fields of X509 certificates have been added. 499* The `X509VerifyResult` can now be set in the certificate verification callback via 500 `X509StoreContextRef::set_error`. 501 502### Changed 503 504* All constants have been moved to associated constants of their type. For example, `bn::MSB_ONE` 505 is now `bn::MsbOption::ONE`. 506* Asymmetric key types are now parameterized over what they contain. In OpenSSL, the same type is 507 used for key parameters, public keys, and private keys. Unfortunately, some APIs simply assume 508 that certain components are present and will segfault trying to use things that aren't there. 509 510 The `pkey` module contains new tag types named `Params`, `Public`, and `Private`, and the 511 `Dh`, `Dsa`, `EcKey`, `Rsa`, and `PKey` have a type parameter set to one of those values. This 512 allows the `Signer` constructor to indicate that it requires a private key at compile time for 513 example. Previously, `Signer` would simply segfault if provided a key without private 514 components. 515* ALPN support has been changed to more directly model OpenSSL's own APIs. Instead of a single 516 method used for both the server and client sides which performed everything automatically, the 517 `SslContextBuilder::set_alpn_protos` and `SslContextBuilder::set_alpn_select_callback` handle 518 the client and server sides respectively. 519* `SslConnector::danger_connect_without_providing_domain_for_certificate_verification_and_server_name_indication` 520 has been removed in favor of new methods which provide more control. The 521 `ConnectConfiguration::use_server_name_indication` method controls the use of Server Name 522 Indication (SNI), and the `ConnectConfiguration::verify_hostname` method controls the use of 523 hostname verification. These can be controlled independently, and if both are disabled, the 524 domain argument to `ConnectConfiguration::connect` is ignored. 525* Shared secret derivation is now handled by the new `derive::Deriver` type rather than 526 `pkey::PKeyContext`, which has been removed. 527* `ssl::Error` is now no longer an enum, and provides more direct access to the relevant state. 528* `SslConnectorBuilder::new` has been moved and renamed to `SslConnector::builder`. 529* `SslAcceptorBuilder::mozilla_intermediate` and `SslAcceptorBuilder::mozilla_modern` have been 530 moved to `SslAcceptor` and no longer take the private key and certificate chain. Install those 531 manually after creating the builder. 532* `X509VerifyError` is now `X509VerifyResult` and can now have the "ok" value in addition to error 533 values. 534* `x509::X509FileType` is now `ssl::SslFiletype`. 535* Asymmetric key serialization and deserialization methods now document the formats that they 536 correspond to, and some have been renamed to better indicate that. 537 538### Removed 539 540* All deprecated APIs have been removed. 541* NPN support has been removed. It has been supersceded by ALPN, and is hopefully no longer being 542 used in practice. If you still depend on it, please file an issue! 543* `SslRef::compression` has been removed. 544* Some `ssl::SslOptions` flags have been removed as they no longer do anything. 545 546## Older 547 548Look at the [release tags] for information about older releases. 549 550[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.35...master 551[v0.10.35]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.34...openssl-v0.10.35 552[v0.10.34]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.33...openssl-v0.10.34 553[v0.10.33]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.32...openssl-v0.10.33 554[v0.10.32]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.31...openssl-v0.10.32 555[v0.10.31]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.30...openssl-v0.10.31 556[v0.10.30]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.29...openssl-v0.10.30 557[v0.10.29]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.28...openssl-v0.10.29 558[v0.10.28]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.27...openssl-v0.10.28 559[v0.10.27]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.26...openssl-v0.10.27 560[v0.10.26]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.25...openssl-v0.10.26 561[v0.10.25]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.24...openssl-v0.10.25 562[v0.10.24]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.23...openssl-v0.10.24 563[v0.10.23]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.22...openssl-v0.10.23 564[v0.10.22]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.21...openssl-v0.10.22 565[v0.10.21]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.20...openssl-v0.10.21 566[v0.10.20]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.19...openssl-v0.10.20 567[v0.10.19]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.18...openssl-v0.10.19 568[v0.10.18]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.17...openssl-v0.10.18 569[v0.10.17]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.16...openssl-v0.10.17 570[v0.10.16]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.15...openssl-v0.10.16 571[v0.10.15]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.14...openssl-v0.10.15 572[v0.10.14]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.13...openssl-v0.10.14 573[v0.10.13]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.12...openssl-v0.10.13 574[v0.10.12]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.11...openssl-v0.10.12 575[v0.10.11]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.10...openssl-v0.10.11 576[v0.10.10]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.9...openssl-v0.10.10 577[v0.10.9]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.8...openssl-v0.10.9 578[v0.10.8]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.7...openssl-v0.10.8 579[v0.10.7]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.6...openssl-v0.10.7 580[v0.10.6]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.5...openssl-v0.10.6 581[v0.10.5]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.4...openssl-v0.10.5 582[v0.10.4]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.3...openssl-v0.10.4 583[v0.10.3]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.2...openssl-v0.10.3 584[v0.10.2]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.1...openssl-v0.10.2 585[v0.10.1]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.0...openssl-v0.10.1 586[v0.10.0]: https://github.com/sfackler/rust-openssl/compare/v0.9.23...openssl-v0.10.0 587[release tags]: https://github.com/sfackler/rust-openssl/releases 588