You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
4.6 KiB

# Changelog
9 months ago
## v0.5.0 (2021-02-23)
**Features**
- Match statements (#15)
- Modules and imports (#17)
9 months ago
- Support for Docker
- Support for Arch Linux build system (Thanks Alex)
**Fixes**
- Fixed a bug with nested expressions and arithmetic operations
**Documentation**
- Added some in-repo technical documentation
- Minor fixes
9 months ago
## v0.4.0 (2021-02-20)
This release introduces the concept of structs, alongside many improvements to the documentation.
**Features**
- Assignment operators (#10)
- Structs (#12)
**Fixes**
None
**Documentation**
- Fixed some typose and broken links
- Document boolean values
- Added this 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
```