Releases: MoganLab/goldfish
Goldfish Scheme v17.11.29
What's Changed
- [214_8] njson命名简化、json njson 互转与格式化输出增强 by @wumoin in #483
- [200_24] 迁移 (scheme char) 相关底层实现,从 s7.c 到 s7_scheme_char.c by @jackmath5261-bit in #484
- [200_28] 为method_or_bust函数提供内部桥接 by @MoonL79 in #486
- [214_9] 修改njson相关api的行为逻辑 by @wumoin in #485
- [214_10] 修复 njson 句柄安全、set 写入语义的问题 by @wumoin in #487
- [200_29] 修复windows上ci缓存问题 by @wumoin in #489
- [200_27] 从 s7.c 迁移 string-length 至 s7_liii_string.c by @MoonL79 in #488
- [200_29] 修复windows上ci缓存问题 by @wumoin in #491
- [200_27] 对内部暴露 string-append 相关API by @MoonL79 in #492
- [214_11] njson 新增merge api by @wumoin in #490
- [214_12] 优化njson存储结构 by @wumoin in #493
- [200_1] bump Goldfish : 17.11.29 by @wumoin in #494
Full Changelog: v17.11.28...v17.11.29
Goldfish Scheme v17.11.28
What's Changed
- [210_30] 限定 boot.scm 中 R7RS 的模式启用条件 by @wumoin in #481
- [200_1] 更新版本发布文档,添加v17.11.28发布信息 by @wumoin in #482
Full Changelog: v17.11.27...v17.11.28
Goldfish Scheme v17.11.27
What's Changed
- [210_20] 在 test_all.scm 中默认关闭 HTTP 测试,支持通过环境变量开启 by @da-liii in #415
- [201_22] 更新 CLAUDE.md 项目编号对照表 by @da-liii in #416
- [200_20] 将S7从3rdparty迁移至src目录 by @da-liii in #417
- [200_21] 拆分 s7_r7rs.c 并重新实现 get-environment-variables by @da-liii in #418
- [200_21] 从 s7.c 中移除 getenv 相关代码 by @da-liii in #419
- [200_21] 从 s7.c 中移除 file-exists? 相关代码 by @da-liii in #420
- [200_21] 将 sqrt 从 s7.c 迁移至 s7_r7rs.c by @da-liii in #421
- [200_21] 将 nan? 相关代码迁移到 s7_r7rs.c by @da-liii in #423
- [200_21] s7_r7rs 重命名为 s7_scheme_inexact by @da-liii in #424
- [200_21] s7_scheme_inexact.c: sin, cos, tan, asin, acos, atan by @da-liii in #425
- [200_22] 将 floor 在 s7.c 中的实现迁移到 s7_scheme_base.c by @da-liii in #431
- [200_22] 将 ceiling 从 s7.c 迁移到 s7_scheme_base.c by @da-liii in #432
- [200_22] s7_scheme_base.c: even?, odd?, positive?, negative?, zero?, exact?, inexact?, exact->inexact, inexact->exact by @da-liii in #435
- [210_22] srfi-19 current-data实现 by @jackmath5261-bit in #438
- [210_23] srfi-19 add-duration subtract-duration 实现 by @jackmath5261-bit in #440
- [213_1] (srfi srfi-175) 模块实现 by @MoonL79 in #439
- [210_24] srfi-19 string->date 实现 by @jackmath5261-bit in #441
- [210_25] srfi-19 time-utc->time-tai time-tai->time-utc 实现 by @jackmath5261-bit in #442
- [210_26] srfi-19 time-tai->date date->time-tai 实现 by @jackmath5261-bit in #444
- [210_27] srfi-19 time-utc/time-monotonic/date/time-tai 转化实现 by @jackmath5261-bit in #445
- [210_28] srfi-19 local-tz-offset 实现 by @jackmath5261-bit in #446
- [200_21] 将 exp 从 s7.c 迁移到 s7_scheme_inexact.c by @wumoin in #448
- [213_1] srfi-175测试文档语法修改 by @MoonL79 in #447
- [200_21] 将 log 从 s7.c 迁移到 s7_scheme_inexact.c by @wumoin in #450
- [200_21] 将 infinite?/finite? 相关实现(infinite?)从 s7.c 迁移到 s7_scheme_inexact.c by @wumoin in #452
- [213_2] 暴露 (liii ascii) by @MoonL79 in #451
- [213_3] 删除 srfi-175.scm 中的注释 by @MoonL79 in #454
- [200_23] 将 lognot/logand/logior/logxor/ash 相关实现从 s7.c 迁移到 s7_liii_bitwise.c by @MoonL79 in #453
- [213_3] 修改 srfi-175.scm 的版权信息 by @MoonL79 in #455
- [200_25] 将 (scheme complex) 相关代码从 s7.c 迁移到 s7_scheme_complex.c by @MoonL79 in #459
- [200_25] 补充complex测试用例 by @MoonL79 in #460
- [214_1] 引入 nlohmann_json 并初步完成 njson by @wumoin in #458
- [200_25] 整理complex测试用例 by @MoonL79 in #463
- [214_2] 引入json-schema-validator并在 njson 中新增 JSON Schema 校验能力 by @wumoin in #464
- fix: correct bitwise-eqv to return integer instead of boolean by @aadiexii in #465
- [214_3] 新增njson 自动释放宏 by @wumoin in #466
- [200_27] 从s7.c迁移 string-upcase, string-downcase, string-set!, string-ref 至 s7_liii_string.c by @da-liii in #468
- [214_1] 迁移njson bench相关测试代码到bench目录 by @wumoin in #471
- [214_4] 新增njson-set! njson-push! njson-drop!并优化njson-keys by @wumoin in #474
- [214_5] 优化njson schema 校验 API by @wumoin in #475
- [214_6] 新增 njson 类型谓词接口 by @wumoin in #476
- [214_7] 新增 njson 容器查询与文件读写接口 by @wumoin in #477
- [200_1] 更新版本发布文档,添加v17.11.27发布信息 by @wumoin in #478
New Contributors
Full Changelog: v17.11.26...v17.11.27
Goldfish Scheme v17.11.26
What's Changed
- [210_12] feat(srfi-19): 初始化 time 和 date 结构,实现部分函数 by @jetjinser in #396
- [210_13] srfi-19 time-difference实现 by @jackmath5261-bit in #400
- [210_14] srfi-19 time compare实现 by @jackmath5261-bit in #402
- [210_15] srfi-19 time-utc date相互转化实现 by @jackmath5261-bit in #403
- [210_16] srfi-19 date-year-day 添加测试 by @jackmath5261-bit in #404
- [210_17] srfi-19 date-week-day 和 date-week-number 添加测试 by @jackmath5261-bit in #405
- [210_16] 修改date-year-day 和 date-week-day 和 date-week-number文档 by @jackmath5261-bit in #407
- [210_18] feat: srfi-125/lii.hash hash-table-copy by @jetjinser in #408
- [210_15] 修改 srfi-19 time-utc date相互转化实现,添加测试 by @jackmath5261-bit in #411
- [210_20] 异步 HTTP API by libcpr by @jetjinser in #410
- [210_19] feat:
(srfi srfi-165)初始化 by @jetjinser in #409 - [200_19] 改进测试输出格式 by @jetjinser in #413
- [210_21] 新增文件哈希 by @wumoin in #406
- [210_21] fix: hashlib windows 栈溢出 by @jetjinser in #414
- bump: 17.11.26 by @jetjinser in #412
New Contributors
- @jackmath5261-bit made their first contribution in #400
Full Changelog: v17.11.25...v17.11.26
Goldfish Scheme v17.11.25
fix guenchi json
Goldfish Scheme v17.11.24
[200_1] 更新版本发布文档,添加v17.11.24发布信息 (#351) * Goldfish Scheme v17.11.23 * 修改文档 * wip
Goldfish Scheme v17.11.22
🚀 Performance Optimization (Series 202)
Object-Oriented Programming Performance Improvements
- Introduced high-performance
define-final-class, offering a 20% performance boost in constructors compared todefine-case-class. - Migrated the
(liii option)module fromdefine-case-classtodefine-final-class. - Switched
rich-listtodefine-final-class
Performance Testing Tools
- Added the
(liii timeit)module, implementing thetimeitfunction for performance testing. - Removed flaky test cases to improve testing stability.
📚 Documentation Improvements (Series 209)
Object-Oriented Programming Documentation
- Added documentation for the
@function in(liii oop). - Added documentation and test cases for
typed-define. - Introduced new documentation for
define-case-class. - Added documentation and test cases for
define-object. - Provided documentation and unit tests for
define-classandcase-class?. - Added the
%equalsmethod fordefine-class.
🔧 Infrastructure (Series 210)
- Added documentation and test cases for
define-constant.
This release primarily focuses on performance optimization for object-oriented programming, documentation improvements, and enhanced testing tools.
Goldfish Scheme v17.11.21
> bin/goldfish --version
Goldfish Scheme 17.11.21 by LiiiLabs
based on S7 Scheme 11.5 (22-Sep-2025)
🔧 Infrastructure Improvements
Code Formatting Tool
- Added
bin/goldfish tools/format.scmcode formatter - Supports in-place formatting (-i option) and preserves blank lines
- Improved formatting of single-line and multi-line comments
Development Tools Enhancement
- Rewrote the
bin/codedevelopment environment startup script in Python - Fixed the documentation test command, unified to use the
-m r7rsparameter
Version Control
- Added a pre-commit hook to prevent commits on the main branch
🌐 Enhanced Unicode Support
unicode Module
- Created the
(liii unicode)module - Implemented UTF-16BE/UTF-16LE encoding conversion functions
- Added functions such as
utf16be->utf8,utf8->utf16be,utf16le->utf8,utf8->utf16le
🔄 Functional Enhancements
Character Processing
- Implemented the
char-foldcasefunction - Migrated
char-whitespace?,char-alphabetic?,char-numeric?to(scheme char)
This version focuses primarily on toolchain improvement, enhanced Unicode support, and code quality enhancement.
Goldfish Scheme v17.11.17
> bin/goldfish --version
Goldfish Scheme 17.11.17 by LiiiLabs
based on S7 Scheme 11.2 (30-Dec-2024)
We improved the performance of Goldfish Scheme and adjust the default imported for liii mode (from (liii lang) to (liii oop)).
Goldfish Scheme v17.11.14
> bin/goldfish --version
Goldfish Scheme 17.11.14 by LiiiLabs
based on S7 Scheme 11.2 (30-Dec-2024)
Important Changes since 17.11.13
- Refracture (liii list/vector/string) and optimize the performance, it is 10 times faster now!
- add several new methods such as path-touch and path%touch in (liii path) by @JackYansongLi
- Fix path-append-text so it works on Windows by @da-liii in #314
- add (liii logging) for log management @da-liii
- add date case-class in (liii datetime) by @JackYansongLi in #324