0.022 2024-12-04
  [New Features]
    * Add Net::SSLeay::DH#new method.
    * Add Net::SSLeay::EVP_PKEY#new method.
    * Add Net::SSLeay::PEM#read_bio_PrivateKey method.
    * Add Net::SSLeay::EVP#sha256 method.
    * Add Net::SSLeay::EVP#sha512 method.
    * Add Net::SSLeay::PKCS12#new method.
    * Add Net::SSLeay::DER#(i2d_TYPE|d2i_TYPE|d2i_TYPE_bio) methods.
    * Add Net::SSLeay::PKCS12#parse method.
    * Add Net::SSLeay::OPENSSL#init_crypto method.
    
  [Incompatible Changes]
    * Add an exception to Net::SSLeay::OBJ#nid2obj method.
    * Add an exception to Net::SSLeay::OBJ#obj2nid method.
  [Bug Fix]
    * Fix bugs in methods in Net::SSLeay::OBJ class.
  [Changes]
    * Remove SSL_CIPHER class.
  [Requirement Changes]
    * Require SPVM::FindBin 0.031 for tests.
0.021 2024-12-02
  [New Features]
    * Add Net::SSLeay::ASN1_ENUMERATED#new method.
    * Add Net::SSLeay::ASN1_ENUMERATED#set_int64 method.
    * Add Net::SSLeay::ASN1_ENUMERATED#get_int64 method.
    * Add Net::SSLeay::ASN1_INTEGER#new method.
    * Add Net::SSLeay::ASN1_INTEGER#set_int64 method.
    * Add Net::SSLeay::ASN1_INTEGER#get_int64 method.
    * Add Net::SSLeay::ASN1_OBJECT#new method.
    * Add Net::SSLeay::ASN1_STRING#new method.
    * Add Net::SSLeay::ASN1_STRING#set method.
    * Add Net::SSLeay::ASN1_OCTET_STRING#new method.
    * Add Net::SSLeay::ASN1_OCTET_STRING#set method.
    * Add Net::SSLeay::ASN1_TIME#new method.
    * Add Net::SSLeay::ASN1_TIME#set method.
    * Add Net::SSLeay::ASN1_TIME#check method.
    * Add Net::SSLeay::ASN1_TIME#print method.
    * Add Net::SSLeay::ASN1_TIME#to_tm method.
    * Add Net::SSLeay::ASN1_TIME#to_generalizedtime method.
    * Add Net::SSLeay::ASN1_TIME#new method.
    * Add Net::SSLeay::ASN1_TIME#set method.
    * Add Net::SSLeay::ASN1_TIME#check method.
    * Add Net::SSLeay::ASN1_TIME#print method.
    
  [Bug Fix]
    * Fix bugs that exception messages for SSL are not shown well.
  [Requirement Changes]
    * Require SPVM 0.990032.
    
0.020 2024-11-29
  [New Features]
    * Add Net::SSLeay::SSL_CTX#set_default_verify_paths_windows method.
0.019 2024-11-28
  [New Features]
    * Add Add Net::SSLeay#get0_next_proto_negotiated_return_string method.
    * Add Net::SSLeay#get0_alpn_selected_return_string method.
    * Add Net::SSLeay::Constant#TLSEXT_NAMETYPE_host_name method.
    * Add Net::SSLeay::Constant#EVP_MAX_MD_SIZE method.
    * Add Net::SSLeay::X509_NAME_ENTRY class.
    * Add Net::SSLeay::X509#pubkey_digest_return_string method.
    * Add Net::SSLeay::X509#digest_return_string method.
    * Add Net::SSLeay#get_tlsext_status_type method.
    * Add Net::SSLeay::ASN1_OCTET_STRING class.
    * Add Net::SSLeay::X509_EXTENSION class.
    * Add Net::SSLeay::ASN1_STRING class.
    * Add Net::SSLeay::ASN1_STRING#length method.
    * Add Net::SSLeay::OBJ#nid2obj method.
    * Add Net::SSLeay::OBJ#obj2nid method.
    * Add Net::SSLeay::X509_NAME#get_entry method.
    * Add Net::SSLeay::X509_NAME#get_index_by_NID method.
    * Add Net::SSLeay::X509_NAME#entry_count method.
    * Add Net::SSLeay::X509_NAME#get_index_by_OBJ method.
    * Add Net::SSLeay::X509_NAME_ENTRY#get_data method.
    * Add Net::SSLeay::X509_NAME_ENTRY#get_object method.
    * Add Net::SSLeay::X509#get_ext_by_NID method.
    * Add Net::SSLeay::X509#get_ext_by_OBJ method.
    * Add Net::SSLeay::X509#get_ext_count method.
    * Add Net::SSLeay::X509#get_ext.
    * Add Net::SSLeay::X509_EXTENSION#get_data method.
    * Add Net::SSLeay::X509_EXTENSION#get_object method.
    * Add Net::SSLeay::X509_EXTENSION#get_critical method.
  [Deprecations and Rename]
    * Net::SSLeay#P_dump_peer_certificate is deprecated, and dump_peer_certificate method is added.
    * Net::SSLeay::X509#P_get_ocsp_uri is deprecated, and get_ocsp_uri method is added.
    * Net::SSLeay#get_peer_certificate is deprecated, and get_ocsp_uri method is added.
