Skip to content

Commit 7317290

Browse files
committed
Added changelog for v0.47.0
1 parent c1a4d4f commit 7317290

File tree

1 file changed

+109
-61
lines changed

1 file changed

+109
-61
lines changed

changelog.md

Lines changed: 109 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and 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.
711759
In 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

Comments
 (0)