From 267a42304c734d339a745f481a0c3e1b01cf9a2a Mon Sep 17 00:00:00 2001 From: Garrit Franke Date: Sat, 20 Feb 2021 15:43:05 +0100 Subject: [PATCH] docs: add changelog --- CHANGELOG.md | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8253dc9 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,182 @@ +# Changelog + +## v0.3.0 (2021-02-12) + +This release adds type inference to Sabre. There are also a lot of improvements in terms of documentation. The docs are now at a state that can be considered "usable". + +**Features** + +- Type inference +- The `any` type +- First attempt of LLVM backend + +**Fixes** + +- Fixed an error when printing numbers + +**Documentation** + +- Added documentation for for loops +- Added documentation for while loops +- Documented LLVM backend +- Documented comments +- Updated contributing guidelines + +## v0.2.1 (2021-02-06) + +**Fixes** + +- Fixed an issue where nested expressions where not compiled correctly + +## v0.2.0 (2021-02-06) + +This version introduces a lot of improvements regarding loops and arrays. + +**Features** + +- Support for nested arrays +- `break` and `continue` statements + +**Documentation** + +- Link to our matrix channel in README +- Install Sabre via Cargo + +## v0.1.1 (2021-02-06) + +Follow-up release that fixes some issues with the published crate. + +## v0.1.0 (2021-02-06) + +This release is the first to be published to crates.io. The crate is called [sabre-lang](https://crates.io/crates/sabre-lang). + +**Features** + +- Uninitialized variables +- For loops + +**Fixes** + +None + +**Documentation** + +- Functions fully documented + +## v0.0.4 (2020-12-18) + +This release tries to lay the groundwork of a possible C backend. + +**Features** + +- An unstable, opt-in C backend +- `len()` standard library function +- `rev()` standard library function +- Function return types + +**Fixes** + +- Booleans as function parameters + +**Documentation** + +- A lot of improvements + +## v0.0.3 (2020-12-10) + +This release adds new vital features to the language. + +**Features** + +- While loops +- Boolean type +- Variable assignments +- Basic standard library + +## v0.0.2 (2020-12-09) + +Direct follow-up release that didn't add or remove anything + +## v0.0.1 (2020-12-09) + +Initial release with basic featureset. + +**Full shortlog** + +``` +Garrit Franke (74): + Initial commit + Add license + Add curly braces + Parse functions + Fix function parsing + Update math example + Refactor TokenType + Implement return statement + Fix keyword recognition + Fix test compilation + Fix tests and comments + Add variable declarations + Implement returning variables + Pretty print AST output + Add strings + Rename flex -> sabre + Fix example filename + Add parser tests + Add multiple functions test + Add token positions + Add token positions + Allow empty returns + Add x86 generator scaffolding + Generate assembly + Add JS generator + Fix warnings + Implement return generation + Refactor x86 generator + Print result of main for js target + Fix infinite loop when parsing strings + Add CI + Add function arguments + Add function arguments + Tokenize Comma + Fix return with expression + Remove uneeded compount statement + Add math operations + Fix parsing of complex compound expressions + Clean up expression parsing + Refactor function call parsing + Change function declaration syntax + Add greeter example + Add fib example + Add basic conditionals; remove semicolons + Allow multiple statements in if conditional + Add TODO file + Add js generator for variable declarations + Add remaining comparison operators + Add Readme + Add backend-state to README + Add CLI TODO + Add error reporting TODO + Fix typo + Add builds.sr.ht badge + Add basic CLI + Revert "Change function declaration syntax" + Fix production build + Fix examples + Fix readme + Fix compound op with identifier first + Fix fib example + Add conditional else if branch + Generalize block into own statement + Add else branch + Add copyright notices + Fix warnings + Add integer arrays + Clean up error handling + Refactor parser module structure + Fix warnings + Add docs + Add placeholder for documentation + docs: add placeholder for CLI + docs: add placeholders for developers +```