0.042 2026-02-06
  [Incompatible Changes]
    * Remove SSL_ERROR_ZERO_RETURN and treat return value 0 as EOF in read/write/shutdown for consistency with IO::Socket and modern TLS practices.

0.041 2026-02-05
  [Bug Fix]
    * Fix a bug where SSL_read failed on clean SSL shutdowns by handling SSL_ERROR_ZERO_RETURN.
  [New Features]
    * Add the Net::SSLeay::Error::SSL_ERROR_ZERO_RETURN error class to represent a clean SSL shutdown as an SPVM exception.
  [Test Improvement]
    * Improve online tests by switching to httpbin.org, ensuring proper EOF detection in read loops, and adding pre-test connectivity checks.

0.040 2026-01-30
  [Requirement Changes]
    * Require SPVM 0.990120.
  [Internal Changes]
    * Use die native API in native classes instead of die_v2.
0.039 2026-01-28
  [Requirement Changes]
    * Require SPVM 0.990119.
  [Internal Changes]
    * Use die_v2 native API in native classes.
0.038 2026-01-27
  [Test Fix]
    * Fix test for latest SPVM::Go.
    
0.037 2025-10-13
  [Internal Changes]
    * Refactor tests.
    
0.036 2025-01-28
  [Requirement Changes]
    * Require SPVM 0.990042.
  [Test Improvement]
    * Call Fn#destroy_runtime_permanent_vars method in the end of tests.
    
0.035 2025-01-16
  [Internal Changes]
    * Update .gitignore and MANIFEST.SKIP.
  [Exception Changes]
    * SSLeay#select_next_proto method throws an exception if $outlen_ref is not defined.
    * SSLeay#get0_alpn_selected method throws an exception if $len_ref is not defined.
    * Net::SSLeay::X509#pubkey_digest method throws an exception if $len_ref is not defined.
    * Net::SSLeay::X509#digest method throws an exception if $len_ref is not defined.
  [Requirement Changes]
    * Require SPVM 0.990038.
0.034001 2025-01-02
  [Bug Fix]
    * Fix a potential bug that the argument width on a method call is wrong.
0.034 2024-12-24
  [New Features]
    * Add Net::SSLeay::SSL_CTX#SSL_CTX_use_certificate method.
0.033 2024-12-21
  
  [Stability Improvement]
    * Unit tests and documentation are finised.
  [New Features]
    * Add the following fields to Net::SSLeay::SSL_CTX.
    
      has verify_callback : ro Net::SSLeay::Callback::Verify;
      
      has default_passwd_cb : ro Net::SSLeay::Callback::PemPassword;
      
      has alpn_select_cb : ro Net::SSLeay::Callback::AlpnSelect;
      
      has tlsext_servername_callback : ro Net::SSLeay::Callback::TlsextServername;
    
0.032 2024-12-20
  [New Features]
    * Add Net::SSLeay#get_version method.
  [Test Improvment]
    * Add tests for Net::SSLeay.
  [Document Improvement]
    * Improve docs for Net::SSLeay.
    * Fix links to OpenSSL document.
  
  [Bug Fix]
    * Fix a bug of reference counting of Net::SSLeay#set_SSL_CTX method.
  
  [Incompatible Changes]
    * Net::SSLeay#set_SSL_CTX throws an exception if the argument is undef.
    * The return type of Net::SSLeay#set_SSL_CTX method becomes void.

0.031 2024-12-19
  [New Features]
    * Add Net::SSLeay#select_next_proto method.
    * Add the following methods to Net::SSLeay::Constant class.
    
      static method SSL_TLSEXT_ERR_OK : int ();

      static method SSL_TLSEXT_ERR_ALERT_FATAL : int ();

      static method SSL_TLSEXT_ERR_NOACK : int ();

      static method OPENSSL_NPN_NEGOTIATED : int ();

      static method OPENSSL_NPN_NO_OVERLAP : int ();

  [Changes]
    * Change the definition of Net::SSLeay::SSL_CTX#set_alpn_select_cb method
      [Before]
        method set_alpn_select_cb : void ($cb : Net::SSLeay::Callback::AlpnSelect);
      [After]
        method set_alpn_select_cb : void ($cb : Net::SSLeay::Callback::AlpnSelect, $arg : object = undef);
  [Incompatible Changes]
    * Change the definition of Net::SSLeay::SSL_CTX#set_alpn_protos method
      [Before]
      method set_alpn_protos : int ($protos : byte[], $protos_len : int = -1);
      [After]
      method set_alpn_protos : int ($protos : string, $protos_len : int = -1);
    * Change the definition of Net::SSLeay::Util#convert_to_wire_format method
      [Before]
      static method convert_to_wire_format : byte[] ($protocols : string[]);
      [After]
      static method convert_to_wire_format : string ($protocols : string[]);
    * Remove all $arg argument in callback interfaces and callback setter methods.
  [Test Improvement]
    * Add many tests for callbacks.
