@@ -6,14 +6,49 @@ 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.48.0
10+
11+ ### Added
12+
13+ - Added ` --ts=dynamic ` parameter to ` state install ` and ` state import ` in order to use dynamic imports, allowing users
14+ to fetch and install
15+ packages not yet present in the ActiveState catalog.
16+ - Added ` state config set security.reporting <true|false> ` config to disable CVE reporting.
17+ - Added ` --language ` and ` --namespace ` flags to ` state import ` , allowing users to specify the language and namespace of
18+ packages to import, improving flexibility for multi-language projects.
19+ - Added ` --ts ` flag to ` state commit ` , allowing users to use preset timestamps for commit creation.
20+ - Added ` state commit --skip-validation ` flag, allowing users to commit buildscripts that do not necessarily resolve
21+ all dependencies.
22+ - Added new configuration options for customizing which endpoints State Tool uses.
23+
24+ ### Changed
25+
26+ - Artifacts are retained in Cache even when they are not currently being used, to improve performance and reduce
27+ network traffic. This is still limited by the cache size.
28+ - State Tool now defaults to ` zsh ` shell on macOS, as it is the default shell on modern macOS systems.
29+ - Removed ` state init ` language inference, requiring users to always explicitly specify the --language argument. This
30+ was done because the automatic language inference was too magical / error-prone.
31+ - Namespaces provided to commands (eg. ` state install <namespace>/<package> ` ) now support the ` <namespace>:<package> `
32+ syntax, enabling
33+ users to specify namespace and package name when the package name itself contains a slash.
34+
35+ ### Fixed
36+
37+ - Fixed issue where uninstall of a package could fail due to recoverable caching errors.
38+
39+ ### Security
40+
41+ - Addressed all but one CVE. The remaining CVE is not exploitable on State Tool and will be addressed in a future
42+ release.
43+
944## 0.47.1
1045
1146### Added
1247
1348- Added a new ` --portable ` flag to ` state checkout ` which will install the runtime files without the use of external
1449 symlinks. Allowing for the runtime files to be manually moved to another location.
15- - Note that depending on how the runtime was created you may still run into issues doing this. It's best to avoid
16- such scenarios altogether and rely on the State Tool instead.
50+ - Note that depending on how the runtime was created you may still run into issues doing this. It's best to avoid
51+ such scenarios altogether and rely on the State Tool instead.
1752
1853### Fixed
1954
@@ -30,8 +65,8 @@ and this project adheres to
3065- Added the ability to disable the runtime from setting environment variables with the ` ACTIVESTATE_CLI_IGNORE_ENV `
3166 environment variable. For example to disable runtimes from setting the PYTHONPATH you would set
3267 ` ACTIVESTATE_CLI_IGNORE_ENV=PYTHONPATH ` .
33- - Note this means you as a user take ownership of this environment variable, and if done inappropriately can lead to
34- breakages.
68+ - Note this means you as a user take ownership of this environment variable, and if done inappropriately can lead to
69+ breakages.
3570
3671### Changed
3772
@@ -45,15 +80,15 @@ and this project adheres to
4580- Buildscripts now contain project and time information in a meta section at the to of the buildscript file.
4681- We no longer modify the shell's PS1 when running ` state activate ` or ` state shell ` . We do still print a message when
4782 entering the shell indicating that you are un a State Tool subshell.
48- - We would like to revisit this through shell plugins. The old PS1 modifications were simply too error-prone
49- considering the wide variety of complex PS1 modifications users have.
83+ - We would like to revisit this through shell plugins. The old PS1 modifications were simply too error-prone
84+ considering the wide variety of complex PS1 modifications users have.
5085- The UI for Package operations (add, remove, upgrade) has been streamlined.
5186
5287### Fixed
5388
5489- Fixed issue where State Tool would launch the wrong shell due to over-reliance on the SHELL environment variable.
5590 Shell detection is now based on the parent processes, but will still fall back to the environment variable.
56- - Most notably this fixes being dropped into PowerShell when running the install one-liner from CMD on Windows.
91+ - Most notably this fixes being dropped into PowerShell when running the install one-liner from CMD on Windows.
5792- Fixed issue where ` state config set ` would let users set values that were not valid.
5893- Fixed issue where change and CVE summaries would sometimes report on the wrong package or language name.
5994- Fixed issue where ` state artifacts ` would report build failures when there were no build failures. This only happened
@@ -91,7 +126,7 @@ and this project adheres to
91126
92127* Runtime installations will now use a central artifact depot, and will use symlinks on mac/linux and hardlinks on
93128 windows to deploy them for your various runtime. Reducing disk usage, and increasing installation speeds.
94- * We may still copy instead of link artifacts if the artifact in question requires runtime specific modifications.
129+ * We may still copy instead of link artifacts if the artifact in question requires runtime specific modifications.
95130* Streamlined the UI for sourcing runtimes, it should now be consistent across commands.
96131* We now also show dependency information when updating requirements.
97132* When running ` state export log ` with the ` -i ` (index) flag we no longer consider logs for the current command.
@@ -108,25 +143,25 @@ and this project adheres to
108143* Progress indication when solving and creating a commit (eg. when running ` state install ` ) would sometimes overlap.
109144* Made several improvements to dependency calculations, which should give user a more accurate picture of what
110145 dependencies were brought in by a given change.
111- * This only affects UI/UX. It does not imply any build or runtime functionality.
146+ * This only affects UI/UX. It does not imply any build or runtime functionality.
112147* Many localization and error message improvements and additions to help guide users to solutions.
113148
114149## 0.45.1
115150
116151### Fixed
117152
118153* Fixed issue where installation on Windows would fail with a message from powershell saying script running is disabled.
119- * Context: We use a powershell script to create start menu shortcuts for the State Tool, as there are no solutions
120- in Golang to do this through system APIs.
154+ * Context: We use a powershell script to create start menu shortcuts for the State Tool, as there are no solutions
155+ in Golang to do this through system APIs.
121156
122157## 0.45.0
123158
124159### Added
125160
126161* On Linux we will now automatically detect the most appropriate platform based on the system glibc version.
127- * This only applies if your project has multiple linux platforms defined.
128- * If you were using the `runtime.preferred.glibc` config option it will still be respected, but you likely won't
129- need it anymore.
162+ * This only applies if your project has multiple linux platforms defined.
163+ * If you were using the ` runtime.preferred.glibc ` config option it will still be respected, but you likely won't
164+ need it anymore.
130165* We now show failed builds when running ` state artifacts ` . You can still instrument the artifacts that did not fail.
131166
132167### Changed
@@ -141,12 +176,12 @@ and this project adheres to
141176* We will now inform you there is nothing new to commit when running ` state commit ` with no changes to commit.
142177* The ` LOCAL ` and ` REMOTE ` targets for ` state reset ` are now case-insensitive.
143178* You can now ` state checkout ` a project without a language defined in its configuration.
144- * Note making changes to such a project in the State Tool is not yet fully supported.
179+ * Note making changes to such a project in the State Tool is not yet fully supported.
145180* When the State Tool encounters an unexpected internal we now relay this internal error to the user. Previously you
146181 only received a generic "execute failed" error, which is far less helpful than an internal error.
147182* Running ` state pull ` will now fail if the configured commit does not belong to the configured project.
148- * This is a corrupted state that the user can encounter by manually editing their activestate.yaml (eg. by resolving
149- a git conflict).
183+ * This is a corrupted state that the user can encounter by manually editing their activestate.yaml (eg. by resolving
184+ a git conflict).
150185
151186### Fixed
152187
@@ -207,8 +242,8 @@ and this project adheres to
207242 activestate.yaml. Do not edit or delete this or you may run into issues.
208243* Buildscripts are no longer automatically created when opted in. Instead you need to run ` state reset LOCAL ` in order
209244 to first create the buildscript. You only need to do this once, after it exists it will be updated as needed.
210- * This is merely a growing pain while this feature is optin only. Once buildscripts ship as stable you will not need
211- to do this.
245+ * This is merely a growing pain while this feature is optin only. Once buildscripts ship as stable you will not need
246+ to do this.
212247* CVE information provided when running ` state install ` is now recursive, meaning we show CVE information for the
213248 requested package as well as all its dependencies.
214249* ` state init ` now automatically assumes wildcards when a partial version is specified.
@@ -258,9 +293,9 @@ and this project adheres to
258293
259294* ` state refresh ` has been marked stable.
260295* ` state checkout ` will now revert any changes made to the filesystem if the runtime fails to source.
261- * You can now specify the `--force` flag in order for it to always checkout the project even if it cannot be
262- installed.
263- Allowing you to work on the project via the CLI and fix the underlying issue.
296+ * You can now specify the ` --force ` flag in order for it to always checkout the project even if it cannot be
297+ installed.
298+ Allowing you to work on the project via the CLI and fix the underlying issue.
264299* ` state import ` no longer overwrites your project with the imported requirements. Instead the requirements are
265300 appended.
266301* ` state platforms search ` will no longer show platforms that are unsupported.
@@ -499,18 +534,18 @@ and this project adheres to
499534 output that isn't actually curated for machine consumption. As a result you
500535 may now get an error saying a given command does not support JSON, but ones
501536 that do now generally give far more useful JSON output.
502- - Commands that support JSON
503- output: `auth`, `branch`, `bundles install`, `bundles search`,
504- `bundles uninstall`, `checkout`, `config get`, `config set`, `cve`,
505- `cve report`, `events`, `export config`, `export env`, `export jwt`,
506- `export new-api-key`, `export private-key`, `export recipe`, `fork`,
507- `history`, `info`, `init`, `install`, `languages`, `organizations`,
508- `packages`, `platforms`, `platforms search`, `projects`,
509- `projects remote`, `pull`, `reset`, `revert`, `scripts`, `search`,
510- `secrets`, `secrets get`, `show`, `switch`, `uninstall`, `update lock`,
511- `use`, `use show`.
512- - Note that the format of the JSON output itself should be considered
513- *unstable* at this time (ie. subject to change).
537+ - Commands that support JSON
538+ output: ` auth ` , ` branch ` , ` bundles install ` , ` bundles search ` ,
539+ ` bundles uninstall ` , ` checkout ` , ` config get ` , ` config set ` , ` cve ` ,
540+ ` cve report ` , ` events ` , ` export config ` , ` export env ` , ` export jwt ` ,
541+ ` export new-api-key ` , ` export private-key ` , ` export recipe ` , ` fork ` ,
542+ ` history ` , ` info ` , ` init ` , ` install ` , ` languages ` , ` organizations ` ,
543+ ` packages ` , ` platforms ` , ` platforms search ` , ` projects ` ,
544+ ` projects remote ` , ` pull ` , ` reset ` , ` revert ` , ` scripts ` , ` search ` ,
545+ ` secrets ` , ` secrets get ` , ` show ` , ` switch ` , ` uninstall ` , ` update lock ` ,
546+ ` use ` , ` use show ` .
547+ - Note that the format of the JSON output itself should be considered
548+ * unstable* at this time (ie. subject to change).
514549- As a result of the revised JSON output we will no longer print NIL characters
515550 as delimiter between JSON objects. So you no longer need to account for these.
516551- Requirement names (eg. when running ` state install <pkg> ` or
@@ -588,12 +623,12 @@ and this project adheres to
588623- We have revisited the behavior of `state init` to be less error prone and more
589624 intuitive. Our goal is to stabilize this command by version 0.39.0.
590625 These changes include :
591- - Immediately creating the project on the platform, rather than waiting for
592- the user to run `state push`.
593- - Assume Python 3 rather than Python 2 when initializing a Python project
594- without specifying a version.
595- - Assume the most recently used language when no language is specified.
596- - Drop the `--skeleton` flag.
626+ - Immediately creating the project on the platform, rather than waiting for
627+ the user to run `state push`.
628+ - Assume Python 3 rather than Python 2 when initializing a Python project
629+ without specifying a version.
630+ - Assume the most recently used language when no language is specified.
631+ - Drop the `--skeleton` flag.
597632- Changed the sorting and grouping of `--help` output to be more intuitive.
598633- Made the `--help` output wrap on words rather than characters.
599634- Using secrets without having set up a keypair now gives a more informative
@@ -651,14 +686,14 @@ and this project adheres to
651686
652687- The following commands have been marked as stable, you no longer need to
653688 opt-in to unstable to use them :
654- - `state checkout`
655- - `state info`
656- - `state scripts`
657- - `state shell`
658- - `state switch`
659- - `state use reset`
660- - `state use show`
661- - `state use`
689+ - ` state checkout`
690+ - ` state info`
691+ - ` state scripts`
692+ - ` state shell`
693+ - ` state switch`
694+ - ` state use reset`
695+ - ` state use show`
696+ - ` state use`
662697- All titles/headings are now consistently formatted.
663698- Better use of whitespace in the error output.
664699- ` state clean uninstall` now only removes the application files. Use `--all` to
@@ -772,11 +807,11 @@ have more control over their workflow.
772807In short; we're introducing the following commands :
773808
774809- *checkout* - Checkout the given project and setup its runtime
775- - A checkout is required before you can use any of the following commands
810+ - A checkout is required before you can use any of the following commands
776811- *use* - Use the given project runtime as the default for your system
777- - *reset* - Reset your default project runtime (this also resets the project
778- configured via `state activate --default`)
779- - *show* - Show your default project runtime
812+ - *reset* - Reset your default project runtime (this also resets the project
813+ configured via `state activate --default`)
814+ - *show* - Show your default project runtime
780815- *shell* - Starts a shell/prompt for the given project runtime (equivalent of
781816 virtualenv)
782817- *switch* - Switch to a branch or commit
@@ -793,22 +828,22 @@ Note that `state activate` will still be available for the foreseeable future.
793828# ## Added
794829
795830- Added new environment management commands (see above for details)
796- - Added `state checkout` command.
797- - Added `state use` command.
798- - Added `state use reset` command.
799- - Added `state use show` command.
800- - Added `state shell` command.
801- - Added `state switch` command.
831+ - Added `state checkout` command.
832+ - Added `state use` command.
833+ - Added `state use reset` command.
834+ - Added `state use show` command.
835+ - Added `state shell` command.
836+ - Added `state switch` command.
802837- Added `state export env` command - Export the environment variables associated
803838 with your runtime.
804839- Added `state deploy uninstall` command for reverting a `state deploy`.
805840- Added `state update unlock` command, which undoes what `state update lock`
806841 does.
807842- Runtime artifacts are now cached, speeding up runtime setup and reducing
808843 network traffic.
809- - The cache is capped at 500mb. This can be overridden with
810- the `ACTIVESTATE_ARTIFACT_CACHE_SIZE_MB` environment variable (value is
811- MB's as an int).
844+ - The cache is capped at 500mb. This can be overridden with
845+ the `ACTIVESTATE_ARTIFACT_CACHE_SIZE_MB` environment variable (value is
846+ MB's as an int).
812847
813848# ## Changed
814849
@@ -835,7 +870,7 @@ Note that `state activate` will still be available for the foreseeable future.
835870- Fixed `state config set` accepting invalid values for booleans.
836871- Fixed `state exec` not respecting the `--path` flag.
837872- Fixed issue where PYTHONPATH would be set up with a temp directory on macOS.
838- - This still worked as expected in the end, but is obviously awkward.
873+ - This still worked as expected in the end, but is obviously awkward.
839874- Fixed panic when running `state secrets get` without a project.
840875- Fixed issue where `state learn` would give an unhelpful error when it could
841876 not reach the browser.
@@ -887,8 +922,8 @@ Note that `state activate` will still be available for the foreseeable future.
887922* The state-svc (our background daemon) has seen significant improvements to its
888923 start / stop behavior. Primarily intended to improve the reliability of our
889924 update process.
890- * As a result our minimum Windows version required to run the state tool is
891- now *Windows 10 Build 17134 (Codename Redstone 4)*.
925+ * As a result our minimum Windows version required to run the state tool is
926+ now *Windows 10 Build 17134 (Codename Redstone 4)*.
892927* The State tool will now error out when it can't communicate with the
893928 state-svc.
894929 Preventing the user from running into much more vague errors as a result of
@@ -933,14 +968,14 @@ Note that `state activate` will still be available for the foreseeable future.
933968* Authentication now uses your browser for a more secure and transparent
934969 authentication process.
935970
936- * The old behavior is still available as well, and use-cases where you
937- provide
938- the api key or credentials in the command are unaffected.
971+ * The old behavior is still available as well, and use-cases where you
972+ provide
973+ the api key or credentials in the command are unaffected.
939974
940975* Added a new `state config` command, which can be used to change behavior of
941976 the State Tool itself.
942977
943- * Currently can be used to disable analytics and error reporting, eg.
978+ * Currently can be used to disable analytics and error reporting, eg.
944979
945980 ` ` ` bash
946981 state config set report.analytics false # Turns off analytics
0 commit comments