0.018 2024-11-25
  [New Features]
    * Add Net::SSLeay::Util class.
    * Add Net::SSLeay::SSL_CTX#set_alpn_protos_with_protocols method.
  [Incompatible Changes]
    * Changed the argument of Net::SSLeay::SSL_CTX#set_alpn_protos method.
      [Before]
      method set_alpn_protos : int ($protos : string, $protos_len : int = -1)
      [After]
      method set_alpn_protos : int ($protos : byte[], $protos_len : int = -1)
  [Bug Fix]
    * Fix a bug of Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols.
  [Test Improvement]
    * Add some tests.
0.017 2024-11-22
  [New Features]
    * Add Net::SSLeay::Constant#OPENSSL_VERSION_TEXT method.
    * Add Net::SSLeay::ASN1_ENUMERATED#DESTROY method.
    * Add Net::SSLeay::ASN1_INTEGER#DESTROY method.
    * Add Net::SSLeay::ASN1_OBJECT#DESTROY method.
    * Add Net::SSLeay::ASN1_TIME#DESTROY method.
    * Add Net::SSLeay::EVP_MD#DESTROY method.
    * Add Net::SSLeay::OPENSSL_INIT class.
    * Add the following methods to Net::SSLeay::OPENSSL_INIT class.
      static method new : Net::SSLeay::OPENSSL_INIT_SETTINGS ();
      
      static method set_config_filename : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $filename : string);
      
      static method set_config_file_flags : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $flags : long);
      
      static method set_config_appname : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $name : string);
    * Add Net::SSLeay::PKCS12#DESTROY method.

  [Incompatible Changes]
    * Move Net::SSLeay::Util::X509#get_ocsp_uri method to Net::SSLeay::X509#P_get_ocsp_uri method.
    * Move Net::SSLeay::Util#dump_peer_certificate method to Net::SSLeay#P_dump_peer_certificate method.
    * Remove the following classes.
        Net::SSLeay::Util
        Net::SSLeay::Util::OCSP
        Net::SSLeay::Util::PKCS12
        Net::SSLeay::Util::X509
  [Document Improvement]
    * Add the links to all classes.
  [Requirement Changes]
    * Require OpenSSL 1.1.1.
    
