0.028 2025-02-24
  [Changes]
    * Change the C language standard from GNU99 to C99 to improve portability.
0.027 2026-02-06
  [Changes]
    * Support automatic scheduler startup for sleep, IO read, and IO write calls from the main thread by re-dispatching tasks.
    
0.026 2026-02-03
  [Bug Fix]
    * Fix timeout duration check in Go to allow values exceeding INT_MAX.
    * Add stack trace to exception messages thrown in goroutines by using build_exception_message.
    
0.025 2026-02-03
  [Requirement Changes]
    * Require SPVM 0.990126.
    * Support default undef for sleep, gosched_io_read, and gosched_io_write duration arguments.
  [Changes]
    * Improve with_deadline to detect parent cancellation using a loop and add a test for halfway cancellation.
    
0.024 2026-01-30
  [Requirement Changes]
    * Require SPVM 0.990120.
  [Internal Changes]
    * Use die native API in native classes instead of die_v2.
0.023 2026-01-28
  [Requirement Changes]
    * Require SPVM 0.990119.
  [Internal Changes]
    * Use die_v2 native API in native classes.
0.022 2026-01-24
  [Internal Changes]
    * Catch up with latest SPVM.
  [Requirement Changes]
    * Require SPVM 0.990116.
    
0.021 2026-01-17
  [Incompatible Changes]
    * Rename Go::Context#with_background to background.
  [Incompatible Changes]
    * Change Go#sleep method definition.
      [Before]
        static method sleep : void ($seconds : double = 0);
      [After]
        static method sleep : void ($duration : Go::Duration_1l);
    * Change Go#gosched_io_read method definition.
      [Before]
        static method gosched_io_read : void ($fd : int, $timeout : double = 0);
      [After]
        static method gosched_io_read : void ($fd : int, $timeout_duration : Go::Duration_1l);
    * Change Go#gosched_io_write method definition.
      [Before]
        static method gosched_io_write : void ($fd : int, $timeout : double = 0);
      [After]
        static method gosched_io_write : void ($fd : int, $timeout_duration : Go::Duration_1l);
  [Internal Changes]
    * Use Go::Time and duration in all place instead of Timespec and floating seconds.

0.020 2026-01-17
  [Incompatible Changes]
    * Rename Go::Time#to_rfc3339_nano to format_rfc3339_nano.
    * Rename Go::Time#new_from_rfc3339_nano to parse_rfc3339_nano.
0.019 2026-01-16
  [Changes]
    * Fix Go::Context bugs and add Go::Context tests and documents.
  [Requirement Changes]
    * Require SPVM::Regex 0.246.
    * Require SPVM::Time::Local 0.112.
  [New Features]
    * Add Go::Time#new_from_rfc3339_nano method.
    * Add Go::Time#to_rfc3339_nano method.
0.018 2026-01-15
  [Document and Test Improvement]
    * Add Go::Time tests and documents.
    * Add Duration_1l tests and documents.
    
0.017 2026-01-15
  [New Features]
    * Add untested and undocumented Go::Context classes.
    
    * Add the following methods.
    
      Go#sleep_sec
      Go#gosched_io_read_sec
      Go#gosched_io_write_sec
    
0.016 2026-01-08
  [Bug Fix]
    * Fix a bug that Go::OS::Signal#notify catches a signal only once.
  [New Features with Incompatible Changes]
    * Add Go::OS::Signal#start_signal_handler method.
    * Add Go::OS::Signal#stop_signal_handler method.
    * These methods must be called to manipulate signals.
0.015 2026-01-06
  [Bug Fix]
    * Fix a bug that Go::OS::Signal#notify blocks duplicated signals.
0.014 2026-01-05
  [Changes]
    * Channel#read $ok_ref argument becomes optional. 
  [Bug Fix]
    * Fix a bug that Go::Select#select blocks when the channel is closed.
    * Fix a bug that POLL->POLLHUP, POLL->POLLNVAL, POLL->POLLERR is not treated.
    
