Skip to content

Releases: xflops/flame

v0.6.0

04 Jun 02:39
1243244

Choose a tag to compare

Highlights

  • Added the Python Runner API for packaging local Python projects and exposing functions, classes, or object instances as Flame services.
  • Added flmrun, a built-in Runner template application used by Runner-managed services.
  • Fixed Runner package downloads for multi-object-cache deployments by preserving the cache endpoint returned from package upload.
  • Reworked the Python SDK around synchronous client APIs, object-cache helpers, service sessions, and the flamepy.runner module.
  • Simplified the Rust SDK with top-level connection/session helpers, typed task messages, host-service helpers, object-cache helpers, and service macros.
  • Added a standalone object cache with versioned object references, pluggable storage, upload/download support, incremental object fetch, and fast paths for tabular/numpy/Arrow data.
  • Added flmadm installation profiles and support for installing Flame components, SDKs, examples, and multiple Python SDK versions.
  • Added flmctl deploy and object helper commands for application deployment and object-cache workflows.
  • Added a Helm chart and Kind-based Kubernetes E2E workflow for static Flame installs on Kubernetes.
  • Updated Helm/Kubernetes defaults for filesystem session-manager storage and the drf/gang policy set.
  • Fixed Flame CLI version metadata so binaries report their package version.
  • Added scheduler policy work for priority scheduling, GPU-aware DRF, dynamic policy configuration, gang/batch flows, and resource requirements.
  • Added session/runtime reliability improvements including TLS, executor recovery, session bind failure recovery, task watching, node/executor persistence, and notifier-based wakeups.
  • Expanded system, E2E, Runner, cache, Python SDK, Rust SDK, and storage test coverage.

Upgrade Notes

  • Python SDK packaging is now versioned as 0.6.0, requires Python 3.9 or newer, and advertises Python 3.9 through 3.12.
  • Runner imports should use flamepy.runner; older flamepy.rl naming was replaced.
  • flmadm install now requires an explicit profile flag such as --all, --control-plane, --worker, --cache, or --client.
  • Cluster policy configuration now supports multiple policies through the policies list.
  • The Helm chart defaults now configure session-manager storage as fs:///var/lib/flame/session and enable only the drf and gang policies.
  • Object cache references are versioned. Clients can use get_object, update_object, patch_object, upload_object, and download_object instead of passing raw object payloads through sessions.
  • flmexec supports explicit runtime selection for scripts, including Python runtime selection through FLAME_PYTHON_VERSION. Its default Python runtime policy is owned by flmexec rather than the Rust SDK.

