Releases: mirurobotics/agent
v0.7.0
Changelog
Features
- 4c1ea91 feat(agent): include seconds precision in build date
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 783f1c9 feat(tools): add custom import linter
- 91be2a9 feat: respect RUST_LOG environment variable
- b275c2e feat: update install script to hardset the Miru-Version header
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 2a4f0c0 fix: query parameter separation to use '|' instead of ','
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 48e06d3 refactor(agent): macro-generate status enum conversions
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- fc3f055 refactor(agent): unify concurrent wrapper dispatch
- 8c51c6f refactor(api): rename openapi-client/server to backend-api/device-api
- 1ff3002 refactor(app): centralize shutdown worker handle registration
- cc63b76 refactor(app): unify shutdown worker handle registration
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- a9c068d refactor(cli): restructure module to directory layout (TD-002)
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- 62c5e2f refactor(lint): add import normalizer and restructure into modules
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- 00af744 refactor(scripts): extract shared lint script with fix/check toggle
- ef44473 refactor(scripts): extract shared script library from duplicated code
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- 14855c9 refactor(tests): remove unused testdata helper functions (TD-003)
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- 1af853d refactor: drop updated_at fields from device api
- 9be7ac3 refactor: normalize import labels and grouping across codebase (TD-001)
- 4ace736 refactor: normalize import labels and grouping in test files
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- 492e2e0 refactor: remove unused tracing imports and allow annotations (TD-004)
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0
Full Changelog: v0.6.1...v0.7.0
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-beta.5
Changelog
Features
- 4c1ea91 feat(agent): include seconds precision in build date
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 783f1c9 feat(tools): add custom import linter
- 91be2a9 feat: respect RUST_LOG environment variable
- b275c2e feat: update install script to hardset the Miru-Version header
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 2a4f0c0 fix: query parameter separation to use '|' instead of ','
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 48e06d3 refactor(agent): macro-generate status enum conversions
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- fc3f055 refactor(agent): unify concurrent wrapper dispatch
- 8c51c6f refactor(api): rename openapi-client/server to backend-api/device-api
- 1ff3002 refactor(app): centralize shutdown worker handle registration
- cc63b76 refactor(app): unify shutdown worker handle registration
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- a9c068d refactor(cli): restructure module to directory layout (TD-002)
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- 62c5e2f refactor(lint): add import normalizer and restructure into modules
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- 00af744 refactor(scripts): extract shared lint script with fix/check toggle
- ef44473 refactor(scripts): extract shared script library from duplicated code
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- 14855c9 refactor(tests): remove unused testdata helper functions (TD-003)
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- 1af853d refactor: drop updated_at fields from device api
- 9be7ac3 refactor: normalize import labels and grouping across codebase (TD-001)
- 4ace736 refactor: normalize import labels and grouping in test files
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- 492e2e0 refactor: remove unused tracing imports and allow annotations (TD-004)
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-beta.5
Full Changelog: v0.6.1...v0.7.0-beta.5
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-beta.4
Changelog
Features
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 783f1c9 feat(tools): add custom import linter
- 91be2a9 feat: respect RUST_LOG environment variable
- b275c2e feat: update install script to hardset the Miru-Version header
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 2a4f0c0 fix: query parameter separation to use '|' instead of ','
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 48e06d3 refactor(agent): macro-generate status enum conversions
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- fc3f055 refactor(agent): unify concurrent wrapper dispatch
- 8c51c6f refactor(api): rename openapi-client/server to backend-api/device-api
- 1ff3002 refactor(app): centralize shutdown worker handle registration
- cc63b76 refactor(app): unify shutdown worker handle registration
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- a9c068d refactor(cli): restructure module to directory layout (TD-002)
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- 62c5e2f refactor(lint): add import normalizer and restructure into modules
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- 00af744 refactor(scripts): extract shared lint script with fix/check toggle
- ef44473 refactor(scripts): extract shared script library from duplicated code
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- 14855c9 refactor(tests): remove unused testdata helper functions (TD-003)
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- 9be7ac3 refactor: normalize import labels and grouping across codebase (TD-001)
- 4ace736 refactor: normalize import labels and grouping in test files
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- 492e2e0 refactor: remove unused tracing imports and allow annotations (TD-004)
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-beta.4
Full Changelog: v0.6.1...v0.7.0-beta.4
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-beta.3
Changelog
Features
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 783f1c9 feat(tools): add custom import linter
- 91be2a9 feat: respect RUST_LOG environment variable
- b275c2e feat: update install script to hardset the Miru-Version header
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 48e06d3 refactor(agent): macro-generate status enum conversions
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- fc3f055 refactor(agent): unify concurrent wrapper dispatch
- 8c51c6f refactor(api): rename openapi-client/server to backend-api/device-api
- 1ff3002 refactor(app): centralize shutdown worker handle registration
- cc63b76 refactor(app): unify shutdown worker handle registration
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- a9c068d refactor(cli): restructure module to directory layout (TD-002)
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- 62c5e2f refactor(lint): add import normalizer and restructure into modules
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- 00af744 refactor(scripts): extract shared lint script with fix/check toggle
- ef44473 refactor(scripts): extract shared script library from duplicated code
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- 14855c9 refactor(tests): remove unused testdata helper functions (TD-003)
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- 9be7ac3 refactor: normalize import labels and grouping across codebase (TD-001)
- 4ace736 refactor: normalize import labels and grouping in test files
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- 492e2e0 refactor: remove unused tracing imports and allow annotations (TD-004)
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-beta.3
Full Changelog: v0.6.1...v0.7.0-beta.3
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-beta.2
Changelog
Features
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 783f1c9 feat(tools): add custom import linter
- 91be2a9 feat: respect RUST_LOG environment variable
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 48e06d3 refactor(agent): macro-generate status enum conversions
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- fc3f055 refactor(agent): unify concurrent wrapper dispatch
- 8c51c6f refactor(api): rename openapi-client/server to backend-api/device-api
- 1ff3002 refactor(app): centralize shutdown worker handle registration
- cc63b76 refactor(app): unify shutdown worker handle registration
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- a9c068d refactor(cli): restructure module to directory layout (TD-002)
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- 00af744 refactor(scripts): extract shared lint script with fix/check toggle
- ef44473 refactor(scripts): extract shared script library from duplicated code
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- 14855c9 refactor(tests): remove unused testdata helper functions (TD-003)
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- 9be7ac3 refactor: normalize import labels and grouping across codebase (TD-001)
- 4ace736 refactor: normalize import labels and grouping in test files
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- 492e2e0 refactor: remove unused tracing imports and allow annotations (TD-004)
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-beta.2
Full Changelog: v0.6.1...v0.7.0-beta.2
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-beta.1
Changelog
Features
- 85d7f3d feat(agent): upgrade to v0.2 API with releases, git commits, and expanded endpoints
- ff3f8ab feat(api): bump backend-client spec to v0.2.0-beta.3
- 736ed55 feat(api): bump backend-client spec to v0.2.0-beta.4
- 29d4e36 feat(cache): add write_if_absent method and CacheElementNotFound error codes
- 2ef6513 feat(deploy): track deployed_at and archived_at timestamps
- 0709fea feat(http): add config_instances module for content fetch
- a541a4b feat(http): add retry helper for network errors
- 6f8da9d feat(storage): add srv_temp_dir layout path
- 91be2a9 feat: respect RUST_LOG environment variable
Bug Fixes
- 6b62e12 fix(app): use srv_temp_dir for deploy staging dir
- 33377b6 fix(authn): redact token value in Debug output
- 9daf41d fix(deploy): return remaining cooldown in apply error outcome
- ac76425 fix(filesys): delete destination before rename in Dir::move_to
- 22ebc51 fix(models): remove serde(other) from Archived variant
- fcaf2b8 fix(sync): clamp cooldown duration to zero and simplify cast
- 7c9f609 fix(sync): correct cooldown state handling
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- db393a9 refactor(agent): restructure modules and improve naming
- adf0548 refactor(agent): standardize module imports with pub use re-exports
- 8eac9c8 refactor(authn): tighten token_mngr visibility and deduplicate actor command dispatch
- 12f369f refactor(cache): drop crud trait impls and use CacheErr
- e514e10 refactor(cache): extract send_command helper and use error derive
- 228f353 refactor(crypt): add ssl_err macro, fix public key error variant, tighten visibility, remove sha256
- abaeef0 refactor(deploy): exclude failed deployments from target and simplify apply
- 7539e6b refactor(deploy): inline error wrapper functions
- 286bac7 refactor(deploy): migrate content to String type and add deployment validation
- a50084f refactor(deploy): use storage in apply API and remove observers
- 8b1c871 refactor(errors): capture backtrace in Trace struct
- ecc1b94 refactor(errors): restructure error handling with thiserror and From conversions
- 6e5076a refactor(errors): use error derive macros and fix deploy error Display
- 30cd5b6 refactor(filesys): replace boolean overwrite/atomic params with type-safe enums
- 8211dbc refactor(http): consolidate query params into typed QueryParams builder
- d767679 refactor(http): extract request/response modules and replace extension traits with free functions
- 9cecd6f refactor(http): make Client::new sync+fallible, rename param fields, improve mock
- cc37314 refactor(http): rename MockCall to Call in test mock
- 2125f5c refactor(http): simplify ClientI return type, thread Meta through send, rename Context to Meta
- 53726ed refactor(http): simplify client, remove caching, and consolidate error types
- f590bcd refactor(http): simplify retry delay selection
- 7cfd432 refactor(installer): restructure installer with DI, simplify storage API, and add test coverage
- dbfa1a7 refactor(logs): add logs module and use namespace-qualified API
- 29fbb38 refactor(models): replace ad-hoc conversion methods with From/Into impls
- b275bb0 refactor(models): use import aliases, add PartialEq to Updates, fix Deployment serde roundtrip
- 78e5e83 refactor(mqtt): extract options into dedicated module and replace OptionsBuilder
- 9b393e9 refactor(mqtt): introduce ClientI trait and replace DeviceExt with free functions
- ad3aab2 refactor(scripts): simplify coverage scripts to use .covgate file discovery
- ddcd667 refactor(storage): consolidate Caches into Storage and rename layout API
- e09b03a refactor(sync): extract send_command helper in Syncer
- 84557d2 refactor(sync): pull config instances with expansion
- 4b4b10b refactor(sync): rewrite sync layer to be deployment-centric
- e1887a5 refactor(sync): use deploy opts and http config_instances, drop obsolete errors
- ccc12dc refactor(version): use CARGO_PKG_VERSION with v prefix and compile-time commit const
- dd4dfc4 refactor: code gen to use new, deployment-centric api spec
- fe29d0c refactor: remove config schema functionality from agent
- 540c365 refactor: remove crud module and CrudErr from error chains
- d3b63e9 refactor: rename 'MiruError' to 'Error'
- 10d459d refactor: rename miruml -> mirurobotics
- c00b920 refactor: replace config instances HTTP client with deployments client
- 5a3265a refactor: restructure openapi code generation
- 0d313bf refactor: simplify storage API, introduce Patch trait, and restructure deploy module
- fc22c62 refactor: update models to match new deployment-centric API
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-beta.1
Full Changelog: v0.6.1...v0.7.0-beta.1
For documentation, visit: https://docs.mirurobotics.com
v0.7.0-alpha.1
Changelog
Features
- 91be2a9 feat: respect RUST_LOG environment variable
Bug Fixes
- d6d54c1 fix: exit with code '1' instead of '0' on install failures
- a6c7de6 fix: install provision script to check if the API Key is present
- 61c97b1 fix: reset /srv/miru to be owned by miru:miru on install
Refactors
- 10d459d refactor: rename miruml -> mirurobotics
- 5a3265a refactor: restructure openapi code generation
- b689e0d refactor: use derive macro for DeviceStatus default
Miru Agent v0.7.0-alpha.1
Full Changelog: v0.6.1...v0.7.0-alpha.1
For documentation, visit: https://docs.mirurobotics.com
v0.6.1
Changelog
Features
- eb7059b feat: support poor internet installations
Bug Fixes
- cf46e88 fix: exit with code '1' instead of '0' on install failures
Miru Agent v0.6.1
Full Changelog: v0.6.0...v0.6.1
For documentation, visit: https://docs.mirurobotics.com
v0.6.0
Changelog
Features
- eb7059b feat: support poor internet installations
Miru Agent v0.6.0
Full Changelog: miruml/agent@v0.5.1...v0.6.0
For documentation, visit: https://docs.miruml.com
v0.5.1
Changelog
Bug Fixes
Miru Agent v0.5.1
Full Changelog: miruml/agent@v0.5.0...v0.5.1
For documentation, visit: https://docs.miruml.com