Releases: NASA-AMMOS/aerie-cli
v2.6.0
Summary
- Adds/updates queries to manipulate dictionaries and parcels for Aerie 2.11.0.
- Updates queries and commands for affected command expansion constructs (rules, sets). Expanding simulated plans and linking/downloading sequences is not affected.
- Full compatibility with Aerie v2.11.0
What's Changed
- Aerie-CLI v2.6.0 by @cartermak in #137
Full Changelog: v2.5.0...v2.6.0
v2.5.0
Summary
This release of Aerie CLI updates the utility to be compatible with Aerie 2.8.0.
What's Changed
- Updates to a scheduling query and environment-level changes to match the requirements of Aerie v2.8.0. See the Aerie docs for more info on these changes.
- Full compatibility with Aerie v2.8.0
Full Changelog: v2.4.0...v2.5.0
v2.4.0
Summary
- Updates to the scheduling and constraint modules to match the new database schema introduced in Aerie v2.6.0. See the Aerie docs for more info on this schema change.
- Note: this is a breaking change to both Aerie and Aerie CLI, and is not compatible with Aerie versions below 2.6.0.
- Updates to developer documentation to recommend using pip instead of poetry, and a new section on creating releases.
- Full compatibility with Aerie v2.6.0, v2.6.1, and v2.70
What's Changed
- Update scheduling queries and unit tests to conform to Aerie v2.6 by @joshhaug in #129
- Documentation updates by @cartermak in #131
- Release v2.4.0 by @joshhaug in #131
Full Changelog: v2.3.0...v2.4.0
v2.3.0
Summary
- Semi-backwards-compatible change to plans includes tags in plan downloads and uploads
- Older plans will work with this version of Aerie-CLI, but plans downloaded/edited with this version will not work with older versions of Aerie-CLI
- New deploy tool for command expansions, similar to the existing tools for constraints and scheduling goals
- Updates to match changes in the constraint result schema
- Full compatibility with: Aerie 2.2.0, 2.2.1
What's Changed
- Download/Upload Plan Tags by @zgoldberg22 in #108
- Aerie 2.2.0 Updates by @cartermak in #113
- Command Expansion Deploy Tool by @cartermak in #118
- Release v2.3.0 by @cartermak in #122
New Contributors
- @zgoldberg22 made their first contribution in #108
Full Changelog: v2.2.0...v2.3.0
v2.2.0
Summary
- Small breaking changes to command expansion sets to match Aerie updates:
AerieClient.create_expansion_set
now requires an expansion set name- Data class
ExpansionSet
now includes additional metadata
- Breaking change to constraint results schema to match Aerie updates: 9f2c15d
- Documentation and test improvements
- Full compatibility with: Aerie 2.1.0
What's Changed
- Trivial change to help message for plan download_resources by @ewferg in #93
- Aerie 2.1.0 by @cartermak in #99
- Expansion Set Updates by @cartermak in #101
- Develop branch version tag by @cartermak in #102
Full Changelog: v2.1.1...v2.2.0
v2.1.1
Summary
- Adds commands for editing plan collaborators
- Implements schema changes for Aerie >=1.13.0 constraint violations (not backwards-compatible with older Aerie versions)
- Supports authentications changes for Aerie >=1.14.0
What's Changed
- Add commands for plan collaborators in #85
- Aerie 1.13.0 + Integration test with multiple Aerie versions by in #88
- Aerie 1.14.0 Auth Changes by in #90
Full Changelog: v2.0.1...v2.1.1
v2.1.0
v2.0.1
Summary
- Fixes a lingering reference when getting effective activity arguments to
Activity.parameters
(since replaced withActivity.arguments
to align with Aerie conventions) and corrects the fields in the associated data class and query. Adds a test that exercises the--full-args
option for plans download. - Removes PK
plan_id
from activity updates because even "aerie_admin" doesn't have permissions for updating that column. Updates corresponding unit tests.
What's Changed
- Hotfixes: Missed name change and permissions nuance by @cartermak in #82
Full Changelog: v2.0.0...v2.0.1
v2.0.0
Summary
- Several breaking changes are included to support User Roles and Permissions (URP) in Aerie.
- Activity dataclasses have been cleaned up and consolidated.
- Compatibility back to Python 3.6.8 is now supported.
- Plans are reformatted to support activity anchoring and remove tags.
- Expanded unit tests and heavily improved/updated integration tests with automation are added.
Major Breaking Changes
Configuration File Format
auth_method
has been removed. In place of the none
or native
modes, Aerie now requires a username for all clients and Aerie-CLI will prompt for a password if authentication is enabled on the Aerie host. In lieu of the cookie
mode, configurations may now specify external_auth
.
JSON Plan/Activity Format
- Activities in plans are now timestamped with a
start_offset
relative time instead of an absolutestart_time
field. This accommodates additional fields for activity anchoring:anchor_id
(ID of the anchor activity, ornull
to anchor to the plan) andanchor_to_start
(a boolean value). These fields mirror how activities are stored and specified in Aerie/Aerie-UI. - Tags have been removed as they are no longer stored as a field on activities in Aerie.
Commands
- The
activate
anddeactivate
commands have been moved to the top level of the CLI, i.e.,aerie-cli activate
as opposed toaerie-cli configurations activate
. - The
configurations update
command has been removed pending an updated implementation to handle the revised configuration fields. - The
configurations create
command does not yet support the newexternal_auth
configuration field. These configurations should be entered manually or loaded from a provided JSON file. - Prompts and parameters have been updated to reflect the latest configuration formats. Notably, prompts when activating a session may include multiple fields for credentials depending on whether authentication is enabled in Aerie and whether an external authentication service is configured.
Sessions
- With User Roles and Permissions added to Aerie, Aerie-CLI clients have an added
role
property. This property has the default value configured in Aerie for the user when a session is activated and can be changed either onactivate
with a-r/--role
CLI argument, or via the newaerie-cli role
command after activating. - The new command
aerie-cli status
prints the name of the active configuration and the current client role.
Additional Python API Changes
Noteworthy changes are summarized here. See the full changelog and code documentation for smaller changes and more information.
Hosts and Authentication
AerieHostSession
has been renamed toAerieHost
. When instantiated, this class should be considered as an abstraction of the host, but not an authenticated session. Theauthenticate
method now provides the mechanism to authenticate with an Aerie instance. Any external authentication should be configured in therequests.Session
object passed to the constructor.AerieHost.aerie_jwt
is a property which isNone
when the client has not yet authenticated with the Aerie host. This property is set with an instance ofAerieJWT
after authenticating; this object contains properties for JWT contents (username, active role, and allowed roles).AerieHost
has additional new methodschange_role
andis_auth_enabled
.- The
AerieHost
methodping_gateway
has been replaced withcheck_auth
. - The
AerieClient
propertyhost_session
was renamed toaerie_host
.
Data Classes
- In order to support Python 3.6, the native
dataclasses
library and additionaldataclasses-json
library have been replaces with theattrs
library. Most/all data class interfaces have been preserved, including JSON (de)serialization. - Activity-related data classes have been refactored and consolidated. Client-side, there now exists a single
Activity
data class.
Session Utilities
- Utility functions
get_preauthenticated_client_native
andget_preauthenticated_client_cookie
have been revised to ingest an encoded JWT from Aerie as credentials. - New utility functions
start_session_from_configuration
and helper methodauthenticate_with_external
provide prompts to create an authenticated session given a configuration.
What's Changed
- Add configuration CLI option by @Navarro-Jonathan in #53
- Hotfix: Windows Paths by @cartermak in #59
- Support Activity Anchoring + Refactoring/Improvements by @cartermak in #11
- Add integration tests by @Navarro-Jonathan in #54
- Swap to attrs by @Navarro-Jonathan in #32
- Update configurations after clean by @Navarro-Jonathan in #68
- Bugfix: importlib-metadata dependency and README install command by @cartermak in #73
- Get resource types from table instead of deprecated Action by @Mythicaeda in #71
- Improve tests by @Navarro-Jonathan in #66
- Update gateway ping to check /auth/session by @Navarro-Jonathan in #63
- Aerie 1.12.0: User Roles and Permissions, Query Updates, and Related Configuration Changes by @cartermak in #75
- Error Message Fix by @cartermak in #78
- Documentation and Configuration Updates by @cartermak in #77
Full Changelog: v1.2.2...v2.0.0
v2.0.0-alpha.1
Summary
- Interfaces in this
alpha
release are subject to change - Several breaking changes are included to support User Roles and Permissions (URP) in Aerie
Activity
dataclasses have been cleaned up and consolidated- Compatibility back to Python 3.6.8 is now supported
Major Breaking Changes
Further documentation TBA
- The configuration file format has changed
- The JSON plan format has changed
- Activity timing is now defined with a start offset and anchoring information, instead of an absolute start time
- Tags have been removed pending an implementation that supports the changes to tags in Aerie
- Session
activate
anddeactivate
commands now exist at the top level of the CLI app, not within theconfigurations
command - Client sessions are given the default role according to Aerie's URP configuration. To change roles, use
aerie-cli role
. View the current role usingaerie-cli status
What's Changed
- Add configuration CLI option by @Navarro-Jonathan in #53
- Support Activity Anchoring + Refactoring/Improvements by @cartermak in #11
- Add integration tests by @Navarro-Jonathan in #54
- Swap to attrs by @Navarro-Jonathan in #32
- Update configurations after clean by @Navarro-Jonathan in #68
- Get resource types from table instead of deprecated Action by @Mythicaeda in #71
- Improve tests by @Navarro-Jonathan in #66
- Update gateway ping to check /auth/session by @Navarro-Jonathan in #63
- Aerie 1.12.0: User Roles and Permissions, Query Updates, and Related Configuration Changes by @cartermak in #75
Full Changelog: v1.2.0...v2.0.0-alpha.1