0.013 2025-10-13
  [Changes]
    * Use QList instead of List internally.
    
0.012 2025-10-13
  [Internal Changes]
    * Require 0.990102.
    
0.011 2025-09-15
  [Internal Changes]
    * Fix generics bugs.
    
0.010 2025-09-10
  [Internal Changes]
    * Use Format->sprintf instead of Fn->sprintf.

0.009 2025-01-27
  [Requirement Changes]
    * Require SPVM 0.990042.
    * Require SPVM::Regex 0.246.
  [Test Improvement]
    * Call Fn#destroy_runtime_permanent_vars method in the end of tests.
    
0.008001 2025-01-02
  [Bug Fix]
    * Fix a potential bug that the argument width on a method call is wrong.
    
0.008 2024-10-18
  [Document Improvemetn]
    * Add docs for Go::Error::IOTimeout.
  
  [Exception Improvement]
  
    * Improve an exception message in Go::Channel#read method.
    * Improve an exception message in Go::Channel#write method.
  [New Features]
    * Add Go#ENV_DEBUG method.
    * Add SPVM_GO_DEBUG environment variable.
  
  [Bug Fix]
    * Fix a bug that poll IO timeout logic was wrong.
    
0.007003 2024-06-10
  [Requrement Changes]
    * Require SPVM::Sys 0.523.
  
0.007002 2023-12-07
  [Requrement Changes]
    * Require SPVM::Sys 0.510.
0.007001 2023-11-30
  [Internal Changes]
    * Use Sys->kill instead of Sys::Signal->raise.
0.007 2023-11-30
  [Requrement Changes]
    * Require SPVM::Time::HiRes 0.004.
    * Require SPVM::Sys 0.504.
0.006 2023-11-29
  [Requrement Changes]
    * Require SPVM 0.989063.
    * Require SPVM::Time::HiRes 0.003.
    * Require SPVM::Sys 0.502.
  [Bug Fix]
    * Fix the bug that after or timeout is not culcurated by double.
  [New Features]
    * Use CLOCK_MONOTONIC if the sysmtem support it.
    
0.005001 2023-11-26
  [Test Fix]
    * Catch up with the latest Sys class.
  [Internal Changes]
    * Do not use the signal_go class in the Sys::Signal class.
0.005 2023-11-18
  [New Features]
    * Add the Go::Error::IOTimeout class.
  [Incompatible Changes]
    * If IO timeout occurs, an exception is thrown set eval_error_id to the basic type ID of the Go::Error::IOTimeout.
    * Changes the definitions of the following methods in the Go class.
    
    [Before]
    static method gosched_io_read : void ($fd : int, $timeout_ref : double[] = undef);
    static method gosched_io_write : void ($fd : int, $timeout_ref : double[] = undef);
    
    [After]
    static method gosched_io_read : void ($fd : int, $timeout : double = 0);
    static method gosched_io_write : void ($fd : int, $timeout : double = 0);
    
0.004 2023-11-17
  [Requirement Changes]
    * Require SPVM::Sys 0.500.
  [New Featrues]
    * Add a Go::OS::Signal class.
  [Incompatible Changes]
    * The value of $timeout_ref must be greater than 0. Otherwise an exception is thrown.
0.003 2023-11-15
  [Requirement Changes]
    * Require SPVM::Thread 0.001.
  [Incompatible Changes]
    * Go->goshced, Go->gosched_io_write, Go->gosched_io_read, Go->sleep methods must be called from the main thread. Otherwise an exception is thrown.
  [Test Improvement]
    * Add thread-safe tests of Go::WaitGroup.
0.002 2023-11-14
  [Requirement Changes]
    * Require SPVM 0.989061.
    * Require SPVM::Sys 0.495001.
  [Incompatible Changes]
    * The return types of Go->goshced and Go->sleep become void.
  [New Features]
    * Add the gosched_io_read and gosched_io_write methods are added to the Go class.
    
0.001 2023-11-08
  [Changes]
    * First release.
