Skip to content

Commit 20cdc35

Browse files
committed
Merge branch 'master' into version/0-48-0-RC1
# Conflicts: # changelog.md
2 parents 0b03fd3 + 9b91ac1 commit 20cdc35

File tree

2 files changed

+102
-69
lines changed

2 files changed

+102
-69
lines changed

changelog.md

Lines changed: 101 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,47 @@ and this project adheres to
88

99
## 0.48.0
1010

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+
1144
## 0.47.1
1245

1346
### Added
1447

1548
- Added a new `--portable` flag to `state checkout` which will install the runtime files without the use of external
1649
symlinks. Allowing for the runtime files to be manually moved to another location.
17-
- Note that depending on how the runtime was created you may still run into issues doing this. It's best to avoid
18-
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.
1952

2053
### Fixed
2154

@@ -32,8 +65,8 @@ and this project adheres to
3265
- Added the ability to disable the runtime from setting environment variables with the `ACTIVESTATE_CLI_IGNORE_ENV`
3366
environment variable. For example to disable runtimes from setting the PYTHONPATH you would set
3467
`ACTIVESTATE_CLI_IGNORE_ENV=PYTHONPATH`.
35-
- Note this means you as a user take ownership of this environment variable, and if done inappropriately can lead to
36-
breakages.
68+
- Note this means you as a user take ownership of this environment variable, and if done inappropriately can lead to
69+
breakages.
3770

3871
### Changed
3972

@@ -47,15 +80,15 @@ and this project adheres to
4780
- Buildscripts now contain project and time information in a meta section at the to of the buildscript file.
4881
- We no longer modify the shell's PS1 when running `state activate` or `state shell`. We do still print a message when
4982
entering the shell indicating that you are un a State Tool subshell.
50-
- We would like to revisit this through shell plugins. The old PS1 modifications were simply too error-prone
51-
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.
5285
- The UI for Package operations (add, remove, upgrade) has been streamlined.
5386

5487
### Fixed
5588

5689
- Fixed issue where State Tool would launch the wrong shell due to over-reliance on the SHELL environment variable.
5790
Shell detection is now based on the parent processes, but will still fall back to the environment variable.
58-
- 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.
5992
- Fixed issue where `state config set` would let users set values that were not valid.
6093
- Fixed issue where change and CVE summaries would sometimes report on the wrong package or language name.
6194
- Fixed issue where `state artifacts` would report build failures when there were no build failures. This only happened
@@ -93,7 +126,7 @@ and this project adheres to
93126

94127
* Runtime installations will now use a central artifact depot, and will use symlinks on mac/linux and hardlinks on
95128
windows to deploy them for your various runtime. Reducing disk usage, and increasing installation speeds.
96-
* 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.
97130
* Streamlined the UI for sourcing runtimes, it should now be consistent across commands.
98131
* We now also show dependency information when updating requirements.
99132
* When running `state export log` with the `-i` (index) flag we no longer consider logs for the current command.
@@ -110,25 +143,25 @@ and this project adheres to
110143
* Progress indication when solving and creating a commit (eg. when running `state install`) would sometimes overlap.
111144
* Made several improvements to dependency calculations, which should give user a more accurate picture of what
112145
dependencies were brought in by a given change.
113-
* 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.
114147
* Many localization and error message improvements and additions to help guide users to solutions.
115148

116149
## 0.45.1
117150

118151
### Fixed
119152

120153
* Fixed issue where installation on Windows would fail with a message from powershell saying script running is disabled.
121-
* Context: We use a powershell script to create start menu shortcuts for the State Tool, as there are no solutions
122-
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.
123156

124157
## 0.45.0
125158

126159
### Added
127160

128161
* On Linux we will now automatically detect the most appropriate platform based on the system glibc version.
129-
* This only applies if your project has multiple linux platforms defined.
130-
* If you were using the `runtime.preferred.glibc` config option it will still be respected, but you likely won't
131-
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.
132165
* We now show failed builds when running `state artifacts`. You can still instrument the artifacts that did not fail.
133166

