v0.1.0-alpha.1
Published on 8/23/2026
What's Changed
- feat: add mise config and CLI root command setup by @AbnerLimaa in #1
- Implement lexer/tokenizer for the Caja financial DSL by @AbnerLimaa in #2
- Refactor: Extract error tracking into dedicated errorTracker struct by @AbnerLimaa in #3
- Implement Pratt Parser and Extract Tokenizer Package by @AbnerLimaa in #4
- Add tree-walking evaluator with comprehensive test coverage by @AbnerLimaa in #5
- Implement Mandatory
returnStatement by @AbnerLimaa in #6 - Implement
runCommand Feature by @AbnerLimaa in #7 - Enhance Compile Functionality by @AbnerLimaa in #8
- Add support for exponential operator (^) by @AbnerLimaa in #9
- Add support for modulo operator (%) by @AbnerLimaa in #10
- Implement Declarative If-Else Expressions by @AbnerLimaa in #11
- created a semantic analyzer without functionality by @AbnerLimaa in #12
- Introduce
letStatement & Block Scoping by @AbnerLimaa in #13 - Refactor compiler to encoder and introduce script parser/evaluator by @AbnerLimaa in #14
- implement functions with primitive types and strict return statement by @AbnerLimaa in #15
- Refactor semantic analyzer and evaluator, add missing doc comments by @AbnerLimaa in #16
- Implement primitive date type by @AbnerLimaa in #17
- Implement higher-order functions and type aliases by @AbnerLimaa in #18
- Implement recursive function support and stack trace limit by @AbnerLimaa in #19
- Implement tail call optimization for recursive functions by @AbnerLimaa in #20
- fixed error print by @AbnerLimaa in #21
- implement array support across parser, semantic analyzer, and evaluator by @AbnerLimaa in #22
- Add support for the Any type by @AbnerLimaa in #23
- Implement polymorphic array built-in functions by @AbnerLimaa in #24
- Refactor: rename concat function to join by @AbnerLimaa in #25
- feat: add new string built-in functions by @AbnerLimaa in #26
- feat: implement date manipulation built-in functions by @AbnerLimaa in #27
- feat: native boolean comparison operators by @AbnerLimaa in #28
- feat: implement prefix operators (! and -) by @AbnerLimaa in #29
- feat: complete modules feature and add doc comments by @AbnerLimaa in #30
- feat(math): implement math module functions by @AbnerLimaa in #31
- feat(lexer): add single-line comments with '#' operator by @AbnerLimaa in #32
- feat(evaluator): add boolean algebra operators and, or, xor by @AbnerLimaa in #33
- feat(array): implement array index assignment by @AbnerLimaa in #34
- feat: Add mathematical constants to math module by @AbnerLimaa in #35
- feat(log): Log Module and Export Functionality by @AbnerLimaa in #36
- feat: implement private keyword access modifier by @AbnerLimaa in #37
- feat: implement const keyword and module property reassignment by @AbnerLimaa in #38
- feat: extend type alias support to primitives and arrays by @AbnerLimaa in #39
- feat: implement structs and nullable types by @AbnerLimaa in #40
- refactor: restructure internal packages into pipeline by @AbnerLimaa in #41
- docs: add missing doc comments across internal/pipeline by @AbnerLimaa in #42
- feat(math): add math.rand() function by @AbnerLimaa in #43
- Native Dictionary Maps & Explicit Type Inference by @AbnerLimaa in #44
- Feature: Refine Built-in Functions by @AbnerLimaa in #45
- Implement new built-in
castmodule with safe type conversions by @AbnerLimaa in #46 - feat: introduce Nothing builtin type for implicit and empty returns by @AbnerLimaa in #47
- (feat): Inline Functions and Arrow Return Operator by @AbnerLimaa in #48
- feat: add map.delete builtin function by @AbnerLimaa in #49
- Feature: Implement Generics (Functions, Type Aliases, and Structs) by @AbnerLimaa in #50
- refactor(builtins): Built-in Modules Migration to Generics by @AbnerLimaa in #51
- feat: Add data-first pipe operator (|>) by @AbnerLimaa in #52
- feat: enforce generic instantiation constraints and remove Any type by @AbnerLimaa in #53
- (feat): Deep Immutability & Function Purity for Caja by @AbnerLimaa in #54
- feat: configure npm publishing for cajac via GitHub Actions by @AbnerLimaa in #55
Full Changelog: https://github.com/caja-tech/caja-cli/commits/v0.1.0-alpha.1