Skip to content

v0.6.0 πŸ‹

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Oct 02:57
· 252 commits to refs/heads/main since this release
27f30e5

🍭 Release Highlights

Starwhale 0.6.0 release brings essential performance and stability improvements for the datastore component. At the same time, Python SDK, dataset, and UI have also received some critical updates.

  • Datastore: In this release, we have enhanced the performance of the WAL log dumping process (#2782, #2800, #2805) and addressed the issue of unexpected empty data being automatically added in specific scenarios (#2825) on the Server side. On the Standalone side, we have conducted significant refactoring (#2794, #2820, #2809, #2774, #2807), including introducing a checkpoint mechanism and redesigning the storage mode for datastore meta files. These improvements result in a substantial reduction in the time required for the initial opening of a dataset while maintaining low memory consumption.

  • Dataset: We have implemented reliability guarantees for the dataset loader session consumption mechanism(#2849, #2858, #2763, #2770, #2860, #2852, #2746), ensuring that with a large number of replicas, all dataset data will be consumed and no data loss will occur. Additionally, we have optimized the performance of dataset copying for large datasets(#2759, #2781) and supported mixed types in the list or tuple for dataset features(#2754). Furthermore, we have conducted performance optimizations for copying extensive datasets(#2759, #2781) and expanded our support to encompass mixed data types within lists or tuples when defining dataset features(#2754).

  • Python SDK: It is now possible to create model evaluation tasks(#2839) for Standalone and Server/Cloud through the Python SDK. At the same time, we have redesigned the Evaluation SDK to enable the logging and scanning of data like images, videos, and audio to meet the need to record more complex evaluation metrics(#2808).

  • UI: We have made many improvements in Web UI, including support for Job Templates (#2810, #2801), Advanced Search Bar (#2855), faster filtering of models/runtimes/datasets when creating Evaluations (#2736), and a streamlined Projects page (#2728).

  • API Spec: We have redefined the API interface interaction between the Client and Server by leveraging the Pydantic library(#2639, #2753, #2734), thereby introducing an automated workflow for maintaining and updating the interface specifications. This initiative guarantees seamless compatibility across all interfaces.

πŸ’” Breaking Changes

We must make breaking changes on the Standalone instance side for a better datastore design. Here are some operation advice:

  • If you want to keep dataset data in the Standalone instance:
    • Step 1: Copy the dataset into the Server Side with the swcli dataset copy command.
    • Step 2: Run rm -rf ~/.starwhale/.datastore ~/.starwhale/self/dataset ~/.starwhale/self/job command.
    • Step 3: Upgrade Starwhale by pip install -U "starwhale>=0.6.0" command.
    • Step 4: Download the previously uploaded dataset.
  • If you don't want any data in the Standalone instance:
    • Step 1: Run the rm -rf ~/.starwhale command.
    • Step 2: Upgrade Starwhale by pip install -U "starwhale>=0.6.0" command.

On the server side, full compatibility with legacy data has been achieved without requiring additional actions.

🧭 What's Changed

βš™οΈ Who Contributes

@anda-ren, @goldenxinxing, @jialeicui, @tianweidut, @waynelwz and @xuchuan