Skip to content

Latest commit

 

History

History
137 lines (98 loc) · 8.41 KB

CHANGELOG-Colang.md

File metadata and controls

137 lines (98 loc) · 8.41 KB

Changelog

All notable changes to the Colang language and runtime will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.0-beta.5] - 2024-11-19

Added

  • Prompt template name to verbose logging (#811) by @schuellc-nvidia
  • New configuration setting to change UMIM event source id (#823) by @sklinglernv
  • New attention module to standard library (#829) by @sklinglernv
  • Passthrough mode support (#779) by @Pouyanpi

Fixed

  • Activation of flows with default parameters (#758) by @schuellc-nvidia
  • pretty_str string formatting function (#759) by @schuellc-nvidia
  • Consistent uuid generation in debug mode (#760) by @schuellc-nvidia
  • Avatar posture management function in standard library (#771) by @sklinglernv
  • Nested if else construct parsing (#833) by @radinshayanfar
  • Multiline string values in interaction history prompting (#765) by @radinshayanfar

[2.0-beta.4] - 2024-10-02

Fixed

  • LLM prompt template generate_value_from_instruction for GTP and LLama model chat interface (#775) by @schuellc-nvidia

[2.0-beta.3] - 2024-09-27

Added

  • Support for new Colang 2 keyword deactivate (#673) by @schuellc-nvidia
  • Bot configuration as variable $system.config (#703) by @schuellc-nvidia
  • Basic support for most OpenAI and LLame 3 models (#709) by @schuellc-nvidia
  • Interaction loop priority levels for flows (#712) by @schuellc-nvidia
  • CLI chat debugging commands (#717) by @schuellc-nvidia

Changed

  • Merged (and removed) utils library file with core library (#669) by @schuellc-nvidia

Fixed

  • Fixes a event group match bug (e.g. match $flow_ref.Finished() or $flow_ref.Failed()) (#672) by @schuellc-nvidia
  • Fix issues with ActionUpdated events and user utterance action extraction (#699) by @schuellc-nvidia

[2.0-beta.2] - 2024-07-25

This second beta version of Colang brings a set of improvements and fixes.

Added

Language and runtime:

  • Colang 2.0 syntax error details (#504) by @rgstephens
  • Expose global variables in prompting templates (#533) by @schuellc-nvidia
  • continuation on unhandled user utterance flow to the standard library (llm.co) (#534) by @schuellc-nvidia
  • Support for NLD intents (#554) by @schuellc-nvidia
  • Support for the @active decorator which activates flows automatically (#559) by @schuellc-nvidia

Other:

  • Unit tests for runtime exception handling in flows (#591) by @schuellc-nvidia

Changed

  • Make if / while / when statements compatible with python syntax, i.e., allow : at the end of line (#576) by @schuellc-nvidia
  • Allow not, in, is in generated flow names (#596) by @schuellc-nvidia
  • Improve bot action generation (#578) by @schuellc-nvidia
  • Add more information to Colang syntax errors (#594) by @schuellc-nvidia
  • Runtime processing loop also consumes generated events before completion (#599) by @schuellc-nvidia
  • LLM prompting improvements targeting gpt-4o (#540) by @schuellc-nvidia

Fixed

  • Fix string expression double braces (#525) by @schuellc-nvidia
  • Fix Colang 2 flow activation (#531) by @schuellc-nvidia
  • Remove unnecessary print statements in runtime (#577) by @schuellc-nvidia
  • Fix match statement issue (#593) by @schuellc-nvidia
  • Fix multiline string expressions issue (#579) by @schuellc-nvidia
  • Fix tracking user talking state issue (#604) by @schuellc-nvidia
  • Fix issue related to a race condition (#598) by @schuellc-nvidia

[2.0-beta] - 2024-05-08

Added

Changed

  • Syntax changes:

    • Meta comments have been replaced by the @meta and @loop decorators:
      • # meta: user intent -> @meta(user_intent=True) (also user_action, bot_intent, bot_action)
      • # meta: exclude from llm -> @meta(exclude_from_llm=True)
      • # meta: loop_id=<loop_id> -> @loop("<loop_id>")
    • orwhen -> or when
    • NLD instructions """<NLD>""" -> ..."<NLD>"
    • Support for import statement
    • Regular expressions syntax change r"<regex>" -> regex("<regex>")
    • String expressions change: "{{<expression>}}" -> "{<expression>}"
  • Chat CLI runtime flags --verbose logging format improvements

  • Internal event parameter renaming: flow_start_uid -> flow_instance_uid

  • Colang function name changes: findall -> find_all ,

  • Changes to flow names that were previously part of ccl_*.co files (which are now part of the standard library):

    • catch colang errors -> notification of colang errors (core.co)
    • catch undefined flows -> notification of undefined flow start (core.co)
    • catch unexpected user utterance -> notification of unexpected user utterance (core.co)
    • poll llm request response -> polling llm request response (llm.co)
    • trigger user intent for unhandled user utterance -> generating user intent for unhandled user utterance (llm.co)
    • generate then continue interaction -> llm continue interaction (llm.co)
    • track bot talking state -> tracking bot talking state (core.co)
    • track user talking state -> tracking user talking state (core.co)
    • track unhandled user intent state -> tracking unhandled user intent state (llm.co)
    • track visual choice selection state -> track visual choice selection state (avatars.co)
    • track user utterance state -> tracking user talking state (core.co)
    • track bot utterance state -> No replacement yet (copy to your bot script)
    • interruption handling bot talking -> handling bot talking interruption (avatars.co)
    • generate then continue interaction -> llm continue interaction (llm.co)

[2.0-alpha] - 2024-02-28

Colang 2.0 represents a complete overhaul of both the language and runtime. Key enhancements include:

Added

  • A more powerful flows engine supporting multiple parallel flows and advanced pattern matching over the stream of events.
  • A standard library to simplify bot development.
  • Smaller set of core abstractions: flows, events, and actions.
  • Explicit entry point through the main flow and explicit activation of flows.
  • Asynchronous actions execution.
  • Adoption of terminology and syntax akin to Python to reduce the learning curve for new developers.