Skip to content

Latest commit

 

History

History
402 lines (323 loc) · 18.6 KB

CHANGELOG.md

File metadata and controls

402 lines (323 loc) · 18.6 KB

1.2.4 - 2023-10-25

  • added NO_COLOR support for CLI error messages #564
  • made trailing newline behavior of cloudtruth templates preview consistent with cloudtruth templates get #530
  • made improvements to the install.sh script #513 #515
    • will now use wget if curl is not found on the system
    • enforces download with TLS 1.2
      • Note: BusyBox wget does not support enforcing TLS and a warning is emitted instead
    • error handling and reporting improvements
      • checks that script is ran with elevated privileges and alerts user prior to doing anything
      • checks for required shell commands and alerts user if they are missing (ex. tar, uname, mktemp)
      • better error handling when attempting to create or enter the temp install directory
      • alerts user with a message when download fails (instead of just showing curl status code)
  • added checksums to releases #511

1.2.3 - 2023-05-15

  • Added the following build targets to the release
    • arm-unknown-linux-musleabihf
    • armv7-unknown-linux-musleabihf
    • aarch64-unknown-linux-musl
  • Added projects copy command
  • Added environments copy command
  • Added parameters copy command
  • Added creation of immutable environment tags with the --immutable (ex. environments tag set --immutable <name>)
  • Fixed a bug where service accounts could not be created when no role was explicitly provided

1.2.2 - 2023-04-21

  • make output of groups subcommands consistent with other subcommands #482
  • a tarball of the integration test binaries generated by cargo-nextest is now included in the release artifacts #481

1.2.1 - 2023-04-17

  • Bug fix: workaround to populate rules array on types partial update #443
  • Fix to RPM builds to support CentOS 7 and RHEL 7 #474

1.2.0 - 2023-02-16

  • Updates to API client for compatibility with the latest server release
  • Fixed various issues with the install scripts on some platforms and networks
  • Azure integrations now show up in integrations list #388
  • Removed tag usage stats from the tag commands as they are no longer used #409
  • Fixed race condition in projects list on large data sets #410

1.1.8 - 2022-08-28

  • Added the groups subcommand for group management
  • Updated actions pushes commands with new options
    • actions pushes list
      • Added data filtering options --tag, --env, and --project
    • actions pushes set and actions pushes sync
      • Added --force and --no-force (alias of the existing --no-check-owner and --check-owner options, respectively)
      • Added --local and --no-local options
  • Added a configuration to accept invalid certs
    • Environment variable: CLOUDTRUTH_ACCEPT_INVALID_CERTS=1
    • YAML profile config: accept_invalid_certs: true

1.1.7 - 2022-03-23

  • Use Rocky instead of CentOS for Linux testing
  • Add support for macOS (arm64)
  • Adjust help text for template preview
  • Pick up latest API changes
  • Internal changes to improve testing

1.1.6 - 2022-01-28

  • Add several flags to action push set and action push sync
    • Flags control dry-run, ownership check, and other parameter controls
  • Update action import list and action push list displays to show flags
  • Show GitHub items in action import list

1.1.5 - 2022-01-21

  • Add parameter drift command to compare current shell environment to project/environment.
  • Add backup snapshot command to download a full set of parameter-types, environments, and projects (including templates, and parameters/values in the different environments)
  • Add filter options to audit-log list for --project, --parameter, and --env.
  • Improve general handling for server-side enumeration updates.

1.1.4 - 2022-01-10

  • Use API for password generation:
    • Add generate password command with many options.
    • Add parameter set --generate to allow generating 12 character value.
  • Removed Successfully prefix from parameter operation results.
  • Improve performance for parameter-type rules.

1.1.3 - 2022-01-04

  • Add import parameters command for easy project and environment creation/update
  • Add parameter-types command to manage custom types
    • Removed restriction on parameter set --type <param-type> values
    • Changed parameter set --type bool to parameter set --type boolean
  • Allow overriding parent project parameter values
    • Use --create-child to create the parameter in a child project
  • Add integration explore [-j|--jmes <path>] to get specific JMES path values
  • Add shorter versions of several commands