0.016 2024-11-21
  [New Features]
    * Add Net::SSLeay::Util class.
    * Add Net::SSLeay::Util::OCSP class.
    * Add Net::SSLeay::Util::X509 class.
    * Add Net::SSLeay::Util::PKCS12 class.
    * Add Net::SSLeay::Util#dump_peer_certificate method.
    * Add Net::SSLeay::Constant#OPENSSL_INIT_LOAD_SSL_STRINGS method.
    * Add Net::SSLeay::Constant#OPENSSL_INIT_NO_LOAD_SSL_STRINGS method.
    * Add the following methods to Net::SSLeay::Constant.
      OPENSSL_INIT_NO_LOAD_SSL_STRINGS
      OPENSSL_INIT_LOAD_SSL_STRINGS
      OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS
      OPENSSL_INIT_LOAD_CRYPTO_STRINGS
      OPENSSL_INIT_ADD_ALL_CIPHERS
      OPENSSL_INIT_ADD_ALL_DIGESTS
      OPENSSL_INIT_NO_ADD_ALL_CIPHERS
      OPENSSL_INIT_NO_ADD_ALL_DIGESTS
      OPENSSL_INIT_LOAD_CONFIG
      OPENSSL_INIT_NO_LOAD_CONFIG
      OPENSSL_INIT_ASYNC
      OPENSSL_INIT_ENGINE_RDRAND
      OPENSSL_INIT_ENGINE_DYNAMIC
      OPENSSL_INIT_ENGINE_OPENSSL
      OPENSSL_INIT_ENGINE_CRYPTODEV
      OPENSSL_INIT_ENGINE_CAPI
      OPENSSL_INIT_ENGINE_PADLOCK
      OPENSSL_INIT_ENGINE_AFALG
      OPENSSL_INIT_ENGINE_ALL_BUILTIN
      OPENSSL_INIT_ATFORK
      OPENSSL_INIT_NO_ATEXIT
    * Add Net::SSLeay::OPENSSL_INIT_SETTINGS class.
    * Add Net::SSLeay::OPENSSL#init_ssl method.
    * Add Net::SSLeay::PKCS12 class.
    * Add  Net::SSLeay::Util::X509#get_ocsp_uri method.
    * Add  Net::SSLeay::EVP#sha1 method.
  [Incompatible Changes]
    * Remove the logic of OpenSSL initializetion because this is automatically executed after OpenSSL 1.1.0.
    * Remove Net::SSLeay#library_init method.
    * Remove Net::SSLeay::X509#get_ext_d2i method.
0.015 2024-11-20
  [New Features]
    * Add Net::SSLeay::SSL_CTX#set_psk_server_callback method.
    * Add Net::SSLeay::EVP_CIPHER_CTX class.
    * Add Net::SSLeay::HMAC_CTX class.
    * Add Net::SSLeay::Callback::TlsextTicketKey class.
    * Add Net::SSLeay::SSL_CTX#set_tlsext_ticket_key_cb method.
    * Add Net::SSLeay::Callback::AlpnSelect class.
    * Add Net::SSLeay::SSL_CTX#set_alpn_select_cb_with_protocols method.
    * Add Net::SSLeay::SSL_CTX#set_next_proto_select_cb_with_protocols method.
    * Add Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols method.
    * Add Net::SSLeay::Callback::NewSession class.
    * Add Net::SSLeay::Callback::RemoveSession class.
    * Add Net::SSLeay::SSL_CTX#sess_set_new_cb method.
    * Add Net::SSLeay::SSL_CTX#sess_set_remove_cb method.
    * Add Net::SSLeay::Callback::NextProtoSelect class.
    * Add Net::SSLeay::Callback::Net::SSLeay::Callback::NextProtosAdvertised class.
    * Add Net::SSLeay::Callback::Msg class.
    * Add Net::SSLeay#set_msg_callback method.
0.014 2024-11-19
  [New Features]
    * Add Net::SSLeay::OCSP#single_get0_status method.
    * Add Net::SSLeay::OCSP#resp_find method.
    * Add Net::SSLeay::OCSP_SINGLERESP#DESTROY method.
    * Add Net::SSLeay::OCSP#resp_get0 method.
    * Add Net::SSLeay::OCSP#response_get1_basic method.
    * Add Net::SSLeay::X509_STORE_CTX#get1_issuer method.
    * Add Net::SSLeay::X509_STORE_CTX#Init method.
    * Add Net::SSLeay::X509#dup method.
    * Add Net::SSLeay::OCSP#cert_to_id method.
    * Add Net::SSLeay::X509#check_issued method.
    * Add Net::SSLeay::OCSP_ONEREQ class.
    * Add Net::SSLeay::OCSP_ONEREQ#DESTROY method.
    * Add Net::SSLeay::OCSP#request_add0_id method.
    * Add Net::SSLeay::OCSP#request_add1_nonce method.
    * Add Net::SSLeay::OCSP_REQUEST#new method.
    * Add Net::SSLeay::Net::SSLeay::Callback::TlsextServername interface.
    * Add Net::SSLeay::SSL_CTX#set_tlsext_servername_callback method.
    * Add Net::SSLeay::SSL_CTX#set_tlsext_status_cb method.
    * Add Net::SSLeay::SSL_CTX#set_default_passwd_cb method.
    * Add Net::SSLeay::Callback::PskClient class.
    * Add Net::SSLeay::Callback::TlsextStatus class.
    * Add Net::SSLeay::Callback::TlsextServername class.
    * Add Net::SSLeay::Callback::PemPasswd class.
    * Add Net::SSLeay::SSL_CTX#set_psk_client_callback method.
    
