Releases: kubukoz/smithy-playground
v0.6.0
Huge and long-awaited release!
Multi-query files in #126
SmithyQL files can now include multiple queries. Multiple use clauses are also allowed. When running a file, if one of the queries fails the rest will not be attempted.
Other changes
- Improve consistency of the formatted in #126
- Improve completions of structs/union members
- Improve completions for queries
- Sort use clauses when formatting by @kubukoz in #168
- (completions) Skip operation input if it already exists by @kubukoz in #170
- Require whitespace around keywords by @kubukoz in #172
- Fix race condition causing server to hang by @kubukoz in #173
- Remove redundant supervisor by @kubukoz in #175
- Update readme for multi-query files by @kubukoz in #176
- Update smithy4s-aws-http4s, ... to 0.16.8 by @scala-steward in #143
- Update cats-effect to 3.4.1 by @scala-steward in #153
Full Changelog: v0.5.3...v0.6.0
v0.5.3 - plugin interface improvements
This release includes a change for plugin authors: it makes the plugin interface more flexible, in which you don't necessarily need to use SimpleProtocolBuilder
to implement your client. Only a specific shape of client methods is necessary ((service, http4s client) => smithy4s alg
), so it should be possible to implement even if you don't inherit from the built-in builder type.
The old plugin interface is now deprecated and shall be removed in 0.6.0.
What's Changed
- Server integration tests, support workspace directory by @kubukoz in #128
- Update smithy4s-aws-http4s, ... to 0.16.7 by @scala-steward in #131
- Update sbt-ci-release to 1.5.11 by @scala-steward in #132
- Update sbt, sbt-dependency-tree to 1.7.3 by @scala-steward in #135
- Update org.eclipse.lsp4j to 0.17.0 by @scala-steward in #134
- More flexible plugin interface by @kubukoz in #138
Full Changelog: v0.5.2...v0.5.3
v0.5.2
User-facing changes
Add "restart server" command in #118
Adds a new command in the client that allows restarting the server. Note: it doesn't take into account any workspace setting changes that are read by the client, such as the server version string or debug/tracing flags.
Available since the extension's 0.2.10 release.
Support colon field separators in #121
This changes the default key/value separator from =
to :
. For the foreseeable future, both will work, but the tooling will prefer :
and support for the =
syntax will eventually be removed.
Before:
After:
Unify experience for parse errors in #125
This slightly improves error reporting in cases where the code doesn't parse.
Before:
After:
Internal changes
- Update Scala to 2.13.10 by @kubukoz in #109
- Module split + start expanding parsing tests by @kubukoz in #101
- Extract formatting module by @kubukoz in #111
- Move to file-based parser tests by @kubukoz in #112
- Bump cachix/install-nix-action from 16 to 18 by @dependabot in #113
- Bump actions/checkout from 2.3.4 to 3.1.0 by @dependabot in #114
- Bump cachix/cachix-action from 10 to 11 by @dependabot in #115
- Bump actions/cache from 2 to 3.0.11 by @dependabot in #116
- Update extension dependencies, version by @kubukoz in #117
- Parser cleanup by @kubukoz in #119
- Fine-grained parser tests by @kubukoz in #123
- Compiler -> OperationCompiler, Runner -> OperationRunner by @kubukoz in #127
New Contributors
- @dependabot made their first contribution in #113
Full Changelog: v0.5.1...v0.5.2
v0.5.1
v0.5.0
This release brings support to Smithy4s 0.16.
As part of changes in the upstream project, some issues with mixins and apply
have been fixed, and the performance of (re)loading a workspace has vastly improved - this release has been tested against a codebase with over 250 operations and they load almost instantly.
What's Changed
- Update better-tostring to 0.3.17 by @scala-steward in #90
- Update smithy4s-aws-http4s, ... to 0.15.3 by @scala-steward in #91
- Use more Smithy 2 goodness by @kubukoz in #88
- Support defaults in query compiler (static) by @kubukoz in #92
- Introduce Binding node in AST by @kubukoz in #93
- Update sbt-mima-plugin to 1.1.1 by @scala-steward in #98
- Update circe-core to 0.14.3 by @scala-steward in #99
- Fully update to 0.16.x, add tests for dynamic mixins by @kubukoz in #95
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
This release adds proper support for Smithy 2.0.
It's not considered binary compatible with 0.3.x releases due to the binary breakage in Smithy4s.
What's Changed
- Update smithy4s-aws-http4s, ... to 0.15.1 by @scala-steward in #85
- Split / rename compiler classes by @kubukoz in #86
- Update http4s-ember-client to 0.23.15 by @scala-steward in #87
Full Changelog: v0.3.9...v0.4.0
v0.3.9
What's Changed
Add support for validation traits #84
This adds support for validations whenever @length
, @range
or @pattern
are provided. They'll be checked during the typechecking process (just like missing fields, type mismatches etc.).
Here's an example for a string marked with @length(min: 1)
:
Support for custom validations is planned and will likely come soon after smithy4s 0.15.
Full Changelog: v0.3.8...v0.3.9
v0.3.10 - broken release, don't use
Broken release
This release brings in Smithy4s 0.15.0, which supports Smithy 2.0, but the dynamic module doesn't. Because of this, the LSP server is unable to load any Smithy model at runtime. A fix is planned and a future release will resolve the issue.
You can track the progress of the fix in disneystreaming/smithy4s#406.
If you're affected
If, for some reason, Coursier decides to run Playground 0.3.10 on your machine (although it shouldn't - by some miracle, 0.3.9 was tagged later so it's a more recent release), you can force an older version to be used by setting the following workspace/user setting:
What's Changed
Update to smithy4s 0.15.x #62
This is not expected to have a lot of impact for users, but should enable support for Smithy specs using the 2.0 version of the Smithy language.
So far no 2.0-specific features have been implemented, but support for new enums & @default
is planned.
Support specifying service at operation name #82
This enables the following syntax for SmithyQL: playground.std#Random.NextUUID {}
- without a use clause. Completions will still only insert a use clause instead of a qualified operation reference like in this example. A use clause and a qualified operation reference cannot be used at the same time.
Full Changelog: v0.3.9...v0.3.10
v0.3.8
New features, bugfixes
Support referencing services by aws name #78
This means that instead of com.amazonaws.kinesis#Kinesis_20131202
, you can say com.amazonaws.kinesis#Kinesis
.
Improvements to useClause #74
Adds completions on use clauses, and sorting on the list of available services.
Add generic compilation error message in runner #79
Running a query that doesn't compile (via command) will show a generic message instead of the compilation failures. These can still be seen in the actual file's diagnostics.
Deprecations: operation/useClause #80
Deprecated services/operations will now show as such in your files. Previously, they would only be marked as deprecated in the completions.
Support longs, shorts, bytes... and null #81
Adds support for all the remaining Smithy shapes (mostly numbers) - this should make it possible to call virtually any @simpleRestJson
operation, as well as some (until now) unsupported AWS operations.
Technical details
- Extract CommandResultReporter by @kubukoz in #77
- Update scalafmt-core to 3.5.9 by @scala-steward in #76
Full Changelog: v0.3.7...v0.3.8