Python SDK And Runner

  • Added flamepy.Runner and flamepy.runner to package local projects and run Python execution objects remotely (#298, #341, #342).
  • Added Runner helpers for waiting, selecting, resolving object references, and fetching result objects (#300, #363).
  • Added explicit Runner defaults for stateless functions/classes and stateful object instances (#474).
  • Fixed Runner packaging for ad hoc scripts and dependency metadata generation (#471).
  • Fixed Runner package URL generation to use the returned object-cache endpoint, so executor-manager downloads packages from the cache pod that stored them in multi-cache deployments (#482).
  • Added support for Runner dependencies and Python-version selection in Runner/flmexec workflows (#468, #469, #473).
  • Added flmrun as a built-in application template for Runner services (#285).
  • Added Python service-session helpers and renamed the FlamePy agent API to service sessions (#454).
  • Added custom session IDs and open_session enhancements for Python clients and Runner services (#351, #353, #354).
  • Added Session.list_tasks and task watching improvements for Python clients (#359, #371).
  • Aligned flamepy package metadata for the 0.6 release, including __version__, Python 3.9+ tooling targets, and Python 3.12 classifier support (#477).

Rust SDK

  • Simplified the flame-rs API with direct helpers for connecting, creating/opening sessions, running typed tasks, and writing services (#456).
  • Added typed service macros and typed task payload support through FlameMessage (#456).
  • Added Rust object-cache helpers for putting, getting, updating, patching, uploading, downloading, and deleting objects (#427, #430, #456).
  • Kept flmexec Python runtime default policy local to flmexec and removed that default from the public Rust SDK surface (#475).
  • Fixed Rust SDK logger initialization when RUST_LOG is unset (#343).

Object Cache And Storage

  • Added the standalone flame-object-cache service and object-cache client helpers (#244, #321).
  • Added common-data/object-cache integration and object references for shared session state (#258, #259, #269, #296).
  • Added LRU eviction and per-application cache behavior (#367, #358).
  • Added pluggable cache storage backends, object versioning, and a standalone cache binary (#419, #427).
  • Added cache upload/download support with multi-scheme downloaders (#430).
  • Added incremental object get, native tabular cache path, and fast-path serialization for numpy/Arrow data (#444, #446, #464).
  • Added filesystem, HTTP, and none storage engines for session manager and package/cache workflows (#339, #344, #377, #395).

Scheduling And Runtime Management

  • Added batch-session support and gang-related E2E coverage (#401, #407).
  • Added priority scheduling and dynamic scheduler policy configuration (#428, #432).
  • Added GPU-aware DRF scheduling with resource requirements (#434).
  • Added resource requirement support in the priority plugin (#442).
  • Added configurable scheduling interval and moved executor limits into limits (#373, #396).
  • Added application URL support, installer metadata, and application cache-key improvements (#287, #421, #425).

CLI, Installation, And Local Development

  • Added flmadm for installation, profile-based component selection, systemd integration, user-local installs, examples, and uninstall flows (#334, #338, #421, #468).
  • Added flmctl deploy and object helper commands (#459).
  • Added JSON output for session commands and improved CLI display behavior (#215, #439).
  • Changed Flame CLI metadata to derive --version output from package versions and use XFLOPS <support@xflops.io> as the author (#488).
  • Added Podman support and local development helpers (#212).
  • Added Docker, compose, and local system-test workflows for multi-component clusters (#345, #347, #466, #470, #472).

Kubernetes And Helm

  • Added charts/flame, a static Helm chart for installing Flame's session manager, executor manager, object cache, client configuration, ServiceAccount, services, persistent volum...
Read more

v0.6.0-rc2

01 Jun 08:28
1243244

Choose a tag to compare

v0.6.0-rc2 Pre-release
Pre-release

What's Changed

  • [codex] Backport Python Runner e2e command to release-0.6 by @k82cn in #485
  • Backport PR #488 to release-0.6 by @k82cn in #489

Full Changelog: v0.6.0-rc1...v0.6.0-rc2

v0.6.0-rc1

31 May 04:52
572dd3f

Choose a tag to compare

v0.6.0-rc1 Pre-release
Pre-release

Highlights

  • Added the Python Runner API for packaging local Python projects and exposing functions, classes, or object instances as Flame services.
  • Added flmrun, a built-in Runner template application used by Runner-managed services.
  • Reworked the Python SDK around synchronous client APIs, object-cache helpers, service sessions, and the flamepy.runner module.
  • Simplified the Rust SDK with top-level connection/session helpers, typed task messages, host-service helpers, object-cache helpers, and service macros.
  • Added a standalone object cache with versioned object references, pluggable storage, upload/download support, incremental object fetch, and fast paths for tabular/numpy/Arrow data.
  • Added flmadm installation profiles and support for installing Flame components, SDKs, examples, and multiple Python SDK versions.
  • Added flmctl deploy and object helper commands for application deployment and object-cache workflows.
  • Added a Helm chart and Kind-based Kubernetes E2E workflow for static Flame installs on Kubernetes.
  • Added scheduler policy work for priority scheduling, GPU-aware DRF, dynamic policy configuration, gang/batch flows, and resource requirements.
  • Added session/runtime reliability improvements including TLS, executor recovery, session bind failure recovery, task watching, node/executor persistence, and notifier-based wakeups.
  • Expanded system, E2E, Runner, cache, Python SDK, Rust SDK, and storage test coverage.

Upgrade Notes

  • Python SDK packaging is now versioned as 0.6.0, requires Python 3.9 or newer, and advertises Python 3.9 through 3.12.
  • Runner imports should use flamepy.runner; older flamepy.rl naming was replaced.
  • flmadm install now requires an explicit profile flag such as --all, --control-plane, --worker, --cache, or --client.
  • Cluster policy configuration now supports multiple policies through the policies list.
  • Object cache references are versioned. Clients can use get_object, update_object, patch_object, upload_object, and download_object instead of passing raw object payloads through sessions.
  • flmexec supports explicit runtime selection for scripts, including Python runtime selection through FLAME_PYTHON_VERSION. Its default Python runtime policy is owned by flmexec rather than the Rust SDK.

Python SDK And Runner

  • Added flamepy.Runner and flamepy.runner to package local projects and run Python execution objects remotely (#298, #341, #342).
  • Added Runner helpers for waiting, selecting, resolving object references, and fetching result objects (#300, #363).
  • Added explicit Runner defaults for stateless functions/classes and stateful object instances (#474).
  • Fixed Runner packaging for ad hoc scripts and dependency metadata generation (#471).
  • Added support for Runner dependencies and Python-version selection in Runner/flmexec workflows (#468, #469, #473).
  • Added flmrun as a built-in application template for Runner services (#285).
  • Added Python service-session helpers and renamed the FlamePy agent API to service sessions (#454).
  • Added custom session IDs and open_session enhancements for Python clients and Runner services (#351, #353, #354).
  • Added Session.list_tasks and task watching improvements for Python clients (#359, #371).
  • Aligned flamepy package metadata for the 0.6 release, including __version__, Python 3.9+ tooling targets, and Python 3.12 classifier support (#477).

Rust SDK

  • Simplified the flame-rs API with direct helpers for connecting, creating/opening sessions, running typed tasks, and writing services (#456).
  • Added typed service macros and typed task payload support through FlameMessage (#456).
  • Added Rust object-cache helpers for putting, getting, updating, patching, uploading, downloading, and deleting objects (#427, #430, #456).
  • Kept flmexec Python runtime default policy local to flmexec and removed that default from the public Rust SDK surface (#475).
  • Fixed Rust SDK logger initialization when RUST_LOG is unset (#343).

Object Cache And Storage

  • Added the standalone flame-object-cache service and object-cache client helpers (#244, #321).
  • Added common-data/object-cache integration and object references for shared session state (#258, #259, #269, #296).
  • Added LRU eviction and per-application cache behavior (#367, #358).
  • Added pluggable cache storage backends, object versioning, and a standalone cache binary (#419, #427).
  • Added cache upload/download support with multi-scheme downloaders (#430).
  • Added incremental object get, native tabular cache path, and fast-path serialization for numpy/Arrow data (#444, #446, #464).
  • Added filesystem, HTTP, and none storage engines for session manager and package/cache workflows (#339, #344, #377, #395).

Scheduling And Runtime Management

  • Added batch-session support and gang-related E2E coverage (#401, #407).
  • Added priority scheduling and dynamic scheduler policy configuration (#428, #432).
  • Added GPU-aware DRF scheduling with resource requirements (#434).
  • Added resource requirement support in the priority plugin (#442).
  • Added configurable scheduling interval and moved executor limits into limits (#373, #396).
  • Added application URL support, installer metadata, and application cache-key improvements (#287, #421, #425).

CLI, Installation, And Local Development

  • Added flmadm for installation, profile-based component selection, systemd integration, user-local installs, examples, and uninstall flows (#334, #338, #421, #468).
  • Added flmctl deploy and object helper commands (#459).
  • Added JSON output for session commands and improved CLI display behavior (#215, #439).
  • Added Podman support and local development helpers (#212).
  • Added Docker, compose, and local system-test workflows for multi-component clusters (#345, #347, #466, #470, #472).

Kubernetes And Helm

  • Added charts/flame, a static Helm chart for installing Flame's session manager, executor manager, object cache, client configuration, ServiceAccount, services, persistent volumes, and Helm test resources (#479).
  • Added chart values and schema coverage for images, service ports, storage, runtime volumes, TLS Secret mounting, client config, component enablement, and static object-cache replica counts (#479).
  • Added a Kind-based Kubernetes E2E workflow that builds Flame images, installs the Helm chart, runs Helm tests, and verifies flmctl, flmping, and the Python Pi Runner example from an in-cluster console pod (#479).

Reliability, Recovery, And Observability

  • Added TLS support and certificate-generation fixes (#388, #411).
  • Added Flame recovery flows and fixed executor state recovery behavior ([#386](https://g...
Read more

v0.5.0

06 Nov 13:04
878f0b4

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

30 Jul 02:42
6762bb2

Choose a tag to compare

  • #24 Add more shims, e.g. gRPC, Rest (@k82cn)
  • #83 Enhance flmexec to execute command (@k82cn)
  • #84 Enhance Ptr usage in Flame (@k82cn)
  • #81 Add Application management to simplify the configuration (@k82cn)
  • #64 Replace supervisord with minikube in CI (@k82cn)

v0.3.0

16 Jan 05:10
47e3b30

Choose a tag to compare

v0.2.0

03 May 14:45
790b982

Choose a tag to compare

This is the init version of Flame, it provides basic features by following Issues/MRs.

  • #33: Add more integration test (@k82cn)
  • #32: The output of flmctl list should be ordered (@k82cn)
  • #34: Create multiple sessions (@k82cn)
  • #30: Remove rpc model dependency from flame-client (@k82cn)
  • #23: Add watch_task gRPC (@k82cn)
  • #9: Add CI for Flame (@k82cn)
  • #22: Support resource share between multiple sessions. (@k82cn)
  • #12: Add Monte-Carlo Pi example (@k82cn)
  • #14: Filter executors based on session spec in scheduler (@k82cn)
  • #7: Fix 'cargo clippy' complain (@k82cn)
  • #21: Replace String by Bytes for TaskOutput/TaskInput (@k82cn)
  • #10: Move all APIs into common::apis mod. (@k82cn)
  • #11: Support TaskOutput (@k82cn)
  • #13: Build flame-client for the demo (@k82cn)
  • #8: Add stdio_shim (@k82cn)