Skip to content

Releases: NASA-AMMOS/aerie-cli

v2.6.0

30 May 15:12
Compare
Choose a tag to compare

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

Full Changelog: v2.5.0...v2.6.0

v2.5.0

08 May 18:40
3c7fe94
Compare
Choose a tag to compare

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

11 Apr 15:44
71ac983
Compare
Choose a tag to compare

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

Full Changelog: v2.3.0...v2.4.0

v2.3.0

01 Feb 05:51
db8046c
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v2.2.0...v2.3.0

v2.2.0

12 Dec 21:29
ca9e426
Compare
Choose a tag to compare

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

Full Changelog: v2.1.1...v2.2.0

v2.1.1

20 Oct 00:59
ac1b33e
Compare
Choose a tag to compare

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

20 Oct 00:55
6343bd9
Compare
Choose a tag to compare

Pulled due to missing version increment.

v2.0.1

13 Sep 17:27
43ee527
Compare
Choose a tag to compare

Summary

  • Fixes a lingering reference when getting effective activity arguments to Activity.parameters (since replaced with Activity.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

11 Sep 20:08
96e3740
Compare
Choose a tag to compare

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 absolute start_time field. This accommodates additional fields for activity anchoring: anchor_id (ID of the anchor activity, or null to anchor to the plan) and anchor_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 and deactivate commands have been moved to the top level of the CLI, i.e., aerie-cli activate as opposed to aerie-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 new external_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 on activate with a -r/--role CLI argument, or via the new aerie-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 to AerieHost. When instantiated, this class should be considered as an abstraction of the host, but not an authenticated session. The authenticate method now provides the mechanism to authenticate with an Aerie instance. Any external authentication should be configured in the requests.Session object passed to the constructor.
  • AerieHost.aerie_jwt is a property which is None when the client has not yet authenticated with the Aerie host. This property is set with an instance of AerieJWT after authenticating; this object contains properties for JWT contents (username, active role, and allowed roles).
  • AerieHost has additional new methods change_role and is_auth_enabled.
  • The AerieHost method ping_gateway has been replaced with check_auth.
  • The AerieClient property host_session was renamed to aerie_host.

Data Classes

  • In order to support Python 3.6, the native dataclasses library and additional dataclasses-json library have been replaces with the attrs 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 and get_preauthenticated_client_cookie have been revised to ingest an encoded JWT from Aerie as credentials.
  • New utility functions start_session_from_configuration and helper method authenticate_with_external provide prompts to create an authenticated session given a configuration.

What's Changed

Full Changelog: v1.2.2...v2.0.0

v2.0.0-alpha.1

06 Sep 17:05
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release

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 and deactivate commands now exist at the top level of the CLI app, not within the configurations 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 using aerie-cli status

What's Changed

Full Changelog: v1.2.0...v2.0.0-alpha.1