Skip to content

Latest commit

 

History

History
58 lines (50 loc) · 4.37 KB

CHANGELOG.md

File metadata and controls

58 lines (50 loc) · 4.37 KB

v2.1.0

  • Changed "power" operator from ^ to ** by @ricardoboss in #107
  • Added support for nullable type declarations by @ricardoboss in #102
  • Major rewrite of the parser and interpreter to achieve more abstraction and better error reporting by @ricardoboss in #109
    • Added "parse" command to show the parsed abstract syntax tree
    • All variable declarations now support the nullability indicator (?)
    • Function definitions can now specify default parameter values
    • break and continue no longer allow expressions to break/continue for multiple loops
    • Exceptions that were previously printed with the affected code can now also show the causing token
    • Native functions now support union types to accept more than one value type of parameter
  • Added httpServer and fileResponse functions by @ricardoboss in #112
    • Also classify fetch as a web function together with httpServer and fileResponse
  • New functions:
  • print and println now flush to the output directly after being called
  • loop constructs allow truthy values to continue looping (as opposed to only boolean values)
  • Many bug fixes, including:
  • Logical operators now short-circuit
    • This also enables "bash-style" expressions like true && "it's true" evaluating to "it's true"
  • Added support for variable length separators in split function and made length parameter of substring optional by @ricardoboss in https://github.com/ricardoboss/STEP/commit/d56458eee4919d65ff4ed410d0a3edfe4d3b509d
  • Fixed issue with paths relative to call location instead of relative to execution location by @ricardoboss in https://github.com/ricardoboss/STEP/commit/027bbf04b494501280015d6dba881071ee309cfa
  • Updated to .NET 8 by @ricardoboss in #116
  • Now using Spectre.Console for CLI
  • Added new highlight command

For more info, see https://github.com/ricardoboss/STEP/milestone/4?closed=1

v2.0.0

  • Use strong types for expression results by @ricardoboss in #12
  • Use JSON source generators to enable trimming by @ricardoboss in #14
  • Keep wiki sources in main repository by @ricardoboss in #21
  • Move license to its own file by @ricardoboss in #27
  • Added many functions to the standard library by @ricardoboss & @chucker in #5
  • Exceptions now include help links to helpful Docs by @ricardoboss in #17
  • Added a format command to the CLI by @ricardoboss in #19
  • Added contribution documentation by @ricardoboss in #26

For more info, see https://github.com/ricardoboss/STEP/milestone/2?closed=1

v1.0.0 - Initial release 🥳

  • Added .NET library for parsing and interpreting STEP programs
  • Added CLI for running STEP programs from files
  • fix TestAdditiveMultiplicativePrecedencesWithParentheses by @chucker in #1
  • move examples to subdir and simplify .csproj by @chucker in #2
  • run all example .hil files as an integration test of sorts by @chucker in #3
  • Keep track of token locations and improve error reporting by @ricardoboss in #8
  • Add import statements by @ricardoboss in #9
  • Added string index operator by @ricardoboss in #10

For more info, see https://github.com/ricardoboss/STEP/milestone/1?closed=1