diff --git a/CHANGELOG.md b/CHANGELOG.md index 86be06f6a9..98b8d99a31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [0.4.0-beta.21](https://github.com/framesurge/perseus/compare/v0.4.0-beta.20...v0.4.0-beta.21) (2023-03-01) + + +### Features + +* **i18n:** added support for auto-setting the `lang` attribute ([1e3206c](https://github.com/framesurge/perseus/commit/1e3206c761a95c321d201d57514b84f4a1a0d250)), closes [#261](https://github.com/framesurge/perseus/issues/261) + + +### Bug Fixes + +* fixed incremental generation on index template ([b3b3b82](https://github.com/framesurge/perseus/commit/b3b3b82338132805c73dea02399ab5edaaf0d8a4)), closes [#262](https://github.com/framesurge/perseus/issues/262) + ## [0.4.0-beta.20](https://github.com/framesurge/perseus/compare/v0.4.0-beta.19...v0.4.0-beta.20) (2023-02-26) diff --git a/README.md b/README.md index e02ec6d61e..9b5191a2c0 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Check out [the book](https://framesurge.sh/perseus/en-US/docs) to learn how to t If you want to start working with Perseus right away, run the following commands and you'll have a basic app ready in no time! (Or, more accurately, after Cargo compiles everything...) ``` shell -cargo install perseus-cli --version 0.4.0-beta.20 +cargo install perseus-cli --version 0.4.0-beta.21 perseus new my-app cd my-app/ perseus serve -w diff --git a/docs/0.4.x/en-US/reference/migrating.md b/docs/0.4.x/en-US/reference/migrating.md index d2bc68d2ce..66f8a395fd 100644 --- a/docs/0.4.x/en-US/reference/migrating.md +++ b/docs/0.4.x/en-US/reference/migrating.md @@ -5,7 +5,7 @@ Perseus v0.4.x added a significant number of breaking changes, as almost the ent **Warning:** Perseus v0.4.x is now in its final beta period, meaning new features are probably not going to be added until v0.4.0 goes stable. However, due to the full rewrite, we want to make sure there are no outstanding bugs before pushing the full stable release. Please report even the smallest bugs you encounter to us on GitHub, and we can make Perseus v0.4.0 the best it can be. 1. Restructure your `Cargo.toml` to reflect the new dependency-splitting format (which splits engine-side dependencies from those only needed in the browser). See [here](https://github.com/framesurge/perseus/tree/main/examples/core/basic/Cargo.toml) for an example. Note that this will involve adding a server integration for use, like `perseus-warp`. -2. Upgrade the Perseus CLI with `cargo install perseus-cli --version 0.4.0-beta.20`. +2. Upgrade the Perseus CLI with `cargo install perseus-cli --version 0.4.0-beta.21`. 3. Delete the old `.perseus/` directory (this is no longer needed). 4. Rename your `lib.rs` file to `main.rs`. 5. Update each error page instantiation function to provide, as another argument, a function that returns a Sycamore `View` for the document metadata of that error page (e.g. title). diff --git a/docs/next/en-US/first-app/installation.md b/docs/next/en-US/first-app/installation.md index 126e107644..a782b4e7d3 100644 --- a/docs/next/en-US/first-app/installation.md +++ b/docs/next/en-US/first-app/installation.md @@ -5,7 +5,7 @@ Before you get to coding your first Perseus app, you'll need to install the Pers To install the Perseus CLI, first make sure you have Rust installed (preferably with [`rustup`](https://rustup.rs)), and then run this command: ```sh -cargo install perseus-cli --version 0.4.0-beta.20 +cargo install perseus-cli --version 0.4.0-beta.21 ``` Once that's done, you can go ahead and create your first app! Although this would usually be done with the `perseus new` command, which spins up a scaffold for you, in this tutorial we'll do things manually so we can go through each line of code step by step. First, create a new Rust project: diff --git a/docs/next/en-US/migrating.md b/docs/next/en-US/migrating.md index 66cb0d0ae4..8e8df34955 100644 --- a/docs/next/en-US/migrating.md +++ b/docs/next/en-US/migrating.md @@ -5,7 +5,7 @@ Perseus v0.4.x added a significant number of breaking changes, as almost the ent **Warning:** Perseus v0.4.x is now in its final beta period, meaning new features are probably not going to be added until v0.4.0 goes stable. However, due to the full rewrite, we want to make sure there are no outstanding bugs before pushing the full stable release. Please report even the smallest bugs you encounter to us on GitHub, and we can make Perseus v0.4.0 the best it can be. 1. Restructure your `Cargo.toml` to reflect the new dependency-splitting format (which splits engine-side dependencies from those only needed in the browser). See [here](https://github.com/framesurge/perseus/tree/main/examples/core/basic/Cargo.toml) for an example. Note that this will involve adding a server integration for use, like `perseus-warp` (on which you'll probably want to enable the `dflt-server` feature). -2. Upgrade the Perseus CLI with `cargo install perseus-cli --version 0.4.0-beta.20`. +2. Upgrade the Perseus CLI with `cargo install perseus-cli --version 0.4.0-beta.21`. 3. Delete the old `.perseus/` directory (this is no longer needed). 4. Rename your `lib.rs` file to `main.rs` and delete `.perseus/` (it's been removed entirely!). 5. Change the `#[perseus::main]` attribute on the function in `main.rs` to be `#[perseus::main(perseus_axum::dflt_server)]` (replace `perseus_axum` with whatever server integration you decide to use). diff --git a/docs/next/en-US/quickstart.md b/docs/next/en-US/quickstart.md index 4d404805b4..529b045a26 100644 --- a/docs/next/en-US/quickstart.md +++ b/docs/next/en-US/quickstart.md @@ -5,7 +5,7 @@ To get started with Perseus, you should first make sure you have the Rust langua Once you have Rust installed, you can run the following command to install Perseus: ```sh -cargo install perseus-cli --version 0.4.0-beta.20 +cargo install perseus-cli --version 0.4.0-beta.21 ``` (While v0.4.x is still in beta, that `--version` flag is needed to make sure you get the latest beta version.) diff --git a/examples/.base/Cargo.toml b/examples/.base/Cargo.toml index aa81efb8ff..c15e7aa13c 100644 --- a/examples/.base/Cargo.toml +++ b/examples/.base/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-base" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/comprehensive/tiny/Cargo.toml b/examples/comprehensive/tiny/Cargo.toml index 4fe332e09d..710498f96c 100644 --- a/examples/comprehensive/tiny/Cargo.toml +++ b/examples/comprehensive/tiny/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-tiny" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/comprehensive/tiny/Cargo.toml.example b/examples/comprehensive/tiny/Cargo.toml.example index 4bcb70e0bd..d260083edb 100644 --- a/examples/comprehensive/tiny/Cargo.toml.example +++ b/examples/comprehensive/tiny/Cargo.toml.example @@ -4,11 +4,11 @@ version = "0.1.0" edition = "2021" [dependencies] -perseus = { version = "=0.4.0-beta.20", features = [ "hydrate" ] } +perseus = { version = "=0.4.0-beta.21", features = [ "hydrate" ] } sycamore = "^0.8.1" [target.'cfg(engine)'.dependencies] tokio = { version = "1", features = [ "macros", "rt", "rt-multi-thread" ] } -perseus-axum = { version = "=0.4.0-beta.20", features = [ "dflt-server" ] } +perseus-axum = { version = "=0.4.0-beta.21", features = [ "dflt-server" ] } [target.'cfg(client)'.dependencies] diff --git a/examples/core/basic/Cargo.toml b/examples/core/basic/Cargo.toml index 73d8480dcc..3d692100a8 100644 --- a/examples/core/basic/Cargo.toml +++ b/examples/core/basic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-basic" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/basic/Cargo.toml.example b/examples/core/basic/Cargo.toml.example index 48014857ca..9f14e43b30 100644 --- a/examples/core/basic/Cargo.toml.example +++ b/examples/core/basic/Cargo.toml.example @@ -6,13 +6,13 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -perseus = { version = "=0.4.0-beta.20", features = [ "hydrate" ] } +perseus = { version = "=0.4.0-beta.21", features = [ "hydrate" ] } sycamore = "^0.8.1" serde = { version = "1", features = ["derive"] } serde_json = "1" [target.'cfg(engine)'.dependencies] tokio = { version = "1", features = [ "macros", "rt", "rt-multi-thread" ] } -perseus-axum = { version = "=0.4.0-beta.20", features = [ "dflt-server" ] } +perseus-axum = { version = "=0.4.0-beta.21", features = [ "dflt-server" ] } [target.'cfg(client)'.dependencies] diff --git a/examples/core/capsules/Cargo.toml b/examples/core/capsules/Cargo.toml index 5a0296d7e3..220b3188b6 100644 --- a/examples/core/capsules/Cargo.toml +++ b/examples/core/capsules/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-capsules" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/custom_server/Cargo.toml b/examples/core/custom_server/Cargo.toml index 4fcd87b697..c233f7216c 100644 --- a/examples/core/custom_server/Cargo.toml +++ b/examples/core/custom_server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-custom-server" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/error_views/Cargo.toml b/examples/core/error_views/Cargo.toml index 6b4e8ab616..4c88add532 100644 --- a/examples/core/error_views/Cargo.toml +++ b/examples/core/error_views/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-base" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/helper_build_state/Cargo.toml b/examples/core/helper_build_state/Cargo.toml index d681e5db8f..de1d04781e 100644 --- a/examples/core/helper_build_state/Cargo.toml +++ b/examples/core/helper_build_state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-helper-build-state" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/index_view/Cargo.toml b/examples/core/index_view/Cargo.toml index 86918cab56..75d11cb7f9 100644 --- a/examples/core/index_view/Cargo.toml +++ b/examples/core/index_view/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-index-view" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/js_interop/Cargo.toml b/examples/core/js_interop/Cargo.toml index 4bf92a044c..2cbe09bc76 100644 --- a/examples/core/js_interop/Cargo.toml +++ b/examples/core/js_interop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-js-interop" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/plugins/Cargo.toml b/examples/core/plugins/Cargo.toml index f2b75495f0..3addd7c3ec 100644 --- a/examples/core/plugins/Cargo.toml +++ b/examples/core/plugins/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-plugins" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/preload/Cargo.toml b/examples/core/preload/Cargo.toml index cd659eff60..db5292a11a 100644 --- a/examples/core/preload/Cargo.toml +++ b/examples/core/preload/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-preload" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/core/suspense/Cargo.toml b/examples/core/suspense/Cargo.toml index b877c5d7b7..4e29b4ed8b 100644 --- a/examples/core/suspense/Cargo.toml +++ b/examples/core/suspense/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-suspense" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/demos/auth/Cargo.toml b/examples/demos/auth/Cargo.toml index 75e32c1bbb..503424c4c8 100644 --- a/examples/demos/auth/Cargo.toml +++ b/examples/demos/auth/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-auth" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/demos/fetching/Cargo.toml b/examples/demos/fetching/Cargo.toml index 98eb736455..002c011f30 100644 --- a/examples/demos/fetching/Cargo.toml +++ b/examples/demos/fetching/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-fetching" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/demos/full_page_layout/Cargo.toml b/examples/demos/full_page_layout/Cargo.toml index 23ad983892..0faf71c129 100644 --- a/examples/demos/full_page_layout/Cargo.toml +++ b/examples/demos/full_page_layout/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-example-full-page-layout" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/website/.version-lock b/examples/website/.version-lock index 4c2e8822d5..4b25f3ab84 100644 --- a/examples/website/.version-lock +++ b/examples/website/.version-lock @@ -1 +1 @@ -v0.4.0-beta.20 +v0.4.0-beta.21 diff --git a/packages/perseus-actix-web/Cargo.toml b/packages/perseus-actix-web/Cargo.toml index 50156b992c..569900034b 100644 --- a/packages/perseus-actix-web/Cargo.toml +++ b/packages/perseus-actix-web/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-actix-web" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" description = "An integration that makes the Perseus frontend framework easy to use with Actix Web." authors = ["arctic_hen7 "] @@ -14,7 +14,7 @@ categories = ["wasm", "web-programming::http-server", "development-tools", "asyn # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -perseus = { path = "../perseus", version = "0.4.0-beta.20" } +perseus = { path = "../perseus", version = "0.4.0-beta.21" } actix-web = "4.2" actix-files = "0.6" futures = "0.3" diff --git a/packages/perseus-axum/Cargo.toml b/packages/perseus-axum/Cargo.toml index 5f1cdce049..21317ac818 100644 --- a/packages/perseus-axum/Cargo.toml +++ b/packages/perseus-axum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-axum" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" description = "An integration that makes the Perseus frontend framework easy to use with Axum." authors = ["arctic_hen7 "] @@ -14,7 +14,7 @@ categories = ["wasm", "web-programming::http-server", "development-tools", "asyn # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -perseus = { path = "../perseus", version = "0.4.0-beta.20" } +perseus = { path = "../perseus", version = "0.4.0-beta.21" } axum = "0.6" tower-http = { version = "0.3", features = [ "fs" ] } diff --git a/packages/perseus-cli/Cargo.toml b/packages/perseus-cli/Cargo.toml index d996d28970..3cad130dde 100644 --- a/packages/perseus-cli/Cargo.toml +++ b/packages/perseus-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-cli" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" description = "The CLI for the Perseus frontend framework." authors = ["arctic_hen7 "] diff --git a/packages/perseus-integration/Cargo.toml b/packages/perseus-integration/Cargo.toml index 5c07f87df3..6d8ff90038 100644 --- a/packages/perseus-integration/Cargo.toml +++ b/packages/perseus-integration/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-integration" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/perseus-macro/Cargo.toml b/packages/perseus-macro/Cargo.toml index e34de4b59f..717ecaf665 100644 --- a/packages/perseus-macro/Cargo.toml +++ b/packages/perseus-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-macro" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" autotests = false description = "The Perseus macros." diff --git a/packages/perseus-warp/Cargo.toml b/packages/perseus-warp/Cargo.toml index 797e850370..9348496f51 100644 --- a/packages/perseus-warp/Cargo.toml +++ b/packages/perseus-warp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus-warp" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" description = "An integration that makes the Perseus framework easy to use with Warp." authors = ["arctic_hen7 "] @@ -14,7 +14,7 @@ categories = ["wasm", "web-programming::http-server", "development-tools", "asyn # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -perseus = { path = "../perseus", version = "0.4.0-beta.20" } +perseus = { path = "../perseus", version = "0.4.0-beta.21" } warp = { package = "warp-fix-171", version = "0.3" } # Temporary until Warp #171 is resolved [features] diff --git a/packages/perseus/Cargo.toml b/packages/perseus/Cargo.toml index 0b31295de8..bebfade776 100644 --- a/packages/perseus/Cargo.toml +++ b/packages/perseus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perseus" -version = "0.4.0-beta.20" +version = "0.4.0-beta.21" edition = "2021" description = "A lightning-fast frontend web dev platform with full support for SSR and SSG." authors = ["arctic_hen7 "] @@ -17,7 +17,7 @@ categories = ["wasm", "web-programming", "development-tools", "asynchronous", "g sycamore = { version = "^0.8.1", features = [ "ssr", "suspense" ] } sycamore-router = "0.8" sycamore-futures = "0.8" -perseus-macro = { path = "../perseus-macro", version = "0.4.0-beta.20", optional = true } +perseus-macro = { path = "../perseus-macro", version = "0.4.0-beta.21", optional = true } serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "1"