diff --git a/CHANGELOG.md b/CHANGELOG.md index 43b129c9..f9dcb9d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,20 +2,29 @@ ## 0.31.0 - TBD -Features +### Features - Built out `numerator` and `denominator` with code conforming to R7RS. -Bug Fixes +### Bug Fixes + +#### General Fixes + +- Properly handle vectors literals at the top level of compiled code. Previously this could lead to segmentation faults (!!) at runtime. +- Fixed an off-by-one error unpacking arguments when calling a primitive as the continuation after a garbage collection. + +#### Base Library - Fixed `read-line` to prevent data loss when used in conjunction with other I/O functions (such as `read-char`) to read data from the same port. This was because the previous version of `read-line` used a different internal buffer than our other I/O functions. -- Properly handle vectors literals at the top level of compiled code. Previously this could lead to segmentation faults (!!) at runtime. - Fixed a bug in `make-list` that consumed all available memory when passing a negative list length. - Allow a record type to contain fields that are not initialized by the constructor. -- Fixed an off-by-one error unpacking arguments when calling a primitive as the continuation after a garbage collection. -- Updated `thread-start!` to return the given thread object, per SRFI 18. -Bug Fixes for C Compiler Warnings +#### SRFI 18 - Multithreading Library + +- Updated `thread-start!` to return the given thread object, per SRFI 18. +- `thread-join!` now returns the result of the thread it was waiting on, per SRFI 18. + +#### C Compiler Warnings - Eliminate clang compiler warnings referencing `EOF` when building the runtime. - Updated runtime so the C compiler will no longer generate warnings regarding the string comparisons in `Cyc_st_add`. Previously this could result in these warnings being spammed to the console when compiling code using Cyclone.