1# Change Log 2 3## [Unreleased] 4 5## [v0.9.82] - 2023-03-19 6 7### Added 8 9* Added support for LibreSSL 3.7.1. 10* Added support for X25519 and Ed25519 on LibreSSL and BoringSSL. 11 12## [v0.9.81] - 2023-03-14 13 14### Fixed 15 16Fixed builds against OpenSSL built with `no-cast`. 17 18### Added 19 20* Added experimental bindgen support for BoringSSL. 21* Added `X509_VERIFY_PARAM_set_auth_level`, `X509_VERIFY_PARAM_get_auth_level`, and `X509_VERIFY_PARAM_set_purpose`. 22* Added `X509_PURPOSE_*` consts. 23* Added `X509_NAME_add_entry`. 24* Added `X509_load_crl_file`. 25* Added `SSL_set_cipher_list`, `SSL_set_ssl_method`, `SSL_use_PrivateKey_file`, `SSL_use_PrivateKey`, `SSL_use_certificate`, `SSL_use_certificate_chain_file`, `SSL_set_client_CA_list`, `SSL_add_client_CA`, and `SSL_set0_verify_cert_store`. 26* Added `X509_PURPOSE`, `X509_STORE_set_purpose`, and `X509_STORE_set_trust`. 27* Added `SSL_CTX_set_num_tickets`, `SSL_set_num_tickets`, `SSL_CTX_get_num_tickets`, and `SSL_get_num_tickets`. 28* Added `CMS_verify`. 29 30### Removed 31 32* Removed an unnecessary link to libatomic for 32-bit android targets. 33 34## [v0.9.80] - 2022-12-20 35 36### Fixed 37 38* Added `NO_DEPRECATED_3_0` cfg checks for more APIs. 39 40### Added 41 42* Added support for LibreSSL 3.7.0. 43* Added `SSL_CTRL_CHAIN_CERT` and `SSL_add0_chain_cert`. 44* Added `EVP_PKEY_get_security_bits` and `EVP_PKEY_security_bits`. 45* Added `OSSL_PROVIDER_set_default_search_path`. 46 47## [v0.9.79] - 2022-12-06 48 49### Added 50 51* Added `EVP_CIPHER_CTX_num`. 52* Added `X509_LOOKUP_file` and `X509_load_cert_file`. 53 54## [v0.9.78] - 2022-11-23 55 56### Added 57 58* Added support for LibreSSL 3.6.x. 59* Added `NID_brainpoolP256r1`, `NID_brainpoolP384r1`, and `NID_brainpool512r1`. 60* Added `EVP_camellia_128_cfb128`, `EVP_camellia_128_ecb`, `EVP_camellia_192_cfb128`, `EVP_camellia_192_ecb`, 61 `EVP_camellia_256_cfb128`, and `EVP_camellia_256_ecb`. 62* Added `EVP_cast5_cfb64` and `EVP_cast5_ecb`. 63* Added `EVP_idea_cfb64` and `EVP_idea_ecb`. 64* Added `DSA_SIG`, `d2i_DSA_SIG`, `i2d_DSA_SIG`, `DSA_SIG_new`, `DSA_SIG_free`, `DSA_SIG_get0`, and `DSA_SIG_set0`. 65* Added `X509_STORE_set1_param`, `X509_VERIFY_PARAM_new`, `X509_VERIFY_PARAM_set_time`, and 66 `X509_VERIFY_PARAM_set_depth`. 67 68## [v0.9.77] - 2022-10-22 69 70### Added 71 72* Added support for LibreSSL 3.6.0 73* Added `assume_init`. 74 75## [v0.9.76] - 2022-09-26 76 77### Added 78 79* Added `SSL_get_psk_identity_hint` and `SSL_get_psk_identity`. 80* Added SHA-3 NID constants. 81* Added `SSL_OP_PRIORITIZE_CHACHA`. 82* Added `X509_REQ_print`. 83* Added `EVP_MD_CTX_size` and `EVP_MD_CTX_get_size` 84* Added `EVP_MD_CTX_reset`. 85* Added experimental, unstable support for BoringSSL. 86 87### Fixed 88 89* Fixed the deprecation note on `SSL_CTX_set_alpn_select_cb`. 90 91## [v0.9.75] - 2022-07-09 92 93### Added 94 95* Added SM4 bindings. 96* Added `EC_GROUP_set_generator` and `EC_POINT_set_affine_coordinates_GFp`. 97 98## [v0.9.74] - 2022-06-01 99 100### Added 101 102* Added `EVP_MD_block_size`. 103* Added `X509V3_EXT_add_alias`. 104* Added `X509_V_ERR_INVALID_CA` back when building against OpenSSL 3.0. 105 106## [v0.9.73] - 2022-05-02 107 108### Added 109 110* Added support for installations that place libraries in `$OPENSSL_DIR/lib64` in addition to `$OPENSSL_DIR/lib`. 111* Added `X509_issuer_name_hash`. 112* Added `ASN1_string_set`. 113* Added `X509_CRL_dup`, `X509_REQ_dup`, `X509_NAME_dup`, and `X509_dup`. 114* Added `X509_print`. 115* Added support for LibreSSL 3.5.x. 116 117## [v0.9.72] - 2021-12-11 118 119### Changed 120 121* Temporarily downgraded the vendored OpenSSL back to 1.1.1 due to significant performance regressions. We will move 122 back to 3.0.0 when a future release resolves those issues. 123 124### Added 125 126* Added `PKCS12_set_mac`. 127* Added `EVP_PKEY_sign_init`, `EVP_PKEY_sign`, `EVP_PKEY_verify_init`, and `EVP_PKEY_verify`. 128* Added support for LibreSSL 3.4.x. 129 130## [v0.9.71] 131 132### Fixed 133 134* Fixed linkage to static OpenSSL 3.0.0 libraries on some 32 bit Android targets. 135 136### Added 137 138* Added support for LibreSSL 3.4.1. 139* Added `SSL_get_extms_support` and `SSL_CTRL_GET_EXTMS_SUPPORT`. 140* Added `OBJ_create`. 141* Added `EVP_CIPHER_CTX_get0_cipher`, `EVP_CIPHER_CTX_get_block_size`, `EVP_CIPHER_CTX_get_key_length`, 142 `EVP_CIPHER_CTX_get_iv_length`, and `EVP_CIPHER_CTX_get_tag_length`. 143* Added `EVP_CIPHER_free`. 144* Added `EVP_CIPHER_CTX_rand_key`. 145* Added `OSSL_LIB_CTX_new` and `OSSL_LIB_CTX_free`. 146* Added `EVP_CIPHER_fetch`. 147* Added `EVP_MD_fetch` and `EVP_MD_free`. 148* Added `OPENSSL_malloc` and `OPENSSL_free`. 149* Added `EVP_DigestSignUpdate` and `EVP_DigestVerifyUpdate`. 150 151## [v0.9.70] - 2021-10-31 152 153### Fixed 154 155* Fixed linkage to static 3.0.0 OpenSSL libraries on some 32 bit architectures. 156 157## [v0.9.69] - 2021-10-31 158 159### Changed 160 161* Upgraded the vendored OpenSSL to 3.0.0. 162 163### Added 164 165* Added support for automatic detection of Homebrew `openssl@3` installs. 166* Added `EVP_PKEY_Q_keygen` and `EVP_EC_gen`. 167 168## [v0.9.68] - 2021-10-27 169 170### Added 171 172* Added `BN_bn2binpad`. 173* Added `i2d_X509_NAME` and `d2i_X509_NAME`. 174* Added `BN_FLG_MALLOCED`, `BN_FLG_STATIC_DATA`, `BN_FLG_CONSTTIME`, and `BN_FLG_SECURE`. 175* Added `BN_CTX_secure_new`, `BN_secure_new`, `BN_set_flags`, and `BN_get_flags`. 176 177## [v0.9.67] - 2021-09-21 178 179### Added 180 181* Added support for LibreSSL 3.4.0 182 183## [v0.9.66] - 2021-08-17 184 185### Added 186 187* Added `EVP_seed_cbc`, `EVP_seed_cfb128`, `EVP_seed_ecb`, and `EVP_seed_ofb`. 188* Added `OBJ_length` and `OBJ_get0_data`. 189* Added `i2d_PKCS8PrivateKey_bio`. 190 191## [v0.9.65] - 2021-06-21 192 193### Fixed 194 195* Restored the accidentally deleted `PEM_read_bio_X509_CRL` function. 196 197## [v0.9.64] - 2021-06-18 198 199### Added 200 201* Added support for OpenSSL 3.x.x. 202* Added `SSL_peek`. 203* Added `ERR_LIB_ASN1` and `ASN1_R_HEADER_TOO_LONG`. 204* Added `d2i_X509_bio`. 205* Added `OBJ_nid2obj`. 206* Added `RAND_add`. 207* Added `SSL_CTX_set_post_handshake_auth`. 208* Added `COMP_get_type`. 209* Added `X509_get_default_cert_file_env`, `X509_get_default_cert_file`, `X509_get_default_cert_dir_env`, and 210 `X509_get_default_cirt_dir`. 211 212## [v0.9.63] - 2021-05-06 213 214### Added 215 216* Added support for LibreSSL 3.3.x. 217 218## [v0.9.62] - 2021-04-28 219 220### Added 221 222* Added support for LibreSSL 3.3.2. 223* Added `DH_set0_key`. 224* Added `EC_POINT_get_affine_coordinates`. 225 226## [v0.9.61] - 2021-03-13 227 228### Added 229 230* Added support for automatic detection of OpenSSL installations via pkgsrc and MacPorts on macOS. 231* Added various `V_ASN1_*` constants. 232* Added `DH_generate_parameters_ex`. 233* Added `EC_POINT_is_at_infinity` and `EC_POINT_is_on_curve`. 234* Added `EVP_CIPHER_nid`. 235* Added `EVP_sm3`. 236* Added `NID_*` constants related to SM3. 237* Added `PKCS7_get0_signers`. 238* Added `EVP_PKEY_CTX_set0_rsa_oaep_label`. 239* Added `ACCESS_DESCRIPTION` and `ACCESS_DESCRIPTION_free`. 240 241## [v0.9.60] - 2020-12-24 242 243### Added 244 245* Added support for the default Homebrew install directory on ARM. 246* Added `EVP_PKEY_CTX_set_rsa_oaep_md` and `EVP_PKEY_CTRL_RSA_OAEP_MD`. 247 248## [v0.9.59] - 2020-12-09 249 250### Added 251 252* Added support for LibreSSL 3.2.x, 3.3.0, and 3.3.1. 253* Added `DH_generate_parameters`, `DH_generate_key`, `DH_compute_key`, and `DH_size`. 254* Added `NID_X25519`, `NID_X448`, `EVP_PKEY_x25519` and `EVP_PKEY_x448`. 255* Added `OBJ_txt2obj`. 256* Added `d2i_PKCS7` and `i2d_PKCS7`. 257* Added `SRTP_AEAD_AES_128_GCM` and `SRTP_AEAD_AES_256_GCM`. 258 259## [v0.9.58] - 2020-06-05 260 261### Added 262 263* Added `SSL_set_mtu`. 264* Added support for LibreSSL 3.2.0. 265* Added `PEM_read_bio_EC_PUBKEY`, `PEM_write_bio_EC_PUBKEY`, `d2i_EC_PUBKEY`, and `i2d_EC_PUBKEY`. 266* Added `EVP_PKEY_encrypt_init`, `EVP_PKEY_encrypt`, `EVP_PKEY_decrypt_init`, `EVP_PKEY_decrypt`, 267 `EVP_PKEY_get_raw_public_key`, `EVP_PKEY_new_raw_public_key`, `EVP_PKEY_get_raw_private_key`, 268 and `EVP_PKEY_new_raw_private_key`. 269* Added `OBJ_sn2nid`. 270 271## [v0.9.57] - 2020-05-24 272 273### Added 274 275* Added support for LibreSSL 3.1.x. 276 277## [v0.9.56] - 2020-05-07 278 279### Fixed 280 281* Fixed vendored builds on windows-gnu targets. 282 283### Added 284 285* Added support for LibreSSL 3.0.0. 286 287## [v0.9.55] - 2020-04-07 288 289### Fixed 290 291* Fixed windows-msvc library names when using OpenSSL from vcpkg. 292 293### Added 294 295* If the `OPENSSL_NO_VENDOR` environment variable is set, vendoring will not be used even if enabled. 296* Added `SSL_CTX_get_verify_mode` and `SSL_get_verify_mode`. 297* Added `SSL_is_init_finished`. 298* Added `SSL_CTX_set_cert_store`. 299* Added `TLS_server_method` and `TLS_client_method`. 300* Added `X509_STORE_get0_objects`. 301* Added `X509_OBJECT_free`, `X509_OBJECT_get_type`, and `X509_OBJECT_get0_X509`. 302 303## [v0.9.54] - 2020-01-29 304 305### Added 306 307* Added `BIO_CTRL_DGRAM_QUERY_MTU`. 308* Added `EVP_EncryptInit_ex`, `EVP_EncryptFinal_ex`, `EVP_DecryptInit_ex`, and `EVP_DecryptFinal_ex`. 309* Added `EVP_md_null`. 310* Added `EVP_PKCS82PKEY`. 311* Added `PKCS8_PRIV_KEY_INFO`, `d2i_PKCS8_PRIV_KEY_INFO`, and `PKCS8_PRIV_KEY_INFO_free`. 312* Added `SSL_OP_NO_RENEGOTIATION`. 313 314## [v0.9.53] - 2019-11-22 315 316### Added 317 318* Added `ASN1_TIME_diff`. 319* Added `EC_GROUP_order_bits`. 320* Added `EVP_EncodeBlock` and `EVP_DecodeBlock`. 321* Added `SSL_CTRL_SET_GROUPS_LIST`, `SSL_CTRL_SET_SIGALGS_LIST`, `SSL_CTX_set1_groups_list`, and 322 `SSL_CTX_set1_sigalgs_list`. 323* Added `Clone` implementations to `SHA_CTX`, `SHA256_CTX`, and `SHA512_CTX`. 324 325## [v0.9.52] - 2019-10-19 326 327### Added 328 329* Added support for LibreSSL 3.0.x. 330 331## [v0.9.51] - 2019-10-02 332 333### Added 334 335* Added support for LibreSSL 3.0.1. 336 337## [v0.9.50] - 2019-10-02 338 339### Added 340 341* Added `CRYPTO_LOCK_EVP_PKEY`. 342* Added `EVP_PKEY_ED25519` and `EVP_PKEY_ED448`. 343* Added `EVP_DigestSign` and `EVP_DigestVerify`. 344* Added `EVP_PKEY_up_ref`. 345* Added `NID_ED25519` and `NID_ED448`. 346 347## [v0.9.49] - 2019-08-15 348 349### Added 350 351* Added support for LibreSSL 3.0.0. 352 353## [v0.9.48] - 2019-07-19 354 355### Added 356 357* Added `AES_wrap_key` and `AES_unwrap_key`. 358* Added `EC_GROUP_get_cofactor`, `EC_GROUP_get0_generator`, and `EC_POINT_dup`. 359* Added `EVP_aes_128_ofb`, `EVP_aes_192_ecb`, `EVP_aes_192_cbc`, `EVP_aes_192_cfb1`, `EVP_aes_192_cfb8`, 360 `EVP_aes_192_cfb_128`, `EVP_aes_192_ctr`, `EVP_aes_192_ccm`, `EVP_aes_192_gcm`, `EVP_aes_192_ofb`, and 361 `EVP_aes_256_ofb`. 362* Added `PEM_read_bio_CMS` and `PEM_write_bio_CMS`. 363 364## [v0.9.47] - 2019-05-18 365 366### Added 367 368* Added `SSL_CTX_add_client_CA`. 369 370## [v0.9.46] - 2019-05-08 371 372### Added 373 374* Added support for the LibreSSL 2.9.x series. 375 376## [v0.9.45] - 2019-05-03 377 378### Fixed 379 380* Reverted a change to windows-gnu library names that caused regressions. 381 382## [v0.9.44] - 2019-04-30 383 384### Added 385 386* The `DEP_OPENSSL_VENDORED` environment variable tells downstream build scripts if the vendored feature was enabled. 387* Added `EVP_SealInit`, `EVP_SealFinal`, `EVP_EncryptUpdate`, `EVP_OpenInit`, `EVP_OpenFinal`, and `EVP_DecryptUpdate`. 388* Added `EVP_PKEY_size`. 389 390### Fixed 391 392* Fixed library names when targeting windows-gnu and pkg-config fails. 393 394## [v0.9.43] - 2019-03-20 395 396### Added 397 398* Added `d2i_CMS_ContentInfo` and `CMS_encrypt`. 399* Added `X509_verify` and `X509_REQ_verify`. 400* Added `EVP_MD_type` and `EVP_GROUP_get_curve_name`. 401 402[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.82..master 403[v0.9.82]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.81...openssl-sys-v0.9.82 404[v0.9.81]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.80...openssl-sys-v0.9.81 405[v0.9.80]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.79...openssl-sys-v0.9.80 406[v0.9.79]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.78...openssl-sys-v0.9.79 407[v0.9.78]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.77...openssl-sys-v0.9.78 408[v0.9.77]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.76...openssl-sys-v0.9.77 409[v0.9.76]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.75...openssl-sys-v0.9.76 410[v0.9.75]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.74...openssl-sys-v0.9.75 411[v0.9.74]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.73...openssl-sys-v0.9.74 412[v0.9.73]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.72...openssl-sys-v0.9.73 413[v0.9.72]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.71...openssl-sys-v0.9.72 414[v0.9.71]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.70...openssl-sys-v0.9.71 415[v0.9.70]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.69...openssl-sys-v0.9.70 416[v0.9.69]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.68...openssl-sys-v0.9.69 417[v0.9.68]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.67...openssl-sys-v0.9.68 418[v0.9.67]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.66...openssl-sys-v0.9.67 419[v0.9.66]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.65...openssl-sys-v0.9.66 420[v0.9.65]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.64...openssl-sys-v0.9.65 421[v0.9.64]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.63...openssl-sys-v0.9.64 422[v0.9.63]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.62...openssl-sys-v0.9.63 423[v0.9.62]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.61...openssl-sys-v0.9.62 424[v0.9.61]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.60...openssl-sys-v0.9.61 425[v0.9.60]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.59...openssl-sys-v0.9.60 426[v0.9.59]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.58...openssl-sys-v0.9.59 427[v0.9.58]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.57...openssl-sys-v0.9.58 428[v0.9.57]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.56...openssl-sys-v0.9.57 429[v0.9.56]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.55...openssl-sys-v0.9.56 430[v0.9.55]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.54...openssl-sys-v0.9.55 431[v0.9.54]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.53...openssl-sys-v0.9.54 432[v0.9.53]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.52...openssl-sys-v0.9.53 433[v0.9.52]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.51...openssl-sys-v0.9.52 434[v0.9.51]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.50...openssl-sys-v0.9.51 435[v0.9.50]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.49...openssl-sys-v0.9.50 436[v0.9.49]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.48...openssl-sys-v0.9.49 437[v0.9.48]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.47...openssl-sys-v0.9.48 438[v0.9.47]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.46...openssl-sys-v0.9.47 439[v0.9.46]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.45...openssl-sys-v0.9.46 440[v0.9.45]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.44...openssl-sys-v0.9.45 441[v0.9.44]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.43...openssl-sys-v0.9.44 442[v0.9.43]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.42...openssl-sys-v0.9.43 443