Skip to content

Releases: flyteorg/flyte-sdk

v2.0.2

27 Feb 02:06
2da237d

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.0.1...v2.0.2

v2.0.1

24 Feb 01:21
b9527c6

Choose a tag to compare

TL;DR

Bug fixes:

  1. Distributed training pytorch hanging bug is now fixed using a watchdog
  2. Support for S3 virtual hosted (export FLYTE_AWS_S3_ADDRESSING_STYLE env var in environment, image or with_runcontext)
  3. Better retries for bad network connection
    4.pod templates and code bundling improvements for apps
  4. fix short name override for remote tasks

Features

  1. Orchestration Sandboxes 🚀
  2. H100 mig partitions support

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0 Flyte (v2) SDK

18 Feb 22:54
21881bd

Choose a tag to compare

🚀 Flyte v2 SDK GA

We’re excited to announce that with this release, the Flyte v2 SDK is officially out of beta and the Flyte v2 API is now stable for production use.

🔒 What “Stable” Means

  • No breaking changes to the v2 API
  • Production-ready reliability and performance

📚 Learn More

For full details, migration guidance, and usage examples, see the documentation:

👉 https://www.union.ai/docs/v2/flyte/user-guide/overview/

💬 Feedback & Support

We’d love to hear from you:

Thank you to everyone who tried this product throughout the beta period, and for all the us valuable feedback that helped shape this release.

Onward 🚀

v2.0.0b60

18 Feb 05:08
cd48acf

Choose a tag to compare

v2.0.0b60 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0b59...v2.0.0b60

v2.0.0b59

17 Feb 23:07
03fdb30

Choose a tag to compare

v2.0.0b59 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0b58...v2.0.0b59

v2.0.0b58

17 Feb 20:42
aba4e22

Choose a tag to compare

v2.0.0b58 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0b57...v2.0.0b58

v2.0.0b57

11 Feb 22:08
fdf02bb

Choose a tag to compare

v2.0.0b57 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0b56...v2.0.0b57

v2.0.0b56

09 Feb 22:59
07dc8c7

Choose a tag to compare

v2.0.0b56 Pre-release
Pre-release

Highlights

