Skip to content

Release 2.0.0

Choose a tag to compare

@AlessandroPomponio AlessandroPomponio released this 08 Jul 15:40
· 181 commits to main since this release
Immutable release. Only release title and notes can be modified.
47a7977

๐Ÿ… Highlights

  • Major CLI overhaul โ€” Several deprecated commands have been removed and renamed as part of the 2.0 cleanup: ado show summary, ado show details, ado get measurementrequest, and the legacy migrator in ado upgrade are gone. --query is renamed to --filter, and ado show entities is now ado show measurements. See the migration guide for details.
  • Provenance & versioning โ€” ado now records distribution package provenance on resource creation and ships full experiment and operator versioning support, giving every measurement a clear traceable lineage.
  • Rich statistics everywhere โ€” A new ado show stats command and -o stats output mode are available across operations, spaces, sample stores, and data containers, making it easy to get a quick quantitative summary of any resource.
  • Trace support โ€” ado show trace lets you inspect the execution trace of a space or store, surfacing how resources relate across operations.

Migration guide for ado 2.0.0: https://ibm.github.io/ado/migration/1x-to-2x/

โœจ Features

CLI enhancements

  • Statistics output โ€” ado show stats provides aggregated statistics across resource types. A new -o stats flag is supported by ado get operation, ado get space, ado get samplestore, and ado get datacontainer.
  • Trace commands โ€” ado show trace and ado show trace space/store expose the execution provenance graph for spaces and stores.
  • Non-interactive patching โ€” ado edit now supports --patch and --patch-file flags for scripted, non-interactive metadata updates.
  • --use-latest in ado get โ€” Convenience flag extended to ado get commands so the most recent resource is selected automatically.

Core improvements

  • StandardActuator base class โ€” A new base class simplifies authoring actuator plugins with minimal boilerplate.
  • Experiment and operator versioning โ€” Full versioning support for experiments and operators, with an upgrade mechanism for orchestrator references in modules.
  • Provenance recording โ€” Distribution package provenance is captured at resource creation time and exposed through ado provenance.
  • Statistics API โ€” New functions to calculate statistics for operations (including multi-operation aggregation), spaces, sample stores, and data containers, surfaced through DiscoverySpaceStatistics.
  • Measurement filtering โ€” Sample stores now support server-side filtering of measurements.
  • Script operation support โ€” DiscoverySpace gains support for script-based operations.
  • Improved Ray resilience โ€” Detection of Ray measurement tasks that never start, plus new remote runtime setup options; improved SIGTERM shutdown handling.
  • Conditional plugin model validation โ€” Resources can now disable plugin model validation when needed.
  • Multi-operation query support โ€” operation_measurement_statistics and measurement_requests_for_operation both accept multiple operation IDs.
  • Relationship queries โ€” New get_resources_by_relationship function replaces the legacy camelCase equivalents.

๐Ÿ› Fixes

  • CLI deletion โ€” ado delete no longer truncates output when related resources prevent deletion.
  • Python 3.10 compatibility โ€” Fixed scanning of RECORD files for distributions on Python 3.10.
  • SIGTERM handling โ€” Operation shutdown is now handled correctly when SIGTERM is received mid-run.

๐Ÿงฐ Build

  • Entry-point-based actuator loading โ€” Actuators are now loaded via Python entry points (ado.actuators), replacing the previous discovery mechanism.
  • Decoupled plugin versioning โ€” All in-tree plugins (anomalous-series, autoconf, cplex-mip, example-actuator, profile-space, ray-tune, sfttrainer, trim, vllm-performance) now have independent version tags and are no longer coupled to the ado-core version.
  • Python 3.14 support โ€” ado now supports Python 3.14.
  • Pinned Python 3.11 โ€” CI is pinned to Python 3.11 as the baseline test version.
  • Git tag handling โ€” Forward slashes in git tags are handled correctly for component versioning.

๐Ÿ“ Docs

  • Migration guide โ€” A new migration guide is published on the website covering all breaking changes in 2.0.
  • Installation instructions โ€” Updated to reflect the new entry-point plugin model.
  • JOSS paper โ€” A citation file and JOSS badge have been added to the repository.
  • Website updates โ€” README, website index, local context example, and roadmap have all been refreshed.

๐Ÿงน Refactoring

The following are breaking changes in this release:

  • BREAKING --query renamed to --filter in all ado get and ado show commands.
  • BREAKING ado show details removed โ€” use ado show with the appropriate resource type.
  • BREAKING ado show summary removed โ€” replaced by ado show stats.
  • BREAKING Legacy migrator system in ado upgrade removed.
  • BREAKING ado get measurementrequest removed.
  • BREAKING ado show entities renamed to ado show measurements.
  • BREAKING Import package renamed from orchestrator to ado โ€” any code importing from orchestrator must be updated.

Internal refactoring (no user impact):

  • dict_to_measurements renamed to observed_property_values_from_dict.
  • search operations renamed to explore internally.
  • getRelatedResourceIdentifiers / getRelatedResources replaced by get_resources_by_relationship.
  • Sample store instantiation moved to class methods.
  • configuration_model_default renamed to example_configuration in the plugin interface.
  • Experiment ID parsing unified across CLI commands.

โš™๏ธ Autoconf

  • Fixed a bug where avoid_oom_recommender did not correctly consider the original number_gpus when evaluating GPU configurations.
  • Fixed an incorrect model mapping for Llama 3.1-8b.
  • Internal: avoid_oom_recommender now skips GPU counts fewer than the original GPU count.

๐Ÿง  SFTTrainer

  • Weight download helper no longer uses Ray for execution, improving reliability in environments without a Ray cluster.

๐Ÿ“ˆ vLLM Performance

  • IOProcessor thread pool โ€” Added thread pool support for vLLM IOProcessors, improving concurrency under load.
  • OpenTelemetry traces โ€” Full OpenTelemetry trace support for vLLM benchmark runs.
  • Dependency installation in workers โ€” Dependencies are now installed in benchmark execution workers at runtime.
  • Fixed propagation of max_batch_tokens, gpu_memory_utilization, dtype, cpu_offload, and max_num_seq when creating a deployment.
  • Fixed deletion of deployments that time out during creation.
  • Fixed TypeError when parsing renderer_num_workers.

โœ‚๏ธ TRIM

No user-visible changes in this release cycle beyond build and versioning decoupling.

๐Ÿงฎ CPLEX-MIP

  • New CPLEX-MIP operator โ€” Added a custom experiment for solving Mixed-Integer Programming problems using CPLEX.
  • Warm start & memory handling โ€” Added warm start support and improved memory management for large MIP problems.

๐Ÿšจ Detect Anomalous Series

No user-visible changes in this release cycle beyond build and versioning decoupling.

Full Changelog: 1.8.0...2.0.0