Files
stationeers_lang/Changelog.md
Devin Bidwell 7295b14f6a
All checks were successful
CI/CD Pipeline / test (pull_request) Successful in 34s
CI/CD Pipeline / build (pull_request) Has been skipped
CI/CD Pipeline / release (pull_request) Has been skipped
Update changelog, update workflow files
2025-12-21 16:32:11 -07:00

2.7 KiB

Changelog

[0.4.1]

  • Update syscalls for loadSlot and setSlot to support expressions instead of just variables for the slot index
  • Moved the main repository from GitHub to a self-hosted Gitea
    • Restructured workflow files to support this change
    • GitHub will still remain as a mirrored repository of the new Gitea instance.
    • This is in response to the new upcoming changes to the pricing model for self-hosted GitHub action runners.

[0.4.0]

  • First pass getting compiled IC10 to output along side the Slang source code
    • IC10 side is currently not scrollable, and text might be cut off from the bottom, requiring newlines to be added to the bottom of the Slang source if needed

[0.3.4]

  • Added support for loadReagent, which maps to the lr IC10 instruction
    • Shorthand is lr
    • Longform is loadReagent
  • Update various Rust dependencies
  • Added more optimizations, prioritizing pop instead of get when available when backing up / restoring registers for function invocations. This should save approximately 2 lines per backed up register

[0.3.3]

  • Fixed bug where negative temperature literals were converted to Kelvin first before applying the negative

[0.3.2]

  • Fixed stack overflow due to incorrect optimization of 'leaf' functions

[0.3.1]

  • Fixed possible KeyNotFoundException in C# code due to invalid dictionary access when an IC housing has an error

[0.3.0]

  • Implemented a multi-pass optimizer
    • This should significantly reduce line count in the final output
  • Fixed source map to line up with newly optimized code

[0.2.4]

  • Groundwork laid to collect and track source maps
  • IC Housing will now display the Slang source error line (if available) instead of the IC10 source error line

[0.2.3]

  • Fixed stack underflow with function invocations
    • They are still "heavy", but they should work as expected now
  • Fixed issue where syscall functions were not allowed as infix operators

[0.2.2]

  • Fixed some formatting issues when converting Markdown to Text Mesh Pro for Stationpedia
  • Added support for ternary expressions
    • let i = someValue ? 4 : 5;
    • i = someValue ? 4 : 5;
    • This greedily evaluates both sides, so side effects like calling functions is not recommended i.e.
      • i = someValue : doSomething() : doSomethingElse();
      • Both sides will be evaluated before calling the select instruction

[0.2.1]

  • Added support for loadSlot and setSlot
  • Fixed bug where syscalls like max(1, 2) were not allowed in assignment expressions

[0.2.0]

  • Completely re-wrote the tokenizer to use logos
  • Changed AST and Token data structures to use Cow instead of String
  • Updated error reporting to use thiserror instead of quickerror

[0.1.2]

  • Removed references to Unitask