0.206 2023-09-04
  [Prerequirement Changes]
    * SPVM::Sys 0.485 is required.
0.205 2023-09-04
  [Prerequirement Changes]
    * SPVM::Sys 0.484 is required.
0.204003 2023-08-22
  [Changes]
    * Type comments of the ioctl method in the IO::Handle are changed.
      -  method ioctl : int ($request : int, $request_arg : object = undef of Byte|Short|Int|Long|Float|Double|object);
      +  static method ioctl : int ($fd : int, $request : int, $request_arg_ref : object of byte[]|short[]|int[]|long[]|float[]|double[]|object = undef);
  [Bug Fix]
    * A bug is fixed: The blocking method in the IO::Handle has not work well in Windows.
0.204002 2023-08-22
  [Bug Fix]
    * A bug is fixed. FIONBIO has not been defined.
    
0.204001 2023-08-22
  [Prerequirement Changes]
    * SPVM::Sys 0.482 is required.
0.204  2023-08-18
  [New Features]
  
    The following methods are added to IO::Socket.
      +  method write : int ($string : string, $length : int = -1, $offset : int = 0);
      
      +  method read : int ($string : mutable string, $length : int = -1, $offset : int = 0);
      
  [Incompatibe Changes]
    The following methods are removed from IO::File and IO::Handle.
    
      method syswrite : int ($buffer : string, $length : int, $offset : int = 0);
      
      method sysread : int ($buffer : mutable string, $length : int, $offset : int = 0);
  [Changes]
  
    The following methods in IO::File and IO::Handle are changed.
      
      -  method write : int ($buffer : string, $length : int, $offset : int = 0);
      +  method write : int ($string : string, $length : int = -1, $offset : int = 0);
      
      -  method read : int ($buffer : mutable string, $length : int, $offset : int = 0);
      +  method read : int ($string : mutable string, $length : int = -1, $offset : int = 0);
      
0.203  2023-08-15
  [New Features]
    The following method is added to IO::Socket.
    
      method peerport : int ();
      
      method peerhost : string ();
    
0.202001  2023-05-29
  [Prerequirement Changes]
    * SPVM 0.986+ is required.
0.202  2023-05-23
  [Incompatibe Changes]
    * The definition of the following methods in the IO::Handle class are changed.
      [Before]
      method printf : int ($format : string, $args : object[]...);
      [After]
      method printf : int ($format : string, $args : object[]);
      
0.201  2023-05-23
  [License Change]
    * The license is changed to MIT License.
  [Prerequirement Changes]
    * SPVM 0.981+ is required.
  [New Features]
    * The version string can be got.
0.20  2023-03-20
  [Internal Compatible Changes]
    * Use SPVM::ExchangeAPI method instead of SPVM functions.
0.19 2023-03-15
  [Prerequirement Changes]
    * SPVM::Sys 0.43+ is needed.
0.18 2023-03-06
  [Prerequirement Changes]
    * SPVM 0.9695+ is needed.
  [Changes]
    * Removed the unused IO::Util class.
  [Incompatible Changes]
    * Removed IO::Handle::Interface.
    * Removed IO::Socket::Interface.
    * Removed the has_interfaces method in the IO::Handle.
0.17 2023-03-06
  [Changes]
    * The definition of the init method in the IO::File is changed.
      [Before]
      protected method init : void ();
      [After]
      protected method init : void ($options = undef : object[]);
      
0.16 2023-02-14
  [Bug Fix]
    * Fixed the bug that the close method in the IO::File doesn't set the stream undef.
0.15 2023-02-08
  [Prerequirement Changes]
    * SPVM 0.9691+ is needed.
0.14 2022-12-03
  [Prerequrement Changes]
    * SPVM::IO needs SPVM 0.9664+.
    * SPVM::IO needs SPVM::Sys 0.28+.
  [Incompatible Document Changes]
    * Removed the is_io_handlable method in the IO::Handle class in the doc.
      This was removed in the past.
  [Document Improvement]
    * Added the doc of the IO::Handle.
    * Added the doc of the IO::Handle::Interface.
  [Incompatible Changes]
    * Removed the autoflush method in the IO::File class.
    * Removed the get_autoflush in the IO::Handle class.
    * Changed the definitions of the following fields in the IO::Handle class.
      [Before]
      has autoflush : wo byte;
      [After]
      has autoflush : rw byte;