134167
### Changed
@@ -143,12 +176,12 @@ and this project adheres to
143176
* We will now inform you there is nothing new to commit when running `state commit` with no changes to commit.
144177
* The `LOCAL` and `REMOTE` targets for `state reset` are now case-insensitive.
145178
* You can now `state checkout` a project without a language defined in its configuration.
146-
* 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.
147180
* When the State Tool encounters an unexpected internal we now relay this internal error to the user. Previously you
148181
only received a generic "execute failed" error, which is far less helpful than an internal error.
149182
* Running `state pull` will now fail if the configured commit does not belong to the configured project.
150-
* This is a corrupted state that the user can encounter by manually editing their activestate.yaml (eg. by resolving
151-
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).
152185

153186
### Fixed
154187

@@ -209,8 +242,8 @@ and this project adheres to
209242
activestate.yaml. Do not edit or delete this or you may run into issues.
210243
* Buildscripts are no longer automatically created when opted in. Instead you need to run `state reset LOCAL` in order
211244
to first create the buildscript. You only need to do this once, after it exists it will be updated as needed.
212-
* This is merely a growing pain while this feature is optin only. Once buildscripts ship as stable you will not need
213-
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.
214247
* CVE information provided when running `state install` is now recursive, meaning we show CVE information for the
215248
requested package as well as all its dependencies.
216249
* `state init` now automatically assumes wildcards when a partial version is specified.
@@ -260,9 +293,9 @@ and this project adheres to
260293

