What's Changed
- [docs] Use
CARGO_PKG_VERSIONinstead of master when linking by @lens0021 in #649 - Write docs to standard output by @hdwalters in #655
- Unindent main block by @hdwalters in #654
- Improve docs usage links by @hdwalters in #653
- Failable types -> failable functions by @b1ek in #642
- fix: validate function argument names for duplicates by @MuhamedMagdi in #680
- feat(install): removed from repo by @Mte90 in #644
- replace_regex: remove bash word boundary when detecting gnused by @Aleksanaa in #686
- New translation modules architecture by @Ph0enixKM in #678
- Added Git version at build-time by @Thesola10 in #685
- test: Use the bash container and a matrix strategy for bash versions by @lens0021 in #616
- Replace Amber text interpolation with Bash parameter expansion by @lens0021 in #592
- fix: base_base_image -> base_bash_image by @lens0021 in #704
- Add Variable Statement Translation Fragment by @Ph0enixKM in #698
- Run workflows on main and staging branches by @b1ek in #705
- vscode debug profile by @b1ek in #692
- Add function that returns installed bash version by @Ph0enixKM in #703
- Fix CI/CD regarding bash_version PR by @Ph0enixKM in #708
- Fix CI pipeline for old Bash versions and add macOS support. by @Ph0enixKM in #701
- fix: Update condition to filter Bash 4.4 or later by @lens0021 in #709
- Feat: Improve date library by @Ph0enixKM in #712
- Introduce optimizer - remove unused variables by @Ph0enixKM in #706
- chore(test): fix bash_error_exit_code of macos runner by @lens0021 in #710
- Fix shfmt when comparing lexically by @Ph0enixKM in #715
- Fix clippy::uninlined_format_args by @lens0021 in #722
- docs: Fix the comment of UnOp group macro by @lens0021 in #720
- fix: Disable some GNU Sed only features by @lens0021 in #717
- feat(std/fs): Create cross OS compatible mktemp function by @lens0021 in #718
- [BUG] Bad escaping for a string with $ sequence #593 by @Ph0enixKM in #594
- feat: Add "absurd cast" warning when casting Text to Bool by @lens0021 in #719
- test: Add bash 5.3 by @lens0021 in #725
- Remove mistakenly added code in fs.ab by @lens0021 in #730
- Add new
Inttype by @Ph0enixKM in #721 - Remove shfmt postprocessor support as it was rendered redundant by @Copilot in #735
- Add warning for invalid escape sequences in string literals by @Copilot in #732
- feat: Give auto deletion funtionality to temp_dir_create() by @lens0021 in #726
- chore(text.ab): Rename the parameters of text_contain*() functions to source and search by @lens0021 in #742
- Add optimizer for ephemeral (intermediate) variables by @Ph0enixKM in #728
- ignore escaped newline in comments by @b1ek in #741
- Unused variables that contain commands or subprocesses should not be optimized by @Ph0enixKM in #746
- Fix remove global variables in functions by @Ph0enixKM in #729
- Loop iterator has to be Int by @Ph0enixKM in #752
- Fix concurrency issue in input tests by using unique temporary files by @Copilot in #756
- Fix import statement error handling for star (*) in closure with helpful message by @Copilot in #755
- Refactor CLI tests to use internal API with inline logic for improved simplicity by @Copilot in #754
- Implement support for reverse range expressions (fixes #471) by @Copilot in #753
- Improve escaping by @Ph0enixKM in #759
- Add new and simpler release pipeline by @Ph0enixKM in #758
- Implement
whileloop feature for Amber language by @Copilot in #762 - Fix: Unused variables optimizer removes variables also in case of shorthand expression by @Ph0enixKM in #763
- Unify block parsing to support both single-line and multi-line blocks consistently by @Copilot in #765
- Implemented AMBER_HEADER and AMBER_FOOTER variables by @Thesola10 in #682
- Update standard library to use
Intdata types by @Ph0enixKM in #768 - Improve errors when no
failedblock used after failable expression by @Ph0enixKM in #769 - Update missing functions by @Ph0enixKM in #774
- Fix error with nested arrays by @Ph0enixKM in #780
- Introduce an intermediate state of texts between parsing and translating by @lens0021 in #772
- Implement
succeededblock for handling command and function success by @Copilot in #787 - Fix reversed ranges on Linux by @Ph0enixKM in #785
- docs(stdlib): Fix typos by @lens0021 in #790
- Delete build.ab by @lens0021 in #793
- docs: Exactly describe the current behaviors of std/array by @lens0021 in #788
- chore!(stdlib): Make five stdlib functions failable instead of returning a bool by @lens0021 in #791
- fix: Use globally unique id for the arguments of the main function by @lens0021 in #796
- Make array_first and array_shift fail when the array is empty by @lens0021 in #789
- Migrate tests bash calls to builtin by @lens0021 in #794
- Implement
sudocommand modifier by @Copilot in #782 - feat(std/array): Add
array_filledby @UrbanCoffee in #783 - [Feature] Add
thenblock for handling command exit codes by @Copilot in #800 - Use recent syntax and stdlib in install.ab by @lens0021 in #792
- Add parameter support to failed block for capturing exit codes by @Copilot in #806
- Improve error message for '?' operator usage by @Mte90 in #805
- Remove
__prefix from variable and function names in generated Bash code by @Copilot in #804 - Correct interpolation within single-quoted strings in commands by @lens0021 in #808
- Remove rotten TODOs by @lens0021 in #809
- Ignore double-quoted single quote when escaping by @lens0021 in #814
- Add more reserved words by @lens0021 in #812
- Remove __ prefix from args of the main function by @lens0021 in #817
- Stabilize single-quoted command interpolation (third fix) by @lens0021 in #819
- Fix main args global id reuse in translation by @lens0021 in #825
- Revert "Add warning for invalid escape sequences in string literals (#732)" by @lens0021 in #823
- Separate type-checking from ParsingModule to new TypeCheckModule trait by @Copilot in #770
- Added improvements to stdlib by @KrosFire in #821
- Make
Textto emit warning in any cast by @Ph0enixKM in #832 failnow proprely validates a variable Type by @Ph0enixKM in #836- Refactor
Statementmodule by @Ph0enixKM in #839 - Function body is parsed when not called by @Ph0enixKM in #830
- Resolve issues with not covered warnings in tests by @Ph0enixKM in #841
- Optimize docs gen usage examples for LSP by @Ph0enixKM in #843
- Release Amber 0.5.0-alpha by @Ph0enixKM in #760
New Contributors
- @Aleksanaa made their first contribution in #686
- @Thesola10 made their first contribution in #685
- @Copilot made their first contribution in #735
- @UrbanCoffee made their first contribution in #783
- @KrosFire made their first contribution in #821
Full Changelog: 0.4.0-alpha...0.5.0-alpha