0.030 2024-12-18
  [Bug Fix]
    * Fix bugs of Net::SSLeay#get_SSL_CTX method.
    * Fix bugs of Net::SSLeay#set_msg_callback method.
    * Fix bugs of Net::SSLeay::X509_STORE_CTX#get1_issuer method.
  [Requirement Changes]
    * Require SPVM 0.990033.
  [Test Improvement]
    * Add many tests.
0.029 2024-12-16
  [Bug Fix]
    * Fix bugs of Net::SSLeay#get_certificate method.
    * Fix bugs of Net::SSLeay#get_cert_chaine method.
    * Fix bugs of Net::SSLeay#load_client_CA_file method.
0.028 2024-12-13
  [Bug Fix]
    * Fix bugs of Net::SSLeay#get_SSL_CTX method.
    * Fix bugs of Net::SSLeay#set_SSL_CTX method.
  [Test Improvement]
    * Online tests are skipped in offline systems.
  [Changes]
    * $type argument of Net::SSLeay::SSL_CTX#use_certificate_file method becomes optional.
    * $type argument of Net::SSLeay::SSL_CTX#use_PrivateKey_file method becomes optional.
    * Net::SSLeay::Error::SSL_ERROR_WANT_READ and Net::SSLeay::Error::SSL_ERROR_WANT_WRITE are thrown in connect_SSL, accept_SSL, write, read, shutdown methods in Net::SSLeay class.
  [New Features]
    * Add SSL_ERROR_WANT_WRITE class.
    * Add SSL_ERROR_WANT_READ class.
    
0.027 2024-12-12
  [New Features]
    * Add Net::SSLeay::SSL_CTX#set_alpn_select_cb method.
  [Incompatibe Changes]
    * Remove Net::SSLeay::SSL_CTX#set_next_proto_select_cb method.
    * Remove Net::SSLeay::SSL_CTX#set_next_proto_select_cb_with_protocols method.
    * Remove Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols method.
    * Remove Net::SSLeay::SSL_CTX#set_tlsext_servername_callback method.
    * Remove Net::SSLeay::SSL_CTX#set_psk_client_callback method.
    * Remove Net::SSLeay::SSL_CTX#set_psk_server_callback method.
    * Remove Net::SSLeay::SSL_CTX#set_tlsext_ticket_key_cb method.
    * Remove Net::SSLeay::SSL_CTX#sess_set_new_cb method.
    * Remove Net::SSLeay::SSL_CTX#sess_remove_new_cb method.
    * Remove Net::SSLeay::SSL_CTX#get_session_cache_mode method.
    * Remove Net::SSLeay::SSL_CTX#set_session_cache_mode method.
    * Remove Net::SSLeay::SSL_CTX#set_session_id_context method.
    * Remove Net::SSLeay::Callback::TlsextTicketKey class.
    * Remove Net::SSLeay::Callback::TlsextStatus class.
    * Remove Net::SSLeay::Callback::RemoveSession class.
    * Remove Net::SSLeay::Callback::PskServer class.
    * Remove Net::SSLeay::Callback::PskClient class.
    * Remove Net::SSLeay::Callback::NewSession class.
    * Remove Net::SSLeay::Callback::NextProtoSelect class.
    * Remove Net::SSLeay::Callback::NextProtosAdvertised class.
    * Remove Net::SSLeay::HMAC_CTX class.
    * Remove Net::SSLeay::EC_KEY class.
    * Remove Net::SSLeay::PEM#read_bio_DHparams method.
    * Remove Net::SSLeay::DH class.
    * Remove Net::SSLeay#get0_next_proto_negotiated method.
    * Remove Net::SSLeay#get0_next_proto_negotiated_return_string method.
    * Remove Net::SSLeay#ssl_session field.
    * Remove Net::SSLeay#session_reused method.
    * Remove Net::SSLeay#get1_session method.
    * Remove Net::SSLeay#set_session method.
    * Remove Net::SSLeay::SSL_SESSION class.
    * Remove Net::SSLeay#load_error_strings method.
    * Net::SSLeay#get_SSL_CTX returns a new object.
    * Remove Net::SSLeay#get_tlsext_status_type method.
    * Remove Net::SSLeay#pending method.
    * Remove Net::SSLeay#peek method.
    * Remove Net::SSLeay#set_tlsext_status_type method.
    * Remove deprecated Net::SSLeay#P_dump_peer_certificate method.
  [Bug Fix]
    * Fix bugs of Net::SSLeay#get0_alpn_selected method.
    * Fix bugs of Net::SSLeay#get0_next_proto_negotiated method.
  [Requirement Bug Fix]
    * Fix a SPVM::Sys dependency bug.
0.026 2024-12-11
  [Incompatibe Changes]
    * Remove X509#get_ocsp_uri method.
    * Remove all OCSP related classes.
    * Remove all OCSP related methods in Net::SSLeay::DER class.
