Skip to content

Releases: pt-main/Lc

v1.3.3

23 Jun 10:50

Choose a tag to compare

  • Fixes
    • fix byteParsing.Parser1.Parse implementation
    • string engine call event defer reposition

v1.3.2

22 Jun 23:40
44007c6

Choose a tag to compare

  • Api redesign
    • Constants and types moved to public/
    • Lexer from v1.1.5 (for stable working)
  • More function and fixes for type safety
    • ScopeGet[T] method for safely get value of type T from scope
    • Added core.Option for safety untyped arguments
    • Added types to configs while it possible
  • Better error handling
    • Handling panics in standart events
    • More colors in output
  • Refactoring plugin system
  • Other fixes and small adds

v1.2.0

19 Jun 21:03

Choose a tag to compare

  • Parsing update:
    • Ast complete with parsing/stringParsing/parser3
    • Lexer update: more runctional (functions from parser1)
  • Plugins update: added plugin interface
  • Fixes and adds

v1.1.5

19 Jun 11:45

Choose a tag to compare

  • More debug functions (like new String method in parsing interface for debugging)
  • More logging in parsers and default events
  • Lexer configuration
  • Fixes

v1.1.2

18 Jun 17:18

Choose a tag to compare

  • Update api (moved string and byte parsing into parsing/ dir)
  • Add plugins support for EngineUniversal
  • fixes and adds

v1.0.0

17 Jun 17:43
652cbd8

Choose a tag to compare

Added

  • Context support
    Added ProcessStringWithCtx and ProcessBytesWithCtx methods, and WithContext builder option. The event loops now check ctx.Done() to support cancellation (timeouts, HTTP request termination, etc.).

  • Generic command handlers
    Command signature changed from func([]interface{}) error to core.CommandType[E, N any] func(*E, N) error. Handlers now receive concrete engine and node types, eliminating type assertions and improving safety and readability.

  • Automatic bytecode index shift
    NewCommandByte now accepts autoBytecodeIdxShift flag. When true, the engine automatically increments the instruction pointer after command execution. This simplifies linear instructions while keeping full control for jumps.

  • Colored output for errors and logs
    Integrated tap/color – all error messages and logs are now color‑coded. Color can be enabled globally via WithColors() in the builder.

  • Initial unit tests
    Added tests for Generator, byte Parser1, and Lexer. More coverage will follow in future releases.

  • Comprehensive documentation
    README fully rewritten with quick‑start examples for both engine types, API reference, production usage tips, and reserved scope keys.

  • Context‑aware processing
    ProcessStringWithCtx and ProcessBytesWithCtx allow explicit context passing.

Changed

  • Event system refactored
    All event handlers now accept *core.Events as a second argument, giving access to scope and context directly inside the handler.

  • EngineUniversal simplified
    Opcode counter moved to a plain opcode_counter field instead of the nested another struct.

  • Error reporting improved
    Errors now include command number, bytecode index, and original source line with color formatting for quick debugging.

  • Thread safety
    Added mutexes to ByteEngine and StringEngine to ensure correct behaviour under concurrent access (command registration + execution).

Fixed

  • Fixed negative index handling in Shifter (now correctly bounds‑checked).
  • Fixed panic when command handler missing – now returns a clear error.
  • Fixed data races in scope access (mutexes added in generator and logger).

Removed

  • Removed deprecated engine.Converts – no longer needed due to generics.
  • Removed unused type conversion utilities.

Release 0.10.1

14 Jun 12:35

Choose a tag to compare

v0.10.1

Update 0.10.1

Release 0.9.12

08 Jun 18:28

Choose a tag to compare

v0.9.12

Release 0.9.12

Release 0.9.11

08 Jun 17:22

Choose a tag to compare

v0.9.11

Update 0.9.11

Release 0.9.9

08 Jun 16:22

Choose a tag to compare

v0.9.9

Update 0.9.9