Release Post: https://sycamore.dev/post/announcing-v0-9-0
Migration Guide: https://sycamore.dev/book/migration/0-8-to-0-9
What's Changed
- Change NAME_SPACE to NAMESPACE by @sokratisvas in #482
- Improve binding ergonomics for
RcSignal
by @danielalvsaaker in #489 - Use fully qualified method calls in macro for bound signals by @danielalvsaaker in #499
- fix(bug): #500 fix and #501 fix by @danielnehrig in #502
- Rename derive proc-macro
Prop
toProps
by @alexisfontaine in #503 - Fix MDN documentation link of SVG elements by @alexisfontaine in #505
- Rename the derive macro helper attribute
builder
toprop
by @alexisfontaine in #504 - Make
NodeRef
Reactive by @wainwrightmark in #508 - Add data binding for valueAsNumber property by @wainwrightmark in #511
- Fix js-framework-benchmark CI by @lukechu10 in #520
- Fix mismatched link in examples by @nthnd in #524
- Simplify the TodoMVC example code by @lukechu10 in #526
- adding
set_fn
andset_fn_silent
by @blainehansen in #529 - Remove redundant set_value in todomvc example in #530
- Make
create_ref
only allowT: 'static
by @lukechu10 in #519 - Update dependencies to latest by @lukechu10 in #510
GenericNode
v2 by @lukechu10 in #521- Remove legacy component syntax and introduce
Component
trait by @lukechu10 in #533 - Change CSS
color-scheme
with dark mode is toggled on website by @lukechu10 in #534 - Prevent re-running effects inside themselves by @lukechu10 in #539
- (Runtime) Templates by @lukechu10 in #536
- Make
Option<T>
prop fields optional by default by @danielalvsaaker in #531 - Implement ToView manually for types by @lukechu10 in #541
- Fix missing
View::new_dyn_scoped
check at the root by @lukechu10 in #549 - Rename css.md to styling.md and add info on integrations with CSS frameworks by @lukechu10 in #550
- Adopt a logo! by @lukechu10 in #551
- Typed event data + async event handlers by @lukechu10 in #553
- Replace context
HashMap
withVec
and add benchmark by @lukechu10 in #555 - Allow passing through attributes on components by @wingertge in #548
- Wasm bindgen example by @wa1aric in #558
- Add unique ID generation hook by @wingertge in #565
- fixes bind macro problem by @blainehansen in #569
- API docs correction for Functions hydrate_to: "use hydrate_to" can now read and link as "use hydrate". by @StarSapien in #579
- chore: fix formatting and clippy lints by @lukechu10 in #582
- Update render util tests and add nested dyn test by @lukechu10 in #583
- Fix Issue #572 by @wingertge in #573
- Centered badges by @simonhyll in #589
- Add signal equivalent of
create_ref_unsafe
by @wingertge in #586 - Do not add values to the arena drop list if not necessary by @lukechu10 in #552
- Avoid exponential blowup in size of Builder type by @sapphire-arches in #591
- Update syn to v2 by @lukechu10 in #593
- Prepare v0.9.0-beta.1 by @lukechu10 in #594
- Fix builder
bind_value
andbind_checked
calling wasm functions in SSR by @lukechu10 in #608 - Fix #562 / ignore the query parameters when matching a path to a route by @Miroito in #575
- Fix navigating to an anchor and route matching with hash parameters by @lukechu10 in #610
- Update Trunk, NodeJS, and MSRV to 1.65 by @lukechu10 in #611
- Update routing.md by @jhutchins in #613
- fix view! parser to handle dashed attributes with Rust keywords (#620) by @mekanoe in #624
- Update MSRV to 1.72 by @lukechu10 in #625
- Reactivity v3! (Part 1) 🎉 by @lukechu10 in #612
- fix typos & small grammatical errors by @iiiii7d in #627
- Reactivity v3 (Part 2) by @lukechu10 in #626
- Update README.md example with new reactivity system] by @lukechu10 in #629
- Bump postcss from 8.4.23 to 8.4.31 in /website by @dependabot in #628
- Dont suggest wee-alloc in docs by @lukechu10 in #630
- Make batch affect both memos and effects by @lukechu10 in #631
- Repace the
Memo
struct withReadSignal
by @lukechu10 in #632 - Update all dependencies by @lukechu10 in #633
- v0.9.0-beta.2 by @lukechu10 in #634
- Run everything through prettier by @lukechu10 in #635
- Update components documentation for v0.9 by @brynnjmccormick in #637
- Add a CONTRIBUTING.md and remove old contributing docs by @lukechu10 in #636
- Fix panic about current not being a child of parent in clean_children by @lukechu10 in #639
- Re-export
wasm-bindgen
,js-sys
, and event types fromweb-sys
by @lukechu10 in #642 - Add missing docs and more doctests by @lukechu10 in #643
- Move web-sys features from sycamore to sycamore-web by @lukechu10 in #644
- Update Router example to use non-referenced ReadSignal by @noxxxxxious in #647
- Refactor view! by extracting parsing logic from codegen into a new crate by @lukechu10 in #649
- Improve generation of HTML for the hydrate example. by @lukechu10 in #657
- Add underline and bold for navigation improvements by @Hmikihiro in #660
- Temporary fix for book broken navigation by @Hmikihiro in #661
- Update MSRV to 1.73.0 by @lukechu10 in #663
- Remove deploy draft workflow by @lukechu10 in #664
- Update trunk to v0.19.1 and disable minification for hydrate example by @lukechu10 in #665
- Maintenance: fix all the new clippy warnings by @lukechu10 in #666
- Add
track_caller
attribute toprovide_context*
anduse_context
functions by @lukechu10 in #667 - Add 'SubmitEvent' to re-exported events from web_sys crate by @dyanechi in #668
- Replace CountAPI as it got taken down. by @JasonLovesDoggo in #674
- Bump braces from 3.0.2 to 3.0.3 in /website by @dependabot in #675
- Rename the tag type alias by @mtshr in #677
- View Backend v2! (Attempt 2) by @lukechu10 in #679
- Remove
target_wasm32
folder by @lukechu10 in #680 - Update some old docs by @lukechu10 in #681
- Fix
set_fn
to not be silent by @lukechu10 in #682 - v0.9.0-beta.3 by @lukechu10 in #683
- Fix missing version in dependency by @lukechu10 in #684
- fixup: missing keys in Cargo.toml by @lukechu10 in #685
- Update codecov action by @lukechu10 in #686
- fixup: wrong version in docs by @lukechu10 in #687
- Make
ViewHtmlNode
methods useCow<'static, str>
instead of&'static str
by @lukechu10 in #688 - Make
HtmlNode
intopub
by @lukechu10 in #689 - Fix
NoHydrate
should render if not hydrating by @lukechu10 in #690 - Remove
nom
dependency and replace with hand written parser by @lukechu10 in #691 - Reorganize
sycamore-web
by @lukechu10 in #692 - Move
MaybeDyn
to new file and add some impls by @lukechu10 in #693 - Reimplement attribute passthrough, without
attr:xyz
! by @lukechu10 in #694 - Fix suspense rendering async shell during fallback by @lukechu10 in #695
- SSR Streaming by @lukechu10 in #696
- Remove Gitpod by @lukechu10 in #697
- v0.9.0-beta.4 by @lukechu10 in #698
- Fix router on different pathname and hash triggers hard refresh by @lukechu10 in #700
- Fix suspense should create context in global scope by @lukechu10 in #701
- Add umami analytics to website by @lukechu10 in #702
- Update branch name from
master
tomain
by @lukechu10 in #706 - Allow attribute names by using string literal by @Kromgart in #707
- Move
MaybeDyn
tosycamore-reactive
by @lukechu10 in #705 - Add re-exports back to
sycamore-web
by @lukechu10 in #708 - Cleanup some example dependencies by @lukechu10 in #709
- Add missing feature to serde in
http-request(-builder)
examples by @lukechu10 in #710 - Fix #704 - Updating the check whether a view must be dynamic. by @Kromgart in #711
- Support
MaybeDyn<Option<Cow<'static, str>>>
and make some impls more flexible by @lukechu10 in #713 - Remove
tracing
fromsycamore-web
by @lukechu10 in #715 - Support optional attributes by @lukechu10 in #714
- Update faq.md, rust is the 2023-most-desired-language by @liigo in #716
- Transitions v2 + Resources API by @lukechu10 in #719
- cargo fmt by @lukechu10 in #722
- Fix macro hygiene for
console_{log, warn, error, dbg}!
by @lukechu10 in #723 - Update old website to migrate to sycamore.dev by @lukechu10 in #724
- Force redirect home page to new website by @lukechu10 in #725
- Remove old website code by @lukechu10 in #726
- Create SECURITY.md by @lukechu10 in #727
- Update docs to test workflow by @lukechu10 in #728
- Fix build examples workflow by @lukechu10 in #730
- Fix build example workflow again by @lukechu10 in #731
- Implement
Into<View>
for signal like types by @lukechu10 in #732 - New docs for Sycamore v0.9 by @lukechu10 in #729
- Fix hydration mismatch when using
render_to_string_await_suspense
by @lukechu10 in #733 - Fix broken expect test by @lukechu10 in #734
- Fix condition in
Suspense
is not reactive breaking hydration by @lukechu10 in #735 - Fix SSR blocking mode removing suspended content after load by @lukechu10 in #736
- Make
SsrNode
automatically create reactive nodes by default by @lukechu10 in #737 - Reimplement SSR streaming with
FuturesUnordered
by @lukechu10 in #738 - Do not track callback in
on
function callback by @lukechu10 in #740 - Fix do not track nested reactivity in
map_keyed
/map_indexed
by @lukechu10 in #742 - Slightly better error messages for read/updating a signal while updating/reading by @lukechu10 in #745
- Support
impl Trait
syntax withinline_props
by @davidon-top in #746
New Contributors
- @sokratisvas made their first contribution in #482
- @danielnehrig made their first contribution in #502
- @alexisfontaine made their first contribution in #503
- @wainwrightmark made their first contribution in #508
- @nthnd made their first contribution in #524
- @blainehansen made their first contribution in #529
- @wingertge made their first contribution in #548
- @wa1aric made their first contribution in #558
- @StarSapien made their first contribution in #579
- @simonhyll made their first contribution in #589
- @sapphire-arches made their first contribution in #591
- @Miroito made their first contribution in #575
- @jhutchins made their first contribution in #613
- @mekanoe made their first contribution in #624
- @iiiii7d made their first contribution in #627
- @brynnjmccormick made their first contribution in #637
- @noxxxxxious made their first contribution in #647
- @Hmikihiro made their first contribution in #660
- @dyanechi made their first contribution in #668
- @JasonLovesDoggo made their first contribution in #674
- @mtshr made their first contribution in #677
- @Kromgart made their first contribution in #707
- @liigo made their first contribution in #716
- @davidon-top made their first contribution in #746
Full Changelog: 0.8.2...0.9.0