v1.2.0
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) -
Check AWS credentials once at session start, exit early with clear message (
4313011) -
Circular dependencies in provider architecture (
974c15a) -
Circular dependency in registry initialization (
09d0ded) -
Circular dependency in scheduler strategies (
907ff38) -
Clean architecture compliance for describe_resource_instances and machine sync (
c181c2c) -
Clean Architecture implementation issues (
74e1875) -
Clean architecture violations and improve documentation (
7c493be) -
CLI routing for scheduler formatting (
6875058) -
Complete Clean Architecture Provider Registry refactoring (
546b130) -
Complete CLI help text consolidation (
626fe15) -
Complete CQRS/DI compliance across all registries (
e50aab6) -
Complete DI container cleanup (
27bd9f8) -
Complete provider override support for get_template_query (
1adf2f7) -
Complete repository serialization clean architecture fix (
e4fab80) -
Complete return request flow implementation (
a76467b) -
Complete return request logic with proper resource-based termination (
35fb424) -
Complete service extraction (
374a5d6) -
Config_port missing in handler factory + SpotFleet instance TagSpec (
90fd62c) -
Configure badge generation with proper gist and secrets (
c4d6a80) -
Conftest reads profile/region from config/config.json at session start (
a7ba277) -
Consolidate and standardize CLI help text (
d493a9c) -
Consolidate provider instance registration (
90efd54) -
Consolidate template defaults merging with constructor injection (
0e2d13b) -
Convert domain Template to AWSTemplate before passing to handlers (
5dabcab) -
Convert subnetIds to subnetId for HF and exclude nulls in defaults (
6e78c69) -
Correct ASG filter format for describe_auto_scaling_groups (
1793f08) -
Correct available_strategies property access in health check (
eb02b3d) -
Correct CLI bypass logic and missing import (
67d0efa) -
Correct config validation timestamp and source detection (
cc53dfc) -
Correct configuration source detection to show actual files (
36720d7) -
Correct default scheduler template generation field mapping (
dc36fd2) -
Correct env var names and remove stale config fields (
db62190) -
Correct import paths and variant names in package variant CI tests (
035f000) -
Correct machine_id access in _get_machines_for_request (
da3bb98) -
Correct method vs property access in providers (
3d0a0aa) -
Correct package variant import guard tests in CI matrix (
0436209) -
Correct provider commands architecture (
92a2811) -
Correct provider registry service method signature in machine sync (
8289592) -
Correct provisioning retry loop for async fleet handlers (
20d468d) -
Correct quickstart.md — remove non-existent methods and false claims (
efa68d6) -
Correct README config examples and documentation (
b8c9c3b) -
Correct request cache service config path (
4fe2d9a) -
Correct request status cache config field name and wire into DI (
8c401c1) -
Correct request status determination for return and acquire requests (
f6a97d6) -
Correct return request status and remove AWS internals from DI container (
c4bfd5f) -
Correct return request sync and status reporting (
8b5b68c) -
Correct SDK docs, exports, and API consistency issues (
1afe2dc) -
Correct service interfaces (
9b30160) -
Correct stale mock attribute path in request caching tests (
a724478) -
Correct template loading, scheduler format detection, and machines request routing (
37e88a8) -
Correct template loading, scheduler format detection, and machines request routing (
f845760) -
Correct template loading, scheduler format detection, and machines request routing (
365b9a9) -
Correct type annotations in onaws test infrastructure (
d8d5355) -
Correct venv config location for symlink venvs (
5969d4e) -
CQRS routing for commands and queries (
726ccc5) -
Credential error reporting and prevent KeyError in init command (
802de1c) -
Decouple bootstrap from concrete ConfigurationManager (
04562be) -
Delete dead GetRequestHandler methods, fix ASG machine_types spec, fix capacity hint (
5181477) -
Detect PROJECT_ROOT by walking up to src/run.py instead of hardcoded dirname depth (
aa0910e) -
Detect synchronous fleet completion when capacity partially fulfilled (
152012c) -
DIContainer import issues for Clean Architecture CQRS pattern (
d722037) -
Discover and terminate instant EC2 fleet instances via instance tags (
c2a42dc) -
Domain field population: move provider_api from metadata to domain field (
2ae8c09) -
DRY scheduler template paths, logger fallback, reset_container, template format per scheduler (
bbd518a) -
Eliminate instance_ids duplication and fix machine_ids population (
13b642e) -
Eliminate null field pollution in template display (
dc77de7) -
Enable multi-provider AWS client support using existing patterns (
df8624a) -
Ensure AWS credential check runs in xdist workers before tests (
69eafb2) -
Ensure machine creation sets provider_api and resource_id fields (
72c9d84) -
Ensure provider registered in templates generate handler (
c437b28) -
Exempt werkzeug from dependency review license check (
a357538) -
Expose get_cache_dir via ConfigurationPort and fix AMI resolution error surfacing (
7484655) -
Fail fast on credential verification failure (
5f001bd) -
Fail fast on terminal request statuses in onaws polling loops (
e4b238e) -
Fetch ConfigurationPort from DI container in _get_handler_factory (
b3df8e1) -
Filter None from machine_ids in RequestDTO (
b139b12) -
Filter None values from machine_ids (
9b5697e) -
Fix all test suite failures - 2094 passing, 0 failures (
d4301f0) -
Fix onaws integration test suite for dual-scheduler support (
9466369) -
Fleet/ASG handler correctness fixes (
9f34ed0) -
Fleet_role now follows same template_defaults injection pattern as (
a2d6479) -
Format return machines response in HF wire format (
16cb6f0) -
Generate cleaner templates without null fields (
dbca8ea) -
Generate request_id before void CQRS command execution (
f417641) -
Generate templates programmatically in TemplateProcessor (
52b73d9) -
Generate templates programmatically in TemplateProcessor (
d1502f7) -
Generate templates programmatically in TemplateProcessor (
9e473d1) -
Global --timeout argument conflict (
f7fc7e9) -
Gracefully handle partial instance data in handlers (
a70a21e) -
Handle None handler registry in capability service (
d1741f6) -
Handle null provider name in provider health query (
6f02784) -
Handler discovery cache path resolution (
88b88c1) -
Harden pre-commit hooks and move slow checks to pre-push (
fc1cd42) -
HostFactory output format - use field mapper for camelCase conversion (
d3b8a3c) -
HostFactory scheduler transformation for unified machine types (
a8e2b9f) -
Implement all 16 broken CLI commands (
c697dbc) -
Implement bidirectional field mapping and scheduler-specific template generation (
4b19204) -
Implement consistent DTO architecture for templates (
554f568) -
Implement HostFactory-compliant templates list output (
28151a6) -
Implement lazy imports in DI service registration (
e972f3f) -
Implement lazy initialization in BaseRegistry to break circular dependency (
0ffce9d) -
Implement multiple ID support for CLI commands (
09eaae7) -
Implement proper config file structure for init command (
466f148) -
Implement proper infrastructure discovery delegation in ProviderContextAdapter (
0c5bd08) -
Implement proper machine sync logic in MachineSyncService (
7ad66d9) -
Implement proper provider health checking (
879722e) -
Import scoping issue for AWS overrides (
e0946a1) -
Improve credential error messages and eliminate duplication (
61e36a0) -
Improve orb init - remove fallback config, fix scripts location (
1a5a1eb) -
Improve RequestId handling in query handlers (
b88f301) -
Improve template generation and subnet handling (
4f435e1) -
Improve type correctness in bus ports and concurrency control (
1488178) -
Improve venv detection for symlink-based venvs (uv/mise) (
4d771a7) -
Include providerApi in request status response (
34a8f98) -
Include run_instances in cleanup config serialization (
b1ac408) -
Incorrect subnet validation in tests when more than 1 subnets are possible (
8f31bfe) -
Infrastructure command factory duplicate action parameter (
102bcc8) -
Infrastructure commands by routing directly to handlers (
2e9c291) -
Infrastructure discovery region override (
cf01124) -
Inject template_defaults_service in scheduler registration (
e90e6f6) -
Injectable decorator typo and Docker test skip condition (
80827c8) -
Invoke_provider.sh use src/orb/run.py directly, not -m orb (
f99389d) -
Invoke_provider.sh — extract only -f , pass everything else verbatim (
bbc81fb) -
Keep request IN_PROGRESS while instances still pending/starting (
d6bb835) -
Load full default_config.json in orb init (
7d749ea) -
Machine provisioning DI container issue (
785b123) -
Machines list scheduler formatting (
db8b2ae) -
Machines request missing requested_count (
7471f23) -
Machines return finds pending machines correctly (
8ce5f8f) -
Machines return validation filters invalid machines instead of blocking all (
cf97ced) -
Machines status handles dict and object DTOs (
b4f6d2c) -
Make generic templates the default for generation (
f5290e0) -
Make get_scripts_location() scheduler-strategy-aware (
e54ea1d) -
Make GetRequestStatusQueryHandler include machine information (
cad4bb2) -
Make GetRequestStatusQueryHandler return RequestDTO for CQRS consistency (
67bc517) -
Make orb init use provided command-line arguments (
85dcd43) -
Make template generation respect CLI scheduler flag (
b3e44c0) -
Map RequestStatus.COMPLETED value 'complete' to HF 'complete' status (
b379c35) -
Match HostFactory output format specification exactly (
560ed2f) -
Message bus wiring, remove Azure/GCP references (
f890cb9) -
Move --long field filtering from interface layer to scheduler strategy (
ccab0d4) -
Move inline domain imports to module level in provider_command_factory (
eadf7a1) -
Move inline json_utils imports to module level in loader and provider_command_factory (
e76ce86) -
Move provider selection logic back to registry (infrastructure layer) (
c8fadc3) -
Move ProviderSelectionResult to domain layer for architecture compliance (
248e7ab) -
Move scheduler and provider overrides before special case handling (
5240724) -
Onaws test bugs and remove request_id alias from HF router response (
2b25dee) -
Pagination in ListMachinesHandler (
406ad50) -
Parse_request_data returns list for status requests, fixing request_id extraction (
77fc2fc) -
Pass request_type through machine status formatter for return requests (
da01070) -
Pass through instance_ids from handler to command handler (
420d900) -
Path_resolver base_dir and handler_discovery cache path (
7c17e36) -
Pin trivy-action to 0.33.1 (0.34.0 references non-existent v0.69.1 binary) (
728511a) -
Populate resource_id and provider_api in RequestDTO.from_domain (
d180125) -
Preserve explicit storage base_path when scheduler work dir is set (
61b15c1) -
Preserve fleet_type through TemplateDTO to fix SpotFleet Maintain capacity reduction (
d9ebcf7) -
Proper Clean Architecture solution for value object serialization (
3a88b27) -
Proper CQRS implementation for ListAvailableProvidersHandler (
b468bb6) -
Provider capability service uses actual configuration (
840f024) -
Provider command routing for singular form (
1a1c628) -
Provider override for template defaults (
e6896c1) -
Provider registry dependencies and handler registry pattern compliance (
5cebc01) -
Provider registry validation errors (
4c4439c) -
Provider selection and multi-provider return requests (
e30ca2c) -
Provider strategy resolution in ProviderRegistryService (
ec046ef) -
ProviderRegistry configuration access (
e438c04) -
Read provider_data from correct location and make AlreadyExists non-retryable (
e59747e) -
Refine Advanced Metrics test selection to avoid dependency issues (
2ba0f41) -
Register CacheServicePort in DI container via InMemoryCacheService (
1088eda) -
Register ListMachinesQuery handler (
62e796f) -
Register providers in lazy loading mode (
a0cff3a) -
Register storage types before DI container initialization (
ed532f3) -
Registry dependency initialization circular dependency (
dd56fe4) -
Registry error handling and remove hardcoded scheduler types (
4348402) -
Registry pattern standardization (
b67ee0f) -
Relax run.py line count assertion and remove stale config path (
862683c) -
Remaining common CLI arguments implementation (
35fb14c) -
Remove --wait from CLI reference — flag exists but is not implemented (
6d9b69f) -
Remove 18 dead test files and fix stale import paths (
ebc4aac) -
Remove 4 more dead test files and fix ruff import ordering (
83a0a1b) -
Remove all HF_* variables from outside HostFactory scheduler (
6dc69f6) -
Remove all remaining CQRS violations from query handlers (
4bac1dd) -
Remove all service locator patterns (
5d41c55) -
Remove automatic status query from machine request handler (
74ff1ff) -
Remove AWS-specific fleet type from application layer status logic (
7534038) -
Remove botocore layer violation and fix pre-existing test failures (
f8c2792) -
Remove dead create_launch_template method with hardcoded naming (
0fe9bf1) -
Remove duplicate method definitions in BaseRegistry (
e916050) -
Remove duplicate strategy cache causing reuse failure (
f23aec6) -
Remove emojis from package-testing workflow (
683ffc1) -
Remove hardcoded schedulers and providers from init command (
b264827) -
Remove incorrect await from infrastructure discovery (
43a082f) -
Remove incorrect await from infrastructure validate command (
c3c3ceb) -
Remove infrastructure dependency from domain enum missing methods (
c6d85b5) -
Remove internal auth reference from credential check docstring (
8b580a0) -
Remove invalid instance ResourceType from SpotFleet TagSpecifications (
83cfb7a) -
Remove ManagedBy system tag from example templates (
987824d) -
Remove manual idempotency checks, rely on BaseRegistry (
2a4bf90) -
Remove missing nav entry and fix broken relative link in quick start (
da2b77c) -
Remove obsolete CachingAMIResolver and TemplateResolverPort registrations (
8a0c77d) -
Remove redundant json import causing UnboundLocalError (
6fd8e57) -
Remove scheduler-specific envelope unwrapping from CLI handler (
043c4f6) -
Remove scheduler-specific envelope unwrapping from CLI handler (
9db1a84) -
Remove service-locator from domain enums and align config schemas (
0318d5f) -
Remove spurious fleet_type defaulting to instant in template adapter (
1ba08ce) -
Remove void CQRS return value usage in templates router (
f6a3cda) -
Remove wrong provider_api fallback and fix handler capabilities source (
3a4842b) -
Remove wrong provider_api_map from resolve_template_id (
a447dd1) -
Rename force cancel helper and improve wording (
e0a806d) -
Rename InstanceId to MachineId for consistency (
39935f3) -
Repair 7 test files with stale class names, imports, and dead code (
f9f836f) -
Replace get_app_config() dict method with typed access (
290f03f) -
Replace pytest.exit with pytest.skip in AWS credential check (
3f1becf) -
Replace template_dto.configuration with model_dump() in GetTemplateHandler (
676d028) -
Replace TemplateDTOPort with Any in BulkTemplateResponse (
0ed34eb) -
Repository DI wiring, docs cleanup, gitignore (
c8baae0) -
Request show routing returns GetRequestQuery for single request (
3927661) -
Requests list --limit parameter (
e5b0aa7) -
Requests show --all helpful error (
4cd4be5) -
Requests status --all syncs and shows all requests (
7119666) -
Resolve 'argument of type method is not iterable' error (
fca35f4) -
Resolve --all flag routing issues (
fc354f6) -
Resolve 10 security, test, and quality issues from PR review (
7dc4f5e) -
Resolve 3 P0 security vulnerabilities in auth layer (
ee6d1de) -
Resolve 3 pre-existing API handler bugs (
b5c5018) -
Resolve 4 API consistency bugs across REST and CLI interfaces (
35eaafe) -
Resolve 4 integration test failure root causes (
731f004) -
Resolve 5 integration test failure groups (
7941e5d) -
Resolve 6 onaws integration test failure groups (
44532a3) -
Resolve 6 test failure groups across scheduler, provider, and API layers (
fecda8c) -
Resolve 7 merge-readiness issues from PR review (
2dc364b) -
Resolve 7 onaws integration test failure groups (
b96f287) -
Resolve 7 pre-existing test failures across handler and validation tests (
d035159) -
Resolve all 24 Pyright warnings - 0 errors, 0 warnings (
5617fa1) -
Resolve all CI failures - ruff, bandit, semgrep, and security findings (
2950132) -
Resolve all pyright basic mode type errors across codebase (
0fabe72) -
Resolve all Pyright type errors across codebase (
abfc031) -
Resolve all ruff import sorting issues using uv run (
670cd0f) -
Resolve AMI resolution pipeline (
b8a3a7f) -
Resolve bandit security issues (
c2df870) -
Resolve CI failures - ruff formatting, import guards, and bandit issues (
0dcb64b) -
Resolve CI quality and security scan failures in PR #132 (
a6f05b4) -
Resolve circular dependency in MachineSyncService and double service registration (
31b0e5f) -
Resolve ConfigurationPort at handler construction time and register TemplateExampleGeneratorPort (
a67e8a4) -
Resolve CQRS handler registration in lazy loading mode (
9012b0b) -
Resolve CQRS violation in GetRequestHandler (
6092dc8) -
Resolve critical linting errors (undefined names, deprecated patterns) (
eca4421) -
Resolve critical PR blocking issues (
8bd16a4) -
Resolve critical test failures (
36a2310) -
Resolve DI circular dependency and scheduler strategy issues (
f1d2a6b) -
Resolve DI container import issues in GetRequestHandler (
eff13a3) -
Resolve DI registration issues and restore core functionality (
34f703d) -
Resolve enum handling issues in request repository (
2d63f12) -
Resolve false success response and architectural violations (
ff2699d) -
Resolve final QA issues - return operations and template CRUD (
4cc2ca4) -
Resolve five regressions in template loading, HF protocol, and SpotFleet provisioning (
3c65f81) -
Resolve fleet_role null and allocation_strategy_on_demand coercion in SpotFleet (
49a3659) -
Resolve four critical SDK bugs blocking programmatic usage (
f06c1ac) -
Resolve image_id unknown issue and template validation warnings (
308bf01) -
Resolve import and type annotation issues (
5ddf38b) -
Resolve import conflicts and duplicate handlers (
15c3f4c) -
Resolve layer violations, remove dead code and test-mode production behaviour (
1494dec) -
Resolve main branch workflow failures (
b15187a) -
Resolve main branch workflow failures after merge (
950c6e3) -
Resolve merge conflicts in factory, CLI, DI services, and template adapter (
6f92bec) -
Resolve mypy double-discovery of src-layout packages (
4b08191) -
Resolve mypy duplicate module error in src layout (
add7a39) -
Resolve onaws integration test failures across 5 failure groups (
a2d6479) -
Resolve onaws test failures across default and hostfactory schedulers (
d36d626) -
Resolve provider commands issues (
cd66adc) -
Resolve provider registry dependency violations (
01327ec) -
Resolve Pyright type errors from CQRS migration and pagination (
d72ff56) -
Resolve pyright/pydantic config conflict and alias false positives (
ed14b70) -
Resolve quality gate false positives and enable pyright basic mode (
f64dab9) -
Resolve remaining ruff issues (
9656d90) -
Resolve RequestId serialization issue in repository (
c9c7266) -
Resolve ruff formatting and linting issues (
4947dda) -
Resolve ruff violations across src — remove stale noqa directives, unused imports, and naming issues (
cd937d7) -
Resolve ruff violations introduced by recent changes (
2f09bd6) -
Resolve SSM AMI paths to real AMI IDs before provisioning (
1548a42) -
Resolve status query and return request machine tracking issues (
87616a0) -
Resolve template loading synchronization issues (
d544c12) -
Resolve template validation and request cancel issues (
bc7c668) -
Resolve three regression groups and fix ASG early return (
0327648) -
Resolve three regressions in provisioning and status query paths (
a5e4fdf) -
Resolve three regressions in provisioning and status query paths (
1625e36) -
Resolve type and import errors (
8608798) -
Resolve type errors from storage events migration (
5a33906) -
Resolve TYPE_CHECKING and LoggingPort import inconsistencies (
29801a4) -
Resolve workflow and documentation issues (
d5bf2bf) -
Resolve workflow validation issues (
ba0e267) -
Response formatter receives formatted json instead of DTO (
e5b0044) -
Restore ASG metadata logic in SyncRequestCommand handler (
3826c89) -
Restore aws_templates.json with all 20 hostfactory-format templates (
f090972) -
Restore CQRS pattern and correct scheduler strategy format (
764bf79) -
Restore cross-scheduler template loading via registry delegation (
722fe8d) -
Restore deleted dev-tools scripts and guard AWS credential check (
94cac6a) -
Restore handler-based instance discovery and remove double-conversion (
90a41e1) -
Restore help display for resources without actions with fast performance and clean code (
68d0faf) -
Restore live machine status sync in GetRequestHandler and ListActiveRequestsHandler (
d35efd2) -
Restore malformed JSON repair in hfmock raw_decode extraction (
aec3e4c) -
Restore missing _is_ami_resolution_enabled method (
9c5dd58) -
Restore missing config file write logic in init command (
a44314c) -
Restore persistent AMI cache with registry-based resolver (
a5d93c7) -
Restore proper field mapper with copy_unmapped support (
4285668) -
Restore proper two-step machine sync process (
1bfd4c0) -
Restore ProviderSelectionService with 5-strategy hierarchy (
cde71de) -
Restore request object return from handler (
5c16b1d) -
Restore request status detailed formatting (
62634be) -
Restore retry wrappers, fleet role resolution, and release_hosts signature (
2ed97c8) -
Restore venv precedence and bidirectional field mapping (
79496ba) -
Restrict EC2Fleet instance tagging to instant fleets only and clean up example tags (
0e40d19) -
Return full template config instead of hardcoded fields (
7b9bd63) -
Return request machine association and response format (
8ce3114) -
Return request status transitions to complete when instances terminate (
656f81a) -
Return request validation, status messages, and result mapping (
566ba4f) -
Route templates/requests create/update/delete/cancel/return through dedicated handlers (
562b7db) -
Route unknown flags to command_args in invoke_provider.sh (
683f97e) -
Ruff format and lint issues (
2c2d931) -
Run AWS resource cleanup before config teardown in onaws fixtures (
4844ca6) -
Scheduler discovery in orb init (
050a43c) -
Scheduler load_templates_from_path ignoring input parameter (
a30c424) -
Scheduler override functionality (
6b268dc) -
Scheduler strategy template path resolution (
b7021a3) -
Scope instant fleet early-exit to EC2Fleet instant type only (
a12fe75) -
Security groups mapping in query handler (
f9148cb) -
Serialize instanceTags dict to JSON string per HF schema requirement (
241818b) -
Serialize instanceTags dict to string in format_templates_response (
b048d3e) -
Set correct allocation strategy defaults (spot=price_capacity_optimized, ondemand=lowest_price) (
e125d18) -
Set ORB_CONFIG_DIR in onaws test fixtures (
6d67ba9) -
Show actual config and template file paths in orb config show (
0b7edf7) -
Show actual error messages instead of 'Unknown error' (
512cf89) -
Show commands require IDs and reject --all flag (
b87e729) -
Show default_config.json first in missing files list (
f603f14) -
Show default_config.json first in missing files list (
21215e1) -
Show default_provider in config show (
2befc2e) -
Show last_updated timestamp in config show (
9514450) -
Singular command aliases (
bd71536) -
Sort imports in ec2_fleet handler and test file (
589e540) -
Split comma-delimited subnet IDs in HostFactory transformation (
26ecf06) -
SpotFleet fleet_role injection, scheduler_type stamp, fast-fail on error, test speed, cache path cleanup (
8309816) -
SpotFleet role discovery, validation, and template injection (
bc4e60c) -
SSM to AMI ID resolution (
4099d93) -
SStandardize all timestamps to Z format for non-scheduler outputs (
b1251d3) -
Standardise all timestamps to ISO format with UTC timezone (
940f2b5) -
Standardize scheduler discovery pattern (
957bd38) -
Startup validator detects missing templates correctly (
b17cdec) -
Storage and provider parity corrections (
be6e7b6) -
Store fleet_role in provider instance config, not template_defaults (
2e4706a) -
Strategy cache reset and template cache methods (
0011507) -
Strip empty and irrelevant fields from HF template output (
6f5c391) -
Suppress B027 on intentional no-op hook methods in abstract base classes (
1e426a6) -
Syntax error in health_command_handler.py (
b78103c) -
Tag spot-instances-request resources in RunInstances handler (
55ae8c5) -
Template adapter DI registration and contract creation (
0a275d8) -
Template deduplication with minimal infrastructure solution (
5c77a94) -
Template generate command argument conflict (
6e65932) -
Template generation and remove --long flag technical debt (
3cee8e5) -
Template generation architecture - separate generation from defaults application (
53577e6) -
Template generation field mapper initialization (
541a2ae) -
Template generation filename collisions in generic mode (
8854679) -
Template generation service to use clean architecture (
7517f5a) -
Template generation to use correct bulk operation flow (
3f39206) -
Template generation: implement proper generic vs provider-specific modes (
7b69b37) -
Template query handlers to follow Clean Architecture (
88f9716) -
Template utility commands use CQRS pattern (
3c4d042) -
Template_processor scheduler_type param + hfmock default scheduler orb CLI routing (
b4dd1b3) -
TemplateGenerationService DI registration (
cd1e7a0) -
Templates list command factory to use correct query structure (
c15ce79) -
Templates validate shows specific error details (
7f4a077) -
Test isolation - unique dirs, yield+cleanup, per-test logs (
ba865e0) -
Thread request_id through release path and trigger LT cleanup for all fleet types (
703f9aa) -
Transition return request through IN_PROGRESS before COMPLETED, filter ASG to InService only (
023bb1e) -
Treat InvalidInstanceID.NotFound as idempotent success in terminate (
d0a0f7d) -
Unify registry dependency initialization (
cd11cc4) -
Unwrap HF JSON envelope in request handler (
5420037) -
Update AWS client initialization to use correct constructor signature (
1a9172c) -
Update CLI description, prog name, and hfmock scripts path (
0e51bae) -
Update CLI help text and filtering documentation for machine_types field (
68b09ba) -
Update config loader to use correct default config location (
4781d5c) -
Update default AMI to use SSM parameter for latest Amazon Linux 2023 (
e69cd35) -
Update docs, examples, CI workflows for orb namespace migration (
0335b32) -
Update e2e tests for templates router DI migration (
4b564b9) -
Update GetRequestHandler test fixtures to match restored constructor signature (
f4bf606) -
Update init handler to use Provider Registry for infrastructure discovery (
126ea14) -
Update invoke_provider.sh PROJECT_ROOT to account for new scripts depth (
e1aac9a) -
Update mock.patch path in onmoto test for orb namespace (
65560a1) -
Update mock.patch paths and workflow imports for orb namespace (
a4a09ce) -
Update package-testing workflow for orb namespace (
70ffd0b) -
Update patch targets in platform_dirs tests to match actual module path (
146722d) -
Update remaining bare module paths to orb namespace (
0bc10fc) -
Update remaining src.* and bare module paths to orb namespace (
079dc4b) -
Update reset_singletons module paths for orb namespace (
21e022e) -
Update scheduler handlers to use SchedulerRegistryService DI injection (
eadf74c) -
Update scheduler to use DTOs and fix return request parameter (
a36988b) -
Update stale src.* imports and fix lazy loading tests (
3abf07a) -
Update stale src/ paths for namespace migration (
38eb246) -
Update startup validator to use template hierarchy (
912261a) -
Update template generation to use strategy handler factory (
77478df) -
Update test paths for orb namespace migration (
71764bf) -
Updating onaws tests for the new template formats (
ae913c6) -
Upgrade trivy-action from 0.33.1 to 0.34.2 (
e027e29) -
Use canonical PascalCase comparisons for provider_api in fleet instance tagging (
8eccc2e) -
Use config.get_cache_dir() as single source of truth for AMI cache dir (
e095ef6) -
Use explicit field mappings to control HF template display output (
addda95) -
Use get_request_status to poll return request completion (
3adb559) -
Use Optional[AWSOperations] instead of type: ignore in SpotFleetValidator (
0b79547) -
Use per-client container for region/profile overrides in SDK (
5514c20) -
Use per-test AWS credentials in test_onaws.py cleanup helpers (
81ac308) -
Use platform dirs for default config discovery (
613a93c) -
Use pre-generated request_id in REST handler (CQRS command returns None) (
c5aab9d) -
Use provider machines when available in query response (
446a67b) -
Use repository name for container cleanup package-name (
bbdb1c8) -
Use RequestDTO.from_domain instead of manual DTO creation (
f978d7a) -
Use resource_ids from status response for backing resource lookup in tests (
a22bd8d) -
Use short_name for PYTHON_MODULE instead of deriving from pypi_name (
93855ef) -
Use standard RequestDTO.from_domain for complete field mapping (
fc41c88) -
Use storage registry to create strategies in machine and request repository factories (
347f8a0) -
Use typed allocation strategy values in EC2Fleet example templates (
de85481) -
Use typed ConfigurationPort lookup for AMI cache dir resolution (
2b4737a) -
Use Unit of Work pattern for metrics repository access (
daf2b88) -
Validate nested State.Name field in AWS instance data (
1071c58) -
Wait for all requested instances before declaring request complete (
234bcca) -
Wire AWSProvisioningAdapter via strategy and remove handler fallback (
a834f02) -
Wire handler capabilities into validation and surface sync errors (
734ee39) -
Wrap command.request_id with RequestId in PopulateMachineIdsHandler (
f5b2b7f) -
Write aws_templates.json to config/ subdir so ORB can find it (
61f1f84) -
architecture: Move storage events from domain to infrastructure layer (
c7931f9) -
tests: Align handler tests with current production behaviour (
631d6a2) -
tests: Align tests with current production behaviour (
0303fba) -
tests: Enable metrics and add missing mock method to fix stale test failures (
1b879e6) -
tests: Update field mapping keys and fix broken storage import (
ac3e9e2)
Build System
-
Add pyright to ci dependency group (
1eafc7a) -
deps: Bump aquasecurity/trivy-action (
3d6d473) -
deps: Bump the uv group across 1 directory with 3 updates (
ce69992)
Documentation
-
Add commit message format guidelines (
0a49e6f) -
Add comprehensive --all flag audit report (
9dac6a9) -
Add comprehensive regression analysis (
89aebe9) -
Add init command improvements next steps (
8555a69) -
Correct --all flag audit report (
daac6df) -
Expand SDK config loading docs and fix method names (
a7f6b9c) -
Fix docs structure, add missing nav entries, update README with provider/scheduler info (
305b513) -
Fix stale and inaccurate documentation (
ab83d23) -
Move sdk_usage.py to docs/root/examples, wire up examples in docs index (
8125e25) -
Overhaul README with collapsible sections for quick onboarding (
fda2174) -
Remove non-aws deployment examples from cloud platforms guide (
51a4b9a) -
Remove openstack reference from naming guide (
5869c5d) -
Restructure README with grouped sections and visual hierarchy (
34da600) -
Rewrite and modernise user-facing documentation (
313cab5) -
Rewrite README with foolproof getting-started guide (
e633421) -
Simplify AWS and config sections in README, move details to docs (
184b92e) -
Update architecture diagrams with comprehensive system views (
3eb2388) -
Update documentation and config (
731f8ad) -
Update documentation for Clean Architecture refactoring (
a419e39) -
Update documentation with optional dependencies (
abe5856)
Features
-
Add 'infra' as shortcut for 'infrastructure' commands (
6317f66) -
Add --force flag to hfmock requestReturnMachines (
69076cd) -
Add --force flag to orb machines return for stuck terminations (
a3987ff) -
Add --subnet-ids, --security-group-ids, --fleet-role flags to orb init (
65d6bb5) -
Add --tag-key/--tag-value flags to override resource filter tag (
717f1cc) -
Add --timestamp-format flag for machine list command (
31dbb38) -
Add main.py so python -m orb works as entrypoint (
28b2b9a) -
Add application service interfaces (
23c28f5) -
Add AWS implementation of generic image resolution service (
32d94c7) -
Add BaseSettings documentation and test coverage (
1b8986c) -
Add BaseSettings schemas for automatic environment variable mapping (
3f24f03) -
Add camelCase API, stub endpoints, security tests, and E2E tests (
7c6a06e) -
Add capacity top-up retry loop to provisioning orchestration (
2d686b5) -
Add CLI-style SDK convenience methods and parameter mapping (
fdef7f8) -
Add comprehensive ORB resource cleanup script (
5eb68b3) -
Add DRY scheduler field mapper architecture (
4b69180) -
Add example template generation to handlers (
3797752) -
Add fail-fast startup validation (
40339b6) -
Add final newline to generated template files (
ee3afd5) -
Add fleet_role to provider instance template_defaults (
bfa97c2) -
Add fulfilled_count/is_terminal to ProvisioningResult and BatchingPolicy value object (
137a431) -
Add generic image resolution operation handler to AWS strategy (
bdbea55) -
Add generic ImageResolutionService domain interface (
e2bf759) -
Add HF attributes object and fix REST API response wrapper fields (
f6b9a3c) -
Add LAUNCHING state to machine lifecycle (
5bd6822) -
Add machine_ids field and domain methods to Request aggregate (
fb7fc53) -
Add machines stop command (
057e7ce) -
Add machines terminate alias (
cb7b683) -
Add missing fields and Pydantic migration validators to Request domain model (
f5519da) -
Add missing global CLI arguments (
abd469f) -
Add moto-based SDK E2E tests and expand quickstart docs (
a8e8ffe) -
Add network timeouts, remove debug code, split handler (
3413450) -
Add orb system health command (
66c9083) -
Add overwrite protection to template generation (
1f2152b) -
Add platform-aware config location detection (
b130ff0) -
Add project logos, update README branding, add favicon to REST API (
ab51d71) -
Add provider selection methods to registry for Clean Architecture compliance (
5744dc3) -
Add Rich console helpers for CLI output (
964d31a) -
Add scheduler-aware error handling and health checks (
de4cd30) -
Add SDK, REST async support, moto tests, SRP extraction, and repository migration (
345a1fc) -
Add SDK-based onaws integration tests (
3874539) -
Add simple centralized help system for getting started workflow (
9b2db2e) -
Add subnet and security group to sync service (
801b918) -
Add templates validate command for loaded templates (
a8241fc) -
Add typed Protocol for SDK business methods (
c436db6) -
Add universal --all flag to global arguments (
01b1111) -
Add version-controlled git hooks with beads integration (
4dcf191) -
Auto-cleanup empty ASG/Fleet resources and launch templates after full return (
32407b6) -
Centralise package_root, support EC2 instance profiles, improve dev deps and onaws tests (
bedb8a3) -
Code quality improvements - file splits, domain purity, exception handling (
5f4fc5d) -
Complete BaseSettings integration with environment variable precedence (
6f6b322) -
Complete DTO implementations with all domain fields (
169f5ef) -
Complete multi-provider architecture with machine context (
1ccf27f) -
Consolidate instance ID handling across AWS handlers (
c5fdb85) -
Consolidate provider naming to use provider_name consistently (
6a63a79) -
Eliminate configuration global singleton (
daef7c3) -
Enable SDK programmatic config without filesystem dependencies (
185edc5) -
Enforce orb: tag namespace reservation at domain and infrastructure layers (
d61f4ca) -
Enhance AWS resolver with caching capabilities (
0e02229) -
Exception types, test coverage, variable naming, error propagation (
d4b16ad) -
Extract common pattern abstraction services (
59853a4) -
Extract EC2FleetConfigurationService from EC2FleetHandler (
2821bd1) -
Extract EC2FleetManagementService from EC2FleetHandler (
5d81c96) -
Implement AMI resolution via provider strategy (
3189328) -
Implement architecturally compliant global AWS overrides (
353f1b8) -
Implement Clean Architecture CQRS pattern for CLI (
cab7c33) -
Implement Clean Architecture timestamp and filtering services (
2971963) -
Implement clean async template cache service (
44060e1) -
Implement common CLI arguments system (
c292a67) -
Implement CQRS bulk operations architecture (
20089d5) -
Implement CQRS pattern in CLI execute_command function (
88ae1a7) -
Implement generic provider credential discovery system (
3b3cc8d) -
Implement global filter system across all list commands (
ece177d) -
Implement handler improvements across all 4 AWS fleet handlers (
afe4d19) -
Implement machine_ids field with command-driven population (
1e52134) -
Implement multi-provider handler factory with metadata-driven selection (
fe2e997) -
Implement orb init command (
d111b55) -
Implement orb templates generate command (
1645645) -
Implement ORB_* environment variables with clean architecture (
e5e5169) -
Implement proper installation mode detection using modern Python APIs (
3bb732e) -
Implement provider configuration management (
e75034d) -
Implement provider management enhancements (
38a6b06) -
Implement SDK middleware, batch operations, and custom serialization (
1134283) -
Implement shared CLI arguments (
73f5d85) -
Implement storage lazy loading with configuration compliance (
64c3915) -
Implement systemic registry dependency initialization (
a666f21) -
Implement template hierarchy with configurable filename patterns (
4aecfd3) -
Implement template multi-provider architecture with provider strategy pattern (
cdf911c) -
Implement unified machine types cleanup (
3826675) -
Implement universal --all flag for bulk operations (
8c66769) -
Improve formatting for init command sections (
07048cc) -
Improve installation mode detection and remove config warnings (
df1b2b1) -
Integrate BaseSettings with AWS provider configuration (
0ad243f) -
Integrate BaseSettings with core configuration system (
3d5df3e) -
Integrate field mappers with scheduler strategies (
f01e3b0) -
Make CLI colors optional and remove unused dependencies (
2dadcfd) -
Make infrastructure commands more helpful with actionable guidance (
c70b555) -
Move HF scripts to hostfactory dir and update pyproject.toml packaging (
822e958) -
Multi-provider template generation and UX improvements (
66b0416) -
Orb init improvements and HF machine formatting consolidation (
a5413c5) -
Overhaul README and docs — punchy intro, full lifecycle Quick Start, SDK section (
dd5f51b) -
Per-client DI container isolation for ORBClient (
f7e48f1) -
Replace --tag-key/--tag-value with repeatable --tag key=value flag (
24ddaaa) -
Reserve orb: tag namespace on all AWS resources (
156a7ab) -
Restructure package layout under orb namespace (
4931736) -
Simplify MachineSerializer and TemplateSerializer (
b28bc53) -
Simplify RequestSerializer to use domain model_dump() + process_value_objects() (
0c89c8f) -
Skip onaws tests when AWS credentials are missing or expired (
a9e56c5) -
SOLID, domain purity, code duplication, bounded context fixes (
a91319d) -
Standardise API response fields to camelCase (
9ca366a) -
Standardize response fields, strengthen E2E tests, add API reference docs (
9242bc3) -
Store instance IDs in request for tracking (
097076d) -
Unify template discovery across schedulers (
336f052) -
Update _get_machines_for_request method for performance (
f94c6e6) -
Update AWS templates configuration for BaseSettings integration (
f5a5486) -
Update interface layer for BaseSettings compatibility (
d60d4aa) -
Update provider factory to use BaseSettings configuration (
5b0410f) -
Update provider query logic and DTO for machine_ids (
d63dbf5) -
Use handler factory for template generation (
f7fe90b) -
Wire AWSValidationAdapter and validate_template_requirements into provisioning path (
9f2d2e3) -
Wire remaining REST endpoints — cancel, machines, sync param (
9a276ba)
Performance Improvements
-
Cache provider selection during batch processing (
b4cba79) -
Skip AWS client activation when all image specs are already resolved (
0ca098a)
Detailed Changes: v1.1.2...v1.2.0