Skip to content

Releases: awslabs/open-resource-broker

v1.5.2

02 Apr 17:38

Choose a tag to compare

v1.5.2 (2026-04-02)

This release is published under the Apache-2.0 License.

Bug Fixes

  • ci: Exclude intentional missing-import test files from pyright, use config-driven paths (a01ba80)

  • ci: Exempt trufflehog from AGPL-3.0 license check (5078c48)

  • ci: Fix ruff import sorting/unused imports and restore uv.lock from main (4ce90ab)

  • ci+tests: Add integration/onmoto/e2e to PR workflow, fix e2e test mocks (38885db)

  • ci+tests: Fix coverage XML generation, codecov flags, and remaining test failures (29d0ca3)

  • cli: Use plain print for JSON output and fix Rich console line wrapping (c098051)

  • config: Config_dict path now applies full normalisation pipeline (5d9297b)

  • onaws: Correct partial return test matrix across all provider APIs (81c6c9e)

  • providers: EC2Fleet/SpotFleet request fleet deleted on partial return (8f44985)

  • tests: Add explanatory comments to empty except blocks in test_cleanup_e2e.py (a716b89)

  • tests: Fix 8 pre-existing test failures across e2e, integration, infrastructure, MCP (e418266)

  • tests: Fix create_return_request assertion to use created_request_ids (e831312)

  • tests: Fix Python 3.14 compatibility and coverage generation (03eba90)

  • tests: Fix remaining integration and onmoto test failures (7072839)

  • tests: Log return_request_id for traceability in cleanup step (9ae8f37)

  • tests: Mock health port in auth_client fixture and bearer token test (aa16694)

  • tests: Mock health port in base client fixture to prevent 503 in CI (0a0602d)

  • tests: Remove duplicate deps imports flagged by GH code quality bot (6dcbbf0)

  • tests: Rename unused return_request_id to _return_request_id in cleanup step (aea0ff8)

  • tests: Resolve all pyright errors across test suite and enforce in CI (30a3126)

  • tests: Skip partial return test when fewer than 2 physical instances provisioned (a6b60a6)

  • tests+ci: Fix remaining test failures and parallelise CI test jobs (2aa0100)

  • tests+ci: Fix scheduler-agnostic assertions and coverage XML parse errors (29d292f)

Chores

  • Monthly dependency maintenance (eef30b3)

  • Monthly dependency maintenance (54b2d49)

  • Monthly dependency maintenance (2056d27)

  • deps: Bump cryptography in the uv group across 1 directory (ca9434e)

  • deps: Bump the uv group across 1 directory with 2 updates (b5562dc)

Code Style

  • Auto-format code with ruff [skip ci] (ef80687)

  • Auto-format code with ruff [skip ci] (bc38eab)

  • Auto-format code with ruff [skip ci] (343700e)

  • Auto-format code with ruff [skip ci] (3e99dc6)

  • Auto-format code with ruff [skip ci] (7d8a578)

  • Auto-format code with ruff [skip ci] (bf4ba02)

  • Auto-format code with ruff [skip ci] (32d0e59)

  • Auto-format code with ruff [skip ci] (50906f1)

  • Auto-format code with ruff [skip ci] (747aa9f)

  • Auto-format code with ruff [skip ci] (725054d)

  • Auto-format code with ruff [skip ci] (561bbf6)

  • Auto-format code with ruff [skip ci] (d14cea6)

  • Auto-format code with ruff [skip ci] (75b4fd3)

  • Auto-format code with ruff [skip ci] (3d98f2f)

Continuous Integration

  • deps: Bump the github-actions group with 5 updates (2846dc5)

  • deps: Use ci prefix for github-actions dependabot commits (940eeca)

Testing

  • onmoto: Add EC2Fleet, ASG, SpotFleet price type matrix tests (3d54f5f)

  • onmoto: Complete epic 1670 — RunInstances gaps, cross-cutting, onaws fixes (a52c925)

  • onmoto: Complete epic 2153 — full onmoto/onaws equivalence coverage (ad1d6e0)


Detailed Changes: v1.5.1...v1.5.2

v1.5.1

23 Mar 14:06

Choose a tag to compare

v1.5.1 (2026-03-23)

This release is published under the Apache-2.0 License.

