Bump version to 0.15.0, update `CHANGELOG.md` (#348)

This commit is contained in:
Max Desiatov 2022-05-20 15:27:53 +01:00 committed by GitHub
parent 53bc06c23d
commit 683e3e0759
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 69 additions and 21 deletions

View File

@ -1,3 +1,48 @@
# 0.15.0 (20 May 2022)
This release of `carton` includes enhancements and bugfixes. Namely:
- Compatibility with [JavaScriptKit 0.15.0](https://github.com/swiftwasm/JavaScriptKit/releases/tag/0.15.0) and later.
The long-standing incompatibility between different versions of `carton` and JavaScriptKit is resolved now. All
version combinations of `carton` and JavaScriptKit higher then 0.15 should be compatible with each other. This is
achieved by supplying JavaScriptKit runtime via SwiftPM resources, instead of embedding within `.js` entrypoints as
we did previously. If you relied on the previous behavior, please [open an
issue](https://github.com/swiftwasm/carton/issues/new) describing your use case.
- `carton test` can now run your test suite with Node.js when that is installed. Run it as `carton test --environment node` to enable this.
- SwiftPM resources from sub-dependencies of your package are now available on the web server with `carton dev` and
bundled with `carton bundle`. Resources from each target are still isolated in subdirectories named with
`\(packageName)_\(targetName).resources` format, which is hardcoded by SwiftPM. Resources from the main target you're
building are still available at the root path, also accessible via `Bundle.main.path(forResource:ofType:)` function
when you import Foundation (mind the binary size overhead when relying on Foundation). Incorrect paths accessed via
`Bundle.module` are a known issue, which we track as
[swiftwasm/swift#4573](https://github.com/swiftwasm/swift/issues/4573).
Many thanks to [@AntonioCandinho](https://github.com/AntonioCandinho), [@j-f1](https://github.com/j-f1), and
[@kateinoigakukun](https://github.com/kateinoigakukun) for contributions!
**Closed issues:**
- Re-read supplied `index.html` on updates ([#341](https://github.com/swiftwasm/carton/issues/341))
- `carton dev` stops rebuilding/reloading after error ([#339](https://github.com/swiftwasm/carton/issues/339))
- Avoid applying `I64ImportTransformer` when JS BigInt support is enabled ([#326](https://github.com/swiftwasm/carton/issues/326))
- `swjs_create_typed_array` error on `carton test` ([#322](https://github.com/swiftwasm/carton/issues/322))
- Host JSKit entrypoint assets on GH Pages CDN ([#317](https://github.com/swiftwasm/carton/issues/317))
**Merged pull requests:**
- Fix watcher breakage on failed builds ([#347](https://github.com/swiftwasm/carton/pull/347)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Re-read custom `index.html` on updates ([#342](https://github.com/swiftwasm/carton/pull/342)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Use JSKit runtime from SwiftPM resources ([#335](https://github.com/swiftwasm/carton/pull/335)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Fix JavaScriptBigIntSupport compatibility issue ([#338](https://github.com/swiftwasm/carton/pull/338)) via [@kateinoigakukun](https://github.com/kateinoigakukun)
- Embed static.zip in Swift code instead of downloading from remote ([#334](https://github.com/swiftwasm/carton/pull/334)) via [@kateinoigakukun](https://github.com/kateinoigakukun)
- Clarify `--environment` option for `carton test` in `README.md` ([#333](https://github.com/swiftwasm/carton/pull/333)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Add `carton`/SwiftWasm/JSKit compat matrix to `README.md` ([#332](https://github.com/swiftwasm/carton/pull/332)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Add support for running tests using NodeJS ([#328](https://github.com/swiftwasm/carton/pull/328)) via [@AntonioCandinho](https://github.com/AntonioCandinho)
- Serve all available resources with `dev`/`bundle` ([#330](https://github.com/swiftwasm/carton/pull/330)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Update to v2 of Contributor Covenant in shared GitHub repo ([#329](https://github.com/swiftwasm/carton/pull/329)) via [@j-f1](https://github.com/j-f1)
- Fix 5.6 template: use `executableTarget` ([#325](https://github.com/swiftwasm/carton/pull/325)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Update SwiftPM dependencies ([#324](https://github.com/swiftwasm/carton/pull/324)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
# 0.14.2 (30 April 2022)
This is a bugfix release resolving an issue with JavaScript entrypoint code.
@ -6,9 +51,9 @@ Many thanks to [@fjtrujy](https://github.com/fjtrujy) for the contribution!
**Closed issues:**
* Apply `clock_res_get` patch in all entrypoints ([#321](https://github.com/swiftwasm/carton/issues/321))
- Apply `clock_res_get` patch in all entrypoints ([#321](https://github.com/swiftwasm/carton/issues/321))
**Merged pull requests:**
**Merged pull requests:**
- Update SwiftPM dependencies ([#319](https://github.com/swiftwasm/carton/pull/319)) via [@MaxDesiatov](https://github.com/MaxDesiatov)
- Update SwiftPM dependencies ([#320](https://github.com/swiftwasm/carton/pull/320)) via [@MaxDesiatov](https://github.com/MaxDesiatov)

View File

@ -50,21 +50,24 @@ not supported.
### Version compatibility
`carton` embeds runtime parts of [the JavaScriptKit library](https://github.com/swiftwasm/JavaScriptKit),
which allows Swift and JavaScript code to interoperate in Node.js and browser environments. Because
of how JavaScriptKit runtime is currently embedded, older versions of JavaScriptKit may be incompatible
with new versions of `carton` and vice versa. [In the future](https://github.com/swiftwasm/carton/issues/155),
this incompatibility between different versions of `carton` and JavaScriptKit will be resolved. Similarly,
older versions of SwiftWasm may be incompatible with newer `carton`. You can follow the compatibility matrix
if you need to use older verions:
`carton` previously embedded runtime parts of [the JavaScriptKit library](https://github.com/swiftwasm/JavaScriptKit).
This runtime allows Swift and JavaScript code to interoperate in Node.js and browser environments. Because of how
JavaScriptKit runtime was embedded, older versions of JavaScriptKit were incompatible with different versions of
`carton` and vice versa. This incompatibility between different versions was resolved starting with JavaScriptKit 0.15
and `carton` 0.15. All version combinations of `carton` and JavaScriptKit higher then those are compatible with each
other.
You still have to keep in mind that older versions of SwiftWasm may be incompatible with newer `carton`. You can follow
the compatibility matrix if you need to use older verions:
| `carton` version | SwiftWasm version | JavaScriptKit version | Tokamak version |
| ---------------- | ----------------- | --------------------- | --------------- |
| 0.14 | 5.6 | 0.14 | 0.10 |
| 0.13 | 5.5 | 0.13 | 0.9.1 |
| 0.12.2 | 5.5 | 0.12 | 0.9.1 |
| 0.12.0 | 5.5 | 0.11 | 0.9.0 |
| 0.11.0 | 5.4 | 0.10.1 | 0.8.0 |
| 0.15 | 5.6 | 0.15+ | 0.10.1+ |
| 0.14 | 5.6 | 0.14 | 0.10 |
| 0.13 | 5.5 | 0.13 | 0.9.1 |
| 0.12.2 | 5.5 | 0.12 | 0.9.1 |
| 0.12.0 | 5.5 | 0.11 | 0.9.0 |
| 0.11.0 | 5.4 | 0.10.1 | 0.8.0 |
### Usage

View File

@ -12,4 +12,4 @@
// See the License for the specific language governing permissions and
// limitations under the License.
public let cartonVersion = "0.14.2"
public let cartonVersion = "0.15.0"

View File

@ -50,8 +50,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/TokamakUI/Tokamak",
"state" : {
"branch" : "main",
"revision" : "337b80a4c408db814e5e9e61bd232b4f96251308"
"revision" : "5b7e7058e8e6d3679b9da84bbe0b0e1abe21b751",
"version" : "0.10.1"
}
}
],

View File

@ -7,7 +7,7 @@ let package = Package(
.executable(name: "Milk", targets: ["Milk"]),
],
dependencies: [
.package(url: "https://github.com/TokamakUI/Tokamak", branch: "main"),
.package(url: "https://github.com/TokamakUI/Tokamak", from: "0.10.1"),
],
targets: [
.executableTarget(

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "carton",
"version": "0.14.2",
"version": "0.15.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "carton",
"version": "0.14.2",
"version": "0.15.0",
"license": "Apache-2.0",
"devDependencies": {
"@wasmer/wasi": "^0.12.0",

View File

@ -1,6 +1,6 @@
{
"name": "carton",
"version": "0.14.2",
"version": "0.15.0",
"description": "📦 Watcher, bundler, and test runner for your SwiftWasm apps ",
"main": "index.js",
"repository": {