Changelog¶
All notable changes to cosmotech-run-orchestrator are documented here.
[2.1.0] - 2025¶
Added¶
- Visual Orchestrator GUI (
csm-orc gui): a new interactive browser-based interface for visualising and editing orchestration DAGs. CSM_RUN_TYPEsupport: the entrypoint now reads theCSM_RUN_TYPEenvironment variable (injected by the Cosmo Tech API) to decide which JSON template file to execute — defaults torun.json, but can be set todeleteto executedelete.jsoninstead. If the file for a non-runtype is absent, the run is silently skipped rather than erroring.- Improved i18n: translation keys are now split into smaller per-topic YAML files for easier maintenance.
Fixed¶
- Logging message formatting when i18n is active.
[2.0.2] - 2024¶
Added¶
get_loggernow also accepts a string value for thelevelparameter (e.g."debug","INFO").
Fixed¶
- Ensured that the logger created for step-parsing output has exactly one handler, preventing duplicate log lines.
- Internal loggers now use passthrough messages for steps and the entrypoint.
[2.0.1] - 2024¶
Fixed¶
- Corrected the published version tag (was mistakenly labelled 2.0.2 before release).
[2.0.0] - 2024¶
Added¶
- Translation system (
cosmotech.orchestrator.utils.translate): all user-facing messages are now internationalised via YAML files undercosmotech/translation/csm-orc/. Supported languages at launch:en-US,fr-FR,de-DE,es-ES,zh-CN,br,sjn,tlh. Third-party packages can contribute their own translations by shipping acosmotech/translation/<name>/namespace package. - Step-to-step data transfer: steps can now declare
outputsandinputsblocks in the JSON file to pass values between them. Output data is emitted vialog_data("name", "value")(Python) or the shell tokenCSM-OUTPUT-DATA:name:value. CSM_LOCALEenvironment variable to select the active language at runtime.- Tutorial pages for Translations and Step Data Transfer.
Changed¶
- Project structure reorganisation: CLI entry-points moved from
cosmotech.orchestrator.console_scriptsto dedicatedcosmotech.csm_orcandcosmotech.csm_orc_apimodules. - Updated examples and tutorials for the new project layout.
Removed¶
table-readerMkDocs plugin dependency.generate_templates.pydocumentation generation script (Command Templates section removed from nav).
[1.6.3] - 2024¶
Fixed¶
- Log messages that contain newline characters are now split correctly into individual log lines.
[1.6.2] - 2024¶
Changed¶
- Unified the format of all log lines for consistency.
[1.6.1] - 2024¶
Changed¶
- Colour output in the terminal is now fully parameterised; the
CSM_USE_RICHenvironment variable controls whether Rich-formatted logging is used.
[1.6.0] - 2024¶
Added¶
get_loggerhelper (cosmotech.orchestrator.utils.logger.get_logger): the logger factory previously shipped in CosmoTech-Acceleration-Library (CoAL) is now built intorun-orchestrator. Plugin and template authors should import it from here going forward.
Changed¶
- Cleaned up internal logger setup.
[1.5.2] - 2024¶
Deprecated¶
csm-orc run-stepis deprecated. Usecsm-orc runwith a single-step JSON file instead.
[1.5.1] - 2024¶
Fixed¶
- Duplicate exit handlers registered by multiple plugins are now deduplicated before execution.
[1.5.0] - 2024¶
Added¶
- Exit handlers via the
templates/on_exit/folder inside a Library Plugin: any template placed there is automatically registered as an exit handler and runs after the orchestration completes, regardless of success or failure. CSM_ORC_IS_SUCCESSenvironment variable is injected into every exit handler (boolean string"True"/"False").--exit-handlers / --no-exit-handlersflag forcsm-orc run(env varCSM_ORCHESTRATOR_USE_EXIT_HANDLERS, defaulttrue): allows suppressing exit handlers for a specific run.- Tutorial page for Exit Handlers.
[1.4.3] - 2024¶
Added¶
- Plugin template discovery now also searches sub-folders of the
templates/directory, enabling richer plugin package layouts.
[1.4.2] - 2024¶
Fixed¶
- Removed a stray
logging.basicConfigcall that was causing duplicate or incorrectly formatted log output.
[1.4.1] - 2024¶
Changed¶
- The entrypoint now supports both
csm-simulator(SDK ≥ 11.1.0) and the legacymainexecutable name, preferringcsm-simulatorwhen available.
[1.4.0] - 2024¶
Added¶
- Direct Loki logging from the entrypoint: when Loki environment variables are set, logs are forwarded to a Loki instance in addition to stdout.
- Pod-name enrichment in log scope headers, following Argo / API requirements.
Changed¶
- Default log level changed from
WARNINGtoINFO. - Time format in log lines is now always 24-hour (
HH:MM:SS). - The entrypoint captures stdout and stderr from subprocesses and re-emits them through the structured logger.
- Improved detection of the log level when a subprocess emits lines without a visible level marker.
[1.3.1] - 2024¶
Added¶
- The entrypoint reads the
[EntrypointEnv]section of/pkg/share/project.csmand injects those key-value pairs into the environment before starting the run, allowing container-level defaults to be defined at build time.
[1.3.0] - 2024¶
Changed¶
- Removed all hard dependencies on CoAL (
CosmoTech-Acceleration-Library) andcosmotech-api. The orchestrator is now a standalone package; cloud-specific features (data download, API interaction) must be provided by other packages installed alongside it. - Updated tutorials and examples to reflect the new standalone usage.
Removed¶
- Legacy commands that depended on
cosmotech-api:csm-orc fetch-cloud-steps,csm-orc gen-from-legacy,csm-orc run-step(legacy),csm-orc scenario-data-download,csm-orc simulation-to-adx,csm-orc parameters-generator,csm-orc download-run-data. - Brewery legacy tutorial (moved to a separate example repository).
[1.2.4] - 2024¶
Changed¶
- Updated
cosmotech-apidependency to>=3.2. - Commands that previously used
sys.exitor barereturnfor non-standard results now raise proper exceptions, making them composable.
[1.2.3] - 2024¶
Fixed¶
- Pinned CoAL and
cosmotech-apidependency versions with compatible-release specifiers (~=) to avoid unintended upgrades.
[1.2.2] - 2024¶
Changed¶
- Updated dependency versions for compatibility.