Releases: amber-lang/amber
Releases ยท amber-lang/amber
0.5.2-nightly-2026-04-08-960c5c5
chore(deps): bump the github-actions group with 2 updates (#1085) Bumps the github-actions group with 2 updates: [cachix/install-nix-action](https://github.com/cachix/install-nix-action) and [codecov/codecov-action](https://github.com/codecov/codecov-action). Updates `cachix/install-nix-action` from 31.10.1 to 31.10.3 - [Release notes](https://github.com/cachix/install-nix-action/releases) - [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md) - [Commits](https://github.com/cachix/install-nix-action/compare/1ca7d21a94afc7c957383a2d217460d980de4934...96951a368ba55167b55f1c916f7d416bac6505fe) Updates `codecov/codecov-action` from 5.5.2 to 6.0.0 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2) --- updated-dependencies: - dependency-name: cachix/install-nix-action dependency-version: 31.10.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: codecov/codecov-action dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0.5.1-alpha
What's Changed
- Fix parsing of main arguments by @Ph0enixKM in #850
- Fix bug related to global variables by @Ph0enixKM in #853
- Make indexing work for any expression by @Ph0enixKM in #855
Full Changelog: 0.5.0-alpha...0.5.1-alpha
0.5.0-alpha
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 https://github.com/amber-lang/amber/pul...
0.4.0-alpha
What's Changed
- Fix installer prompt by @Mte90 in #457
- stdlib: update stdlib docs with formatting, grammar and spelling fixes by @Hoverth in #464
- Fix tests not being rerun by @b1ek in #467
- Install from shell using curl fixed by @Mte90 in #473
- fix(test): missing function parameters by @Mte90 in #461
- Optionally use sed extended regex syntax by @hdwalters in #453
- Update Heraclitus to 1.8.0 by @Ph0enixKM in #480
- Fix CI for PR breakages due to shfmt by @mks-h in #476
- fix(doc): generate in custom path and check if amber file exist by @Mte90 in #465
- Escape slashes in replace pattern and replacement by @hdwalters in #487
- Sort functions by name in documentation by @hdwalters in #470
- feat:
exitas builtin function by @MuhamedMagdi in #402 - fix: remove extra spaces in echo helpers by @karpfediem in #491
- feat: add input_hidden function by @karpfediem in #492
- Miscellaneous refactoring by @hdwalters in #495
- Introduce Generic Arrays by @mks-h in #472
- Add CI windows support by @Ph0enixKM in #499
- Support Git Bash on Windows by @hdwalters in #501
- fix(build): nix CI by @Mte90 in #503
- Change unsafe keywords to trust by @Ph0enixKM in #498
- feat(readme): removed stuff and added link to the doc website by @Mte90 in #502
- Revert context changes on error by @hdwalters in #508
- Return empty string or array on error by @hdwalters in #516
- Implement standard library glob function by @hdwalters in #511
- Include (un)installer into release assets by @H1rono in #520
- Fixes CI/CD pipeline by @Ph0enixKM in #535
- Use "for" instead of "loop" in iteration loops by @hdwalters in #541
- Aesthetic script changes by @hdwalters in #543
- Bump heraclitus to 1.8.1 by @Ph0enixKM in #552
- Feature: Len #441 by @Ph0enixKM in #545
- feat(doc): append after function description the link for the tests by @Mte90 in #555
- feat(test): for variables, #433 by @Mte90 in #553
- Builtin lines function part I - Refactoring by @hdwalters in #565
- postprocessors by @b1ek in #383
- Handle postprocessor exit code by @hdwalters in #572
- feat(ci): deb package on release by @Mte90 in #518
- Fix optional argument type matching by @Ph0enixKM in #584
- fix: Do not use absolute paths to the postprocessors by @lens0021 in #597
- Builtin lines function part II - Functionality by @hdwalters in #566
- feature: add constant declarations by @b1ek in #423
- Add CLI subcommands and Bash tab completion by @hdwalters in #600
- use nameof instead of literal in constant test by @b1ek in #604
- Trailing comma in imports by @lens0021 in #602
- fix(setup): use the right repository by @Mte90 in #606
- Minor annoyances with Amber tests by @hdwalters in #612
- Combine array and value identifiers by @hdwalters in #615
- feat: do compile time math for range neq by @b1ek in #469
- [BUG] Update grammar.ebnf #608 by @Ph0enixKM in #609
- Use the bash native capitalizing method if available, and fallback to other functions by @lens0021 in #620
- feat(stdlib): extract function by @Mte90 in #587
- Support array indexing by range by @hdwalters in #628
- Constant variables are usable now by @Ph0enixKM in #630
- Add array manipulation functions by @hdwalters in #629
- docs: Remove the .ab extension from import statements for stdlib by @lens0021 in #636
- Support array indexing by range II by @hdwalters in #634
- Rename standard library functions by @hdwalters in #639
- New release 0.4.0-alpha by @Ph0enixKM in #638
New Contributors
- @Hoverth made their first contribution in #464
- @karpfediem made their first contribution in #491
- @H1rono made their first contribution in #520
- @lens0021 made their first contribution in #597
Full Changelog: 0.3.5-alpha...0.4.0-alpha
0.3.5-alpha
What's Changed
- Can't run Amber scripts with a shebang by @Ph0enixKM in #286
- fix: amber now handles escapes properly by @Ph0enixKM in #283
- fix: Special characters get interpolated incorrectly by @Ph0enixKM in #213
- support for optional arguments by @ramseyharrison in #260
- feat(contribute): update for tests by @Mte90 in #275
- Optimize tests by @b1ek in #301
- Move stdlib to different files by @Mte90 in #291
- fix: update toolchain in flake.nix by @lxl66566 in #307
- Validity tests as Amber files by @Mte90 in #293
- feat(installer): added prompt for telemetry by @Mte90 in #255
- Quick fix: Fixes the important installer bug by @Ph0enixKM in #316
- feat(std): env methods with arguments by @Mte90 in #309
- fix(shellcheck): another warning fixed by @Mte90 in #312
- A94 Amber Docs generator by @Ph0enixKM in #62
- Editorconfig file by @Mte90 in #310
- Contains function for stdlib by @Mte90 in #315
- Standardize a bit std/validity tests by @Mte90 in #324
- Cd builtin by @Mte90 in #311
- Add color echo functions to stdlib by @CymDeveloppement in #308
- Integrate shfmt by @b1ek in #128
- fix(region): fix region literal parsing by @Ph0enixKM in #343
- bash_error_exit_code use the english language by @Mte90 in #345
- Add - as placeholder for stdin/stdout by @b1ek in #173
- fix: clippy issues by @lxl66566 in #349
- Show doc path after generated it by @Mte90 in #338
- Test output as comment by @Mte90 in #335
- fix: install error on nixos by @lxl66566 in #359
- chore: update dependencies by @lxl66566 in #365
- Add confirm prompt (Yes/No) in Stdlib by @CymDeveloppement in #354
- Add date function to stdlib by @CymDeveloppement in #348
- feat(builtin):
mvbuiltin by @MuhamedMagdi in #314 - ci: require pr's to satisfy clippy requirements by @lxl66566 in #362
- Fix CI by @Mte90 in #368
- fix(shellcheck): text replace by @Mte90 in #374
- Add support for failable mark to function declarations by @mks-h in #300
- feat(stdlib): add new functions in
std/textby @MuhamedMagdi in #373 - fix: mark failable std
datefunctions as failable & clippy issue by @MuhamedMagdi in #382 - #265 add scriptname as main arg by @Mte90 in #372
- ci: run cargo & clippy tests only on code changes by @b1ek in #379
- refactor(tests): simplify test code by @lxl66566 in #363
- feat(std): text functions by @MuhamedMagdi in #386
- feat(std):
stdmath functions. by @MuhamedMagdi in #384 - Test Nix on CI by @ThetaSinner in #385
- [BUG] Invalid operation Precedence by @Ph0enixKM in #367
- fix(std): round and comma/dot by @Mte90 in #392
- Fix Nix CI by @Mte90 in #394
- fix(declaration): function for posix compliance by @Mte90 in #399
- Denest code in handle_compile and handle_docs functions by @lucidashygirl in #397
- feat: restrict value type for builtin functions (
cd,mv) to be of typeTextby @MuhamedMagdi in #400 - [Feature] Allow // as a comment that stays in compiled file by @Ph0enixKM in #403
- [Feature/Bug] No stdlib comments in bash generated by @Ph0enixKM in #408
- snap: move to classic confinement by @soumyaDghosh in #418
- snap: fix for classic confinement by @soumyaDghosh in #421
- docs: add packages badge by @b1ek in #424
- fix(std): math round by @Mte90 in #426
- Terminate last line of output if shfmt disabled by @hdwalters in #430
- Comment shebang line before passing to tokenizer by @hdwalters in #437
- Stdlib documentation by @Mte90 in #339
- New release 0.3.5-alpha by @Ph0enixKM in #455
New Contributors
- @ramseyharrison made their first contribution in #260
- @lxl66566 made their first contribution in #307
- @MuhamedMagdi made their first contribution in #314
- @mks-h made their first contribution in #300
- @ThetaSinner made their first contribution in #385
- @lucidashygirl made their first contribution in #397
- @hdwalters made their first contribution in #430
Full Changelog: 0.3.4-alpha...0.3.5-alpha
0.3.4-alpha
What's Changed
- fix(main): Forward bash exit code in amber CLI executable by @klausi in #205
- split multiline strings by @akihiro17 in #164
- Unsafe'ing failable function seems to silence output by @Ph0enixKM in #203
- feat(install): improved symbolic link by @Mte90 in #225
- snap: move to strict confinement by @soumyaDghosh in #248
- distinguish function calls that appear on the same line by @akihiro17 in #169
- Fix typo in flake.nix by @aleksrutins in #258
- snap: various changes to versioning and fix for
strictconfinement by @soumyaDghosh in #252 - fix(ci): cargo by @Mte90 in #244
- add CONTRIBUTING.md by @b1ek in #234
- How to compile it by @Mte90 in #247
- feat(std): more commands by @Mte90 in #185
- Add IRC and Matrix channel by @FedericoCeratto in #257
- is_command stdlib function bug fix #261 by @CymDeveloppement in #262
- Add base array function to std by @CymDeveloppement in #216
- Use
$(< file)instead of$(cat file)by @akihiro17 in #264 - feat(compile): add Amber version, fix #181 by @Mte90 in #245
- stdlib tests from amber files v2 by @Mte90 in #266
- fix(std): download and curl by @Mte90 in #268
- feat(gh): issue template by @Mte90 in #274
- Shell variable interaction by @CymDeveloppement in #276
- Version Bump 0.3.4-alpha + minor stdlib fix on macOS by @Ph0enixKM in #280
New Contributors
- @klausi made their first contribution in #205
- @aleksrutins made their first contribution in #258
- @CymDeveloppement made their first contribution in #262
Full Changelog: 0.3.3-alpha...0.3.4-alpha
0.3.3-alpha
What's Changed
- Add
-unary operator by @Ph0enixKM in #179 - snap: added snap manifest by @soumyaDghosh in #186
- fix(shellcheck): 2219 by @Mte90 in #184
- snap: change name and add icon by @soumyaDghosh in #190
- ci: added a build test ci for snap by @soumyaDghosh in #192
- Fix
handle_existing_functionby @akihiro17 in #162 - fix: add musl support by @Ph0enixKM in #188
New Contributors
- @soumyaDghosh made their first contribution in #186
- @Mte90 made their first contribution in #184
Full Changelog: 0.3.2-alpha...0.3.3-alpha
0.3.2-alpha
What's Changed
- A86 Fix if chain error regarding overwriting values by @Ph0enixKM in #57
- A88 Add ref for accessing variables passed by reference by @Ph0enixKM in #58
- A89 Amber does not install on linux well on ARM by @Ph0enixKM in #59
- A91 Import error when imported symbol that does not exist by @Ph0enixKM in #60
- A90 Unify the entire way of writing code by @Ph0enixKM in #61
- fix: typo by @mimikun in #63
- Fix: Help Message by @arapower in #64
- feat: add lines function to std lib by @Ph0enixKM in #73
- docs: add arch aur package by @b1ek in #69
- Update README.md by @Martan404 in #74
- Update rust.yml workflow by @Ph0enixKM in #76
- Support user only install by @boushley in #78
- feat: add words function to standard library by @kilianc in #75
- refactor: use clap for argument parsing by @uncenter in #84
- Update uninstall.ab to support user only mode. by @boushley in #82
- feat: add ebnf grammar by @Ph0enixKM in #101
- Optimize compiled code size by @b1ek in #97
- change the name of the AUR package by @b1ek in #98
- macOS install patch [updated] by @karshPrime in #102
- quote retuned text values by @akihiro17 in #104
- Replace '$(echo /bin/bash)' in install commands by @pmbuko in #105
- Relax clap dependency by @FedericoCeratto in #111
- Add file_exist function to std by @clysto in #114
- trailing comma in arrays by @akihiro17 in #123
- fix: remove grammatical errors in EBNF grammar by @Ph0enixKM in #131
- Add flake for supporting NixOs and nix systems by @brumik in #110
- make binary smaller by @setop in #136
- Add test code for stdlib by @arapower in #127
- Fix the
includesfunction by @akihiro17 in #148 - Add a shebang header to be included in each file by @b1ek in #146
- Apply release optimizations by @b1ek in #134
- hotfix: Fix opt-level in Cargo.toml by @b1ek in #155
- The main block should accept args array as an argument by @Ph0enixKM in #154
- ๐ Fix the std trim function by @Ph0enixKM in #158
- ๐ Fractions without leading zero do not parse correctly by @Ph0enixKM in #160
- Fix typo grammar.ebnf by @plbertrand in #171
- Automate the process of creating new releases #92 by @Ph0enixKM in #93
New Contributors
- @mimikun made their first contribution in #63
- @arapower made their first contribution in #64
- @b1ek made their first contribution in #69
- @Martan404 made their first contribution in #74
- @boushley made their first contribution in #78
- @kilianc made their first contribution in #75
- @uncenter made their first contribution in #84
- @karshPrime made their first contribution in #102
- @akihiro17 made their first contribution in #104
- @pmbuko made their first contribution in #105
- @FedericoCeratto made their first contribution in #111
- @clysto made their first contribution in #114
- @brumik made their first contribution in #110
- @setop made their first contribution in #136
- @plbertrand made their first contribution in #171
Full Changelog: 0.3.1-alpha...0.3.2-alpha
0.3.1-alpha
What's Changed
- A85 Fix bad erroring behaviour with if chain by @Ph0enixKM in #56
- A88 Add ref for accessing variables passed by reference by @Ph0enixKM in #58
- A89 Amber does not install on linux well on ARM by @Ph0enixKM in #59
Full Changelog: 0.3.0-alpha...0.3.1-alpha
0.3.0-alpha
What's Changed
- A75 Create ability to get mangled names of variables and more by @Ph0enixKM in #54
- A83 Add chain modifiers for function invocations by @Ph0enixKM in #55
Full Changelog: 0.1.0-alpha...0.3.0-alpha