Local Run Persistence (#627) — Local workflow runs are now saved and browsable. Enable with flyte create config --local-persistence or flyte.init(local_persistence=True), then revisit
past runs anytime with flyte start tui.

Local App Serving (#628) — You can now serve Flyte apps on localhost for rapid local development. Use flyte.with_servecontext(mode="local") or the flyte serve --local CLI command.
Includes automatic process cleanup on exit.

Bug Fixes

  • TUI output now renders newlines correctly (#634)
  • Tasks can no longer be nested inside a trace (#636) — Tasks called from within a trace now correctly run as plain Python instead of causing errors.

Improvements

  • Faster imports (#638) — Improved import optimization to reduce startup time.

Maintenance

  • Removed stale wandb uv lockfile (#626)
  • Bumped protobuf from 6.33.2 to 6.33.5 (#637)

Examples

  • Added Anthropic agent deep research example (#635)

What's Changed

Full Changelog: v2.0.0b55...v2.0.0b56

v2.0.0b55

06 Feb 23:53
34c567a

Choose a tag to compare

v2.0.0b55 Pre-release
Pre-release

Highlights

Introducing the Local TUI

A new Terminal UI for local Flyte runs lets you visualize your workflow executions, inspect inputs/outputs, view caching status, and access reports — all from your terminal. (#621)

Anthropic Claude Plugin

New first-class plugin for integrating Anthropic's Claude API with Flyte. Includes a function_tool decorator to convert Flyte tasks into Claude tool definitions, automatic Python type-to-JSON-schema conversion, and an Agent class for running agentic loops. (#612)

Typed Interface Migration

Task interfaces now use ordered slices instead of variable maps, preserving input/output ordering. (#558)


New Features

  • First-class TypedDict supportTypedDict values are now serialized with full observability in the Flyte UI instead of being pickled, improving compatibility with AI frameworks like LangGraph and PydanticAI. (#613)
  • First-class tuple and NamedTuple support — Tuples and named tuples are converted to Pydantic BaseModels under the hood, supporting complex nested subtypes including File, Dir, dataclasses, and more. (#597)
  • Enum support in Pydantic models — Enum fields in Pydantic BaseModel types are now handled correctly instead of crashing with a KeyError. (#622)
  • Dynamic DAG generation from YAMLs — Workflows can now be dynamically generated from YAML configuration files. (#619)
  • Snowflake connector improvements — Added DataFrame conversion support, automatic input batching with batch=True, secret_group parameter for simplified secret management, and updated docstrings. (#584)

Bug Fixes

  • Large IO buffer leak — Large IO write operations now properly close the buffer. (#625)
  • DataFrame local sync in nested types — Fixed DataFrame synchronization when used inside nested type structures. (#620)
  • BigQuery credentials parsing — Fixed credentials parsing and a secret key typo. (#606)
  • .egg-info directories ignored during file copy — These directories are no longer inadvertently included when copying files. (#617)

Cleanup & Maintenance

  • Removed BigQuery handlers from the dataframe module. (#624)
  • Removed get_cwd_editable_install function. (#615)
  • Unpinned unionai-reuse in examples. (#616)
  • Bumped protobuf to 6.33.5. (#609, #610, #611, #623)

New Examples

  • Polars LazyFrame example with big data. (#614)
  • Integration tests for all examples. (#543)

What's Changed

New Contributors

Full Changelog: v2.0.0b54...v2.0.0b55

v2.0.0b54

05 Feb 06:12
f592d5f

Choose a tag to compare

v2.0.0b54 Pre-release
Pre-release

⏺ ## Flyte SDK v2.0.0b54 Changelog

Highlights

Connectors are now separate packages — BigQuery, Databricks, and Snowflake connectors have been split into
independent PyPI packages (flyteplugins-bigquery, flyteplugins-databricks, flyteplugins-snowflake), each with their
own versioning and release cycle. The old monolithic flyteplugins-connectors package is removed.
(#595)

Migrated off legacy flyteidl — The SDK now uses flyteidl2 for data proxy and removes the legacy flyteidl
dependency entirely. This is a significant internal modernization.
(#523, #526)


New Features

  • W&B distributed training support — The Weights & Biases plugin now supports tracking single-node and multi-node
    distributed training via the PyTorch plugin, with dashboard links for per-worker logs.
    (#600)
  • Skip image builds for connector tasks — Snowflake and BigQuery tasks can now set image=None to skip container
    image building entirely, since these tasks run on the connector side.
    (#559)
  • Optional uv.lock in UVProject — You can now build images from pyproject.toml-only projects without requiring a
    uv.lock file. (#596)
  • CLI option dependencies — Added RequiresOption so that dependent CLI flags (e.g., --docker-config-path
    requiring --from-docker-config) now produce clear error messages instead of silently misbehaving.
    (#586)
  • Fanout cancellation example — New example workflow demonstrating how to handle UI-canceled actions in fanout
    groups. (#589)

Bug Fixes

  • Duplicate secrets in image builds — Fixed an issue where the same secret used across multiple image layers (e.g.,
    with_apt_packages and with_pip_packages) was added multiple times to build commands.
    (#604)
  • .dockerignore pattern matching — Fixed broken .dockerignore support — patterns like **, !negation, and
    *.pyc now work correctly, preventing bloated Docker images with cache/build artifacts.
    (#550)
  • DataFrame local-to-remote — Fixed an issue where a flyte.io.DataFrame created locally could not be passed as
    input to a remote run. Also added preserve_original_types option to with_runcontext for better type fidelity in
    run.outputs(). (#594)

Improvements

  • Machine-readable JSON output — Rich formatting (spinners, colors, panels) is now disabled when using --log-format json or table-simple, ensuring clean machine-parseable output.
    (#587)
  • Better error messages for Layer classes — List validation in image Layer classes now provides helpful error
    messages instead of cryptic stack traces. (#593)
  • S3 storage config fix — Fixed endpoint_url vs endpoint mismatch between s3fs and obstore backends.
    (#592)

Maintenance

  • Bumped protobuf from 6.33.0/6.33.2 to 6.33.5 (#601,
    #603)
  • CI now fails the lint job when make fmt produces changes (#602)

What's Changed

  • Add RequiresOption for CLI option dependencies by @pingsutw in #586
  • Add helpful error messages for list validation in Layer classes by @pingsutw in #593
  • Add example workflow with handling for UI-canceled actions in fanout group by @jpvotta in #589
  • Make uvlock optional in UVProject by @pingsutw in #596
  • [Feat] use flyteidl2 dataproxy by @machichima in #526
  • Bump protobuf from 6.33.2 to 6.33.5 in /examples/genai/handoff by @dependabot[bot] in #601
  • wandb: add support for distributed training by @samhita-alla in #600
  • Storage config nits by @wild-endeavor in #592
  • feat: Skip image building for Snowflake and BigQuery connector tasks by @pingsutw in #559
  • Split connectors into separate PyPI packages by @pingsutw in #595
  • ci: Fail lint job when make fmt changes files by @pingsutw in #602
  • bugfix: fix df local to remote by @cosmicBboy in #594
  • Disable rich formatting (spinner, colors) for json and table-simple output formats by @pingsutw in #587
  • [Fix] .dockerignore pattern matching by @yuhuan130 in #550
  • Remove flyteidl by @pingsutw in #523
  • Bump protobuf from 6.33.0 to 6.33.5 in /examples/published-library/my-task-library by @dependabot[bot] in #603
  • Fix duplicate secrets in image build commands by @pingsutw in #604
  • Fixes a potential subtle race condition in call-seq-generation by @kumare3 in #607

New Contributors

Full Changelog: v2.0.0b53...v2.0.0b54