Skip to content

v1.5.0

Choose a tag to compare

@open-resource-broker-cicd open-resource-broker-cicd released this 23 Mar 11:40
· 107 commits to main since this release

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 static schema dict; fix count→machine_count (32c63e9)

  • Resolve 2 test warnings — unawaited coroutine + asyncio fixture scope (0eac5b3)

  • Resolve 2 test warnings — unawaited coroutine + asyncio fixture scope (d300975)

  • Resolve pyright errors from CLI consistency changes (5370acf)

  • Resolve pyright errors from interface consistency changes (3f717b9)

  • Resolve remaining pyright errors in handlers and contract tests (f954b89)

  • Resolve ResponseFormattingService from DI singleton in dependencies.py (e5e2168)

  • REST provider_name filter on list_machines, stream decorator, typed validate body, requested_count alias (39be77c)

  • Restore missing pytest markers (api, security) in pyproject.toml (2203486)

  • Restore naming patterns to providers.aws config, clean up dead config keys, fix contract test imports (8380de7)

  • Restore shutting-down to terminal count in request status (97ae241)

  • Return minimal machine record for terminal/transitional AWS states instead of failing validation (e05f960)

  • Return path and machine display bugs (d4d2f07)

  • Return request not complete until machines fully terminated (677ee11)

  • Router int-return guard for provider handlers (8d2ff5c)

  • Ruff format and import order in loader and aws_provider_strategy (c6523bc)

  • Ruff import sort in orchestrator_registry and test file (a54af2f)

  • Scheduler response formatting — HF spec fields, status_reason promotion, null stripping (f86e142)

  • Scheduler validate exit code; mcp safe args.format access; init handles KeyboardInterrupt (c65677b)

  • SDK/REST/MCP output consistency — MCP tool registration, InterfaceResponse serialisation, REST formatter injection (6f24755)

  • Show machine's own request_id in request status response (7e66cdd)

  • Smart requestId/returnRequestId display based on request context (0198a0e)

  • Storage health/metrics model_dump serialisation and storage test exit code (224f6cd)

  • Storage validate uses storage query; health/metrics wrapped in InterfaceResponse (b0d236f)

  • System reload/health/metrics use ResponseFormattingService; add format_success (48b556c)

  • Template handlers return types and remove stale scheduler references (0df6d61)

  • Template_id filter, reload CLI args, flag_request_id handling, system_command_handlers cleanup (20bbd99)

  • Unify handle_system_health return type to always return InterfaceResponse (6922ac3)

  • Update aws_templates.json defaults and align config test assertions (ac61a84)

  • Update test schemas and fixtures for cloudHostId fallback behaviour (cd21b26)

  • Use correct ConsolePort method in init KeyboardInterrupt handler (6c8e300)

  • Use find_all() instead of list_all() in storage health probe (b16383d)

  • Use relative path in test_arch_checker_passes (ed23b36)

  • Wire --strategy, --timeout, --request-type, --force, --timestamp-format args through to DTOs; fix infrastructure --all-providers dead branch (7e059d6)

  • Wire --verbose through storage health with real latency probe (e1a7f26)

  • Wire --verbose through system/config/storage handlers, remove --detailed everywhere (8009d5b)

  • Wire dropped params in list_machines, list_templates, return_requests, provider_health, provider_metrics, get_template handlers (37f6feb)

  • Wrap raw dict error returns in InterfaceResponse for machine and template handlers (995080c)

Chores

  • Monthly dependency maintenance (c3fc3b2)

  • Monthly dependency maintenance (cf7eccc)

  • Replace author attribution with AWS ORB Maintainers (0c9486c)

Code Style

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Fix import ordering for response_formatting_service move (b20ae24)

  • Fix import ordering in contract and e2e test files (d37ea5d)

  • Fix import ordering in storage_command_handlers (fca491c)

  • Fix ruff format and import ordering in test files (ee26a0d)

  • Ruff import sort fixes (d04ff94)

Continuous Integration

  • Add Codecov test analytics — junit_family=legacy and test-results-action upload (53e2efc)

  • Add CODECOV_TOKEN to codecov upload step (0f4fc9e)

  • Consolidate pytest/coverage config, add codecov.yml, promote CI badges to README (6a8a120)

  • Remove mypy from pre-commit hooks and pyproject.toml excludes (1ea0a77)

  • Remove mypy — pyright covers all type checking (ec8f63f)

Documentation

  • Add Documentation badge to README (2aa45a7)

  • Remove duplicate CI badges from Documentation & CI details section (9b37555)

Features

  • Add --wait/--timeout to machines return and machines terminate (99de4fe)

  • Add force_level input to workflow_dispatch for manual bump override (ed277ca)

  • Add scheduler/storage orchestrators, formatter methods, migrate handlers (0d598d2)

Performance Improvements

  • Run return deprovisioning as background task (791239d)

  • Skip describe calls on return path when resource_mapping provided (03cf7e1)

  • Skip describe_instances on EC2Fleet instant fleet hot path (7f68269)

Refactoring

  • Decouple AWS defaults from default_config.json into provider-owned config (92a7b30)

  • Extract _extract_status_reason helper in machine_adapter (8ab0514)

  • Extract composition root to orb.bootstrap package (c819ec8)

  • Introduce ResponseFormattingService for uniform handler return values (ddf0869)

  • Move ResponseFormattingService to interface layer + fix warnings (4924e5a)

Testing

  • Fix async request poll mock shape and key names (92d4868)

  • Fix dead formatter assignment and self-comparison assertion (5027aca)

  • Fix e2e spot fleet tests — use AWSTemplate and correct RequestStatus values (2df3d87)

  • Suppress unused scheduler variable warnings (575cc6b)

  • Unwrap InterfaceResponse in contract test helpers (4be88c9)

  • Update machines start/stop tests for InterfaceResponse return type (8e1b894)

  • Wire ProviderRegistryPort into mock container in full workflow test (fd6ba4d)


Detailed Changes: v1.4.0...v1.5.0