From 5f8f1df2d1860f2b5e330bc6f36d181d3b249145 Mon Sep 17 00:00:00 2001 From: Bruno Deferrari Date: Sun, 13 Dec 2020 12:40:18 -0300 Subject: [PATCH] Add new changelog with KeepAChangelogFormat --- CHANGELOG => CHANGELOG-OLD | 111 +-------------------------------- CHANGELOG.md | 122 +++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 109 deletions(-) rename CHANGELOG => CHANGELOG-OLD (54%) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG b/CHANGELOG-OLD similarity index 54% rename from CHANGELOG rename to CHANGELOG-OLD index 72320cc..c94bff1 100644 --- a/CHANGELOG +++ b/CHANGELOG-OLD @@ -1,113 +1,6 @@ -Unreleased +See CHANGELOG.md for newer versions. - * Updated for Shen 22.3. - - * Enabled `programmable-pattern-matching` extension. - - * `if` branches with a known test result are optimized away. - - * Added non-string version of special `scm.` form. - - * Faster equality check against literal numbers. - - * Faster globals. - - * Various other optimizations. - - -0.22 - - * Updated for Shen 22.1. - - * Replace factorisation implementation with extension from kernel. - -0.21: - - * Updated for Shen 22.0. - - * Arguments to the shen-scheme binary have changed, and the launcher extension provided by the latest Shen kernel release is used, pass the `--help` argument to the executable to see the new format. - - * Integrated new `features` extension provided by the latest Shen kernel release. - -0.20: - - * Added flag to allow disabling of pattern factorization. - - * Improve pattern factorization by only hoisting labels that get jumped to from more than one place. - - * Improve pattern factorization by generating fewer `ifs` in cases where the conditions can be merged into a single `if` + `and`. - - * Compile chains of `cons` calls that result in a properly formed list into a single `list` call. - - * Multiple aesthetic changes to the Scheme code the compiler generates. - -0.19: - - * Updated for Shen 21.2. - - * Implemented pattern matching optimization. Speedup goes from modest in simple patterns to huge in patterns that deconstruct larger structures. - - * Added missing `*release*` variable. - - * Functions generated by compiling `defun` expressions are not wrapped in `begin` expressions anymore. - -0.18: - - * Updated for Shen 21.1. - - * Updated Chez dependency from 9.5 to 9.5.2. - - * Don't flush ports after calling `write-byte` unless the port is stdout or stderr. - - * Override `pr` with a better performing implementation. - - * Override `vector` constructor with better performing implementation. - - * Override `@p` tuple constructor with better performing implementation. - - * Make `sysfunc?` return true for `scm.` prefixed symbols. - - * Add `shen-scheme.find-library` function that returns a path where libraries can be added. - - * Remove "whoami" dependency. - - * Fix compilation of `let`. Was not working correctly in where the variable name showed up on the right-side. - - * Add support for Scheme's `letrec` through the `scm.letrec` form. - - * Compile `(thaw ...)` expressions to direct function calls. - - * Use path relative to shen-scheme executable as home. - -0.17: - - * Updated for Shen 21. - - * Reduce overhead of `trap-error` in most situations. - - * Return numbers when calling `intern` with numeric strings. - - * Optimise calls to `(intern "StringConstant")`. - - * Add support for `(scm. "(literal scheme code)")` forms. - - * Add `--eval ` command-line option. - - * Fix dicts not working properly with some key value types. - - * Fix `symbol?` override so that it behaves like the Shen Kernel version. - -0.16 - - * Updated for Shen 20.1. - - * Totally rewritten compiler in Shen. - - * Swiched platform to Chez Scheme. - - * Dropped support for Gauche Scheme and Chibi Scheme. - -0.15 +0.15: * Updated for Shen 20.0. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cc1e9ff --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,122 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +- Enabled `programmable-pattern-matching` extension. +- Non-string version of special `scm.` form. + +### Changed + +- Updated for Shen 22.3. +- `if` branches with a known test result are optimized away. +- Faster equality check against literal numbers. +- Faster globals. +- Various other optimizations. + +## [0.22] - 2019-10-01 + +### Changed + +- Updated for Shen 22.1. +- Replace factorisation implementation with extension from kernel. + +## [0.21] - 2019-09-26 + +### Added + +- Integrated new `features` extension provided by the latest Shen kernel release. + +### Changed + +- Updated for Shen 22.0. +- Arguments to the shen-scheme binary have changed, and the launcher extension provided by the latest Shen kernel release is used, pass the `--help` argument to the executable to see the new format. + +## [0.20] - 2019-09-23 + +### Added + +- Added flag to allow disabling of pattern factorization. + +### Changed + +- Improve pattern factorization by only hoisting labels that get jumped to from more than one place. +- Improve pattern factorization by generating fewer `ifs` in cases where the conditions can be merged into a single `if` + `and`. +- Compile chains of `cons` calls that result in a properly formed list into a single `list` call. +- Multiple aesthetic changes to the Scheme code the compiler generates. + +## [0.19] - 2019-09-22 + +### Added + +- Implemented pattern matching optimization. Speedup goes from modest in simple patterns to huge in patterns that deconstruct larger structures. +- Added missing `*release*` variable. + +### Changed + +- Updated for Shen 21.2. +- Functions generated by compiling `defun` expressions are not wrapped in `begin` expressions anymore. + +## [0.18] - 2019-09-02 + +### Added + +- Add `shen-scheme.find-library` function that returns a path where libraries can be added. +- Add support for Scheme's `letrec` through the `scm.letrec` form. + +### Changed + +- Updated for Shen 21.1. +- Updated Chez dependency from 9.5 to 9.5.2. +- Don't flush ports after calling `write-byte` unless the port is stdout or stderr. +- Override `pr` with a better performing implementation. +- Override `vector` constructor with better performing implementation. +- Override `@p` tuple constructor with better performing implementation. +- Make `sysfunc?` return true for `scm.` prefixed symbols. +- Remove "whoami" dependency. +- Fix compilation of `let`. Was not working correctly in where the variable name showed up on the right-side. +- Compile `(thaw ...)` expressions to direct function calls. +- Use path relative to shen-scheme executable as home. + +## [0.17] - 2018-02-17 + +### Added + +- Add support for `(scm. "(literal scheme code)")` forms. +- Add `--eval ` command-line option. + +### Changed + +- Updated for Shen 21. +- Reduce overhead of `trap-error` in most situations. +- Return numbers when calling `intern` with numeric strings. +- Optimise calls to `(intern "StringConstant")`. +- Fix dicts not working properly with some key value types. +- Fix `symbol?` override so that it behaves like the Shen Kernel version. + +## [0.16] - 2018-01-13 + +### Changed + +- Updated for Shen 20.1. +- Totally rewritten compiler in Shen. +- Swiched platform to Chez Scheme. + +### Removed + +- Dropped support for Gauche Scheme and Chibi Scheme. + +[Unreleased]: https://github.com/tizoc/shen-scheme/compare/0.22...HEAD +[0.22]: https://github.com/tizoc/shen-scheme/compare/0.21...0.22 +[0.21]: https://github.com/tizoc/shen-scheme/compare/0.20...0.21 +[0.20]: https://github.com/tizoc/shen-scheme/compare/0.19...0.20 +[0.19]: https://github.com/tizoc/shen-scheme/compare/0.18...0.19 +[0.18]: https://github.com/tizoc/shen-scheme/compare/0.17...0.18 +[0.17]: https://github.com/tizoc/shen-scheme/compare/0.16...0.17 +[0.16]: https://github.com/tizoc/shen-scheme/compare/chibi-shen-0.15...0.16