Chores

  • Add orb-maintainers as default reviewer in PR template (5df23eb)

  • Delete unused commands.py and queries.py from application/base (bec1f0c)

  • Fix import sort in bootstrap/init.py (050023f)

  • Replace bare print() with console helpers in cli/main.py (8bd63ab)

  • Replace print() with print_console() in bootstrap/init.py (0a816ef)

  • Update middleware docstring example to use logger instead of print() (716de4a)

Code Style

  • Auto-format code with ruff [skip ci] (253639e)

Features

  • Add print_console() plain-text helper to cli/console (5afcd10)

Detailed Changes: v1.5.0...v1.5.1

v1.5.0

23 Mar 11:40

Choose a tag to compare

v1.5.0 (2026-03-23)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Add --machine-id/-m, --request-id/-r, --template-id/-t flag forms to subcommands (bdcfa8c)

  • Add @handle_interface_exceptions to providers and infrastructure handlers (5ad3595)

  • Add dry-run preview job and manual approval gate to semantic release (47c9c74)

  • Add enum choices to machines list --status flag (158accb)

  • Add explanatory comment to empty except in scheduler registry (69fd7cc)

  • Add explanatory comment to empty except in test_container_factory_hook (6c5ff77)

  • Add format_machine_operation and format_template_mutation to ResponseFormattingService (f0e007a)

  • Add request_id and return_request_id to MachineReferenceDTO (c2df2ce)

  • Add requestId and returnRequestId to machine entries in request status (353260e)

  • Add validate_aws_region to InputValidator (5d96de7)

  • Add validate_aws_region to InputValidator (1e748df)

  • Address code review issues — merge machine_ids_flag, fix limit falsy-zero, normalise dest naming (fd13964)

  • Address GH code quality comments — dead code, empty excepts, redundant assert (53ee321)

  • Align SDK protocols.py — get_request_status request_ids, add stop/start_machines stubs (c04605c)

  • Apply suggested fix to src/orb/domain/template/template_aggregate.py from Copilot Autofix (8bda3cf)

  • Cast registry to Any before hasattr reload call to satisfy pyright (82e05da)

  • CLI audit — ResponseFormattingService throughout, fix 11 bugs + list-returns machines (119771a)

  • Config commands wrap results in InterfaceResponse (d4c0ebf)

  • Correct InfrastructureError import path in http_response_handler test (b737799)

  • Correct stale test assertions — requestId→request_id, long→verbose, detailed→verbose, fix import order (be39857)

  • Extract build_parser(), add --detailed to providers health, add CLI contract tests (1a51349)

  • Fix actionlint errors in preview job (b2f457f)

  • Forward offset, limit, status from args to ListRequestsInput in handle_list_requests (15bcde4)

  • Handle_system_health returns InterfaceResponse on happy path (f7f8928)

  • Handle_system_health returns InterfaceResponse, update tests to match; fix list_all→find_all in system_handlers (949147b)

  • Health endpoint runs checks before returning status (1f0e120)

  • Health_command_handler returns dict, fix system_health return type (cc08ae5)

  • Include templates in RefreshTemplatesHandler command.result (d1c66b3)

  • Infrastructure handlers exit codes and data; templates generate error key (192e9c3)

  • Log actual provider types on init instead of stale mock fallback (d7bc390)

  • Log provider instances (not type) on successful init (761f018)

  • Machine handlers return type annotations and None guard (5330f0c)

  • Machines stop/start use ResponseFormattingService; machines show wraps result in InterfaceResponse (4b70e5d)

  • Map shutting-down/stopping machine state to executing not fail (66bd90b)

  • Move AWS naming patterns into providers block, move database into storage, add contract test imports (8595693)

  • Normalise validation error dicts in request/machine/template handlers (a47057f)

  • Orchestrator consistency cleanup — config nesting, duplicate imports, health handler (d73d156)

  • Orchestrator consistency — 18 issues across serialisation, registry wiring, and envelope shape (43fc771)

  • PR #173 second review — 7 issues across interface, MCP, AWS adapter, and DI (4b14268)

  • Preserve historical machine data (IP, subnet etc) for terminal/transitional states (24687b0)

  • Providers JSON output + providers get command + scheduler validate DTO + system status real metrics + test type fixes (351c443)

  • Providers select now persists default via config write + fix args.provider_name (a2c861e)

  • Remove --detailed subparser args; --verbose is already global (284adc5)

  • Remove broken requests create/return registry entries; explicit provider factory signatures (6aaf640)

  • Remove PrivateIpAddress from required AWS instance fields — absent for shutting-down/terminated instances (2fdecb8)

  • Remove redundant if condition from release job (5fb6cf8)

  • Rename GetRequestQuery.long→verbose, wire duration/success_rate/launch_template into RequestDTO (1909536)

  • Rename machines list --template-id to --request-id and fix extract_output_format (8f3c451)

  • Rename providers select positional to provider_name and add --args alias on exec (3d4db94)

  • Replace _make_bus_handler with proper handlers; wrap system metrics and mcp handlers in InterfaceResponse (a507da3)

  • Replace broken upload-sarif with SPDX dependency submission for SBOM upload (efbca6a)

  • Replace empty string choice with auto for force_level input (63d3e8d)

  • Replace MCP _get_tool_schema name-heuristic with sta...