0.025 2024-12-10
  [New Features]
    * Add Net::SSLeay::Error::PEM_R_NO_START_LINE class.
    * Add Net::SSLeay::SSL_CTX#get_mode method.
    * Add Net::SSLeay::Constant#SSL_MODE_SEND_FALLBACK_SCSV method.
    * Add Net::SSLeay::Callback::Verify class.
    * Add $verify_callback argument to Net::SSLeay::SSL_CTX#set_verify method.
  [Changes]
    * Every Net::SSLeay::PEM#read_* method throwns an exception with C<eval_error_id> set to the basic type ID of L<Net::SSLeay::Error::PEM_R_NO_START_LINE|SPVM::Net::SSLeay::Error::PEM_R_NO_START_LINE> class if the error is PEM_R_NO_START_LINE.
  [Incompatibe Changes]
    * Rename Net::SSLeay::Callback::PemPasswd class to Net::SSLeay::Callback::PemPassword class.
    * Remove Net::SSLeay::SSL_CTX#set_tmp_dh method because the corresponding native function is deprecated and set1_groups_list eixsts.
    * Remove Net::SSLeay::SSL_CTX#set_tmp_ecdh method because the corresponding native function is deprecated and set1_groups_list eixsts.
    * Remove Net::SSLeay::SSL_CTX#set1_curves_list method because set1_groups_list eixsts.
    * Remove Net::SSLeay::SSL_METHOD#SSLv23_method method because TSL_method eixsts.
    * Remove Net::SSLeay::SSL_METHOD#SSLv23_client_method method because TSL_client_method eixsts.
    * Remove Net::SSLeay::SSL_METHOD#SSLv23_server_method method because TSL_server_method eixsts.
    * Remove Net::SSLeay::SSL_CTX#set_ecdh_auto method because this has no effect.
  [Bug Fix]
    * Fix Net::SSLeay::SSL_CTX#set_client_CA_list bugs.
    * Fix Net::SSLeay::SSL_CTX#add_extra_chain_cert bugs.
    * Fix Net::SSLeay::SSL_CTX#get0_param bugs.
    * Fix Net::SSLeay::SSL_CTX#get_cert_store bugs.
0.024 2024-12-08
  [New Features]
    * Add Net::SSLeay::XX509_EXTENSION#new method.
    * Add Net::SSLeay::XX509_EXTENSION#set_object method.
    * Add Net::SSLeay::XX509_EXTENSION#set_critical method.
    * Add Net::SSLeay::XX509_EXTENSION#set_data method.
    * Add Net::SSLeay::X509#new method.
    * Add Net::SSLeay::X509#get_pubkey method.
    * Add Net::SSLeay::X509#get_serialNumber method.
    * Add Net::SSLeay::GENERAL_NAME class.
    * Add Net::SSLeay::X509#get_subjectAltNames method.
    * Add Net::SSLeay::X509_STORE#new method.
    * Add Net::SSLeay::SSL_SESSION#new method.
  [Incompatibe Changes]
    * Remove deprecated Net::SSLeay::X509#P_get_ocsp_uri method.
    * Net::SSLeay::X509#get_issuer_name method returns a copied value.
    * Net::SSLeay::X509#get_subject_name method returns a copied value.
    * Net::SSLeay::X509#get_ext method returns a copied value.
    * Net::SSLeay::X509#check_issued method becomes a static method.
    * Net::SSLeay::X509#check_issued method becomes a static method.
  [Bug Fix]
    * Fix STACK_OF memory bugs.
    * Fix a memory bug of Net::SSLeay::X509_STORE_CTX#get_current_cert method.
    * Fix the type of 1th argument of Net::SSLeay::X509_STORE_CTX#get1_issuer method.
  [Incompatibe Changes]
    * Remove Net::SSLeay::Net::SSLeay::X509_STORE_CTX#Init method.
    * Remove Net::SSLeay::Net::SSLeay::SSL_SESSION#up_ref method.
0.023 2024-12-06
  [New Features]
    * Add Net::SSLeay::X509_VERIFY_PARAM#clear_flags method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#get_flags method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#get_hostflags method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#set1_email method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#set1_ip_asc method.
    * Add Net::SSLeay::X509_VERIFY_PARAM#new method.
    * Add Net::SSLeay::X509_NAME_ENTRY#new method.
    * Add Net::SSLeay::X509_NAME#new method.
    * Add Net::SSLeay::X509_NAME#add_entry_by_NID method.
    * Add Net::SSLeay::X509_NAME#delete_entry method.
    * Add Net::SSLeay::X509_CRL#new method.
    * Add Net::SSLeay::X509_REVOKED class.
    * Add Net::SSLeay::X509_REVOKED#get_REVOKED method.
  [Changes]
    * Change the default value of $namele in Net::SSLeay::X509_VERIFY_PARAM#set1_host method.
      [Before]
      method set1_host : int ($name : string, $namelen : int = 0);
      
      [After]
      method set1_host : int ($name : string, $namelen : int = -1);
  [Incompatibe Changes]
    * Remove Net::SSLeay::X509#get_ext_by_OBJ method.
    * Remove Net::SSLeay::X509_NAME#get_index_by_OBJ method.
    * Remove Net::SSLeay::X509_NAME#get_text_by_NID method.
    * Net::SSLeay::X509_NAME#get_entry method returns copied value.
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.
  
