diff --git a/CHANGELOG.md b/CHANGELOG.md index e7383ca0..76aca5a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,41 @@ +# 0.9.0 (4 December 2020) + +This release adds multiple changes and new features: + +- New `--environment` option on `carton test`, which when passed `--environment defaultBrowser` runs + test suites of a given package in your default browser, allowing you to use JavaScriptKit and + other browser-specific dependencies in your tests. Another available option is `--environment wasmer`, which is the old and still the default behavior, which runs the test suite in `wasmer`. + +- Now when your SwiftWasm app crashes in Firefox, the strack trace will printed by `carton dev` and + `carton test` in terminal with function symbols demangled, which makes crashes much easier to + debug. Since different browsers format their stack traces differently, support for browsers other + than Firefox will be added separately in a future version of `carton`. + +- `carton dev` and `carton bundle` now serve SwiftPM resources declared on targets of executable + products from the root `/` path, in addition to a subpath automatically generated for + `Bundle.module`. This was a necessary change [to allow the `Image` + view](https://github.com/TokamakUI/Tokamak/pull/155#issuecomment-723677472) to work properly in + [Tokamak](https://github.com/TokamakUI/Tokamak). + +- Support for [JavaScriptKit](https://github.com/swiftwasm/javascriptkit) 0.9.0, which allows + catching JavaScript exceptions in Swift code. + +- The default SwiftWasm toolchain is now 5.3.1, which is a recommended bugfix update for all of our + users. + +**Merged pull requests:** + +- Mark all commands as implemented in `README.md` ([#180](https://github.com/swiftwasm/carton/pull/180)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Bump versions of libraries in `Template.swift` ([#182](https://github.com/swiftwasm/carton/pull/182)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Serve main bundle resources from root directory ([#176](https://github.com/swiftwasm/carton/pull/176)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Use `FileDownloadDelegate` from the AHC package ([#171](https://github.com/swiftwasm/carton/pull/171)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Bump JSKit, add support for testing in browsers ([#173](https://github.com/swiftwasm/carton/pull/173)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Update dependencies ([#179](https://github.com/swiftwasm/carton/pull/179)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Bump `defaultToolchainVersion` to 5.3.1 ([#178](https://github.com/swiftwasm/carton/pull/178)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Demangle and print Firefox stack traces in terminal ([#162](https://github.com/swiftwasm/carton/pull/162)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Update dependencies ([#172](https://github.com/swiftwasm/carton/pull/172)) via [@MaxDesiatov](https://github.com/MaxDesiatov) +- Update dependencies ([#170](https://github.com/swiftwasm/carton/pull/170)) via [@MaxDesiatov](https://github.com/MaxDesiatov) + # 0.8.2 (9 November 2020) This patch release updates the default version of Tokamak in the `carton init` template to fix autocomplete in Xcode. diff --git a/README.md b/README.md index 34e1f5fe..655da6a8 100644 --- a/README.md +++ b/README.md @@ -11,14 +11,13 @@ It currently supports these features with separate commands: - Optimizing and packaging the app for distribution with `carton bundle`. - Managing SwiftWasm toolchain and SDK installations with `carton sdk`. -It is currently work in progress, so watch the repository for imminent updates! - ## Motivation -The main motivation for `carton` came after I had enough struggles with [webpack.js](https://webpack.js.org), -trying to make its config file work, looking for appropriate plugins. I'm convinced that the required use of -`webpack` in SwiftWasm projects could limit the wider adoption of SwiftWasm itself. Hopefully, with `carton` -you can avoid using `webpack` altogether. `carton` also simplifies a few other things in your SwiftWasm +The main motivation for `carton` came after having enough struggles with +[webpack.js](https://webpack.js.org), trying to make its config file work, looking for appropriate +plugins. At some point the maintainers became convinced that the required use of `webpack` in +SwiftWasm projects could limit the wider adoption of SwiftWasm itself. Hopefully, with `carton` you +can avoid using `webpack` altogether. `carton` also simplifies a few other things in your SwiftWasm development workflow such as toolchain and SDK installations. ## Getting started diff --git a/Sources/CartonHelpers/Version.swift b/Sources/CartonHelpers/Version.swift index f11df387..b8e991ee 100644 --- a/Sources/CartonHelpers/Version.swift +++ b/Sources/CartonHelpers/Version.swift @@ -12,4 +12,4 @@ // See the License for the specific language governing permissions and // limitations under the License. -public let cartonVersion = "0.8.2" +public let cartonVersion = "0.9.0" diff --git a/Tests/CartonTests/CartonTests.swift b/Tests/CartonTests/CartonTests.swift index 5084707d..7a83d1ee 100644 --- a/Tests/CartonTests/CartonTests.swift +++ b/Tests/CartonTests/CartonTests.swift @@ -55,7 +55,7 @@ final class CartonTests: XCTestCase { let data = pipe.fileHandleForReading.readDataToEndOfFile() let output = String(data: data, encoding: .utf8) - XCTAssertEqual(output?.trimmingCharacters(in: .whitespacesAndNewlines), "0.8.2") + XCTAssertEqual(output?.trimmingCharacters(in: .whitespacesAndNewlines), "0.9.0") } final class TestOutputStream: OutputByteStream { diff --git a/package-lock.json b/package-lock.json index 5871ccbb..1acab354 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "carton", - "version": "0.8.2", + "version": "0.9.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.8.2", + "version": "0.9.0", "license": "Apache-2.0", "devDependencies": { "@wasmer/wasi": "^0.12.0", diff --git a/package.json b/package.json index 2c61de20..aee59170 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "carton", - "version": "0.8.2", + "version": "0.9.0", "description": "📦 Watcher, bundler, and test runner for your SwiftWasm apps ", "main": "index.js", "scripts": {