Read more

v1.4.0

18 Mar 20:16

Choose a tag to compare

v1.4.0 (2026-03-18)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Config dead code removal and env var fixes (ccf9fe1)

  • Post-review robustness — polling abort threshold, no_op on empty return, hasattr cleanup (436436c)

  • RequestStatusError crash and SDK pagination kwargs dropped (3490587)

  • Resolve 127 reportCallIssue pyright errors in test suite (d7e1fc2)

  • Resolve 7 SDK and orchestration bugs identified during doc alignment (7bd4667)

  • Resolve CI failures, CodeQL issues, and code quality comments (46c95b4)

  • Template storage round-trip and SDK scheduler override correctness (41cd99f)

  • Unify Command/Query ABC hierarchy to eliminate cast(object) workarounds (b6b6c4f)

  • Wire remaining orchestrators into DI registry; thin CLI and REST handlers (f4f16de)

Documentation

  • Delete APIHandlerFactory dead code and clean up stale references (d376216)

Features

  • Add NotFoundError and AlreadyExistsError to SDK; surface DuplicateError→409 (490b8a0)

  • Add stop/start/provider orchestrators; swap concrete buses for ports (799e463)

  • Add template orchestrators — Create, Update, Delete, Validate, Get, List, Refresh (7beca6e)

  • Orb config show — GetSystemConfigQuery with nested section DTOs (67df91b)

  • Orchestration layer — base class, registry, 9 core orchestrators (78b9762)

  • Rewrite CLI/MCP and REST template handlers to use orchestrators (582fa37)

  • Wire SDK and CLI adapters to orchestrators (201dad1)


Detailed Changes: v1.3.0...v1.4.0

v1.3.0

16 Mar 14:35

Choose a tag to compare