0.013 2024-11-14
  [New Features]
    * Add Net::SSLeay::OCSP#response_status_str method.
    * Add Net::SSLeay::OCSP#response_status method.
    * Add Net::SSLeay::ASN1_TIME class.
    * Add Net::SSLeay::ASN1_GENERALIZEDTIME class.
    * Add Net::SSLeay::ASN1_INTEGER class.
    * Add Net::SSLeay::ASN1_ENUMERATED class.
    * Add Net::SSLeay::OCSP_BASICRESP class.
    * Add Net::SSLeay::OCSP_CERTID class.
    * Add Net::SSLeay::DER::d2i_OCSP_CERTID method.
    * Add Net::SSLeay::DER::i2d_OCSP_CERTID method.
    * Add Net::SSLeay::OCSP#basic_verify method.
    * Add Net::SSLeay::OCSP#basic_add1_cert method.
    * Add Net::SSLeay::OCSP#check_nonce method.
    * Add Net::SSLeay::OCSP_BASICRESP#DESTROY method.
    * Add Net::SSLeay::OCSP_CERTID#DESTROY method.
    * Add Net::SSLeay::OCSP#check_validity method.
    * Add Net::SSLeay::OCSP_SINGLERESP class.
    * Add Net::SSLeay::ASN1_GENERALIZEDTIME#DESTROY method.
    * Add Net::SSLeay::OCSP#resp_count method.
0.012 2024-11-13
  [New Features]
    * Add Net::SSLeay::X509_STORE_CTX#set_error method.
    * Add Net::SSLeay::X509_STORE_CTX#get_error method.
    * Add Net::SSLeay::X509_STORE_CTX#get_error_depth method.
    * Add Net::SSLeay::X509_STORE_CTX#get_current_cert method.
    * Add Net::SSLeay::SSL_CTX#set_session_cache_mode method.
    * Add Net::SSLeay::SSL_CTX#set_ecdh_auto method.
    * Add Net::SSLeay::SSL_CTX#set_tmp_dh method.
    * Add Net::SSLeay::SSL_CTX#set_post_handshake_auth method.
    * Add Net::SSLeay::SSL_CTX#use_PrivateKey method.
    * Add Net::SSLeay::SSL_CTX#set_session_id_context method.
    * Add Net::SSLeay::SSL_CTX#set_min_proto_version method.
    * Add Net::SSLeay::SSL_CTX#get_ext_d2i  method.
    * Add Net::SSLeay::DER class.
    * Add Net::SSLeay::OCSP class.
    * Add Net::SSLeay::OCSP_REQUEST class.
    * Add Net::SSLeay::OCSP_RESPONSE class.
    * Add Net::SSLeay::DER#d2i_OCSP_REQUEST method.
    * Add Net::SSLeay::DER#d2i_OCSP_RESPONSE method.
    * Add Net::SSLeay::DER#i2d_OCSP_REQUEST method.
    * Add Net::SSLeay#load_client_CA_file method.
    * Add Net::SSLeay::SSL_CTX#set_client_CA_list method.
    * Add Net::SSLeay::SSL_CTX#add_client_CA method.
    * Add Net::SSLeay#get_SSL_CTX  method.
    * Add Net::SSLeay::SSL_CTX#add_extra_chain_cert method.
    