0.13 2022-11-22
  [New Features]
    * Added many methods and some classes.
  [Document Improvement]
    * Documents of many methods and some classes are added.
0.12 2022-11-16
  [Prerequirement Changes]
    * SPVM::IO needs SPVM::Math 0.11.
0.12 2022-11-16
  [Incompatible Changes]
    * The methods in the IO::Socket::INET is moved to the IO::Socket class.
    * Removed IO::Socket::INET. This module will be added in the nearly future.
  [Prerequirement Changes]
    * SPVM::IO needs SPVM 0.9662+.
0.11 2022-11-07
  [Prerequirement Changes]
    * SPVM::IO needs SPVM 0.9661+.
    * SPVM::IO needs SPVM::Sys 0.26+.
  [New Features]
    * Added the IO::Handle::Interface class.
    * Added many methods to IO::File and IO::Handle.
0.10 2022-09-16
  [New Features]
    * Add the IO::Socket::Interface interface.
    * The IO::Socket class has the IO::Socket::Interface interface.
  [Bug Fix]
    * Fix the bug that IO::Socket::INET doesn't work in SPVM 0.9648+.
  [Prerequirement Changes]
    * SPVM 0.9652+ is needed.
0.09 2022-08-01
  [Internal Ineffective Changes]
    * Use get_field_object_by_name_v2 in SPVM/IO/File.c
    * Use set_field_object_by_name_v2 in SPVM/IO/File.c
  [Pre Requirement Changes]
    * SPVM 0.9632 is needed.
0.08 2022-07-30
  [Test Fix]
    * Fix testing bug that occur upgrading to SPVM 0.9630.
  [Improve Exception Messages]
    * Improve IO::FileHandle exception messages.
  [Incompatible Changes]
    * Remove undocumented Fn->unlink method.
    * Remove undocumented Fn->rename method,
    * Changed the undocumented definition of fh field of IO::File
      [Before]
      has fh : private ro IO::FileHandle;
      [After]
      has fh : private IO::FileHandle;
    * Changed the undocumented definition read method of IO::File
      [Before]
      method read : int ($bufer : byte[]);
      [After]
      method read : int ($bufer : mutable string);
    * Remove the undocumented following class variables
      our $SEEK_SET : ro int;
      our $SEEK_CUR : ro int;
      our $SEEK_END : ro int;
    * Change the undocumented following definitions
      [Before]
      our $STDIN : ro int;
      our $STDOUT : ro int;
      our $STDERR : ro int;
      [After]
      native static method STDERR : int ();
      native static method STDIN : int ();
      native static method STDOUT : int ();

0.07 2022-06-30
  [New Features]
    * Add SPVM::IO::Handle module
    * Add SPVM::IO::Socket module
    * Add SPVM::IO::Socket::Fn module
    * SPVM::IO::Socket::INET extends SPVM::IO::Socket
  [Bug Fix]
    * Fix the bug that SPVM::IO don't work on Windows.
    * Fix broken tests.
  [Changes]
    * SPVM::IO::Socket extends SPVM::IO::Handle
    * SPVM::File extends SPVM::IO::File
    * Need SPVM 0.9614
  [Incompatible Changes]
    * Removed SPVM::IO::Handlable
    * Removed SPVM::IO::Socketable

0.06  2022-06-22
  * Catch up with SPVM 0.96
0.05  2022-06-20
  * Catch up with SPVM 0.9609
0.04  2022-06-14
  [CHANGES]
  * Fix tests
  * Add IO::Handlable class.
  * Rename IO::Socket to IO::Socketable
  * IO::File has IO::Handlable interface.
  * IO::Socket::INET has IO::Handlable interface.

0.03  2022-06-13
  [CHANGES]
  * Catch up with latest SPVM.
        
0.02  2022-05-26
  [CHANGES]
  * Catch up with latest SPVM.

0.01  2022-05-23
  [CHANGES]
  * First development release