v1.3.0 (2026-03-16)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Add explanatory comment to empty except in client.py wait_for_request (3c88554)

  • Add explanatory comment to empty except in reset_singletons.py (86ddca1)

  • Add get_cache_location() to platform_dirs and route cache through it (1546b0b)

  • Add increment_gauge/decrement_gauge to MetricsCollector (0e949f5)

  • Add instance_type/image_id to UpdateTemplateCommand, fix aggregate methods and immutable pattern (0247d8f)

  • Add logging to empty except blocks and suppress unused param warnings (6b194f9)

  • Add ORB_ROOT_DIR support to all platform_dirs functions and fix install paths (5af378c)

  • Add type: ignore[return] to Protocol stubs and fix unused vars in delegation guard (5ca57e5)

  • Address code quality bot comments — pass in ABC, remove lambdas, unused imports (9aae52d)

  • Address code quality review comments (42a0d23)

  • Address GH code quality comments on PR 169 (fd50c3f)

  • Address GH Code Quality findings and ruff violations (55f57b0)

  • Address remaining GH code quality comments (14aa70e)

  • Address remaining GH Code Quality comments on PR #158 (ad3356a)

  • Bypass registry cache in _discover_infrastructure (e388dcc)

  • CI metrics workflow, Docker config, and example config cleanup (127f051)

  • Clean up ORB_CONFIG_DIR env var in onaws test fixtures (dcb979d)

  • Clear BaseRegistry._instances on singleton reset to fix test isolation gap (0600447)

  • CLI --wait polling, flag_ prefix, storage validate, --validate-only flag (6d8776b)

  • Complete audit fixes for tasks 1714 and 1718 (b3fb825)

  • Consolidate dual import in test_provisioning_orchestration_service_di (66494cb)

  • Consolidate hardcoded request ID prefixes and wire config-driven defaults (a893699)

  • Correct import path in domain configuration_service (582f323)

  • Correct test imports for exception classes (60e759d)

  • Correct test_acquire_fleet_missing_fleet_type_returns_failure assertion (d3bf596)

  • Credentials-first flow and VPC discovery stale cache in orb init (7fb7858)

  • Defer setup_environment() until after arg parse, skip for orb init (cbb392d)

  • Delete dead DomainConfigurationService and fix pyright errors (8146633)

  • Delete dead monitoring MetricsEventHandler, fix gauge methods in application handler (bd34c7a)

  • Delete dead test files and consolidate smoke imports (c1e6282)

  • Fix _check_application_health double-run, disk check path, and health_dir work/ placement (eadf5fa)

  • Fix pyrightconfig.json absolute venvPath (03ef967)

  • Get_loaded_config_file() uses get_config_location() not relative paths (886ef70)

  • Guard boto3 client creation with moto in test fixtures (5442d82)

  • Guard get_domain_events/clear_domain_events with hasattr in template repository (c2b1825)

  • Guard is_in_use() with hasattr in DeleteTemplateHandler (302a27b)

  • Guard metrics flush_traces logger call against shutdown race (079f3ea)

  • Handle all input shapes in transform_subnet_id (d9829e0)

  • Handle None provider_config in create_aws_strategy (d112a04)

  • Implement active_only filter in ListTemplatesHandler, align SDK default (f3be764)

  • Implement get_cleanup_config in ConfigurationAdapter (0036f85)

  • Include requestId in orb requests list output (0b7344d)

  • Inject ConfigurationPort into ProviderRegistry singleton via DI (4f62eba)

  • Inject ConsolePort into AWSProviderStrategy for infrastructure discovery (4b919ee)

  • Inject ConsolePort into AWSProviderStrategy from DI container (06a0253)

  • Inject LoggingPort into HealthCheck and add PermissionError fallback in mkdir (e641d5d)

  • Load default_config.json via importlib.resources in ConfigLoader (e5f0de3)

  • Make Codecov upload non-fatal when coverage XML is missing (220e702)

  • Make HealthCheck thread-safe and register_check idempotent (4835da5)

  • MCP tool dispatch TypeError, handle_get_template scheduler formatting, dead storage fetch (a7c08b4)

  • MetricsCollector PermissionError fallback, MetricsEventHandler thread safety, remaining DIP violations (195c8b5)

  • Move AWS health check registration from strategy creation to bootstrap (9ea5acb)

  • Move get_health_location() fallback inside work/ directory (6fdfe32)

  • Orb templates update --file now reads and applies the JSON file (0f7a25f)

  • Pass full template fields to validate_template_config in CreateTemplateHandler (87812b1)

  • Pass+type-ignore in Protocol methods, log empty except in aws_cli_spec ([`2930...

Read more

v1.2.2

07 Mar 02:01

Choose a tag to compare

v1.2.2 (2026-03-07)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Use absolute URLs for README logo so it renders on PyPI (ec33036)

Detailed Changes: v1.2.1...v1.2.2

v1.2.1

07 Mar 01:40

Choose a tag to compare

v1.2.1 (2026-03-07)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Resolve release pipeline failures in coverage and container tags (70f8925)

Detailed Changes: v1.2.0...v1.2.1

v1.2.0

07 Mar 00:40

Choose a tag to compare

v1.2.0 (2026-03-07)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Add --profile support and consistent region defaults to admin scripts (5551065)

  • Add -f/--file and -d/--data flags to subcommands via add_global_arguments (1d636f7)

  • Add ASG and SpotFleet branches to describe_resource_instances (57d6aea)

  • Add AWS client resolver to provider strategy (7967406)

  • Add check_health delegation method to AWS strategy (a95b5f8)

  • Add conditional badge generation to prevent failures (d5379ff)

  • Add default_grace_period to RequestConfig so return requests respect configured value (c4d19d8)

  • Add DNS names and price type fields to machine data (b79ed6e)

  • Add fleetType to EC2Fleet Instant templates and enable SpotFleet ondemand support (65f5851)

  • Add generic provider registration to eliminate hardcoded AWS checks (70c3a11)

  • Add get_handler() to AWSProviderStrategy delegating to handler registry (70bbcdf)

  • Add get_resource_prefix to ConfigurationPort, migrate all handlers off service locator (0015bc3)

  • Add lazy initialization to domain services to break circular dependencies (5001663)

  • Add machine JOIN logic to ListRequestsHandler (29eb613)

  • Add machine-specific formatting for show command (c113daf)

  • Add MCP tools direct routing (3128df9)

  • Add missing Any import in AWSHandlerFactory (ca5e85b)

  • Add missing app_config property to ConfigurationAdapter (f7173a7)

  • Add missing config_manager arg to GetReturnRequestsRESTHandler DI registration (30630e0)

  • Add missing Dict and List imports to request status service (f7026c9)

  • Add missing field mappings and use machine_types in all handler templates (9eff1ac)

  • Add missing Jinja context keys to all three config builders (db761cb)

  • Add missing ListRequestsQueryHandler (5ff5f19)

  • Add missing os import to default scheduler strategy (8a40514)

  • Add missing permissions to package-testing workflow (06fc733)

  • Add missing provider_name and provider_type to RequestDTO.from_domain (66c1770)

  • Add missing system command handlers to CLI execution (4c51442)

  • Add missing unsupported_features field to ValidationResult construction (681a442)

  • Add onaws conftest.py - auto-create logs/ dir and add repo root to sys.path (6218820)

  • Add packages read permission to Container Build workflow (d373746)

  • Add packages:read to container validation and decouple cleanup from validation (74e116c)

  • Add provider fields to HostFactory status response (c0825db)

  • Add provider_override param to DefaultSchedulerStrategy.load_templates_from_path (393c40f)

  • Add scheduled container cleanup and fix existing cleanup jobs (4f4bf3e)

  • Add singular machine alias for consistency (b36b505)

  • Add storage show command, clarify --provider flag (3645121)

  • Add synchronous query execution support (7ac4aa6)

  • Add vmTypes to SpotFleet templates and restore error response shape for failed requests (bc46e88)

  • Address container CVEs and pin trivy-action to working version (e50fd8b)

  • Align Advanced Metrics workflow with established patterns (d401bd9)

  • Align config schemas and default_config with actual runtime usage (e839619)

  • Align default_config.json with Pydantic AppConfig model (fdbf013)

  • Align HF parse_request_data return type with default strategy (c7b69f2)

  • Align requestMachines response with IBM HF spec (f8b5060)

  • Align return request response format with request machines (4722042)

  • Align startup validator with config loader path resolution (d9ea31a)

  • Align tests and command types with CQRS and config env var changes (65f085d)

  • Allow explicit onaws path to bypass aws test skip in pytest (e4ae467)

  • Allow werkzeug compound BSD-3-Clause license in dependency review (ff44037)

  • Always check AWS credentials when onaws tests are collected (c41d80f)

  • AMI cache to work/.cache, config.json to config/ subdir, scripts/ gitignore, fast-fail loops (706401b)

  • Authentication error suppression in orb init (d471dba)

  • Auto-sync coverage source from .project.yml, convert providers to bullets (5f8b585)

  • AWS handlers to use unified machine_types field (f2bff51)

  • Broaden handle_get_request_status return type to include list (8664be2)

  • Bump urllib3 to >=2.6.3 and trivy-action to 0.34.0 (330caa3)

  • Call format_request_status_response in handle_get_request_status ([a145a8b](ht...

Read more

v1.1.2

28 Jan 15:52

Choose a tag to compare

v1.1.2 (2026-01-28)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Adding documentation on the history retrieval for individual EC2 instances. (c605fcd)

  • Adding terminate_req_instances.py to quickly terminate all relevant EC2s by name (12198e1)

  • Bandit errors and ruff errors (eca087c)

  • Botocore_metrics.py now uses correct call to set_gauge metric (2b49092)

  • Default config was missing in system tests (56baf97)

  • EC2 Fleet Instant now checks for errors and checks if there are no instances returned. Such requests marked as failed. (4cefd23)

  • Removing code duplication and improving performance in onaws tests (a915481)

  • Ruff errors (188a0b8)

  • Self.config: dict[str, Any] = {} was used without initialisation. Refactoring it out (ce8ac9a)

Chores

  • ci)(deps: Bump actions/checkout in the github-actions group (74a77f8)

Detailed Changes: v1.1.1...v1.1.2

v1.1.1

21 Jan 13:56

Choose a tag to compare

v1.1.1 (2026-01-21)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Remove hardcoded src prefix from package imports (25a93e3)

  • Resolve workflow failures and improve consistency (521bb89)

Chores

  • ci)(deps: Bump the github-actions group across 1 directory with 6 updates (c360b4f)

  • deps)(deps-dev: Update mkdocstrings requirement (c35c993)

  • deps)(deps-dev: Update pytest requirement (e7783a5)


Detailed Changes: v1.1.0...v1.1.1