0.011 2024-11-12
  [New Features]
    * Add Net::SSLeay::X509_NAME class.
    * Add Net::SSLeay::X509_NAME#oneline method.
    * Add Net::SSLeay::X509_NAME#DESTROY method.
    * Add Net::SSLeay::X509_NAME#get_text_by_NID method.
    * Add Net::SSLeay::X509#get_issuer_name method.
    * Add Net::SSLeay::X509#get_subject_name method.
    * Add Net::SSLeay::EVP_MD class.
    * Add Net::SSLeay::EVP class.
    * Add Net::SSLeay::EVP#get_digestbyname method.
    * Add Net::SSLeay::X509#digest method.
    * Add Net::SSLeay::X509#pubkey_digest method.
    * Add Net::SSLeay#get_certificate method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#set_flags method.
    * Add Net::SSLeay::EVP_PKEY class.
    * Add Net::SSLeay::EVP_PKEY#DESTROY method.
    * Add Net::SSLeay#get0_next_proto_negotiated method.
    * Add Net::SSLeay#get0_alpn_selected method.
    * Add Net::SSLeay#get_peer_cert_chain method.
    * Add Net::SSLeay::ASN1_OBJECT class.
    * Add Net::SSLeay::OBJ class.
    * Add Net::SSLeay::OBJ#txt2nid method.
0.010 2024-11-11
  [New Features]
    * Add Net::SSLeay::BIO#new_file method.
    * Add Net::SSLeay::DH class.
    * Add Net::SSLeay::PEM#read_bio_DHparams method.
    * Add Net::SSLeay#get_servername method.
    * Add Net::SSLeay::SSL_CTX#set_alpn_protos method.
    * Add Net::SSLeay::EC_KEY class.
    * Add Net::SSLeay::SSL_CTX#set_tmp_ecdh method.
    * Add Net::SSLeay::SSL_CTX#set1_groups_list method.
    * Add Net::SSLeay::SSL_CTX#set1_curves_list method.
    * Add Net::SSLeay#set_tlsext_status_type method.
    * Add Net::SSLeay#alert_desc_string_long method.
    * Add Net::SSLeay::EC_KEY#free method.
    * Add Net::SSLeay::EC_KEY#new_by_curve_name method.
    * Add Net::SSLeay#set_SSL_CTX method.
    * Add Net::SSLeay#get_mode method.
    * Add Net::SSLeay#set_mode method.
    * Add Net::SSLeay#clear_mode method.
    * Add Net::SSLeay#get_mode method.
    * Add Net::SSLeay#set_mode method.
    * Add Net::SSLeay#clear_mode method.
    * Add Net::SSLeay#version method.
    * Add Net::SSLeay::DH#DESTROY method.
    * Add Net::SSLeay::SSL_SESSION class.
    * Add Net::SSLeay::SSL_SESSION#DESTROY method.
    * Add Net::SSLeay#session_reused method.
    * Add Net::SSLeay::CIPHER class.
    * Add Net::SSLeay#get_cipher method.
    * Add Net::SSLeay#get_peer_certificate method.
    * Add Net::SSLeay#library_init method.
    * Add Net::SSLeay::OPENSSL class.
    * Add Net::SSLeay::OPENSSL#add_ssl_algorithms method.
    * Add Net::SSLeay::OPENSSL#add_all_algorithms method.
    * Add Net::SSLeay#get_shutdown method.
    * Add Net::SSLeay#pending method.
    * Add Net::SSLeay#load_error_strings method.
    * Add Net::SSLeay#get1_session method.
    * Add Net::SSLeay#set_session method.
    * Add Net::SSLeay::RAND class.
    * Add Net::SSLeay::RAND#seed method.
    * Add Net::SSLeay::RAND#poll method.
    * Add Net::SSLeay::RAND#load_file method.
    
0.009 2024-11-08
  [Requirement Changes]
    * Require SPVM 0.990029.
  [Exception Message Improvement]
    * Add the detail of OpenSSL error to its exception message.
0.008 2024-11-07
  [New Features]
    * Add Net::SSLeay::Error class.
    * Add Net::SSLeay::Error::Operation class.
  [Exception Messages Improvement]
    * Improve exception messages.
  [Incompatible Changes]
    * Use Net::SSLeay::Error for OpenSSL errors.
  [Document Improvement]
    * Add docs for Net::SSLeay class.
    