1.1.2 - 2021-12-10

  • Add Organization to user current, and config current displays.
  • Add versions commands to display, check, and install the latest CLI version.
  • Enhanced integrations explore command with --raw, and --secrets options.
  • Add configurable version checking
    • Defaults to checking once a week, and warning when running an older CLI version
    • Checks can be disabled, or stop CLI execution when running an older CLI version
  • Added ability to see specific successful response types using CLOUDTRUTH_REST_SUCCESS when CLOUDTRUTH_REST_DEBUG is enabled.
  • Updated to Rust 1.57.0.

1.1.1 - 2021-11-24

  • Add actions imports commands.
  • Add actions push task-steps command.
  • Add parameters push command to show push action task-steps for parameters.
  • Improve feedback when encounter parsing error.
  • Avoid issues with audit-logs not knowing about new object types.
  • Improve schema commands:
    • Avoid issues with display changing every time.
    • Added diff command to compare local and server differences.
  • Improve behavior when server reports a service account without a user.
  • Properly handle pagination for many list commands, and make pagination configurable.

1.1.0 - 2021-11-12

  • BREAKING CHANGE:
    • Moved integrations pushes commands to actions pushes.
      • Made integration-name optional (using --integration|-i <name>) for most pushes commands.
  • Internal changes to improve testing.

1.0.13 - 2021-11-05

  • Added several integrations commands:
    • Added refresh to trigger update of an integration connection status.
    • Added get to get detailed information about an integration.
    • Added pushes <set|delete|list|get|sync|tasks> commands to manage push actions.
  • Added schema command to get the latest schema from the server, or local CLI version.
  • Added --user, --before, and --after filters to audit-logs list.
  • Fixed issue with templates history --as-of using tags.
  • Show values for items when a --format <table|csv|json|yaml> is specified.

1.0.12 - 2021-10-26

  • Added parent project support:
    • Added projects set --parent argument to set/update a project parent.
    • Added parent name to the project list --values display.
    • Added projects tree to show dependencies between projects.
    • Added parameters list --parents to display parameters defined in a parent project.
    • Added parameters list --children to display parameters defined in a descendant project.
  • Added username and role information to config current.
  • Added validation checks/options after config edit.
  • Added username to template history output.
  • Added users commands to manage user accounts and invitations.
  • Added audit-logs commands to view audit log information.
  • Improved performance for several templates commands (e.g. get, diff, validate).

1.0.11 - 2021-10-13

  • Added support for evaluated parameters:
    • Added parameter set --evaluate to enable parameters referencing templates or parameters.
    • Added parameter list --evaluated to see both evaluated and unevaluated parameter values.
  • Added template difference command to compare template versions and environments.
  • Added --rename option to environment tag set.

1.0.10 - 2021-10-01

  • Added --as-of to templates get for raw or evaluated template at specified date/time (or tag).
  • Changes to configuration profile set:
    • Fixed issue with reporting wrong action.
    • Added ability to set a source-profile using --source.
  • Improved error handling to provide more understandable information.
  • Updated several help strings.

1.0.9 - 2021-09-24

  • Enhanced parameters set to allow parameter creation without a value for any environment.
  • Added template validate to check if an existing template still evaluates properly.
  • Fixed parameters environment --as-of issue when using a tag name.
  • Added configuration profile commands to avoid need to modify configuration file with editor.
    • Moved configuration list functionality into configuration profile list.
  • Improved handling for many error responses to provide more understandable information.

1.0.8 - 2021-09-22

  • Added environments tag command with the following sub-commands:
    • list - display tags for a specific environment.
    • set - create/update environment tag properties.
    • delete - delete environment tag.
  • Added --show-times to list for integrations, projects, and environments.
  • Changed parameter properties dynamic to external, and static to internal.
  • Added Centos-8 RPM support.
  • Improved debugging for failed tests.

