This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryBroad release touches feat, fix, refactor, and chore.
Full changelog
What's Changed
🚀 It’s been a while — SwanLab v0.8.0 is here.
- docs(readme): add 2 papers - TrafficBM, Decision-Making by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1463
- feat: add delete methods to public API for runs and projects by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1464
- refactor: next setup by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1467
- docs(readme): tree grpo by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1465
- refactor SDK API, add cmd entrypoints and context by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1470
- CI: add Python PR workflow and Makefile targets by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1471
- feat: add API key helpers, settings, console and tests by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1472
- Feat/client by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1474
- Feat/login by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1477
- feat: add internal diagnostic log & console/file logging by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1479
- feat: move sdk.pkg to sdk.utils and add experiment utils by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1480
- feat: add vendor lazy-loader, storage settings by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1482
- Feat/init by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1483
- Feat/callbacker by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1484
- Feat/webhook by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1485
- Feat/data by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1486
- fix: add generated proto pyi stubs and fix imports by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1487
- Feat/data context by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1488
- feat: move vendor package to swanlab/vendor by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1489
- Feat/data by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1490
- Feat/log by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1492
- Feat/callbacker by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1494
- Feat/finish by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1495
- Test/unit by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1496
- feat: add console.trace and switch session logging by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1497
- Feat/config by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1498
- Feat/docs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1499
- Refactor/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1500
- Feat/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1501
- Feat/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1502
- fix: add SIGINT signal handler for reliable Ctrl+C experiment abort by @hhe48203-ctrl in https://github.com/SwanHubX/SwanLab/pull/1504
- Fix/finish by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1505
- Feat/run by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1506
- docs(readme): v0.7.12 by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1513
- docs(readme): pin baseline by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1519
- chore: rename SwanLabCallback to Callback by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1525
- Chore/settings by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1526
- feat/uploader thread split by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1523
- Feat/system by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1527
- feat: collect system metadata and requirements on start by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1528
- Feat/monitor by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1537
- feat: detect and handle forked child processes in Run by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1538
- feat: add AsyncTaskManager and async_log type/stub by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1539
- Feat/fmt error by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1540
- Chore/some misc by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1541
- feat: add cli skeleton by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1530
- fix: relogin judgement by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1542
- Feat/disabled by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1545
- feat: project-level login isolation (--local flag) by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1546
- refactor/core by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1549
- feat: refactor transporter by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1548
- refactor: Core 协议重构与 init 流程统一 by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1552
- feat: add retry limit for creating unique run dir by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1553
- refactor: CoreProtocol mode dispatch and CorePython lifecycle by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1555
- chore: console log lifecycle refactor and test improvements by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1556
- refactor: add pkg.fork module and refactor fork handling by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1557
- Feat/terminal proxy by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1560
- feat/core python api by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1561
- Feat/probe by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1563
- fix: remove incorrect Python 3.8 classifier inconsistent with requires-python>=3.9 by @kuishou68 in https://github.com/SwanHubX/SwanLab/pull/1566
- Fix/transport by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1567
- Feat/upload by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1568
- Feat/upload console by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1570
- feat: add SwanLab environment probe and integration by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1572
- Refactor/metrics proto by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1573
- feat: send stderr console on failed runs; add stream map by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1574
- refactor: rename ColumnType FLOAT→SCALAR, add ChartType & upload DTOs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1575
- feat: refactor uploads, add column encoding & retry logging with test mocks by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1577
- feat: openapi refactor by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1562
- feat: add run greeting/farewell, run path & URL by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1579
- Rename 'cloud' mode to 'online' across codebase by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1580
- feat: return experiment name in StartResponse by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1581
- fix: replace ValueError with AuthenticationError in login by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1583
- Feat/cli-helper by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1578
- feat: enforce media size/length limits in RecordBuilder by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1585
- feat: add swanlab skill by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1584
- feat: add ECharts transform and sklearn ML metric charts by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1586
- fix: python -m swanlab CLI entrypoint by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1587
- feat: add Object3D and Molecule media transforms by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1588
- Add plot transform and deprecated wrappers by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1589
- feat: add swanlab.merge_callbacks API and callbacker tests by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1591
- Refactor CLI auth: move logic to cmd utils & pkg by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1593
- feat: add step deduplication for metrics and rename check_if_logged by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1595
- feat/integrations by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1601
- feat: resume by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1597
- feat/plugin by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1598
- feat: add build_resume_column and use in resume by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1602
- Fix/section name by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1599
- feat: add Heartbeat support to CorePython by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1604
- chore: move record builder into core_python.pkg by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1605
- feat: add system monitor builder and init global step by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1606
- fix: update fancy-pypi-readme substitutions by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1607
- feat/save by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1590
- feat: update integrations by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1608
- refactor: consolidate environment and monitor settings into probe by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1611
- refactor: rename
logdirtolog_dirwith backward compatibility by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1612 - fix: normalize CLI options to use hyphens by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1614
- refactor: rename proto packages and terminal/console concepts by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1615
- refactor: define number in core_settings by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1609
- refactor(core): introduce CoreContext, settings proto fields and new gRPC APIs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1617
- feat/integration last by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1616
- feat: add PyPI publish workflow by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1621
- fix: update protobuf requirement to >=6.31.1 by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1622
- Fix/save batch split by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1623
- feat/converter by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1620
- chore: misc improvements to greeting, experiment names and login output by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1625
- feat: add mode CLI and hierarchical config sources by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1626
- chore/const by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1628
- revert: add --tb-log-dir and deprecate --tb-logdir by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1629
- feat/openapi enhancer by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1627
- feat: support custom and truncated run directory names by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1632
- feat: support finish call multiple times by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1635
- refactor: move online run params into CoreContext and defer Transport sender creation by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1637
- docs: readme v2.7.5 by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1638
- feat: add sync flow with initial test coverage by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1640
- chore: switch from pyright to basedpyright and add type-check CI by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1641
- chore: add sync edge case tests and fix column upload overlap by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1642
- refactor: bump DataStore header version to 2 and improve sync error message by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1644
- fix(utils): ensure generate_id always contains at least one lowercase letter by @milestone-17 in https://github.com/SwanHubX/SwanLab/pull/1633
- feat: add accelerator vendor support and process memory metrics by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1645
- Fix/remove deps by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1646
- feat: enhance probe diagnostics and metadata handling by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1647
- fix: refactor NVML import to lazy vendor pattern; cache hwmon paths; clean up by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1649
- feat: add multi-vendor accelerator support and hardware diagnostics CLI by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1648
- refactor: restructure callbacker protocol and relocate deprecated modules by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1650
- chore(ci): add ruff lint check to PR workflow by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1651
- feat: progress by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1639
- fix: initialize _global_step to -1 for correct first step value by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1653
- test: add offline mode auto-step starts-from-zero assertion by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1654
- Fix/validate run save params by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1630
- feat: add parallel execution support with shared run directory naming by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1655
- refactor: consolidate config and env records into SaveRecord with SaveType by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1656
- feat/openapi compatible by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1660
- feat: csv_writer plugin by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1661
- feat: sync wandb/tensorboard/mlflow by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1658
- fix: safe thread executor by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1659
- fix: hide fsync by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1664
- docs(readme): compatible new docs link by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1665
- Feat/auto research skill by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1666
- chore: trigger PR checks on dependency changes by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1671
- fix: relax rich version upper bound by @FED4 in https://github.com/SwanHubX/SwanLab/pull/1669
- feat/version 0.8.0 by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1670
New Contributors
- @hhe48203-ctrl made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1504
- @kuishou68 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1566
- @neyuki778 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1578
- @milestone-17 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1633
- @FED4 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1669
Full Changelog: https://github.com/SwanHubX/SwanLab/compare/v0.7.10...v0.8.0
Breaking Changes
- Rename 'cloud' mode to 'online' across codebase
- Deprecate --tb-logdir flag (reverted) – use --tb-log-dir
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About SwanLab
⚡SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / verl / LLaMA Factory / ms-swift / Ultralytics / MMEngine / Keras etc.
Related context
Related tools
Beta — feedback welcome: [email protected]