Compare commits

..

13 Commits

Author SHA1 Message Date
Greg Johnston
d112616e35 chore: remove lockfiles accidentally included in repo 2025-08-20 10:34:15 -04:00
Greg Johnston
30b917cfc3 v0.8.6 2025-07-27 08:59:22 -04:00
Greg Johnston
6cd731cbb1 Merge pull request #4186 from leptos-rs/4184
A few pieces of lazy island clean-up
2025-07-27 08:50:22 -04:00
Greg Johnston
f1b6b79e27 Enhancing members’ versioning (#4172)
* fix: decouple versioning for members

* feat: handy script to bump changed member crates from the last released tag
2025-07-27 08:50:08 -04:00
Greg Johnston
623ee08f82 chore: this does not need to be async 2025-07-27 08:34:59 -04:00
Greg Johnston
877849a5dd chore: new wasm_split version 2025-07-27 08:30:51 -04:00
Greg Johnston
fb59da90c2 fix: support file hashing when using lazy loading (#4182) 2025-07-26 15:46:31 -04:00
Greg Johnston
d33f5c9e77 feat: allow lazy server functions (#4169) 2025-07-24 07:30:05 -04:00
dependabot[bot]
deb8e96eb0 chore(deps): bump redox_syscall in the rust-dependencies group (#4171)
Bumps the rust-dependencies group with 1 update: redox_syscall.


Updates `redox_syscall` from 0.5.14 to 0.5.15

---
updated-dependencies:
- dependency-name: redox_syscall
  dependency-version: 0.5.15
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 12:33:31 -04:00
Greg Johnston
181e4d0566 chore: bump wasm-split version numbers (#4170) 2025-07-22 12:31:46 -04:00
Saber Haj Rabiee
525379a9b3 fix(CI): remove autofix CI timeout (#4173) 2025-07-22 12:31:04 -04:00
Saber Haj Rabiee
783a233167 feat: handy script to bump changed member crates from the last released tag 2025-07-21 22:44:40 -07:00
Saber Haj Rabiee
8079956d1b fix: decouple versioning for members 2025-07-21 22:43:58 -07:00
23 changed files with 123 additions and 74 deletions

View File

@@ -17,17 +17,10 @@ env:
jobs:
autofix:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
{
toolchain: "nightly-2025-07-16",
components: "rustfmt, clippy",
target: "wasm32-unknown-unknown",
rustflags: "",
}
with: {toolchain: "nightly-2025-07-16", components: "rustfmt, clippy", target: "wasm32-unknown-unknown", rustflags: ""}
- name: Install Glib
run: |
sudo apt-get update

18
Cargo.lock generated
View File

@@ -1788,7 +1788,7 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
[[package]]
name = "leptos"
version = "0.8.5"
version = "0.8.6"
dependencies = [
"any_spawner",
"base64",
@@ -1952,7 +1952,7 @@ dependencies = [
[[package]]
name = "leptos_macro"
version = "0.8.5"
version = "0.8.6"
dependencies = [
"attribute-derive",
"cfg-if",
@@ -1972,7 +1972,7 @@ dependencies = [
"rustc_version",
"serde",
"server_fn",
"server_fn_macro 0.8.5",
"server_fn_macro 0.8.6",
"syn 2.0.104",
"tracing",
"trybuild",
@@ -2799,9 +2799,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.5.14"
version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de3a5d9f0aba1dbcec1cc47f0ff94a4b778fe55bca98a6dfa92e4e094e57b1c4"
checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec"
dependencies = [
"bitflags",
]
@@ -3345,7 +3345,7 @@ dependencies = [
[[package]]
name = "server_fn_macro"
version = "0.8.5"
version = "0.8.6"
dependencies = [
"const_format",
"convert_case 0.8.0",
@@ -3360,7 +3360,7 @@ dependencies = [
name = "server_fn_macro_default"
version = "0.8.5"
dependencies = [
"server_fn_macro 0.8.5",
"server_fn_macro 0.8.6",
"syn 2.0.104",
]
@@ -4339,7 +4339,7 @@ dependencies = [
[[package]]
name = "wasm_split_helpers"
version = "0.1.0"
version = "0.1.2"
dependencies = [
"async-once-cell",
"or_poisoned",
@@ -4348,7 +4348,7 @@ dependencies = [
[[package]]
name = "wasm_split_macros"
version = "0.1.0"
version = "0.1.2"
dependencies = [
"base16",
"digest",

View File

@@ -40,7 +40,6 @@ members = [
exclude = ["benchmarks", "examples", "projects"]
[workspace.package]
version = "0.8.5"
edition = "2021"
rust-version = "1.88"
@@ -51,12 +50,12 @@ any_spawner = { path = "./any_spawner/", version = "0.3.0" }
const_str_slice_concat = { path = "./const_str_slice_concat", version = "0.1" }
either_of = { path = "./either_of/", version = "0.1.6" }
hydration_context = { path = "./hydration_context", version = "0.3.0" }
leptos = { path = "./leptos", version = "0.8.5" }
leptos = { path = "./leptos", version = "0.8.6" }
leptos_config = { path = "./leptos_config", version = "0.8.5" }
leptos_dom = { path = "./leptos_dom", version = "0.8.5" }
leptos_hot_reload = { path = "./leptos_hot_reload", version = "0.8.5" }
leptos_integration_utils = { path = "./integrations/utils", version = "0.8.5" }
leptos_macro = { path = "./leptos_macro", version = "0.8.5" }
leptos_macro = { path = "./leptos_macro", version = "0.8.6" }
leptos_router = { path = "./router", version = "0.8.5" }
leptos_router_macro = { path = "./router_macro", version = "0.8.5" }
leptos_server = { path = "./leptos_server", version = "0.8.5" }
@@ -68,11 +67,11 @@ reactive_graph = { path = "./reactive_graph", version = "0.2.5" }
reactive_stores = { path = "./reactive_stores", version = "0.2.5" }
reactive_stores_macro = { path = "./reactive_stores_macro", version = "0.2.5" }
server_fn = { path = "./server_fn", version = "0.8.5" }
server_fn_macro = { path = "./server_fn_macro", version = "0.8.5" }
server_fn_macro = { path = "./server_fn_macro", version = "0.8.6" }
server_fn_macro_default = { path = "./server_fn/server_fn_macro_default", version = "0.8.5" }
tachys = { path = "./tachys", version = "0.2.6" }
wasm_split_helpers = { path = "./wasm_split", version = "0.1.0" }
wasm_split_macros = { path = "./wasm_split_macros", version = "0.1.0" }
wasm_split_helpers = { path = "./wasm_split", version = "0.1.2" }
wasm_split_macros = { path = "./wasm_split_macros", version = "0.1.2" }
# members deps
async-once-cell = { default-features = false, version = "0.5.3" }

View File

@@ -4,7 +4,7 @@ authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "Actix integrations for the Leptos web framework."
version = { workspace = true }
version = "0.8.5"
rust-version.workspace = true
edition.workspace = true
@@ -22,10 +22,10 @@ leptos_meta = { workspace = true, features = ["nonce"] }
leptos_router = { workspace = true, features = ["ssr"] }
server_fn = { workspace = true, features = ["actix-no-default"] }
tachys = { workspace = true }
serde_json = { workspace = true , default-features = true }
serde_json = { workspace = true, default-features = true }
parking_lot = { workspace = true, default-features = true }
tracing = { optional = true , workspace = true, default-features = true }
tokio = { features = ["rt", "fs"] , workspace = true, default-features = true }
tracing = { optional = true, workspace = true, default-features = true }
tokio = { features = ["rt", "fs"], workspace = true, default-features = true }
send_wrapper = { workspace = true, default-features = true }
dashmap = { workspace = true, default-features = true }

View File

@@ -4,7 +4,7 @@ authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "Axum integrations for the Leptos web framework."
version = { workspace = true }
version = "0.8.5"
rust-version.workspace = true
edition.workspace = true

View File

@@ -4,7 +4,7 @@ authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "Utilities to help build server integrations for the Leptos web framework."
version = { workspace = true }
version = "0.8.5"
rust-version.workspace = true
edition.workspace = true

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos"
version = { workspace = true }
version = "0.8.6"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"

View File

@@ -5,7 +5,7 @@ license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "Configuration for the Leptos web framework."
readme = "../README.md"
version = { workspace = true }
version = "0.8.5"
rust-version.workspace = true
edition.workspace = true
@@ -13,16 +13,24 @@ edition.workspace = true
config = { default-features = false, features = [
"toml",
"convert-case",
] , workspace = true }
], workspace = true }
regex = { workspace = true, default-features = true }
serde = { features = ["derive", "rc"] , workspace = true, default-features = true }
thiserror = { workspace = true , default-features = true }
typed-builder = { workspace = true , default-features = true }
serde = { features = [
"derive",
"rc",
], workspace = true, default-features = true }
thiserror = { workspace = true, default-features = true }
typed-builder = { workspace = true, default-features = true }
[dev-dependencies]
tokio = { features = ["rt", "macros"] , workspace = true, default-features = true }
tokio = { features = [
"rt",
"macros",
], workspace = true, default-features = true }
tempfile = { workspace = true, default-features = true }
temp-env = { features = ["async_closure"] , workspace = true, default-features = true }
temp-env = { features = [
"async_closure",
], workspace = true, default-features = true }
[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition"]

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_dom"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
@@ -14,10 +14,10 @@ reactive_graph = { workspace = true }
or_poisoned = { workspace = true }
js-sys = { workspace = true, default-features = true }
send_wrapper = { workspace = true, default-features = true }
tracing = { optional = true , workspace = true, default-features = true }
wasm-bindgen = { workspace = true , default-features = true }
serde_json = { optional = true , workspace = true, default-features = true }
serde = { optional = true , workspace = true, default-features = true }
tracing = { optional = true, workspace = true, default-features = true }
wasm-bindgen = { workspace = true, default-features = true }
serde_json = { optional = true, workspace = true, default-features = true }
serde = { optional = true, workspace = true, default-features = true }
[dev-dependencies]
leptos = { path = "../leptos" }

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_hot_reload"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
@@ -11,17 +11,20 @@ edition.workspace = true
[dependencies]
anyhow = { workspace = true, default-features = true }
serde = { features = ["derive"] , workspace = true, default-features = true }
serde = { features = ["derive"], workspace = true, default-features = true }
syn = { features = [
"full",
"parsing",
"extra-traits",
"visit",
"printing",
] , workspace = true, default-features = true }
], workspace = true, default-features = true }
quote = { workspace = true, default-features = true }
rstml = { workspace = true, default-features = true }
proc-macro2 = { features = ["span-locations", "nightly"] , workspace = true, default-features = true }
proc-macro2 = { features = [
"span-locations",
"nightly",
], workspace = true, default-features = true }
parking_lot = { workspace = true, default-features = true }
walkdir = { workspace = true, default-features = true }
camino = { workspace = true, default-features = true }

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_macro"
version = { workspace = true }
version = "0.8.6"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
@@ -13,26 +13,28 @@ edition.workspace = true
proc-macro = true
[dependencies]
attribute-derive = { features = ["syn-full"] , workspace = true, default-features = true }
attribute-derive = { features = [
"syn-full",
], workspace = true, default-features = true }
cfg-if = { workspace = true, default-features = true }
html-escape = { workspace = true, default-features = true }
itertools = { workspace = true , default-features = true }
itertools = { workspace = true, default-features = true }
prettyplease = { workspace = true, default-features = true }
proc-macro-error2 = { default-features = false , workspace = true }
proc-macro-error2 = { default-features = false, workspace = true }
proc-macro2 = { workspace = true, default-features = true }
quote = { workspace = true, default-features = true }
syn = { features = ["full"] , workspace = true, default-features = true }
syn = { features = ["full"], workspace = true, default-features = true }
rstml = { workspace = true, default-features = true }
leptos_hot_reload = { workspace = true }
server_fn_macro = { workspace = true }
convert_case = { workspace = true , default-features = true }
uuid = { features = ["v4"] , workspace = true, default-features = true }
tracing = { optional = true , workspace = true, default-features = true }
convert_case = { workspace = true, default-features = true }
uuid = { features = ["v4"], workspace = true, default-features = true }
tracing = { optional = true, workspace = true, default-features = true }
[dev-dependencies]
log = { workspace = true, default-features = true }
typed-builder = { workspace = true, default-features = true }
trybuild = { workspace = true , default-features = true }
trybuild = { workspace = true, default-features = true }
leptos = { path = "../leptos" }
leptos_router = { path = "../router", features = ["ssr"] }
server_fn = { path = "../server_fn", features = ["cbor"] }

View File

@@ -548,7 +548,7 @@ impl ToTokens for Model {
quote! {
#[::leptos::prelude::lazy]
#[allow(non_snake_case)]
async fn #outer_name (el: ::leptos::web_sys::HtmlElement) {
fn #outer_name (el: ::leptos::web_sys::HtmlElement) {
#hydrate_fn_inner
}

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_server"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
@@ -11,11 +11,11 @@ edition.workspace = true
[dependencies]
base64 = { workspace = true, default-features = true }
codee = { features = ["json_serde"] , workspace = true, default-features = true }
codee = { features = ["json_serde"], workspace = true, default-features = true }
hydration_context = { workspace = true }
reactive_graph = { workspace = true, features = ["hydration"] }
server_fn = { workspace = true }
tracing = { optional = true , workspace = true, default-features = true }
tracing = { optional = true, workspace = true, default-features = true }
futures = { workspace = true, default-features = true }
any_spawner = { workspace = true }
@@ -25,9 +25,9 @@ send_wrapper = { workspace = true, default-features = true }
# serialization formats
serde = { workspace = true, default-features = true }
js-sys = { optional = true , workspace = true, default-features = true }
wasm-bindgen = { workspace = true, optional = true , default-features = true }
serde_json = { workspace = true , default-features = true }
js-sys = { optional = true, workspace = true, default-features = true }
wasm-bindgen = { workspace = true, optional = true, default-features = true }
serde_json = { workspace = true, default-features = true }
[features]
ssr = []

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_meta"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_router"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston", "Ben Wishovich"]
license = "MIT"
readme = "../README.md"

View File

@@ -1,6 +1,6 @@
[package]
name = "leptos_router_macro"
version = { workspace = true }
version = "0.8.5"
authors = ["Greg Johnston", "Ben Wishovich"]
license = "MIT"
readme = "../README.md"

38
scripts/bump.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -e
LAST_TAG=$(git describe --tags --abbrev=0 --match "v*")
# Get package name and manifest_path for all members
PACKAGES=$(cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | "\(.name):::\(.manifest_path)"')
for PKG in $PACKAGES; do
NAME="${PKG%%:::*}"
MANIFEST_PATH="${PKG##*:::}"
DIR=$(dirname "$MANIFEST_PATH")
# Check if any file in the package directory changed since the last tag
if git diff --quiet "$LAST_TAG"..HEAD -- "$DIR"; then
continue
fi
echo "Changes detected in $NAME ($DIR)"
PS3="Select version bump for $NAME: "
select BUMP in patch minor major; do
if [[ "$BUMP" == "patch" || "$BUMP" == "minor" || "$BUMP" == "major" ]]; then
break
else
echo "Invalid option"
fi
done
if cargo set-version --help >/dev/null 2>&1; then
cargo set-version --bump "$BUMP" --package "$NAME"
else
echo "Please install cargo-edit first."
exit 1
fi
echo "$NAME bumped to $BUMP"
done

View File

@@ -5,7 +5,7 @@ license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "RPC for any web framework."
readme = "../README.md"
version = { workspace = true }
version = "0.8.5"
rust-version.workspace = true
edition.workspace = true

View File

@@ -4,7 +4,7 @@ authors = ["Greg Johnston"]
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "The default implementation of the server_fn macro without a context"
version = { workspace = true }
version = "0.8.5"
edition.workspace = true
[lib]

View File

@@ -5,16 +5,22 @@ license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "RPC for any web framework."
readme = "../README.md"
version = { workspace = true }
version = "0.8.6"
edition.workspace = true
[dependencies]
quote = { workspace = true, default-features = true }
syn = { features = ["full", "parsing", "extra-traits"] , workspace = true, default-features = true }
syn = { features = [
"full",
"parsing",
"extra-traits",
], workspace = true, default-features = true }
proc-macro2 = { workspace = true, default-features = true }
xxhash-rust = { features = ["const_xxh64"] , workspace = true, default-features = true }
xxhash-rust = { features = [
"const_xxh64",
], workspace = true, default-features = true }
const_format = { workspace = true, default-features = true }
convert_case = { workspace = true , default-features = true }
convert_case = { workspace = true, default-features = true }
[build-dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "wasm_split_helpers"
version = "0.1.0"
version = "0.1.2"
authors = ["Greg Johnston"]
license = "MIT"
readme = "README.md"

View File

@@ -1,6 +1,6 @@
[package]
name = "wasm_split_macros"
version = "0.1.0"
version = "0.1.2"
authors = ["Greg Johnston"]
license = "MIT"
readme = "README.md"

View File

@@ -136,7 +136,7 @@ pub fn wasm_split(args: TokenStream, input: TokenStream) -> TokenStream {
static #split_loader_ident: ::leptos::wasm_split_helpers::LazySplitLoader = ::leptos::wasm_split_helpers::LazySplitLoader::new(#load_module_ident);
}
#[link(wasm_import_module = "/pkg/__wasm_split.js")]
#[link(wasm_import_module = "/pkg/__wasm_split.______________________.js")]
extern "C" {
#[no_mangle]
fn #load_module_ident (callback: unsafe extern "C" fn(*const ::std::ffi::c_void, bool), data: *const ::std::ffi::c_void) -> ();