1.0.7 - 2021-09-10

  • Improved templates commands:
    • Added history command.
    • Better error feedback when get or preview fail due to external parameters.
    • Added --as-of argument to preview.
    • Added --show-times flag to list.
  • Added --as-of argument to parameter export.
  • Support additional date formats in --as-of arguments (e.g. mm/dd/YYYY, mm-dd-YYYY).
  • Improved integration tests to use environment variables.

1.0.6 - 2021-09-07

  • Updated parameters set with type and rule arguments:
    • Added --type <string|integer|bool> for parameter type.
    • Added --max, --min, --max-len, --min-len, --regex to set the rules, and a no version of each (e.g. --no-min-len) to delete the rules.
  • Updated parameters list with type and rule information:
    • Added "Param Type" and "Rules" (count) to the --values output.
    • Added --rules view of existing rules.

1.0.5 - 2021-08-30

  • Allow retrieving unevaluated template text using template get --raw.
  • Add login and logout commands for API key management.
  • Added --show-times flag to display created-at and modified-at values parameters list and environment commands.
  • Allow retrieving parameter information at the specified --as-of value for:
    • parameters list
    • parameters get
    • parameters environment
    • run
  • Updated parameter difference command:
    • Added properties to include created-at and modified-at.
    • Change arguments to allow environment and/or time-based (using --as-of) differences.
  • Display complete parameter information with --details flag in parameter get command.

1.0.4 - 2021-08-13

  • Added template edit for easier template modification.
  • Added environment tree to display environment inheritance.
  • Added parameter environment to display values of a single parameter in all environments.
  • Require user to confirm a parameter delete using the --yes flag or a prompt.
  • Performance improvement for parameter get.
  • Upgrade to Rust 1.54.

1.0.3 - 2021-08-06

  • Added parameters difference command to compare parameters between two different environments.
  • Performance improvements:
    • Reduce the number of instances where secrets are retrieved.
    • Get parameter details using retrieve (by identifier), instead of a filtered list.
    • Added REST profiling prints when CLOUDTRUTH_REST_DEBUG is true.
  • Improved feedback for errors retrieving dynamic parameters.
  • Use standard cookie handling.

1.0.2 - 2021-07-30

  • Improved aliases (e.g. list now accepts ls or l).
  • Templates: added set, delete, and preview commands.
  • Fixed issue with multiple parameters with no value -- only some values shown in parameters list.
  • Fixed a couple issues with templates get:
    • Improved feedback when there are no templates found.
    • No longer show secrets without --secrets specified.
  • When fail to add a value for a new parameter, the parameter is now removed.

1.0.1 - 2021-07-28

  • Pickup latest OpenAPI changes.
  • Add HTTP Cookie header sent from the first response in subsequent requests.
  • Remove generated client docs from repository.
  • Restore GiHub CI testing.
  • Removed RPM builds due to infrastructure failures.

1.0.0 - 2021-07-20

  • Update to use REST API server (replaces GraphQL).
  • Added parameters unset to support removing override for a specific environment.
  • Integrations:
    • Simplified explore interface -- use FQN instead of NAME/PATH/[TYPE]
    • Adjusted information displayed for list -v -- show Status (and update time), remove Type
  • Config:
    • edit displays edited file path.
    • Added current to display current configuration with sources.
  • Added --rename option for set subcommand of parameters, projects, and environments.
  • Deprecated support for setting API key via CT_API_KEY (use CLOUDTRUTH_API_KEY).

0.5.4 - 2021-06-15

  • Fix display issue for no parameters in default project.
  • Allow configuration file to be edited, even when it is invalid YAML.
  • Improved error message when attempting to delete a parameter that does not exist.
  • Allow request_timeout to be set in profile or environment variable.
  • Improved integration tests with timeouts and server_url settings.
  • Add wrap()/unwrap() functions to secure secrets (tested but not used).
  • Initial work for REST interface to CTAAS.

0.5.3 - 2021-05-27

  • Parameters: added --dynamic flag to parameter list --values view FQN/JMES path values.
  • Added yaml and json table formatting options to tables.
  • Fixed issue with Windows pre-release GitHub action.
  • Upgrade to Rust compiler 1.52.1.
  • Added make integration target to facilitate easier integration testing.

