Releases: swiftwasm/carton
1.1.3
What's Changed
- Fix some typos by @Sajjon in #493
- Inherit all env-var from host and add
--env
option tocarton-test
by @kateinoigakukun in #495 - Remove swift-log dependency by @kateinoigakukun in #497
- Update default toolchain for 6.0 channel by @kateinoigakukun in #498
- Move
bundle
command to a separate slimmed-down frontend by @kateinoigakukun in #499 - Add
-Xnode
option tocarton test
by @kateinoigakukun in #501 - Expose
instantiate
API from bundled package by @kateinoigakukun in #500 - Get rid of CartonHelpers dependency from carton driver by @kateinoigakukun in #502
- Get rid of dev-server dependency from test runner by @kateinoigakukun in #503
- Save
default.profraw
after test completed by @kateinoigakukun in #504 - Fix test output parser to be incremental and show failed tests by @kateinoigakukun in #505
- Use real http server for browser testing by @kateinoigakukun in #506
- Remove unused ProcessOutputParser type by @kateinoigakukun in #507
New Contributors
Full Changelog: 1.1.2...1.1.3
1.1.2
What's Changed
This release includes several bug fixes.
- Fix regressions in the built-in HTTP server introduced in 1.0
- Fix CLI test harness to work with the latest wasmtime
Pull Requests
- Put
--dir
wasmtime option before the test file path by @kateinoigakukun in #490 - Percent decode the URI for the static resource requests by @kateinoigakukun in #491
Full Changelog: 1.1.1...1.1.2
1.1.1
What's Changed
This release adds support for 6.0 toolchain, regression fixes, and internal improvements.
- Support SwiftWasm 6.0 toolchain
- Default toolchain version is now based on builder Swift version
- Skip hot-reloading if build fails
- Fix
carton bundle
regression introduced in 1.0.4 - Fix
carton test
regression introduced in 1.0.0 - Experimental support for
wasm32-unknown-wasip1-threads
target in test harness
Pull Requests
- Verify if tests communicate with just spawned dev server by @omochi in #479
- Skip hot-reloading if build fails by @omochi in #480
- Adaptive default toolchain version based on Swift version on builder by @omochi in #481
- Add Swift 6.0 CI for building carton for macOS by @omochi in #483
- Apply runtime library workaround for snapshot toolchains on macOS by @omochi in #484
- Add Swift 6.0 CI for Linux by @omochi in #482
- Fix Node.js test harness to output stdout/stderr by @kateinoigakukun in #485
- Add shared memory support to entrypoint scripts by @kateinoigakukun in #486
- Newline after command-line logging output by @kateinoigakukun in #487
- Remove the workaround for the linker issue in Swift 6.0 by @kateinoigakukun in #488
Full Changelog: 1.1.0...1.1.1
1.1.0
What's Changed
This release adds support for 5.10.0 toolchain, CLI options, and internal improvements.
- Update default toolchain version to 5.10.0
- Add
--bind
todev
subcommand to specify serving address with relaxed default (0.0.0.0
) - Add
-Xwasm-opt
tobundle
subcommand to pass additional arguments towasm-opt
- Many internal refactorings and test improvements
Pull Requests
- Cleanup unnecessary test utilities by @omochi in #468
- Remove test utility
ls
by @omochi in #469 - Add granular configuration for retrying wait time in test by @omochi in #470
- Send stdout/stderr from WasmRunner to dev server without decoding as UTF-8 by @omochi in #471
- Show stdout/stderr from Wasm in terminal by @omochi in #472
- Combine the WebDriver setup process into WebDriverService and make it easier to reuse by @omochi in #474
- Check the output of wasm in dev subcommand test by @omochi in #473
- Add --bind to specify serving address with relaxed default (0.0.0.0) by @omochi in #475
- Add
-Xwasm-opt
option tobundle
subcommand by @kateinoigakukun in #478 - Refactor utilities under Foundation.Process and CartonHelpers.Process and share implementations by @omochi in #477
- Update default toolchain version to 5.10.0 by @kateinoigakukun in #476
Full Changelog: 1.0.4...1.1.0
1.0.4
What's Changed
This release includes several bug fixes and internal improvements:
- Fix
carton test --environment node
to work with 6.0 and later toolchains - Stop writing files under
~/.carton/static
to avoid pollution - Many internal refactorings and test improvements
Pull Requests
- Follow-up fix for latest main XCTest by @kateinoigakukun in #430
- Stop writing static files in ~/.carton/static by @kateinoigakukun in #431
- Log
ToolchainError
with response contents by @omochi in #435 - Make
CartonFrontend dev
's file-watching opt-in to easily use it as a standalone CLI by @omochi in #433 - Generalize
findSwiftExecutable
intofindExecutable
by @omochi in #436 - Fix an issue in the env-var option of
CartonHelpers.Process
by @omochi in #437 - Stop creating
.carton
directories on CI by @omochi in #438 - Remove unnecessary imports and lets of
HashArchive.swift
by @omochi in #439 - Authenticate when using GitHub API to download toolchains by @omochi in #440
- Correct the indentation of index.html by @omochi in #442
- Rename and split
Application.swift
by @omochi in #443 - Fix README of CartonPluginShared by @omochi in #445
- Remove label checking from CI by @omochi in #448
- Disable browser tests that freeze for now by @omochi in #449
- Stop adding wrong
Sendable
conformance toChannelHandlerContext
by @omochi in #446 - Stop using container on CI and install directly from the tarball by @omochi in #444
- Re-organize the naming convention of module, type, product, and file to have consistent project structure by @omochi in #450
- CIスクリプトのミスを修正しつつ、わかりやすいタイトルをつける by @omochi in #451
- CIのSwiftバージョンを5.9.2に引き上げる by @omochi in #453
- CIのLinux環境にSwift 5.10を追加する by @omochi in #454
- Add macOS + Swift 5.10 CI job by @omochi in #455
- Stop defining test utilities under XCTest by @omochi in #456
- Bug fix on makeTemporaryFile by @omochi in #457
- Move carton command implementation into CartonDriver module by @omochi in #459
- Import upstream changes of
TSC.Process
by @omochi in #460 - Stream command outputs while capturing them for testing by @omochi in #461
- Suppress internal deprecation warnings of TSC.Process by @omochi in #462
- Fix bugs in
Process.checkRun
of CartonDriver by @omochi in #463 - Rename
createWSHandler
->createWebSocketTextHandler
by @omochi in #464 - Fix dev server to serve entrypoint file by @kateinoigakukun in #465
- Add unit test for dev server by @omochi in #466
- Revert "Skips browser testing due to freezing" by @kateinoigakukun in #467
Full Changelog: 1.0.3...1.0.4
1.0.3
What's Changed
- Stop using the setup-swift action by @kateinoigakukun in #427
- Fix test harness for the latest main XCTest by @kateinoigakukun in #426
- TypeScript-ify entrypoint scripts by @omochi in #428
- Use
@bjorn3/browser_wasi_shim
as WASI implementation by @kateinoigakukun in #429
New Contributors
Full Changelog: 1.0.2...1.0.3
1.0.2
This release fixes several issues:
- Restore MIME types in
dev
server to fix loading of CSS and image files. - Fixed browser test runner to work with large number of test suites with Chrome.
- Fixed permission issue when running
swift run carton bundle
Full Changelog: 1.0.1...1.0.2
1.0.1
This release fixes several issues in version 1.0.0:
carton bundle
command didn't use proper reactor ABI, which caused a crash when running the output bundle.carton bundle
command didn't bundle resources from dependencies when applyingwasm-opt
optimizations.
Full Changelog: 1.0.0...1.0.1
1.0.0: SwiftPM Plugin Support
Breaking changes
carton
CLI is now slimmed down to be a SwiftPM Plugin.
This means that you can now use carton
by just declaring it as a dependency in your Package.swift
file.
dependencies: [
.package(url: "https://github.com/swiftwasm/carton", from: "1.0.0"),
],
Warning
carton
supports only Swift 5.9.2 and later because earlier SwiftPM Plugin didn't work with cross-compilation- Please remove
.build
directory used with oldercarton
Each carton
subcommand is now split into a separate SwiftPM plugin.
Old command | New command |
---|---|
carton dev |
swift run carton dev |
carton test |
swift run carton test |
carton bundle |
swift run carton bundle |
Also carton
no longer supports the following features:
carton init
command (useswift package init --type executable
instead)- Homebrew and Docker installation methods
Additional changes
--no-content-hash
option is added tocarton bundle
command. This option disables the use of content hash in the output file name.
See https://github.com/swiftwasm/carton/blob/main/CHANGELOG.md for more details
0.20.1
This release fixes a bug in carton test
where it reports missing sock_accept
syscall.
Full Changelog: 0.20.0...0.20.1