@@ -6,6 +6,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66and this project adheres to
77[ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
88
9+ ## 0.47.0
10+
11+ ### Added
12+
13+ - Added a new ` state upgrade ` command, which will upgrade all unlocked dependencies on your project to the most
14+ appropriate version available.
15+ - We now list all configurable config keys when running ` state config ` , as well as their current value and whether it
16+ has been modified.
17+ - Added the ability to disable the runtime from setting environment variables with the ` ACTIVESTATE_CLI_IGNORE_ENV `
18+ environment variable. For example to disable runtimes from setting the PYTHONPATH you would set
19+ ` ACTIVESTATE_CLI_IGNORE_ENV=PYTHONPATH ` .
20+ - Note this means you as a user take ownership of this environment variable, and if done inappropriately can lead to
21+ breakages.
22+
23+ ### Changed
24+
25+ - The ` state commit ` command no longer waits for the build to start and returns immediately after the commit has been
26+ created.
27+ - We now cache commit and build information client-side, making for faster command executions.
28+ - Improved error message on Windows when a runtime change failed due the runtime currently being in use.
29+ - When reporting dependencies the ordering of those dependencies will now be consistent.
30+ - ` state export log ` is now a stable command.
31+ - Improved various error messages to be more user-friendly.
32+ - Buildscripts now contain project and time information in a meta section at the to of the buildscript file.
33+ - We no longer modify the shell's PS1 when running ` state activate ` or ` state shell ` . We do still print a message when
34+ entering the shell indicating that you are un a State Tool subshell.
35+ - We would like to revisit this through shell plugins. The old PS1 modifications were simply too error-prone
36+ considering the wide variety of complex PS1 modifications users have.
37+ - The UI for Package operations (add, remove, upgrade) has been streamlined.
38+
39+ ### Fixed
40+
41+ - Fixed issue where State Tool would launch the wrong shell due to over-reliance on the SHELL environment variable.
42+ Shell detection is now based on the parent processes, but will still fall back to the environment variable.
43+ - Most notably this fixes being dropped into PowerShell when running the install one-liner from CMD on Windows.
44+ - Fixed issue where ` state config set ` would let users set values that were not valid.
45+ - Fixed issue where change and CVE summaries would sometimes report on the wrong package or language name.
46+ - Fixed issue where ` state artifacts ` would report build failures when there were no build failures. This only happened
47+ when the build was still in progress.
48+ - Fixed runtime deployment error encountered when a runtime has a symlink that recursed onto itself.
49+ - Fixed issue where buildscripts would fail to parse if the solve node was not top level.
50+
51+ ### Security
52+
53+ - Addressed several CVEs, none of which posed an active threat.
54+
55+ ### Added
56+
957## 0.46.1
1058
1159### Fixed
@@ -30,7 +78,7 @@ and this project adheres to
3078
3179* Runtime installations will now use a central artifact depot, and will use symlinks on mac/linux and hardlinks on
3280 windows to deploy them for your various runtime. Reducing disk usage, and increasing installation speeds.
33- * We may still copy instead of link artifacts if the artifact in question requires runtime specific modifications.
81+ * We may still copy instead of link artifacts if the artifact in question requires runtime specific modifications.
3482* Streamlined the UI for sourcing runtimes, it should now be consistent across commands.
3583* We now also show dependency information when updating requirements.
3684* When running ` state export log ` with the ` -i ` (index) flag we no longer consider logs for the current command.
@@ -47,25 +95,25 @@ and this project adheres to
4795* Progress indication when solving and creating a commit (eg. when running ` state install ` ) would sometimes overlap.
4896* Made several improvements to dependency calculations, which should give user a more accurate picture of what
4997 dependencies were brought in by a given change.
50- * This only affects UI/UX. It does not imply any build or runtime functionality.
98+ * This only affects UI/UX. It does not imply any build or runtime functionality.
5199* Many localization and error message improvements and additions to help guide users to solutions.
52100
53101## 0.45.1
54102
55103### Fixed
56104
57105* Fixed issue where installation on Windows would fail with a message from powershell saying script running is disabled.
58- * Context: We use a powershell script to create start menu shortcuts for the State Tool, as there are no solutions
59- in Golang to do this through system APIs.
106+ * Context: We use a powershell script to create start menu shortcuts for the State Tool, as there are no solutions
107+ in Golang to do this through system APIs.
60108
61109## 0.45.0
62110
63111### Added
64112
65113* On Linux we will now automatically detect the most appropriate platform based on the system glibc version.
66- * This only applies if your project has multiple linux platforms defined.
67- * If you were using the ` runtime.preferred.glibc ` config option it will still be respected, but you likely won't
68- need it anymore.
114+ * This only applies if your project has multiple linux platforms defined.
115+ * If you were using the `runtime.preferred.glibc` config option it will still be respected, but you likely won't
116+ need it anymore.
69117* We now show failed builds when running ` state artifacts ` . You can still instrument the artifacts that did not fail.
70118
71119### Changed
@@ -80,12 +128,12 @@ and this project adheres to
80128* We will now inform you there is nothing new to commit when running ` state commit ` with no changes to commit.
81129* The ` LOCAL ` and ` REMOTE ` targets for ` state reset ` are now case-insensitive.
82130* You can now ` state checkout ` a project without a language defined in its configuration.
83- * Note making changes to such a project in the State Tool is not yet fully supported.
131+ * Note making changes to such a project in the State Tool is not yet fully supported.
84132* When the State Tool encounters an unexpected internal we now relay this internal error to the user. Previously you
85133 only received a generic "execute failed" error, which is far less helpful than an internal error.
86134* Running ` state pull ` will now fail if the configured commit does not belong to the configured project.
87- * This is a corrupted state that the user can encounter by manually editing their activestate.yaml (eg. by resolving
88- a git conflict).
135+ * This is a corrupted state that the user can encounter by manually editing their activestate.yaml (eg. by resolving
136+ a git conflict).
89137
90138### Fixed
91139
@@ -146,8 +194,8 @@ and this project adheres to
146194 activestate.yaml. Do not edit or delete this or you may run into issues.
147195* Buildscripts are no longer automatically created when opted in. Instead you need to run ` state reset LOCAL ` in order
148196 to first create the buildscript. You only need to do this once, after it exists it will be updated as needed.
149- * This is merely a growing pain while this feature is optin only. Once buildscripts ship as stable you will not need
150- to do this.
197+ * This is merely a growing pain while this feature is optin only. Once buildscripts ship as stable you will not need
198+ to do this.
151199* CVE information provided when running ` state install ` is now recursive, meaning we show CVE information for the
152200 requested package as well as all its dependencies.
153201* ` state init ` now automatically assumes wildcards when a partial version is specified.
@@ -197,9 +245,9 @@ and this project adheres to
197245
198246* ` state refresh ` has been marked stable.
199247* ` state checkout ` will now revert any changes made to the filesystem if the runtime fails to source.
200- * You can now specify the ` --force ` flag in order for it to always checkout the project even if it cannot be
201- installed.
202- Allowing you to work on the project via the CLI and fix the underlying issue.
248+ * You can now specify the `--force` flag in order for it to always checkout the project even if it cannot be
249+ installed.
250+ Allowing you to work on the project via the CLI and fix the underlying issue.
203251* ` state import ` no longer overwrites your project with the imported requirements. Instead the requirements are
204252 appended.
205253* ` state platforms search ` will no longer show platforms that are unsupported.
@@ -438,18 +486,18 @@ and this project adheres to
438486 output that isn't actually curated for machine consumption. As a result you
439487 may now get an error saying a given command does not support JSON, but ones
440488 that do now generally give far more useful JSON output.
441- - Commands that support JSON
442- output: ` auth ` , ` branch ` , ` bundles install ` , ` bundles search ` ,
443- ` bundles uninstall ` , ` checkout ` , ` config get ` , ` config set ` , ` cve ` ,
444- ` cve report ` , ` events ` , ` export config ` , ` export env ` , ` export jwt ` ,
445- ` export new-api-key ` , ` export private-key ` , ` export recipe ` , ` fork ` ,
446- ` history ` , ` info ` , ` init ` , ` install ` , ` languages ` , ` organizations ` ,
447- ` packages ` , ` platforms ` , ` platforms search ` , ` projects ` ,
448- ` projects remote ` , ` pull ` , ` reset ` , ` revert ` , ` scripts ` , ` search ` ,
449- ` secrets ` , ` secrets get ` , ` show ` , ` switch ` , ` uninstall ` , ` update lock ` ,
450- ` use ` , ` use show ` .
451- - Note that the format of the JSON output itself should be considered
452- * unstable* at this time (ie. subject to change).
489+ - Commands that support JSON
490+ output: `auth`, `branch`, `bundles install`, `bundles search`,
491+ `bundles uninstall`, `checkout`, `config get`, `config set`, `cve`,
492+ `cve report`, `events`, `export config`, `export env`, `export jwt`,
493+ `export new-api-key`, `export private-key`, `export recipe`, `fork`,
494+ `history`, `info`, `init`, `install`, `languages`, `organizations`,
495+ `packages`, `platforms`, `platforms search`, `projects`,
496+ `projects remote`, `pull`, `reset`, `revert`, `scripts`, `search`,
497+ `secrets`, `secrets get`, `show`, `switch`, `uninstall`, `update lock`,
498+ `use`, `use show`.
499+ - Note that the format of the JSON output itself should be considered
500+ *unstable* at this time (ie. subject to change).
453501- As a result of the revised JSON output we will no longer print NIL characters
454502 as delimiter between JSON objects. So you no longer need to account for these.
455503- Requirement names (eg. when running ` state install <pkg> ` or
@@ -527,12 +575,12 @@ and this project adheres to
527575- We have revisited the behavior of `state init` to be less error prone and more
528576 intuitive. Our goal is to stabilize this command by version 0.39.0.
529577 These changes include :
530- - Immediately creating the project on the platform, rather than waiting for
531- the user to run `state push`.
532- - Assume Python 3 rather than Python 2 when initializing a Python project
533- without specifying a version.
534- - Assume the most recently used language when no language is specified.
535- - Drop the `--skeleton` flag.
578+ - Immediately creating the project on the platform, rather than waiting for
579+ the user to run `state push`.
580+ - Assume Python 3 rather than Python 2 when initializing a Python project
581+ without specifying a version.
582+ - Assume the most recently used language when no language is specified.
583+ - Drop the `--skeleton` flag.
536584- Changed the sorting and grouping of `--help` output to be more intuitive.
537585- Made the `--help` output wrap on words rather than characters.
538586- Using secrets without having set up a keypair now gives a more informative
@@ -590,14 +638,14 @@ and this project adheres to
590638
591639- The following commands have been marked as stable, you no longer need to
592640 opt-in to unstable to use them :
593- - ` state checkout`
594- - ` state info`
595- - ` state scripts`
596- - ` state shell`
597- - ` state switch`
598- - ` state use reset`
599- - ` state use show`
600- - ` state use`
641+ - `state checkout`
642+ - `state info`
643+ - `state scripts`
644+ - `state shell`
645+ - `state switch`
646+ - `state use reset`
647+ - `state use show`
648+ - `state use`
601649- All titles/headings are now consistently formatted.
602650- Better use of whitespace in the error output.
603651- ` state clean uninstall` now only removes the application files. Use `--all` to
@@ -711,11 +759,11 @@ have more control over their workflow.
711759In short; we're introducing the following commands :
712760
713761- *checkout* - Checkout the given project and setup its runtime
714- - A checkout is required before you can use any of the following commands
762+ - A checkout is required before you can use any of the following commands
715763- *use* - Use the given project runtime as the default for your system
716- - *reset* - Reset your default project runtime (this also resets the project
717- configured via `state activate --default`)
718- - *show* - Show your default project runtime
764+ - *reset* - Reset your default project runtime (this also resets the project
765+ configured via `state activate --default`)
766+ - *show* - Show your default project runtime
719767- *shell* - Starts a shell/prompt for the given project runtime (equivalent of
720768 virtualenv)
721769- *switch* - Switch to a branch or commit
@@ -732,22 +780,22 @@ Note that `state activate` will still be available for the foreseeable future.
732780# ## Added
733781
734782- Added new environment management commands (see above for details)
735- - Added `state checkout` command.
736- - Added `state use` command.
737- - Added `state use reset` command.
738- - Added `state use show` command.
739- - Added `state shell` command.
740- - Added `state switch` command.
783+ - Added `state checkout` command.
784+ - Added `state use` command.
785+ - Added `state use reset` command.
786+ - Added `state use show` command.
787+ - Added `state shell` command.
788+ - Added `state switch` command.
741789- Added `state export env` command - Export the environment variables associated
742790 with your runtime.
743791- Added `state deploy uninstall` command for reverting a `state deploy`.
744792- Added `state update unlock` command, which undoes what `state update lock`
745793 does.
746794- Runtime artifacts are now cached, speeding up runtime setup and reducing
747795 network traffic.
748- - The cache is capped at 500mb. This can be overridden with
749- the `ACTIVESTATE_ARTIFACT_CACHE_SIZE_MB` environment variable (value is
750- MB's as an int).
796+ - The cache is capped at 500mb. This can be overridden with
797+ the `ACTIVESTATE_ARTIFACT_CACHE_SIZE_MB` environment variable (value is
798+ MB's as an int).
751799
752800# ## Changed
753801
@@ -774,7 +822,7 @@ Note that `state activate` will still be available for the foreseeable future.
774822- Fixed `state config set` accepting invalid values for booleans.
775823- Fixed `state exec` not respecting the `--path` flag.
776824- Fixed issue where PYTHONPATH would be set up with a temp directory on macOS.
777- - This still worked as expected in the end, but is obviously awkward.
825+ - This still worked as expected in the end, but is obviously awkward.
778826- Fixed panic when running `state secrets get` without a project.
779827- Fixed issue where `state learn` would give an unhelpful error when it could
780828 not reach the browser.
@@ -826,8 +874,8 @@ Note that `state activate` will still be available for the foreseeable future.
826874* The state-svc (our background daemon) has seen significant improvements to its
827875 start / stop behavior. Primarily intended to improve the reliability of our
828876 update process.
829- * As a result our minimum Windows version required to run the state tool is
830- now *Windows 10 Build 17134 (Codename Redstone 4)*.
877+ * As a result our minimum Windows version required to run the state tool is
878+ now *Windows 10 Build 17134 (Codename Redstone 4)*.
831879* The State tool will now error out when it can't communicate with the
832880 state-svc.
833881 Preventing the user from running into much more vague errors as a result of
@@ -872,14 +920,14 @@ Note that `state activate` will still be available for the foreseeable future.
872920* Authentication now uses your browser for a more secure and transparent
873921 authentication process.
874922
875- * The old behavior is still available as well, and use-cases where you
876- provide
877- the api key or credentials in the command are unaffected.
923+ * The old behavior is still available as well, and use-cases where you
924+ provide
925+ the api key or credentials in the command are unaffected.
878926
879927* Added a new `state config` command, which can be used to change behavior of
880928 the State Tool itself.
881929
882- * Currently can be used to disable analytics and error reporting, eg.
930+ * Currently can be used to disable analytics and error reporting, eg.
883931
884932 ` ` ` bash
885933 state config set report.analytics false # Turns off analytics
0 commit comments