0.5.2 - 2021-05-20

  • Important changes:
    • Templates: must use --secrets or -s to display secret values.
    • Parameters:
      • list --values display has new Type and Secret columns.
      • export filtering and sorts are now case-insensitive, secret parameters included in normal export with redacted value.
  • Prefer to use -y/--yes instead of --confirm to avoid confirmation prompts.
  • Integrations: new sub-command with list and explore.
  • Parameters: added --fqn and --jmes options to set references to dynamic values.

0.5.1 - 2021-05-10

  • Upload install.sh, install.ps1, and CHANGELOG.md as release assets.
  • Enhance install.sh to be more tolerant of non-standard release tags.
  • Improve error checking on release tag names.
  • Improve pre-commit checks for Rust version, and CLI command changes.

0.5.0 - 2021-05-07

  • Breaking changes:
    • Parameters: set must use --secret instead of --secrets.
    • Environments: set will error out if trying to change the parent (not just warn and succeed).
  • Added installer scripts for Posix shells, and Windows PowerShell.
  • Can use CLOUDTRUTH_PROFILE to set the configuration profile, in addition to --profile option.
  • Projects: sub-command can also be accessed with project.
  • Parameters: list uses consistent message for empty parameter list.
  • Moved development information out of README.md and into DEVELOPMENT.md.
  • Changed release process to test installer scripts.
  • Changed CI process to run the integration tests (using tests/pytest/live_test.py).
  • Updated to Rust version 1.52.0.

0.4.1 - 2021-04-30

  • Bug fix: use the --env <env> argument.

0.4.0 - 2021-04-28

  • Breaking changes:
    • Moved templates getit functionality to parameters export.
  • Arguments --project <proj> and --env <env> can also be set using configuration profile, or environment variable (e.g. CLOUDTRUTH_PROJECT, CLOUDTRUTH_ENVIRONMENT).
  • Config: enhanced list with --values, --format, and --secrets options
  • Environments: added set and delete
  • Parameters: added export
  • Projects: added set and delete

0.3.0 - 2021-04-16

  • Breaking changes:
    • The --profile option no longer supports the short (-p) version to avoid confusion with the newly supported --project option.
    • Parameters: set must provide --value, --prompt, or --input option to set the value.
  • Added --project option to specify a non-default project
  • Environments: enhanced list with --values and --format options
  • Projects: added list
  • Parameters:
    • Added delete
    • Enhanced set to allow setting description and secret properties, along with options to enter a value without showing on screen.
  • Templates: enhanced list with --values and --format options
  • Added RPM packages.

0.2.0 - 2021-04-06

  • Use CLOUDTRUTH_API_KEY instead of CT_API_KEY to set API key in the environment.
  • Templates: getit command to render implicit templates of all parameters for different environments
  • Parameters: enhanced list command with --values flag and --format option to display parameter information and values.
  • Run: breaking changes to replace --preserve flag with --inherit option for more control.

0.1.3 - 2021-03-25

  • Added run option to run a command from an environment with parameters injected from the CloudTruth CLI.

0.1.2 - 2021-02-24

  • Added a new dependency on the ca-certificates package for our Debian installer in order to handle SSL certificates issued by Amazon's CA.
  • Improved error messages when operations fail due to access restrictions on the API key.
  • Improved error messages for data validation issues.

0.1.1 - 2021-01-20

  • Synchronized with the latest CloudTruth API
  • Replaced separate parameter creation and update calls with new upsert operation to avoid race conditions in CloudTruth parameter store

0.1.0 - 2020-11-30

The first release of the CloudTruth CLI tool, being made available for:

  • Linux (x86_64) (tarball & deb packages)
  • Linux (ARMv6) (tarball & deb packages)
  • Linux (AArch64) (tarball & deb packages)
  • macOS (x86_64)
  • Windows (x86_64)

This release includes the following functionality:

  • Environments: list
  • Parameters: list, get, and create/update
  • Templates: list and evaluate
  • Multi-profile configuration to support different API keys
  • Shell file completion scripts