396 Commits

Author SHA1 Message Date
Alex Parrill
c5d486160c
Add use_ref (#3548)
* Add use_ref

Works like use_mut_ref but doesn't forcibly wrap your type in `RefCell`,
so that users can handle more complex or specialized cases of interior
mutability.

* mention use_ref hook in docs

---------

Co-authored-by: Martin Molzer <WorldSEnder@users.noreply.github.com>
2024-08-04 01:32:04 +05:00
Elina
b8d3e21ca0
Raise MSRV to 1.76 (#3693)
* raise msrv to 1.76

* remove older impls

* bless trybuild tests

* Update packages/yew/src/scheduler.rs
2024-08-03 16:09:34 +05:00
gcmutator
43a78bd3ab
remove repetitive words (#3628)
Signed-off-by: gcmutator <329964069@qq.com>
2024-07-26 14:39:11 +00:00
Elina
37e668b19b
Fix CI for 1.80 (#3691)
* fix rust 1.80 lints

* attempt to fix benchmark ci
2024-07-25 20:33:14 +05:00
Tim Kurdov
89c9dfe527
Allow Self in prop fields (#3569)
* added replacement of `Self` in fields and attrs

* added more tests

* todo -> unimplemented
2024-07-25 19:25:52 +05:00
Tomoaki Kawada
62567cc297
feat(macro): add inert to the boolean attributes list (#3678) 2024-07-25 19:19:30 +05:00
Cecile Tonglet
08aef70f1a
Update implicit-clone to 0.5.0 (#3682)
Fixes #3659
2024-07-25 19:18:59 +05:00
Tomoaki Kawada
af68646258
Fix CI (#3679)
* refactor(yew-macro): ignore `dead_code` for `Lint::lint` if not `cfg(yew_lints)`

`dead_code` has become more precise in recent toolchains.

* refactor(yew): stop using `static mut` hack to get static reference to an empty `Vec<VNode>`

The old code triggered `static_mut_refs` lint in the latest stable
toolchain.

* refactor(yew): ignore `clippy::to_string_trait_impl` for `impl ToString for Classes`

* perf(yew,yew-router): use `const {}` syntax for `thread_local!`

Addresses `clippy::thread_local_initializer_can_be_made_const`.
May provide performance benefits.

* refactor(yew): remove `yew::html::component::lifecycle::Stateful::as_any_mut`

Addresses `dead_code` lint.

* refactor(yew): ignore `clippy::incompatible_msrv` for `TopologicalQueue::pop_topmost` if Rust version >= 1.66

The use of `BTreeMap::pop_first` (stabilized in 1.66) is already gated by
`#[rustversion(since(1.66))]` hence we can ignore this warning.

* refactor(yew): gate `yew::html::component::lifecycle::Stateful::{rendered,props_changed}` by `cfg(feature = "csr")`

Addresses `dead_code` lint.

* test(website-test): ignore `clippy::needless_doctest_main`

* doc(examples): replace `clone` + assignment with `clone_from`

Addresses `clippy::assigning_clones` lint.
2024-07-25 03:39:38 +00:00
Finn Bear
dbdd3b78e1
Namespace support for VRaw. (#3640)
* WIP.

* fmt.

* Fix parameter order.

* Cleanup.

* Change the docs.

* WIP test.

* fmt.

* Cast node to element.

* Fix test.

* Fix html in test.

* Typo.
2024-05-10 04:25:22 +02:00
Michael Meyer
e9739fc9ce
Add generic type hints to boxed hooks (#3633)
When using complex type constructs in a boxed hook, the compiler could get confused and request a type hint on the call to the inner function.  This adds all generic types of the outer hook function as explicit arguments to the call of the inner function.

* Add generic types to boxed hooks
* Create failing test

---------

Co-authored-by: Michael Meyer <ichmed95@gmail.com>
2024-03-14 11:24:20 +00:00
WorldSEnder
95c29cc684
Fix: Hydratation of empty lists next to components. (#3630)
* fix: hydration of empty VLists

an additional (empty) VText was inserted in the second reconciliation
pass, which tried to insert itself in an invalid position. This internal
error was masked by a "fix" of the internal slot of components, which
should have still been trapped to signal that the second fixup render
was not yet run.

* fixup: new lints from clippy
2024-03-12 18:25:11 +05:00
Yann Dirson
16f26d82e7
use_state: fix/clarify docstring (#3570)
Signed-off-by: Yann Dirson <ydirson@free.fr>
2023-12-23 19:07:29 +09:00
Cecile Tonglet
b25703a035
Add yew-autoprops to website documentation (#3505) 2023-12-22 08:06:27 +01:00
Tim Kurdov
8d2cfdee69
add the methods and From impls (#3519) 2023-11-05 21:32:04 +09:00
Muhammad Hamza
d790e1beab
Allow setting JsValue as properties (#3458)
* Allow setting JsValue as properties

* fix tests & CI

* Rc::new

* Workaround for Rust <1.72

* more Rc::new

* ci green?
2023-10-28 22:24:34 +05:00
dependabot[bot]
40ed8a205d
Bump the cargo-deps group with 5 updates (#3490)
Bumps the cargo-deps group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.189` | `1.0.190` |
| [futures](https://github.com/rust-lang/futures-rs) | `0.3.28` | `0.3.29` |
| [clap](https://github.com/clap-rs/clap) | `4.4.6` | `4.4.7` |
| [base64](https://github.com/marshallpierce/rust-base64) | `0.21.4` | `0.21.5` |
| [fake](https://github.com/cksac/fake-rs) | `2.8.0` | `2.9.1` |


Updates `serde` from 1.0.189 to 1.0.190
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

Updates `futures` from 0.3.28 to 0.3.29
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29)

Updates `clap` from 4.4.6 to 4.4.7
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7)

Updates `base64` from 0.21.4 to 0.21.5
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.4...v0.21.5)

Updates `fake` from 2.8.0 to 2.9.1
- [Commits](https://github.com/cksac/fake-rs/commits)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: fake
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-29 00:45:06 +09:00
Tim Kurdov
bae0141f98
Remove deprecated class=(...) syntax (#3497)
* removed class=(...) syntax

* made DynamicName::expr a group instead of a block

* fixed tests, silenced all unused_must_use warnings

* fixed wasm test
2023-10-29 00:36:56 +09:00
Muhammad Hamza
0eb167ac78
Remove ToHtml trait (#3453)
* remove ToHtml trait

* re-add display impls

* make Vec::clone expilit

* fix doc

* fix conflicting impls

Into<Html> and Display can't be implemented on the same type

* update docs

* blanket impl won't work here

* bring back `Vec<VNode>: IntoPropValue<VNode>`

* macro tests

* Revert "fix conflicting impls"

This reverts commit 52f3c1fa8174489ba9cc783d708a49cc7b9c90a4.
These impls are fine now

* make examples compile

* .clone() should be before .into()

* Rc VList

* Make use of ImplicitClone and AttrValue in example

(There is more work to do but it's complicated so I will do it in
another PR)

* Impl ImplicitClone on VChild

---------

Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2023-10-28 16:11:28 +05:00
Cecile Tonglet
7f45af3a66
Make Html (VNode) cheap to clone (#3431)
* Make VNode cheap to clone

* Faster clone for list and portal

* Fixes hopefully good

* clippy

* more fixes hopefully good

* rustfmt

* More fixes

* more fixes...

* more fixes

* Update element-fail.stderr

* Macro fixes...

* CLEANUP

* Benchmark with divan

* WIP workflow

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Use the 2 workflows approach, will fix after merge if not working

* CLEANUP

* can i push that change here pretty please

* Trigger CI
2023-10-27 21:43:03 +05:00
dependabot[bot]
9553a3b858
Bump the cargo-deps group with 11 updates (#3475)
Bumps the cargo-deps group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.67` | `1.0.69` |
| [gloo-worker](https://github.com/rustwasm/gloo) | `0.4.0` | `0.4.1` |
| [serde](https://github.com/serde-rs/serde) | `1.0.188` | `1.0.189` |
| [tracing](https://github.com/tokio-rs/tracing) | `0.1.37` | `0.1.40` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.49` | `1.0.50` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.32.0` | `1.33.0` |
| [regex](https://github.com/rust-lang/regex) | `1.9.6` | `1.10.2` |
| [semver](https://github.com/dtolnay/semver) | `1.0.19` | `1.0.20` |
| [strum_macros](https://github.com/Peternator7/strum) | `0.25.2` | `0.25.3` |
| [time](https://github.com/time-rs/time) | `0.3.29` | `0.3.30` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.4.1` | `1.5.0` |


Updates `proc-macro2` from 1.0.67 to 1.0.69
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.67...1.0.69)

Updates `gloo-worker` from 0.4.0 to 0.4.1
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/gloo/compare/0.4.0...gloo-worker-v0.4.1)

Updates `serde` from 1.0.188 to 1.0.189
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.188...v1.0.189)

Updates `tracing` from 0.1.37 to 0.1.40
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.37...tracing-0.1.40)

Updates `thiserror` from 1.0.49 to 1.0.50
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

Updates `tokio` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.33.0)

Updates `regex` from 1.9.6 to 1.10.2
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.6...1.10.2)

Updates `semver` from 1.0.19 to 1.0.20
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.19...1.0.20)

Updates `strum_macros` from 0.25.2 to 0.25.3
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

Updates `time` from 0.3.29 to 0.3.30
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.29...v0.3.30)

Updates `uuid` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: gloo-worker
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: strum_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-22 18:28:24 +09:00
Shihpin Tseng
04909dd942
Agent: Avoiding clone of WorkerBridge and WorkerProviderState (#3435)
* Agent V2: fix #3434 by avoiding clone of WorkerBridge

* remove the Clone of WorkerProviderState
2023-10-09 17:01:03 +05:00
Muhammad Hamza
22b3706d56
Add IntoPropValue impl for converting to VList (#3444) 2023-10-05 19:28:43 +09:00
Cecile Tonglet
194a1e6059
Add CallbackRef that takes ref in argument instead of value (#3419)
* Add CallbackRef that takes ref in argument instead of value

* Fix up commented reform/filter_reform

* Add reform_ref functions to create CallbackRef instead

* Use macro_rules to avoid code duplication

* Add tests and fix wrong types

* Update doc comments

* clippy

* more clippy

---------

Co-authored-by: KirillSemyonkin <burnytc@gmail.com>
2023-09-29 20:58:24 +09:00
Tim Kurdov
753bafefdd
Remove the dependency on boolinator (#3420)
* removed boolinator from dependencies of yew-macro

* removed boolinator from the dependencies of tools/website-test

* fixed formatting

* removed a lint fix
2023-09-29 20:33:24 +09:00
GitHub Action
4c3bcdc692 (cargo-release) version {{crate_name}}-v{{version}} 2023-09-29 11:04:56 +00:00
Tim Kurdov
0f2fc59b54
Updated the docs of set_event_bubbling (#3391)
The removed paragraph describes a caveat of the framework which is no longer true
2023-09-23 22:02:44 +09:00
dependabot[bot]
ca2aa2a4a6
Bump the cargo dependencies with 36 updates (#3408)
* Bump the cargo-deps group with 36 updates

Bumps the cargo-deps group with 36 updates:

| Package | From | To |
| --- | --- | --- |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.63` | `1.0.67` |
| [quote](https://github.com/dtolnay/quote) | `1.0.29` | `1.0.33` |
| [syn](https://github.com/dtolnay/syn) | `2.0.27` | `2.0.37` |
| [rustversion](https://github.com/dtolnay/rustversion) | `1.0.12` | `1.0.14` |
| [trybuild](https://github.com/dtolnay/trybuild) | `1.0.80` | `1.0.85` |
| [gloo-worker](https://github.com/rustwasm/gloo) | `0.3.0` | `0.4.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.168` | `1.0.188` |
| [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.12` | `0.2.15` |
| [gloo](https://github.com/rustwasm/gloo) | `0.8.1` | `0.10.0` |
| [urlencoding](https://github.com/kornelski/rust_urlencoding) | `2.1.2` | `2.1.3` |
| [slab](https://github.com/tokio-rs/slab) | `0.4.8` | `0.4.9` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.44` | `1.0.48` |
| [implicit-clone](https://github.com/yewstack/implicit-clone) | `0.4.0` | `0.4.1` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.29.0` | `1.32.0` |
| [jemallocator](https://github.com/tikv/jemallocator) | `0.5.0` | `0.5.4` |
| [average](https://github.com/vks/average) | `0.13.1` | `0.14.1` |
| [tabled](https://github.com/zhiburt/tabled) | `0.12.2` | `0.14.0` |
| [indicatif](https://github.com/console-rs/indicatif) | `0.17.5` | `0.17.6` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.104` | `1.0.107` |
| [clap](https://github.com/clap-rs/clap) | `4.3.9` | `4.4.4` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.71` | `1.0.75` |
| [chrono](https://github.com/chronotope/chrono) | `0.4.26` | `0.4.31` |
| [git2](https://github.com/rust-lang/git2-rs) | `0.17.2` | `0.18.1` |
| [regex](https://github.com/rust-lang/regex) | `1.8.4` | `1.9.4` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.11.18` | `0.11.20` |
| [semver](https://github.com/dtolnay/semver) | `1.0.17` | `1.0.18` |
| [gloo-net](https://github.com/rustwasm/gloo) | `0.3.0` | `0.4.0` |
| [base64](https://github.com/marshallpierce/rust-base64) | `0.21.2` | `0.21.4` |
| [strum_macros](https://github.com/Peternator7/strum) | `0.25.0` | `0.25.2` |
| [log](https://github.com/rust-lang/log) | `0.4.19` | `0.4.20` |
| [fake](https://github.com/cksac/fake-rs) | `2.6.1` | `2.8.0` |
| [time](https://github.com/time-rs/time) | `0.3.22` | `0.3.28` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.4.0` | `1.4.1` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.4.0` | `1.5.0` |
| [axum](https://github.com/tokio-rs/axum) | `0.6.18` | `0.6.20` |
| [postcard](https://github.com/jamesmunns/postcard) | `1.0.6` | `1.0.7` |


Updates `proc-macro2` from 1.0.63 to 1.0.67
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.63...1.0.67)

Updates `quote` from 1.0.29 to 1.0.33
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.29...1.0.33)

Updates `syn` from 2.0.27 to 2.0.37
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.27...2.0.37)

Updates `rustversion` from 1.0.12 to 1.0.14
- [Release notes](https://github.com/dtolnay/rustversion/releases)
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.12...1.0.14)

Updates `trybuild` from 1.0.80 to 1.0.85
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.80...1.0.85)

Updates `gloo-worker` from 0.3.0 to 0.4.0
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/gloo/compare/0.3.0...0.4.0)

Updates `serde` from 1.0.168 to 1.0.188
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.168...v1.0.188)

Updates `prettyplease` from 0.2.12 to 0.2.15
- [Release notes](https://github.com/dtolnay/prettyplease/releases)
- [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.12...0.2.15)

Updates `gloo` from 0.8.1 to 0.10.0
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/gloo/commits)

Updates `urlencoding` from 2.1.2 to 2.1.3
- [Commits](https://github.com/kornelski/rust_urlencoding/commits)

Updates `slab` from 0.4.8 to 0.4.9
- [Release notes](https://github.com/tokio-rs/slab/releases)
- [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/slab/compare/v0.4.8...v0.4.9)

Updates `thiserror` from 1.0.44 to 1.0.48
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.44...1.0.48)

Updates `implicit-clone` from 0.4.0 to 0.4.1
- [Commits](https://github.com/yewstack/implicit-clone/compare/v0.4.0...v0.4.1)

Updates `tokio` from 1.29.0 to 1.32.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.32.0)

Updates `jemallocator` from 0.5.0 to 0.5.4
- [Release notes](https://github.com/tikv/jemallocator/releases)
- [Changelog](https://github.com/tikv/jemallocator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tikv/jemallocator/compare/0.5.0...0.5.4)

Updates `average` from 0.13.1 to 0.14.1
- [Commits](https://github.com/vks/average/commits)

Updates `tabled` from 0.12.2 to 0.14.0
- [Changelog](https://github.com/zhiburt/tabled/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zhiburt/tabled/commits/v0.14.0)

Updates `indicatif` from 0.17.5 to 0.17.6
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/compare/0.17.5...0.17.6)

Updates `serde_json` from 1.0.104 to 1.0.107
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.104...v1.0.107)

Updates `clap` from 4.3.9 to 4.4.4
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.3.9...v4.4.4)

Updates `anyhow` from 1.0.71 to 1.0.75
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.75)

Updates `chrono` from 0.4.26 to 0.4.31
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.26...v0.4.31)

Updates `git2` from 0.17.2 to 0.18.1
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.17.2...git2-0.18.1)

Updates `regex` from 1.8.4 to 1.9.4
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.4...1.9.4)

Updates `reqwest` from 0.11.18 to 0.11.20
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.18...v0.11.20)

Updates `semver` from 1.0.17 to 1.0.18
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.17...1.0.18)

Updates `gloo-net` from 0.3.0 to 0.4.0
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Changelog](https://github.com/rustwasm/gloo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/gloo/compare/0.3.0...0.4.0)

Updates `base64` from 0.21.2 to 0.21.4
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.4)

Updates `strum_macros` from 0.25.0 to 0.25.2
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

Updates `log` from 0.4.19 to 0.4.20
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.19...0.4.20)

Updates `fake` from 2.6.1 to 2.8.0
- [Commits](https://github.com/cksac/fake-rs/commits)

Updates `time` from 0.3.22 to 0.3.28
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.22...v0.3.28)

Updates `uuid` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1)

Updates `bytes` from 1.4.0 to 1.5.0
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.4.0...v1.5.0)

Updates `axum` from 0.6.18 to 0.6.20
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.6.18...axum-v0.6.20)

Updates `postcard` from 1.0.6 to 1.0.7
- [Release notes](https://github.com/jamesmunns/postcard/releases)
- [Changelog](https://github.com/jamesmunns/postcard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jamesmunns/postcard/compare/v1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: rustversion
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: trybuild
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: gloo-worker
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: prettyplease
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: gloo
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: urlencoding
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: slab
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: implicit-clone
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: jemallocator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: average
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: tabled
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: indicatif
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: git2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: gloo-net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: strum_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: fake
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-deps
- dependency-name: axum
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
- dependency-name: postcard
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-deps
...

Signed-off-by: dependabot[bot] <support@github.com>

* bless stderr files after syn update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
2023-09-23 14:57:06 +02:00
Tim Kurdov
a2786b1e14
Improve Context API docs (#3409)
* improved context API docs, added example of struct component context producer

* forgot to commit that oops
2023-09-23 14:56:06 +02:00
Pouriya
2cbe6cee8a
feat: support arrays for Classes/classes!() (#3393)
* feat: support arrays for Classes/classes!()

* style: update
2023-09-23 21:38:59 +09:00
Tim Kurdov
ce7702e9e7
Remove special handing of struct fields of type Option in derive(Properties) (#3398)
* removed PropAttr::Option

* fixed formatting

* removed an irrelevant test

* added a test for converting value into Some(value) in the html! macro

* added more tests for derive(Properties)

* added more tests (again)
2023-09-23 21:34:30 +09:00
Kaede Hoshikawa
eec07583f1
Agent v2 (#2773)
* Make private bridges.

* Add worker agent.

* Add task type.

* Memorised Task.

* Add station.

* Add Station Agent.

* Subscription.

* Station hooks.

* Reactor Agents.

* Add more description.

* Restart station when closed.

* Remove Station restart.

* Send finish message to bridges.

* Adds a method to read whether a bridge has received finish message for a subscription.

* Update Reactor Agent.

* Decouple macros from it.

* Reactor Macro.

* Reactivate Task.

* Slightly adjust API.

* Add documentation for reactor agents.

* Remove Station.

* Create Task macro.

* Migrate Example.

* Simplify Task Agent Design.

* Implement Sink.

* Agent -> Task in Example.

* Switch to Registrable.

* AgentScopeExt.

* Finish AgentScopeExt.

* Prelude.

* Adjust prelude.

* Fix imports.

* Yew Agent.

* Switch to upstreamed version of gloo.

* Add stub reset.

* Remove example.

* Add Reset for Worker agents.

* merge fix-ci into "agent-v2"

* Switch to released version of gloo.

* Adds Runtime.

* A LocalRuntime.

* Add note.

* Add SSR benchmark.

* Only create default runtime if no custom runtime is set.

* Use jemalloc for benchmarking.

* Remove once_cell for web assembly.

* Add time.

* Fix wasm_bindgen.

* Adjust inlining.

* merge local-runtime into "agent-v2"

* Add reset.

* Simplify task agent.

* SSR for tasks.

* Optimise benchmark output.

* Optimise BufWriter.

* Add json output.

* Add Benchmark Workflow.

* merge local-runtime into "agent-v2"

* Makes Prepared States to be Rc'ed.

* Move example.

* Update example.

* Implement prepared state for memorised tasks.

* Make prepared states work on none runtime as well.

* Finished prepared output.

* Remove local set from tests.

* Fix Workflow syntax.

* Exclude benchmark from doc tests.

* Tidy up the code.

* Remove HashSet.

* Fix rustfmt.

* Some optimisation.

* Use postcard.

* Remove allocations.

* Weak Ref.

* Adjust feature flags.

* Adds a pinned channel implementation.

* Make Send bound explicit.

* Migrate to pinned channel.

* Implement on immutable reference.

* Rename agent channel method.

* Fix Sink close.

* Fix closing.

* Remove old platform.

* Migrate to new macro.

* Port Oneshot Agent.

* Migrate reactor to gloo-worker.

* Implement ScopeExt for Reactor.

* Remove unneeded checks.

* Update example note.

* Fix doc tests.

* Add an example for reactor agent.

* Rename Prime to PrimeReactor.

* Update Crate Information.

* Remove unused dependencies.

* Remove unused dependencies.

* Update documentation.

* Rename Bridge to Runner.

* Update documentation.

* Update documentation.

* Update State name.

* Merge outputs state for subscriptions.

* Update documentation.

* Fix doc link.

* Make code link code link.

* Make CODEC -> C.

* Update Debug Implementation to type_name.

* Fix readme.
2023-09-18 17:30:02 +09:00
Sean Bruton
73f4bb91cf
Fix rust-analyzer non_camel_case_types warning (#3388) 2023-09-06 00:35:31 +05:00
Kaede Hoshikawa
7ef8e0da18
Mark VNode as #[must_use] (#3387)
This fixes for Rust Release 1.72.
Rust 1.72 makes `From::from` a must use, which effectively makes `html!` a must use.

I have tried various ways to suppress `unused_must_use` for `html!`.
However, it is not effective. So I added `let _ = ` to tests.

I have also made `VNode` a `#[must_use]` so the diagnostic will be easier to understand.

---

* Fix clippy.

* Make html must use.
2023-08-28 20:01:07 +05:00
Tim Kurdov
3c4ac56980
Add IntoPropValue implementation to convert from Cows to AttrValue (#3346)
* added IntoPropValue impls to & from Cows

* fixed formatting & test's expected output

* fixed formatting

* fixed macro test's expected output

* removed conversion to String & Rc

* fixed macro tests

* fixed macro tests
2023-08-21 21:31:29 +05:00
Tim Kurdov
afde963230
Fix incorrect text escaping during SSR (#3381)
Fixes: #3129

---

* (#3129) fixed incorrect text escaping during SSR

* fixed formatting issues

* moved SpecialVTagKind to feat_ssr, improved its description

* added a test case for multiple text nodes in a style tag

* fixed formatting

* SpecialVTagKind -> VTagKind
2023-08-21 16:29:46 +00:00
Kaede Hoshikawa
b28e69a574
Remove compatibility code before 1.64 (#3379) 2023-08-19 22:57:16 +09:00
Muhammad Hamza
42e1890f03
Update signature of use_prepared_state/use_transitive_state (#3376)
* Update signature of use_prepared_state

* Update signature of use_transitive_state

* Migration guide + example

* bless trybuild tests

* please fmt

* there's one usage here as well

* use_prepared_state_with_suspension needs updates

* updated tests
2023-08-19 21:58:36 +09:00
Muhammad Hamza
41d42fb89d
Make signature of use_future_with consistent (#3372) 2023-08-15 20:32:27 +09:00
Mikita Bykau
46bbb0cfe5
Added the ability to pass state through a link. (#3358)
* state-for-link

* S generic as last generic

* state as last clone
2023-08-14 17:13:00 +05:00
Muhammad Hamza
3e9e253e66
Keep checked attribute for elements without special handling (#3373)
* Return checked attr for non-input elements

* Add tests

* fine
2023-08-12 02:16:06 +09:00
Xu Shaohua
a9ab085e74
Fix input dynamic text rendered as textarea (#3239) (#3301) 2023-08-05 18:58:19 +05:00
dependabot[bot]
4023c88c39
Bump indexmap from 1.9.3 to 2.0.0 (#3322)
* Bump indexmap from 1.9.3 to 2.0.0

Bumps [indexmap](https://github.com/bluss/indexmap) from 1.9.3 to 2.0.0.
- [Changelog](https://github.com/bluss/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/bluss/indexmap/compare/1.9.3...2.0.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update dependency minimum version

* clippy

* Bump MSRV to 1.64

* more clippy

* Update action that fails (probably outdated)

* Bump implicit-clone to 0.3.8

* Forgot to bump MSRV in some places

* Forgot to update setup-chromedriver in one place

* Bump implicit-clone to 0.4.0

* Update stderr files

* clippy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cecile Tonglet <cecile.tonglet@cecton.com>
2023-07-29 22:00:53 +09:00
Kaede Hoshikawa
8b9e164d7e
Update Dependencies to Fix CI (#3326)
* Update dependencies.

* Update dependencies.

* Fix gloo breaking change.
2023-07-01 01:33:18 +00:00
Jedd Dryden
27f537a288
Encode Path Parameters in yew-router (#3187)
* Escape for URL in `routable_derive`

* Fixed generic datatypes bug

* FQN

* FQN Again

* remove encode_for_url from public API

* fmt

---------

Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
2023-06-21 22:37:25 +09:00
Kaede Hoshikawa
71b0f206a1
Allow any type to be used as Children (take 2) (#3289)
* Partially copy useful implementation.

* Adjust conversion.

* Temporary fix iterator.

* Add ToString implementation.

* Add Renderable trait.

* Make Macro tests pass.

* Add tests for render_prop as Children.

* Update benchmark and Children used in yew packages.

* Selective suppress lints.

* Rollback unintentional rollback.

* Fix rustfmt.

* Remove unneeded implementation.

* Update Comment.

* Rollback more changes.

* Rollback more changes.

* Fix website.

* Fix documentation tests.

* Add prelude.

* Fix test.

* Blanket Implementation for &'_ T for Renderable types.

* Implement Renderable for &str.

* Update signature.

* Update children to Html in examples.

* Remove unnecessary dereferencing.

* Rollback nested_list example.

* Fix comment.

* Convert to Pattern Matching.

* Add tracing issue.

* Rename Renderable to ToHtml.

* Move ToHtml to yew::html.

* Convert more to match pattern.
2023-06-11 15:33:39 +05:00
dependabot[bot]
1d9daa949f
Bump serde from 1.0.160 to 1.0.162 (#3259)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-05 19:29:22 +09:00
Kaede Hoshikawa
9cebb09b58
Update dependencies. (#3253) 2023-04-30 20:42:43 +05:00
Kaede Hoshikawa
dbe671e8c4
Fix clippy for Rust 1.69 (#3246)
* Fix clippy for Rust 1.69.

* use std::marker::PhantonData.

* Change callee to caller.
2023-04-28 23:32:11 +05:00
Dillen Meijboom
d0205a8ea3
feat: implement hydration for vraw (#3245) 2023-04-26 02:48:04 +05:00
dependabot[bot]
c38de0e03c
Bump tokio from 1.26.0 to 1.27.0 (#3216)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 11:40:24 +03:00