This repository has been archived on 2024-05-26. You can view files and clone it, but cannot push or open issues or pull requests.
trixy/NEWS.md

225 lines
14 KiB
Markdown

<!--
Copyright (C) 2023 - 2024:
The Trinitrix Project <soispha@vhack.eu, antifallobst@systemausfall.org>
SPDX-License-Identifier: LGPL-3.0-or-later
This file is part of the Trixy crate for Trinitrix.
Trixy is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
and the Lesser GNU General Public License along with this program.
If not, see <https://www.gnu.org/licenses/>.
-->
# Changelog
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
- - -
## v0.2.1 - 2024-05-20
#### Bug Fixes
- **(src/types/traits/convert_trait)** Remove unneeded imports - (5253e59) - Benedikt Peetz
- - -
## v0.2.0 - 2024-05-20
#### Bug Fixes
- **(example/main)** Update to use the new result type - (1f0b9c6) - Benedikt Peetz
- **(example/main)** Ignore generated `api.rs` debugging file - (ed4a113) - *soispha*
- **(gitignore)** Don't ignore the `Cargo.lock` file - (c9622c1) - Benedikt Peetz
- **(parser/unchecked/attributes)** Correctly enforce an identifier in `derive` - (4f84605) - Benedikt Peetz
- **(src/parsing)** Remove the extra `error` attribute keyword - (650d577) - Benedikt Peetz
#### Build system
- **(NEWS.md)** Restore separator - (243a89b) - Benedikt Peetz
- **(cog)** Avoid building the project with nix, as this fails - (5f9ef33) - Benedikt Peetz
- **(cog)** Remove wrong toml header - (ecfdb0a) - Benedikt Peetz
- **(cog)** Use new `renew_copyright_header` script - (1984217) - Benedikt Peetz
- **(flake)** Ignore correct changelog file - (477b9e1) - Benedikt Peetz
- **(treewide)** Update - (83ba3b4) - Benedikt Peetz
- **(update.sh)** Don't always perform the expensive `upgrade` - (ee8e860) - Benedikt Peetz
#### Documentation
- **(README)** Mention the binary - (6c64180) - *soispha*
- **(README)** Add - (c787aa2) - *soispha*
- **(c_test)** Add a poc regarding results in c - (7034cf7) - Benedikt Peetz
- **(grammar.pdf)** Regenerate with new landscape ebnf2pdf script - (c6dc9db) - Benedikt Peetz
#### Features
- **(src)** Add real and working support for results - (9000c1d) - Benedikt Peetz
- **(src/macros)** Store allocation location in all stringsThis makes it possible to automatically free the string in the correctway expected by both c and rust.Rust strings can now just be freed by the rust allocator, whilst cstrings are forgotten, so that the c allocator may free them.BREAKING CHANGE: All usage of explicit mentions `std::string::String` in your `handle_cmd` function will need to be replaced by `trixy::types::newtypes::String`. Otherwise these types should provide the same methods. - (2e92028) - Benedikt Peetz
#### Miscellaneous Chores
- **(Cargo.toml)** Add further required metadata - (4d76282) - Benedikt Peetz
- **(Cargo.toml)** Add required metadata - (cc788a9) - Benedikt Peetz
- **(c_test)** Remove the POC - (d1f31c2) - Benedikt Peetz
- **(treewide)** Add missing license headers - (1677f5c) - Benedikt Peetz
- **(treewide)** Renew copyright headers - (447370d) - Benedikt Peetz
- **(version)** v0.1.1 - (601d82d) - Benedikt Peetz
- **(version)** v0.1.0 - (994b3de) - Benedikt Peetz
#### Refactoring
- **(example/main/.cargo/config)** Add a `.toml` extension - (9953b50) - Benedikt Peetz
- **(src/macros/generate/host)** Merge host generation in one module - (0f131c9) - Benedikt Peetz
#### Tests
- **(error_derive)** Init - (7e2cbb4) - Benedikt Peetz
- **(results)** Add a test for results - (e57bd40) - Benedikt Peetz
- **(src/types/newtypes)** Test if a full round-trip works - (7bced94) - Benedikt Peetz
- **(tests)** Update to new String wrapper - (1599631) - Benedikt Peetz
- **(types)** Update to represent a minimal change in the library - (91adaa2) - *soispha*
- - -
## v0.1.0 - 2024-05-04
#### Bug Fixes
- **(bin/generate)** Actually only generate what was specified - (08df8e8) - *soispha*
- **(binary/parse)** Actually only perform the other steps, if asked for it - (4e3bdf2) - *soispha*
- **(docs/generate_docs)** Cd into the correct directory to make ebnf2pdf work - (9a0720e) - *soispha*
- **(example/main)** Ignore generated api.rs debugging file - (6bed2a8) - *soispha*
- **(generate/convert/host/rust/derive/structure)** Ignore `ptr` arg on todo - (bd0b3c7) - *soispha*
- **(gitignore)** Don't ignore the `Cargo.lock` file - (ec11a12) - Benedikt Peetz
- **(macros)** Mark the main generate function as must_use - (db5cd1a) - *soispha*
- **(macros)** Generate namespacesed types and convertible impls - (8b02d13) - *soispha*
- **(macros/c_api)** Add host generation support for structs and enums - (5fe757f) - *soispha*
- **(macros/c_api/header)** Format doc comments in a c-like way - (17fd954) - *soispha*
- **(macros/config/file_tree/markdown)** Change format to align with mdfmt - (5855d9b) - *soispha*
- **(macros/generate)** Correctly generate function types - (9a8ccc9) - *soispha*
- **(macros/generate/auxiliary/c/function)** Also add inputs when no output - (3d35d39) - *soispha*
- **(macros/generate/convert/auxiliary/c)** Correctly generate function types - (a66c687) - *soispha*
- **(macros/generate/convert/auxiliary/c/arguments)** Accept newlines - (bfeb620) - *soispha*
- **(macros/generate/host)** Add unified support for conversions - (b5f5ae8) - *soispha*
- **(macros/generate/host/c/function)** Actually call the callback function - (645b8d5) - *soispha*
- **(macros/generate/host/host/type)** The function type is a c pointer - (a58030c) - *soispha*
- **(parser/error)** Remove multiple errors from line number calc - (e512352) - *soispha*
- **(parser/lexing/error)** Improve the message of the `NoMatchesTaken` error - (ce1e4d8) - *soispha*
- **(parser/lexing/take_until_sucessive_match)** Add utf8 support - (fae3de8) - *soispha*
- **(parser/tokenizer)** Remove the tokenizer's death, when exposed to doc comments - (508dc2b) - *soispha*
- **(parser/unchecked/parse_structure)** Accept attributes on fields - (7a8dc66) - *soispha*
- **(scripts/renew_copyright_header)** Set correct template line lenght - (00a82ac) - *soispha*
- **(scripts/renew_copyright_header)** Add support for gitignore files - (9e7e9d7) - *soispha*
- **(scripts/renew_copyright_header)** Correctly handle shebangs - (3646e4a) - *soispha*
- **(scripts/renew_copyright_header)** Add per filetype handling - (3484ead) - *soispha*
- **(trixy)** Add thiserror dependency, as it's used in generated code - (e72c212) - *soispha*
- **(trixy)** Use public reexports - (b9e2641) - *soispha*
- **(trixy-macros)** Format the generated header with in the GNU style - (7c27cdc) - *soispha*
- **(trixy-parser)** Remove the `void` type - (a077ef1) - *soispha*
- **(trixy-types)** Conform to the api provided by the headers - (86b946b) - *soispha*
- **(trixy-types)** Rework c header files - (f699ca2) - *soispha*
- **(trixy/examples/main)** Improve c code - (5ce46a1) - *soispha*
- **(types)** Remove top-level support for generic types - (37ba451) - *soispha*
- **(types)** Improve support for generic rust types - (c2d21fd) - *soispha*
- **(types/error)** Add a pseudo error for infallible conversions - (9e37456) - *soispha*
- **(types/types_list)** Add the supported primitive types - (febb2de) - *soispha*
#### Build system
- **(.envrc)** Add `./target/debug` to PATH - (9233a13) - *soispha*
- **(.licensure.yml)** Update to really be usable - (cc50ec2) - *soispha*
- **(cog)** Avoid building the project with nix, as this fails - (d57beee) - Benedikt Peetz
- **(cog)** Remove wrong toml header - (ddd9255) - Benedikt Peetz
- **(cog)** Use new `renew_copyright_header` script - (c7b8fb3) - Benedikt Peetz
- **(cog.toml)** Use `nix fmt` (treefmt) instead of only `cargo fmt` - (86d0060) - *soispha*
- **(flake)** Update - (596197b) - *soispha*
- **(flake)** Update - (9630e10) - *soispha*
- **(flake)** Add treefmt - (1b8a33c) - *soispha*
- **(flake)** De-duplicate the `flake.lock` file - (3e59d53) - *soispha*
- **(licensure)** Add c headers to known files - (6e26bec) - *soispha*
- **(licensure)** Update to a better license template - (1a2267b) - *soispha*
- **(scripts/renew_copyright_header)** Init - (e9efc23) - *soispha*
- **(treewide)** Add relevant configuration for releases - (22904c9) - *soispha*
- **(update.sh)** Include the main example in the updates - (2e2028d) - *soispha*
- **(update.sh)** Add a shebang - (8104e80) - *soispha*
- **(update.sh)** Add an update script - (80c6dd4) - *soispha*
#### Documentation
- **(README)** Mention the binary - (366efd8) - *soispha*
- **(README)** Add - (06c61ad) - *soispha*
- **(example)** Update the example c and tri file to latest progress - (f688df1) - *soispha*
- **(example/main)** Update to include newly added callbacks - (7f6c76a) - *soispha*
- **(grammar.ebnf)** Don't reimplement already specified rules - (838181c) - *soispha*
- **(lib)** Add a description to the oneshot-senders - (e205ea4) - *soispha*
- **(macros/generate)** Improve error output - (73416da) - *soispha*
- **(parser/examples)** Add various examples (also the trinitrix main api) - (0ebbc43) - *soispha*
- **(parser/generate_docs)** Move shebang to first line - (1d49bdf) - *soispha*
- **(trixy-parser)** Update the railroad diagrams - (88aa3c3) - *soispha*
#### Features
- **(bin)** Add a binary, that helps in showing the generated code - (ec929da) - *soispha*
- **(example/valgrind)** Add a script to test the c example with valgrind - (eb31567) - *soispha*
- **(macros/c_api/header)** Add structs and enums to the c header - (6e72b7b) - *soispha*
- **(macros/config/file_tree)** Add support for parsing a FileTree from file - (89fd67c) - *soispha*
- **(macros/generate/convert/auxiliary)** Merge comments in c - (bb101c1) - *soispha*
- **(parser)** Associate a vector of nasps with every struct, enum, nasp - (a50936f) - *soispha*
- **(parser)** Add support for parsing function pointer types - (f73d3aa) - *soispha*
- **(parser)** Add support for parsing attributes - (add0d17) - *soispha*
- **(parser/bin)** Allow `lex` as an alias to `tokenize` - (21b0ce1) - *soispha*
- **(parser/lexing)** Desuger doc comments by running a regex on the file - (f1e9087) - *soispha*
- **(treewide)** Finalize basic c API - (e52f74b) - *soispha*
- **(treewide)** Add broken Vec<E>, Result\<T,E> and Option<T> types to c api - (b3c6a4c) - *soispha*
- **(treewide)** Provide a c api - (7d1a41a) - *soispha*
- **(trixy-macros)** Add rust host code generation - (ed96a50) - *soispha*
- **(trixy-parser)** Adapt Trixy to be a complete subset of rust - (b679987) - *soispha*
- **(types/try_from_impl)** Add a trixy::String from &str impl - (c69c00e) - *soispha*
#### Miscellaneous Chores
- **(.licensure.yml)** Remove unnecessary line in header comment - (dc000f2) - *soispha*
- **(.licensure.yml)** Add license spdx identifier - (7a95fa7) - *soispha*
- **(.licensure.yml)** Also add the license text to markdown files - (2f7be6f) - *soispha*
- **(Cargo.toml)** Add further required metadata - (0774ac2) - Benedikt Peetz
- **(Cargo.toml)** Add required metadata - (475e7ed) - Benedikt Peetz
- **(docs/generate_docs)** Add a `.sh` extension, so scripts recognize the ft - (a653dec) - *soispha*
- **(example)** Switch to full trinitrix API - (d2d18d9) - *soispha*
- **(parser/docs/grammar.pdf)** Update file - (c898c48) - *soispha*
- **(treewide)** Renew copyright headers - (07c3846) - Benedikt Peetz
- **(treewide)** Update license header - (5ab2bbb) - *soispha*
- **(treewide)** Add or update license header - (2b45995) - *soispha*
- **(treewide)** Add the new license header - (5a7bb00) - *soispha*
- **(treewide)** Remove old license header - (7ac6edb) - *soispha*
- **(treewide)** Move the trixy subcrates under one trixy crate - (21e1b75) - *soispha*
- **(treewide)** Add license headers - (0744c84) - *soispha*
- **(treewide)** Add license headers - (03f2450) - *soispha*
- Initial commit - (233fa3e) - soispha
#### Refactoring
- **(example/main/c)** Deduplicate error handling function - (cd5b0c9) - *soispha*
- **(macros/convertible_derive)** Generate the `Convertible` Trait impl - (18034e2) - *soispha*
- **(parser)** Use predictable names for tokens - (a4513e8) - *soispha*
- **(src/macros/generate/host)** Merge host generation in one module - (86427b0) - Benedikt Peetz
- **(treewide)** Rework file structure in `src/macros` - (eb7a901) - *soispha*
- **(types/headers/string)** Don't typedef a string type - (938e038) - *soispha*
#### Style
- **(flake)** Use yamlfmt instead of prettier - (4110f65) - *soispha*
- **(flake)** Add even more formatters - (fa6b046) - *soispha*
- **(treewide)** Format - (a766149) - *soispha*
- **(treewide)** format - (5ada3cb) - *soispha*
- **(treewide)** Reformat with treefmt (`nix fmt`) - (d904a19) - *soispha*
- **(treewide)** Reformat - (03f8eda) - *soispha*
#### Tests
- **(multiple)** Ignore, as it's not a important feature - (b1d47de) - *soispha*
- **(parser/checked/test)** Update test case - (0a6159e) - *soispha*
- **(scripts)** Add a script, which will help with generating and updating tests - (b85650e) - *soispha*
- **(tests)** Update `expected.md` files - (5a9de1a) - *soispha*
- **(tests)** Update - (475dde2) - *soispha*
- **(tests)** Add the positive tests (and delete the ones in rust) - (d48456d) - *soispha*
- **(trixy-parser)** Restore test functionality after nasp -> mod rename - (dc8a7ec) - *soispha*
- Add new multiline display for c auxiliary code - (055cf2d) - soispha
______________________________________________________________________
Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).