dioxus/packages/core/CHANGELOG.md

62 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v0.1.3 (2021-12-15)

Documentation

  • update local examples and docs to support new syntaxes
  • fix table
  • more docs
  • strong improvmenets, first major section done
  • start on components
  • lnks to projects
  • big updates to the reference
  • examples
  • more docs
  • move around examples
  • move into a fromjs tutorial
  • add some more sources in the core implementation
  • update cargo tomls

New Features

  • move back to combined cx/props

  • bubbling

  • it compiles once more

  • should be functional across the boar

  • wire tasks up

  • wire up linked nodes

  • it properly bubbles

  • upgrade syntax

  • fake bubbling

  • events bubble now

  • pull children out of component definition

  • cleanuup

  • full html support

  • improve FC handling to allow lifetimes of parent

  • improve safety

  • massage lifetimes

  • support desktop more completely

  • add update functionality to useref

  • desktop functioning well

  • shared state mechanisms

  • mutations

  • re-enable suspense

  • amazingly awesome error handling

  • proper handling of events

  • keyed diffing!!

  • update root props

  • some docs, cleaning

  • more and more sophisticated diff

  • a new vnode type for anchors

  • code quality improvements for core

  • mvoe away from compound context

  • wire up resource pool

  • make hooks free-functions

  • transition to cx, props

  • omg what a dumb mistake

  • suspense!

  • bless up, no more segfaults

  • more suspended nodes!

  • wire up event delegator for webview

  • fix some lifetime issues

  • move over to push based mechanism

  • architecture document and edit list

  • task system works but I broke the other things :(

  • rebuild doesn't return errors

  • add aria

  • buff up html allowed attributes

  • enable components in ssr

  • keyed diffing

  • static node infrastructure and ssr changes

  • tests and benchmarks

  • dedicated mutations module

  • refactor out the hooks implementation

  • fix compiling

  • move webview to wry

  • beaf up the use_state hook

  • namespaced attributes this commit adds namespaced attributes. This lets us support attribute groups, and thus, inline styles.

    This namespaced attribute stuff is only available for styles at the moment, though it theoretically could be enabled for any other attributes.

  • add edits back! and more webview support! This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant and allows us to only render parts of the page at a time.

    This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.

  • two calculator examples

  • move to slotmap

  • integrate serialization and string borrowing This commit adds lifetimes to the diff and realdom methods so consumers may borrow the contents of the DOM for serialization or asynchronous modifications.

  • events work again!

  • props memoization is more powerful This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.

    Props that have a generic parameter are opted-out of the partialeq requirement and props without lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.

  • todomvc

  • somewhat working with rc and weak

  • dyn scope

  • update builder

Bug Fixes

  • really big bug around hooks
  • desktop and mobile
  • it compiles again
  • use annotation method from rust/58052 to fix closure lifetimes
  • messed up how lifetimes worked, need to render once per component
  • all the bugs!
  • tags

Performance

  • remove global allocation for props
  • refcell to cell for hookidx

Commit Statistics

  • 397 commits contributed to the release over the course of 335 calendar days.
  • 382 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

view details
  • Uncategorized
    • tags (a33f770)
    • Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0 (3a706ac)
    • update cargo tomls (e4c06ce)
    • Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0 (270dfc9)
    • update local examples and docs to support new syntaxes (4de16c4)
    • fix table (e495b09)
    • fix ssr (ded9696)
    • remove portals completely (2fd56e7)
    • some basic cleaning (f746793)
    • go back to noisy lifetime solution (8daf7a6)
    • clean up the core crate (e6c6bbd)
    • rename fc to component (1e4a599)
    • docs (8814977)
    • polish (8bf57dc)
    • update hooks (597a045)
    • really big bug around hooks (52c7154)
    • better desktop support (25a8411)
    • move back to combined cx/props (96b3d56)
    • rename (36d89be)
    • bubbling (19df1bd)
    • it compiles once more (8acdd2e)
    • some docs and suspense (93d4b8c)
    • update readme (9bd56ee)
    • should be functional across the boar (74c6211)
    • move examples around (1e6e5e6)
    • updates to router (bab21a0)
    • wire tasks up (55e6dd9)
    • wire up linked nodes (c10c1f4)
    • add router (d298b62)
    • docs and router (a5f05d7)
    • it properly bubbles (9d8c5ca)
    • upgrade syntax (fd93ee8)
    • more docs (9874f34)
    • strong improvmenets, first major section done (54d050c)
    • fake bubbling (11757dd)
    • remove scopechildren in favor of elements directly (574d7fd)
    • remove send requirement on root props (5a21493)
    • events bubble now (f223406)
    • move hooklist into scope (b9fc5fc)
    • Merge branch 'master' into jk/remove_node_safety (db00047)
    • bubbling reserves nodes (b6262ed)
    • move testdom methods into virtualdom (d2f0547)
    • pull children out of component definition (2cf90b6)
    • Merge branch 'master' of https://github.com/jkelleyrtp/dioxus (60d6eb2)
    • Various typos/grammar/rewording (5747e00)
    • bubbling in progress (a21020e)
    • cleanup src (f2e343c)
    • move children onto scope (f438bbc)
    • desktop and mobile (601078f)
    • start on components (9b5f82a)
    • cleanuup (84fd0c6)
    • it compiles again (77686ba)
    • move debugging virtualdom into its own feature (d1b294f)
    • clean up using new children syntax (9c13436)
    • fix some bugs around the rsx macro (339e450)
    • full html support (79503f1)
    • slim deps and upgrade docs (83dd49d)
    • work on scheduler, async, coroutines, and merge scope into context (b56ea6c)
    • implement dst magic (d4192d0)
    • working on re-enabling components (fffc7ea)
    • a few things left, slme cleanup (289d2f2)
    • implement lazy nodes properly (3e07214)
    • fix rebuild (15c31d5)
    • dst drops properly (f33510b)
    • remove cx.children. start to move towards a "children" field (7b97e00)
    • clean up, use old approach to components (2559740)
    • dst nodes leak but work (62ed920)
    • improve FC handling to allow lifetimes of parent (6b2645f)
    • improve safety (fda2ebc)
    • move more stuff out (464b457)
    • try to get lifetimes passed in properly (f70b5b4)
    • listen to clippy (f492443)
    • remove bumpframe (e4cda7c)
    • use annotation method from rust/58052 to fix closure lifetimes (27d8919)
    • it compiles cleanly (fd0c384)
    • worked backwards a bit and got it slightly figured out (9ee2bfb)
    • massage lifetimes (9726a06)
    • book documentation (16dbf4a)
    • more changes to scheduler (059294a)
    • messed up how lifetimes worked, need to render once per component (ba9e1db)
    • major cleanups to scheduler (2933e4b)
    • move everything over to a stack dst (0e9d5fc)
    • event system (1f22a06)
    • no more lifetimes (d96276a)
    • support desktop more completely (efd0e9b)
    • compiling again with runtime safety (857c92f)
    • add update functionality to useref (a2b0c50)
    • more raw ptrs (95bd17e)
    • lnks to projects (460783a)
    • desktop functioning well (5502429)
    • remove resource pool in favor of raw ptrs (b8d9869)
    • overhaul event system (7a03c1d)
    • consolidation, simplification (70b983d)
    • threadsafe (82953f2)
    • all the bugs! (478255f)
    • ssr (71f0df6)
    • shared state mechanisms (4a4c7af)
    • fix typo (4a5041c)
    • fix web list issue (da4423c)
    • move macro crate out of core (7bdad1e)
    • portals (4a0bb8c)
    • polish (a5f82be)
    • exampels (04d16b4)
    • fix some event stuff for web and core (725b4a1)
    • garbage collection (dfe9f86)
    • on collaborative scheduling (1a32383)
    • examples (1a2f91e)
    • working down warnings (958c02a)
    • mutations (fac4233)
    • performance looks good, needs more testing (4b6ca05)
    • add test_dom (a652090)
    • bottom up dropping (f2334c1)
    • cleanup (1745a44)
    • more scheduler work (44b4384)
    • re-enable suspense (687cda1)
    • fill out the snippets (6051b0e)
    • amazingly awesome error handling (4a72b31)
    • some ideas (05c909f)
    • proper handling of events (d7940aa)
    • more work on scheduler (1cd5e69)
    • websys dom working properly (cfa0247)
    • big updates to the reference (583fdfa)
    • fix invalid is_empty bug (c7d2d9d)
    • more work on rebuild (5c3dc0a)
    • keyed diffing!! (d717c22)
    • docs, html! macro, more (caf772c)
    • update root props (fac2e56)
    • get keyed diffing compiling (0a0be95)
    • changes to scheduler (098d382)
    • some docs, cleaning (c321532)
    • more and more sophisticated diff (1749eba)
    • clean up warnings (b32e261)
    • a new vnode type for anchors (d618092)
    • more cleanup (5cbdc57)
    • more work on bumpframe (63a85e4)
    • heuristics engine (6aaad1c)
    • more cleanup in scheduler (9f99f46)
    • making progress on diffing and hydration (49856cc)
    • code quality improvements for core (00231ad)
    • mvoe away from compound context (a2c7d17)
    • examples (f1cff84)
    • wire up resource pool (31702db)
    • make hooks free-functions (e5c88fe)
    • more work on suspense and documentation (37ed4be)
    • transition to cx, props (bfdcb20)
    • more doc (adf202e)
    • cleanup public apis (927b05f)
    • omg what a dumb mistake (f782e14)
    • suspense! (4837d8e)
    • refactor (8b0eb87)
    • bless up, no more segfaults (4a0068f)
    • more suspended nodes! (de9f61b)
    • more docs (34c3107)
    • algo for scheduler finished (9ad5e49)
    • wire up event delegator for webview (7dfe89c)
    • basic support for scheduled rendering (c52af22)
    • feeling goodish about scheduler (5f63eda)
    • fix some lifetime issues (0a907b3)
    • move over to push based mechanism (80e6c25)
    • bubbling (7978a17)
    • some structure (bcaa76a)
    • solve some issues regarding listeners (dfaf5ad)
    • architecture document and edit list (e723876)
    • before scheduler simplify (c16b92e)
    • considering making vdom passed verywehre (ac3a7b1)
    • move to slab (6084fbc)
    • change in cx to cx (9971ff2)
    • more work on scheduler (d4d7114)
    • move things into a "shared" object (f644d7c)
    • reduce warnings (0ded32e)
    • it compiles again (07efb6a)
    • task system works (3a57b94)
    • more polish on display (12afd2b)
    • more overhaul on virtualevents (41cc429)
    • cargo fix (84c3e9f)
    • more polish on scopes (2386772)
    • more work on priority (cef116a)
    • cargo fix (beceda5)
    • polish up some safety stuff and add suspense support in (ff1398b)
    • refactor to fix some ownership quirks (05e960b)
    • cargo fix (fd03b9d)
    • remove unnecessary import (fb0c6d2)
    • fix props update (79e8df2)
    • more work on web (3bf19d8)
    • cargo fix (c7ca7c2)
    • more clean up (5a09ec1)
    • ricraf polyfill (59219b9)
    • cut down on errors (775e9e2)
    • ....sigh..... so the diffing algorithm is robust (68ed1c0)
    • remove global allocation for props (8b3ac0b)
    • ric_raf wired up (8b0d04c)
    • wip (996247a)
    • lots of changes to diffing (ff0a3d1)
    • change around how deadline works (369b36b)
    • rebuild doesn't return errors (f457b71)
    • add aria (4091846)
    • more examples (56e7eb8)
    • tests and documentation (da81591)
    • buff up html allowed attributes (c79d9ae)
    • move examples around (304259d)
    • it works but the page is backwards (cdcd861)
    • use the new structure (a05047d)
    • ssr + tide (269e81b)
    • more test (a0a977a)
    • enable components in ssr (bbcb5a0)
    • documentation and badges (3f68be7)
    • keyed diffing (0479252)
    • static node infrastructure and ssr changes (9abb047)
    • naming (1a6b238)
    • it works? (778baff)
    • more refactor for async (975fa56)
    • refactor non_keyed diff (082765f)
    • some project refactor (8cfc437)
    • tests and benchmarks (e6f5656)
    • some work (feab50f)
    • structure coming together and tests (2d541ec)
    • more refactor (58ab51a)
    • compiles again (16bfc6d)
    • more refactor (c811a89)
    • dedicated mutations module (db6d018)
    • refactor (9276fd7)
    • basic creates working properly (1622f48)
    • refactor out the hooks implementation (1cc1679)
    • tests added for new iterative (24572b6)
    • webview and async (eb82051)
    • fix compiling (2ce0752)
    • move webview to wry (99d94b6)
    • moving over instructions (0987760)
    • more examples (2547da3)
    • remove old create (7b06820)
    • beaf up the use_state hook (e4cdb64)
    • back to vnode enum (64f289a)
    • move from recursive to iterative (9652ccd)
    • move CLI into its own "studio" app (fd79335)
    • working on async diff (f41cff5)
    • more work on scheduler (882d695)
    • move some examples around (98a0933)
    • scheduler skeleton (9d14faf)
    • remove the scoped trait (cca7c5f)
    • more work on deadline, support immediates (5965bee)
    • move the functions around a bit (36542b4)
    • got the structure figured out! (97745c6)
    • fix issues with lifetimes (a38a81e)
    • close on putting it all together (85e2dc2)
    • namespaced attributes (22e659c)
    • groundwork for noderefs (c1afeba)
    • more work on jank free (a44e9fc)
    • more examples (11f89e5)
    • add edits back! and more webview support! (904b26f)
    • enable more diffing (e8f29a8)
    • two calculator examples (b5e5ef1)
    • examples (d9e6d09)
    • wip (952a91d)
    • integrate signals (93900aa)
    • move to slotmap (7665f2c)
    • more work on diffing (21685fb)
    • integrate serialization and string borrowing (f4fb5bb)
    • more work on diffing machine (9813f23)
    • more work on diffing. (ca3b80f)
    • stack-based "real child iterator" (895cc01)
    • more docs (0826fdf)
    • refcell to cell for hookidx (ea91fc9)
    • rename ctx to cx (81382e7)
    • rethinking stack machine (62ae5d3)
    • move around examples (70cd46d)
    • start moving events to rc (b9ff95f)
    • rename recoil to atoms (36ea39a)
    • more examples and docs (7fbaf69)
    • more work on updating syntad (47e8960)
    • some cleanup and documentation (517d7f1)
    • pre-diffmachine merge fork (424a181)
    • docs (f5683a2)
    • pre vnodes instead of vnode (fe6938c)
    • move into a fromjs tutorial (69f5cc3)
    • events work again! (9d7ee79)
    • successfully building (e3d9db0)
    • props memoization is more powerful (73047fe)
    • merge in some code from the other branch (7790750)
    • move the rsx macro around (50c8b93)
    • add some more sources in the core implementation (7102fe5)
    • new approach at direct access to vdom (795a54a)
    • some docs (1919f88)
    • get diff compiling (cff0547)
    • massive changes to definition of components (508c560)
    • moving to IDs (79127ea)
    • move to static props (c1fd848)
    • moving to imperative method of dom (45ee803)
    • more progress on parity docs. (c5089ba)
    • dirty hack to enable send + sync on virtual dom (4d5c528)
    • doesnt share on thread (fe67ff9)
    • recoil (ee67654)
    • Todomvc in progress (b843dbd)
    • introduce children for walking down the tree (0d44f00)
    • context api wired up (24805a0)
    • about to consolidate context and scope (4c8130c)
    • remove old code (3de54d0)
    • abstraction lifetimes work out nicely (2284b35)
    • Clean up repo a bit (a99147c)
    • some code health (c28697e)
    • major overhaul to diffing (9810fee)
    • Wip (c809095)
    • refactor a bit (2eeb8f2)
    • todos (8c541f6)
    • todomvc (cfa0927)
    • todomvc (ce33031)
    • more ergonomics, more examples (0bcff1f)
    • use rsx! inline! (44aad27)
    • building large apps, revamp macro (9f7f43b)
    • begint to accept iterator types (742f150)
    • livehost bones (7856f2b)
    • some stuff related to event listeners. POC for lifecyel (5b7887d)
    • diffing approach slightly broken (4e48e05)
    • remove old macro (9d0727e)
    • update examples (39bd185)
    • ensure mutabality is okay when not double-using the components (305ff91)
    • props now autoderives its own trait (b3c96a5)
    • somewhat working with rc and weak (d4f1cea)
    • foregin eq from comparapable comp type. (ec801ea)
    • staticify? (5ad8188)
    • cargo fix to clean up things (78d093a)
    • implement vcomp fully (29751a4)
    • add some docs (5abda91)
    • update component so build passes (8fcd001)
    • wire up props macro (37f5a7a)
    • still a bit stumped on DFS vs BFS (3740f81)
    • Feat: it's awersome (8dc2619)
    • revert FC changes (like the old style). (7158bc3)
    • dyn scope (89f2290)
    • yeet, synthetic somewhat wired up (d959806)
    • synthetic events wired up (ish) (3087813)
    • remove FC (92d9521)
    • notes on safety, and inline listeners (bdd6be3)
    • cleanup edit module (c70652a)
    • more cleanup (5a9155b)
    • add context to builder (cf16090)
    • listeners now have scope information (fcd68e6)
    • broken, but solved (cb74d70)
    • use_reducer (879e107)
    • wowza got it all working (4b8e9f4)
    • parse custom rsx syntax (da00df6)
    • update readme and examples (ffaf687)
    • view -> render (c8bb392)
    • bump core version (4997976)
    • remove html crate (9dcee01)
    • add core macro crate (c32a6ef)
    • bump version for web release (422d5ac)
    • a few bugs, but the event system works! (3b30fa6)
    • patch to diff to allow scopes (2041c88)
    • moving to CbIdx as serializable event system (e840f47)
    • custom format_args for inlining variables into html templates (e4b1f6e)
    • begin WIP on html macro (a8b1225)
    • move webview logic into library (32b45e5)
    • comments (18a7a1f)
    • wire up rebuild (06ae4fc)
    • clean up code (8345137)
    • fix internal lifecycle (5204862)
    • add css example (edf09c1)
    • borrowing (7a4594e)
    • finally solve the component lifetime problem <3 (bdc25b5)
    • WIP ctx (7a6aabe)
    • desktop app wired up (b3e6886)
    • remove our use of ouroborous. (bcbb93b)
    • re-enable stack machine approach (e3ede7f)
    • WIP on deserialize (f22ff83)
    • wire up a very basic dom updater (c4e8d8b)
    • major overhaul to diffing, using a "diffing machine" now (4dfdf91)
    • remove generic paramter on VDOM (4c291a0)
    • wire up some of the changelist for diff (d063a19)
    • event loop (ea2aa4b)
    • major overhaul, wire up event system (8295ac4)
    • overall API updates (f47651b)
    • push new component API and context API (125f542)
    • update builder (8329268)
    • update solved problems with context API (c97a964)
    • Feat: - integrate subscription service into context. - Update documentation (204f0d9)
    • fix docs names (ee23ea6)
    • implememt nodes better (edbb33b)
    • move out scope into its own file (c9d95dd)
    • capture pointer type (e939373)
    • more updates to hooks (2c2882c)
    • found a fast solution to hook state (4d01436)
    • comment out examples and move lifetime in FC type (62d4ad5)
    • include the helper (07341d2)
    • updates to docs, extension (a2406b3)
    • webview example (7730fd4)
    • Dioxus-webview (9c01736)
    • add router (6aeea9b)
    • dioxus frontend crate (4d7ac5b)
    • Add versioning for package (33a805d)
    • clean up naming (2afbfea)
    • prep for cargo (be8d267)
    • include diffing and patching in Dioxus (f3c650b)
    • more docs, dissolve vnode crate into dioxus-core (9c616ea)
    • more docs, example, mroe nodes (d13e04c)
    • some updates, pull in the vnode enums (152bced)
    • WIP (ce34d0d)
    • docs, code frm percy (2b9c8d0)