CHICKEN Scheme обновился до версии 6.0.0. В ядро теперь входят все модули R7RS small, строки переведены на UTF-8, а модуль (chicken blob) заменён на (chicken bytevector) с R7RS-совместимыми операциями. Байтвекторы полностью эквивалентны SRFI-4 u8vectors. Старый синтаксис #${...} убрали, читать байтвекторы можно через #u8(...) или #u8"...". Файловые функции принимают кодировку: UTF-8 по умолчанию и Latin-1 (ISO-8859-1). process-fork, process-run, process и process* теперь возвращают объект процесса, а не PID. Файловые блокировки в (chicken file posix) переведены на flock(2). В (chicken io) добавили read-bytevector, read-bytevector! и write-bytevector. Появился port-encoding, make-input-port и make-output-port принимают методы как keyword arguments. Часть примитивов переехала из (chicken base) в (scheme base): exact-integer?, call/cc, parameterize, port? и другие. Синтаксис #ci/#cs заменён на #![no-]fold-case. Модуль (chicken number-vector) стал надмножеством SRFI-4, включая векторы комплексных чисел 64 и 128 бит. number->string принимает основания до 36. В FFI строки и символы передаются в C без копирования, а комплексные числа, C-структуры и union можно передавать и возвращать напрямую. Добавлены опции -merge-reusable-closures и -merge-shareable-closures. Сборку перевели на configure-скрипт, на Windows минимальный mingw-билд больше не поддерживается, рекомендован w64devkit от Chris Wellons, также система собирается с zig cc.
Обновления 5.x тоже важные. В 5.4.0 закрыли CVE-2022-45145: из-за escape-символов в метаданных egg можно было выполнять произвольные OS-команды при установке. Убрали runtime-опцию -:b — слишком опасно позволять падать в REPL из CLI любой программы. Заодно появились thread-safe API для POSIX-сигналов, make-finalizer, weak pairs, fp*+ (fused multiply-add) и flonum-специфичные гиперболические функции. В 5.3.0 current-milliseconds задепрекали в пользу current-process-milliseconds, изменили GC: при почти полной куче он увеличивает heap раньше. В 5.2.0 for-each и map стали одинаково останавливаться на коротком списке, добавили модуль srfi-88 и починили negative zero. В 5.1.0 keywords стали отдельным типом, а не подтипом символов, на FreeBSD используют arc4random. В 5.0.0 в ядре появилась полная числовая башня, раньше жившая в egg numbers. Оттуда же выпилили srfi-1, srfi-13, srfi-14, srfi-18, srfi-69 и utils — теперь они eggs. Убрали поддержку SWIG, сделали C-вывод компилятора детерминированным, а импорты в модулях стали лексически ограниченными.