0.007 2024-11-07
  [Document Improvement]
    * Add docs for Net::SSLeay::X509 class.
    * Add docs for Net::SSLeay::X509_CRL class.
    * Add docs for Net::SSLeay::X509_VERIFY_PARAM class.
    * Add docs for Net::SSLeay::X509_STORE_CTX class.
    * Add docs for Net::SSLeay::X509_STORE class.
    * Add docs for Net::SSLeay::SSL_CTX class.
  [Incompatible Changes]
    * Fix the return type of Net::SSLeay::SSL_CTX#set_verify method.
      
      [Before]
      method set_verify : int ($mode : int);
      
      [After]
      method set_verify : void ($mode : int);
    
    * Net::SSLeay::SSL_CTX does not throw system errors.
    * Remove Net::SSLeay#error field.
  [New Features]
    * Add Net::SSLeay::ERR#get_error method.
    * Add Net::SSLeay::ERR#peek_error method.
    * Add Net::SSLeay::ERR#peek_last_error method.
  [Changes]
    * Use ERR_peak_last_error instead of ERR_get_error not to change SSL error queue.
    
0.006 2024-11-05
  [Requirement Changes]
    * Require SPVM 0.990028.
  [Internal Changes]
    * Add private Net::SSLeay::X509_CRL#new_with_pointer method.
    * Add private Net::SSLeay::X509#new_with_pointer method.
    * Add private Net::SSLeay::X509_STORE#new_with_pointer method.
    * Add private Net::SSLeay::X509_STORE#new_with_pointer method.
    * Use more constructors.
    * Rename Net::SSLeay::X509_STORE#certs field to certs_list.
    * Rename Net::SSLeay::X509_STORE#crls field to crls_list.
  [Bug Fix]
    * Fix a bug that Net::SSLeay::SSL_CTX#add_cert method's memory bug.
    * Fix a bug that Net::SSLeay::SSL_CTX#add_crl method's memory bug.
    * Fix a bug that the return value of Net::SSLeay::ERR#error_string is not shortened before \0.
  [Document Improvement]
    * Improve docs for Net::SSLeay::BIO class.
    * Improve docs for Net::SSLeay class.
    * Add docs for SPVM::Net::SSLeay::ConfigBuilder.
    * Improve docs for Net::SSLeay::Constant.
    * Add docs for Net::SSLeay::PEM.
    * Add docs for Net::SSLeay::SSL_METHOD.
    
0.005 2024-11-02
  [Requirement Changes]
    * Require SPVM 0.990026.
  [Bug Fix]
    * Fix a bug that X509 object is not freed.
    * Fix a bug that X509_CRL object is not freed.
    * Fix a bug that X509_VERIFY_PARAM object is not freed.
    * Fix a bug that X509_STORE_CTX object is not freed.
    * Fix a bug that X509_STORE object is not freed.
  [Internal Changes]
    * Add Net::SSLeay::X509_STORE#certs field.
    * Add Net::SSLeay::X509_STORE#crls field.
  [Internal Changes]
    * Add Net::SSLeay::X509_STORE#certs field.
    * Add Net::SSLeay::X509_STORE#crls field.
    * Add Net::SSLeay::SSL_CTX#init method.
    
0.004 2024-10-31
  [New Features]
    * Add Net::SSLeay::X509_STORE#set_flags method.
    * Add Net::SSLeay::X509_CRL class.
    * Add Net::SSLeay::X509_STORE_CTX class.
    * Add Net::SSLeay::X509_STORE#add_crl method.
    * Add Net::SSLeay::PEM#read_bio_X509_CRL method.
  
0.003 2024-10-30
  [New Features]
    * Add Net::SSLeay::SSL_METHOD#SSLv23_method method.
    * Add Net::SSLeay::SSL_METHOD#TLS_method method.
    
0.002 2024-10-30
  [New Features]
    * Add Net::SSLeay::SSL_CTX#set_options
    * Add Net::SSLeay::SSL_CTX#get_options
    * Add Net::SSLeay::SSL_CTX#clear_options
    * Add SPVM::Net::SSLeay::ConfigBuilder class to detect OpenSSL/LibreSSL include and lib directory.
    
0.001 2023-08-19
  [Changes]
    * First release.