261294
* `state refresh` has been marked stable.
262295
* `state checkout` will now revert any changes made to the filesystem if the runtime fails to source.
263-
* You can now specify the `--force` flag in order for it to always checkout the project even if it cannot be
264-
installed.
265-
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.
266299
* `state import` no longer overwrites your project with the imported requirements. Instead the requirements are
267300
appended.
268301
* `state platforms search` will no longer show platforms that are unsupported.
@@ -501,18 +534,18 @@ and this project adheres to
501534
output that isn't actually curated for machine consumption. As a result you
502535
may now get an error saying a given command does not support JSON, but ones
503536
that do now generally give far more useful JSON output.
504-
- Commands that support JSON
505-
output: `auth`, `branch`, `bundles install`, `bundles search`,
506-
`bundles uninstall`, `checkout`, `config get`, `config set`, `cve`,
507-
`cve report`, `events`, `export config`, `export env`, `export jwt`,
508-
`export new-api-key`, `export private-key`, `export recipe`, `fork`,
509-
`history`, `info`, `init`, `install`, `languages`, `organizations`,
510-
`packages`, `platforms`, `platforms search`, `projects`,
511-
`projects remote`, `pull`, `reset`, `revert`, `scripts`, `search`,
512-
`secrets`, `secrets get`, `show`, `switch`, `uninstall`, `update lock`,
513-
`use`, `use show`.
514-
- Note that the format of the JSON output itself should be considered
515-
*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).
516549
- As a result of the revised JSON output we will no longer print NIL characters
517550
as delimiter between JSON objects. So you no longer need to account for these.
518551
- Requirement names (eg. when running `state install <pkg>` or
@@ -590,12 +623,12 @@ and this project adheres to
590623
- We have revisited the behavior of `state init` to be less error prone and more
591624
intuitive. Our goal is to stabilize this command by version 0.39.0.
592625
These changes include:
593-
- Immediately creating the project on the platform, rather than waiting for
594-
the user to run `state push`.
595-
- Assume Python 3 rather than Python 2 when initializing a Python project
596-
without specifying a version.
597-
- Assume the most recently used language when no language is specified.
598-
- 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.
599632
- Changed the sorting and grouping of `--help` output to be more intuitive.
600633
- Made the `--help` output wrap on words rather than characters.
601634
- Using secrets without having set up a keypair now gives a more informative
@@ -653,14 +686,14 @@ and this project adheres to
653686

654687
- The following commands have been marked as stable, you no longer need to
655688
opt-in to unstable to use them:
656-
- `state checkout`
657-
- `state info`
658-
- `state scripts`
659-
- `state shell`
660-
- `state switch`
661-
- `state use reset`
662-
- `state use show`
663-
- `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`
664697
- All titles/headings are now consistently formatted.
665698
- Better use of whitespace in the error output.
666699
- `state clean uninstall` now only removes the application files. Use `--all` to
@@ -774,11 +807,11 @@ have more control over their workflow.
774807
In short; we're introducing the following commands:
775808

776809
- *checkout* - Checkout the given project and setup its runtime
777-
- 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
778811
- *use* - Use the given project runtime as the default for your system
779-
- *reset* - Reset your default project runtime (this also resets the project
780-
configured via `state activate --default`)
781-
- *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
782815
- *shell* - Starts a shell/prompt for the given project runtime (equivalent of
783816
virtualenv)
784817
- *switch* - Switch to a branch or commit
@@ -795,22 +828,22 @@ Note that `state activate` will still be available for the foreseeable future.
795828
### Added
796829

797830
- Added new environment management commands (see above for details)
798-
- Added `state checkout` command.
799-
- Added `state use` command.
800-
- Added `state use reset` command.
801-
- Added `state use show` command.
802-
- Added `state shell` command.
803-
- 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.
804837
- Added `state export env` command - Export the environment variables associated
805838
with your runtime.
806839
- Added `state deploy uninstall` command for reverting a `state deploy`.
807840
- Added `state update unlock` command, which undoes what `state update lock`
808841
does.
809842
- Runtime artifacts are now cached, speeding up runtime setup and reducing
810843
network traffic.
811-
- The cache is capped at 500mb. This can be overridden with
812-
the `ACTIVESTATE_ARTIFACT_CACHE_SIZE_MB` environment variable (value is
813-
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).
814847

815848
### Changed
816849

@@ -837,7 +870,7 @@ Note that `state activate` will still be available for the foreseeable future.
837870
- Fixed `state config set` accepting invalid values for booleans.
838871
- Fixed `state exec` not respecting the `--path` flag.
839872
- Fixed issue where PYTHONPATH would be set up with a temp directory on macOS.
840-
- 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.
841874
- Fixed panic when running `state secrets get` without a project.
842875
- Fixed issue where `state learn` would give an unhelpful error when it could
843876
not reach the browser.
@@ -889,8 +922,8 @@ Note that `state activate` will still be available for the foreseeable future.
889922
* The state-svc (our background daemon) has seen significant improvements to its
890923
start / stop behavior. Primarily intended to improve the reliability of our
891924
update process.
892-
* As a result our minimum Windows version required to run the state tool is
893-
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)*.
894927
* The State tool will now error out when it can't communicate with the
895928
state-svc.
896929
Preventing the user from running into much more vague errors as a result of
@@ -935,14 +968,14 @@ Note that `state activate` will still be available for the foreseeable future.
935968
* Authentication now uses your browser for a more secure and transparent
936969
authentication process.
937970

938-
* The old behavior is still available as well, and use-cases where you
939-
provide
940-
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.
941974

942975
* Added a new `state config` command, which can be used to change behavior of
943976
the State Tool itself.
944977

945-
* Currently can be used to disable analytics and error reporting, eg.
978+
* Currently can be used to disable analytics and error reporting, eg.
946979

947980
```bash
948981
state config set report.analytics false # Turns off analytics

test/integration/publish_int_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func (suite *PublishIntegrationTestSuite) TestPublish() {
136136
},
137137
expect{
138138
[]string{},
139-
"Expected file extension to be either",
139+
"Expected file extension:",
140140
true,
141141
1,
142142
true,

0 commit comments

Comments
 (0)