Skip to content

Latest commit

 

History

History
1945 lines (1249 loc) · 144 KB

CHANGELOG.md

File metadata and controls

1945 lines (1249 loc) · 144 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.4.3 (2024-07-19)

Features

  • add support for brotli compression (#300) (8016599)
  • cli: added openssl/vendored feature (#287) (663389b)
  • cli: added pre-flight shell check (76a38f3), closes #314
  • perseus-cli: add 'node_modules' to watch exclusions (#313) (3f04e40)

Bug Fixes

  • added format ignore to problematic macro (276a0c1)
  • cli: used tag_name rather than name to get tool versions (fa45801), closes #329
  • fixed bad error condition (9018463)
  • fixed overzealous formatting (926022f)
  • fixed readme link (#298) (ed1048b)
  • improved error message for minification errors (43887b3)
  • updated rocket to stable (0150962)

Performance Improvements

  • switched to JS for defining internal constants (#293) (b765e88)

Code Refactorings

  • cli: removed shell dependency (0b98318)

Documentation Changes

0.4.2 (2023-05-17)

Bug Fixes

Documentation Changes

0.4.1 (2023-05-12)

Bug Fixes

  • cli: fixed aarch64 downloads on m2 macs (#286) (cbc6faf)
  • prevented global state caching on engine-side (23e6deb), closes #280
  • removed dbg! statement (9f885a9)

Documentation Changes

0.4.0 (2023-04-09)

Bug Fixes

  • fixed semantically invalid html in website and added faq about it (e69431e)

Documentation Changes

0.4.0-rc.1 (2023-04-09)

⚠ BREAKING CHANGES

  • removed localized global state (global state functions should no longer take a locale)

  • fix: transmitted global state in locale redirection pages

Features

  • added rocket integration (#266) (25bd115)
  • added support for broader error types across state generation (9aa079b), closes #264
  • remove localized global state (#268) (2017f69), closes #267

Bug Fixes

  • cleaned up rocket integration (5c8e50d)
  • cli: fixed help tests (0800311)
  • fixed bad version in rocket integration (6bd2ca0)

0.4.0-beta.22 (2023-03-12)

Features

  • support anyhow::Error in state generation functions (#264) (53ad2ad)

Bug Fixes

  • updated cargo_toml to v0.15 (68ef993)

Documentation Changes

  • added docs on using perseus in a workspace (b0653dc)

0.4.0-beta.21 (2023-03-01)

Features

  • i18n: added support for auto-setting the lang attribute (1e3206c), closes #261

Bug Fixes

  • fixed incremental generation on index template (b3b3b82), closes #262

0.4.0-beta.20 (2023-02-26)

Bug Fixes

  • cli: fixed cli tests to test bleeding-edge core (27442d5), closes #259
  • fixed crash handling system (b085888)
  • fixed hsr ignore deployment issues (#260) (e9c6239)
  • fixed nested static aliases in exporting (c15624e), closes #258
  • fixed static content tests (88cad92)
  • removed unused import (febdbaf)

0.4.0-beta.19 (2023-02-18)

⚠ BREAKING CHANGES

  • implicit new method removed from intermediate reactive types

Features

  • added hsr ignoring feature applied by default to unreactive state (6768f4e)

Bug Fixes

revert

  • removed new implementation on reactive types (60a60f0)

Documentation Changes

  • added docs on rx_collection iteration (d297af1)

0.4.0-beta.18 (2023-02-10)

⚠ BREAKING CHANGES

  • removed RouterLoadState::ErrorLoaded entirely (you should now rely solely on error views, which will be able to poll the last router state, which probably contributed to/caused the error)

Features

  • added automatic conversion methods for reactive types (#252) (bb36a4c)
  • cli: added --verbose for easier logging (10cd48b)
  • cli: added .cargo/config.toml to default init/new templates (a8afc7d)
  • cli: added support for eatch exclusions with --custom-watch !my-path (6f57d4a)
  • greatly improved default error views (2199da6)

Bug Fixes

  • added target/ to generated .gitignore (#254) (9b7b99d)
  • cli: fixed deployment with revalidation (#256) (89e864a)
  • error_views: fixed positioning of default error views (efcfec5)
  • fixed bad inequality in default error views (b485a30)
  • fixed cause of perseus hydration bugs (6d38da6)
  • fixed hanging servers on test errors (2ad8bea)
  • fixed outdated macro reference in compile error (c5dc4a6)
  • fixed panic handler issues (07ab6c6)
  • perseus-axum: fixed snippet hosting (5f54722)
  • re-enabled minification (9512df0)
  • removed debug message (803123b)

Code Refactorings

  • simplified error router states (6252f6a)
  • split testing scripts into core and cli (0a2d2df)
  • tests: unified testing infrastructure for perseus-cli (5b18efd)

Documentation Changes

  • added all missing links to the docs (c3c575b)
  • added docs on watch exclusions (8f9936a)
  • added note on snoop to dev cycle docs (fa62ebe)
  • added note on hanging servers from testing (ade5137)
  • covered Cargo.toml in more depth (adc3c34)
  • fixed broken link (2d28862)
  • removed outdated warnings about styling quirks (a8704a2)
  • wrote docs on capsules v components (fb8563a)

0.4.0-beta.17 (2023-01-18)

Features

  • cli: added automatic js minification on deployment (d516f0a)
  • implemented PartialEq + Eq on all rx collections (56ee370)

Bug Fixes

  • capsules: fixed capsules with exporting (b6e0916)
  • capsules: fixed further issues with capsule exporting (e9c5f4d)
  • capsules: fixed initial widget caching with i18n (e3b49e1)
  • fixed bad delaayed widgets transmute (0701ff8)
  • hsr: fixed hsr (a897b4e)
  • made ThawPrefs locale-agnostic (108b754)
  • removed premature freezing API change (2a9bfde)

Documentation Changes

  • added clear example of .capsule_ref() (f23fcfa)
  • added notes on nested state and rx collections (a4c1dfb)
  • added some missing lang declarations (c3f2a02)
  • edited core principles and introductory docs (7dd032f)
  • edited migration guide (96d895d)
  • fixed missing codeblock lang declarations (962a9fb)
  • removed old docs and refactored substantially (0c8a9be)
  • tempered a line in the migration docs (ea3d76c)
  • updated faqs (0b5fecb)
  • wrote further docs (9b7fd5d)
  • wrote introductory capsules docs (0b48598)
  • wrote new docs on manually implementing state types (e430cf6)

0.4.0-beta.16 (2023-01-13)

Bug Fixes

0.4.0-beta.15 (2023-01-13)

⚠ BREAKING CHANGES

  • removed FetchError::PreloadNotFound
  • i18n: cx now comes first in t! and link! invocations (following Sycamore convention)

Features

  • added simple error views example to basic example (520eebf)
  • cli: added support for cargo colors (513b1cf)
  • cli: added support for watching snoop and build commands (c9808fb)
  • cli: made perseus test actually run tests (bc7582a)
  • docs: made perseus client-side documentable (bfe34c5)
  • i18n: created switch_locale function on reactor (6bbd3cb)
  • made rx collections support extension (7185ef6)

Bug Fixes

  • cli: fixed serve/test numbering issues (99e13be)
  • docs.rs: made client-side items documentable on docs.rs (9420cb7)
  • docs: fixed broken docs links (ee56bc4)
  • docs: made documentation work fully for #[cfg(client)] items (f22f05d)
  • fixed .base example (cbc74b6)
  • i18n: fixed t! macro with multiple interpolations (f2aa96e)
  • website: fixed scrolling issues (7c63355)

Code Refactorings

  • cleaned up checkpoint() availability (72e8af4)
  • simplified preload error handling (746cdc3)

Documentation Changes

  • added missing language declarations (e08ce5a)
  • fixed broken example link (6fca6a8)
  • fixed missing language declarations (7b9d2df)
  • removed note on cargo-clif issues (2572357)
  • wrote docs on PerseusApp (2b39064)
  • wrote first app tutorial (149a521)
  • wrote further fundamental docs (5bb9bd3)
  • wrote hydration docs (a82ee5c)
  • wrote js interop docs (be9dbc9)
  • wrote more docs (6c5f6a7)
  • wrote new testing docs (36b3792)

0.4.0-beta.14 (2023-01-02)

Bug Fixes

  • cli: added missing RUSTFLAGS (0735b8c), closes #249
  • cli: made cargo metadata invocation use given cargo path (1784909)
  • docs.rs: added proper metadata config for docs.rs (55861ac)
  • fixed typo in docs.rs settings (b2b3e92)

0.4.0-beta.13 (2023-01-02)

Bug Fixes

  • docs.rs: added rustdocflags (f06eb48)
  • fixed broken tribble link in contributing docs (#247) (f6717fb)
  • fixed deployment paths (0f8127c), closes #63
  • fixed double error page display (2454205)
  • fixed error view deployment bugs (f57f7f1)
  • temporarily disabled website checking (a63a1a9)
  • typo in perseus new Cargo.toml (#248) (71bfaa1)

Documentation Changes

  • added extra migration step for .head_with_state() (ae93d77)
  • added further migration notes (1e9fc70)
  • added some more migration tips (16cd9d5)
  • updated all old links (c1f613c)

0.4.0-beta.12 (2023-01-01)

⚠ BREAKING CHANGES

  • all target-gates should switch to #[cfg(engine)] and #[cfg(client)], rather than using target_arch
  • removed nnow obsolete #[perseus::engine] and #[perseus::browser] macros
  • plugins can no longer add templates (provide the functions to the user for them to manually add)
  • G parameter removed entirely from plugins
  • you must now call .build() after creating a template/capsule with ::new(..) and setting your various functions
  • header setting functions now take a Scope as their first argument
  • removed several outdated checkpoints (see book for details)
  • global state is now built per-locale, and build state functions therefore take a locale: String argument now
  • functional plugin actions for failing global state have been removed due to alternate generation systems (you should hook into failed builds instead)
  • all plugin actions must now return Result<T, Box<dyn std::error::Error>> (return some arbitrary error and then use .into())
  • all plugin actions that previously took Rc<perseus::errors::EngineError> now take Rc<perseus::errors::Error>
  • .template() and .error_pages() on PerseusApp now take actual values, rather than functions that return those values
  • any functions that took path and locale now take StateGeneratorInfo, which includes those as fields
  • all macros on state generator functions (e.g. #[build_state]) are replaced by the single macro #[engine_only_fn]
  • templates that take reactive state must have the #[template] annotation and be specified with .template_with_state()
  • templates that take unreactive state must have no macro annotation, and be specified wijth .template_with_unreactive_state()
  • templates that take no state must not have a #[template] annotation
  • define_app! has been completely removed in favor of PerseusApp
  • #[make_rx(MyRxTypeName)] must be changed to #[derive(Serialize, Deserialize, ReactiveState)], followed by #[rx(alias = "MyRxTypeName")]
  • renamed #[template_rx] to #[template] (unreactive templates should now use #[template(unreactive)])

Features

Bug Fixes

  • 'fixed' hydration issues (182f72b)
  • allowed statenames other than state (c80e647)
  • fixed perseus new (659b911)
  • fixed js-interop example (2928bb7)
  • made tool windows installations resilient against paths with whitespace (#228) (0d3717f), closes #227
  • updated website examples (6410f22)
  • website: fixed index example sourcing (88c29cd)

Code Refactorings

  • cleaned up some things (4df987e)
  • improved ergonomics of PerseusApp (9c3444a)
  • turn #[make_rx] into #[derive(ReactiveState)] (#237) (8ec2d6f)
  • use child scopes for pages (#230) (6af8191)

Documentation Changes

0.4.0-beta.12 (2023-01-01)

⚠ BREAKING CHANGES

  • all target-gates should switch to #[cfg(engine)] and #[cfg(client)], rather than using target_arch
  • removed nnow obsolete #[perseus::engine] and #[perseus::browser] macros
  • plugins can no longer add templates (provide the functions to the user for them to manually add)
  • G parameter removed entirely from plugins
  • you must now call .build() after creating a template/capsule with ::new(..) and setting your various functions
  • header setting functions now take a Scope as their first argument
  • removed several outdated checkpoints (see book for details)
  • global state is now built per-locale, and build state functions therefore take a locale: String argument now
  • functional plugin actions for failing global state have been removed due to alternate generation systems (you should hook into failed builds instead)
  • all plugin actions must now return Result<T, Box<dyn std::error::Error>> (return some arbitrary error and then use .into())
  • all plugin actions that previously took Rc<perseus::errors::EngineError> now take Rc<perseus::errors::Error>
  • .template() and .error_pages() on PerseusApp now take actual values, rather than functions that return those values
  • any functions that took path and locale now take StateGeneratorInfo, which includes those as fields
  • all macros on state generator functions (e.g. #[build_state]) are replaced by the single macro #[engine_only_fn]
  • templates that take reactive state must have the #[template] annotation and be specified with .template_with_state()
  • templates that take unreactive state must have no macro annotation, and be specified wijth .template_with_unreactive_state()
  • templates that take no state must not have a #[template] annotation
  • define_app! has been completely removed in favor of PerseusApp
  • #[make_rx(MyRxTypeName)] must be changed to #[derive(Serialize, Deserialize, ReactiveState)], followed by #[rx(alias = "MyRxTypeName")]
  • renamed #[template_rx] to #[template] (unreactive templates should now use #[template(unreactive)])

Features

Bug Fixes

  • 'fixed' hydration issues (182f72b)
  • allowed statenames other than state (c80e647)
  • fixed perseus new (659b911)
  • fixed js-interop example (2928bb7)
  • made tool windows installations resilient against paths with whitespace (#228) (0d3717f), closes #227
  • updated website examples (6410f22)
  • website: fixed index example sourcing (88c29cd)

Code Refactorings

  • cleaned up some things (4df987e)
  • improved ergonomics of PerseusApp (9c3444a)
  • turn #[make_rx] into #[derive(ReactiveState)] (#237) (8ec2d6f)
  • use child scopes for pages (#230) (6af8191)

Documentation Changes

0.4.0-beta.12 (2023-01-01)

⚠ BREAKING CHANGES

  • all target-gates should switch to #[cfg(engine)] and #[cfg(client)], rather than using target_arch
  • removed nnow obsolete #[perseus::engine] and #[perseus::browser] macros
  • plugins can no longer add templates (provide the functions to the user for them to manually add)
  • G parameter removed entirely from plugins
  • you must now call .build() after creating a template/capsule with ::new(..) and setting your various functions
  • header setting functions now take a Scope as their first argument
  • removed several outdated checkpoints (see book for details)
  • global state is now built per-locale, and build state functions therefore take a locale: String argument now
  • functional plugin actions for failing global state have been removed due to alternate generation systems (you should hook into failed builds instead)
  • all plugin actions must now return Result<T, Box<dyn std::error::Error>> (return some arbitrary error and then use .into())
  • all plugin actions that previously took Rc<perseus::errors::EngineError> now take Rc<perseus::errors::Error>
  • .template() and .error_pages() on PerseusApp now take actual values, rather than functions that return those values
  • any functions that took path and locale now take StateGeneratorInfo, which includes those as fields
  • all macros on state generator functions (e.g. #[build_state]) are replaced by the single macro #[engine_only_fn]
  • templates that take reactive state must have the #[template] annotation and be specified with .template_with_state()
  • templates that take unreactive state must have no macro annotation, and be specified wijth .template_with_unreactive_state()
  • templates that take no state must not have a #[template] annotation
  • define_app! has been completely removed in favor of PerseusApp
  • #[make_rx(MyRxTypeName)] must be changed to #[derive(Serialize, Deserialize, ReactiveState)], followed by #[rx(alias = "MyRxTypeName")]
  • renamed #[template_rx] to #[template] (unreactive templates should now use #[template(unreactive)])

Features

Bug Fixes

  • 'fixed' hydration issues (182f72b)
  • allowed statenames other than state (c80e647)
  • fixed perseus new (659b911)
  • fixed js-interop example (2928bb7)
  • made tool windows installations resilient against paths with whitespace (#228) (0d3717f), closes #227
  • updated website examples (6410f22)
  • website: fixed index example sourcing (88c29cd)

Code Refactorings

  • cleaned up some things (4df987e)
  • improved ergonomics of PerseusApp (9c3444a)
  • turn #[make_rx] into #[derive(ReactiveState)] (#237) (8ec2d6f)
  • use child scopes for pages (#230) (6af8191)

Documentation Changes

0.4.0-beta.11 (2022-11-06)

Features

  • added greater control over minification (5385f12)
  • added page state store caching, preloading, and memory management (#204) (0c4fa6b)

Bug Fixes

  • fixed quotation marks in rneder cfg interpolation (6a9c9c7)
  • fixed serving bug with index page (8a1efb5)
  • fixed subsequent loads of pages with special characters (c112b58)
  • fixed support for paths with url encodings (a329952)
  • made build paths possible on index page (18bd1bf)
  • website: added langauge declarations to som badly formatted codeblocks (3f5b8cf)
  • website: made scrollbars obey dark theme (5f0c704)
  • website: updated #[component] annotations (430d4a2)

Performance Improvements

  • added inbuilt minification (50e04e0)
  • website: improved image performance (a0328fc)

Documentation Changes

  • add instruction to replace perseus_integration (#197) (8612c9e)
  • clarified tokio issues in v0.3.x in docs (ff36ff2)
  • perseus-macro: readability fixups (#194) (f74b400)

Code Refactorings

  • src: readability improvements (#193) (2309c5c)
  • website: added some nicer padding on docs pages (b152a2e)
  • website: made codeblocks slightly lighter in light mode (264b65f)

0.4.0-beta.10 (2022-09-21)

Features

  • created new website! 🎉 (#181) (b7ace94)
  • exporting: made export server serve 404 automatically (cb4c5b1)
  • added prelude module to simplify imports (60557af)

Bug Fixes

  • fixed relative path hosting (8a01244)

Documentation Changes

0.4.0-beta.9 (2022-09-11)

Features

  • cli: added perseus check for faster validation (5a1be87)

Bug Fixes

  • fixed revalidation time strings (76ed6fc)
  • fixed route announcer dimensions (dba4a4f)

Documentation Changes

  • merged 0.4.x with next docs (4be9e5b)
  • noted incremental generation/revalidation quirks in examples (8fd19c8)
  • updated migration docs for current project status (9e985ce)

0.4.0-beta.8 (2022-09-04)

Features

  • added support for error page heads (#179) (41590b1)
  • removed final wrapper <div> (e4106f6)
  • removed wrapper <div> inside root (3198558)

Bug Fixes

  • fixed non-hydration rendering (ae934bf)
  • website: pinned to sycamore v0.8.0-beta.7 for now (af6c017)
  • website: tmp fix for build (21c608b)
  • made head replacement only target dynamic elements (73aa387), closes #182

Documentation Changes

Code Refactorings

  • enabled hydration in plugins example (64cff9f)

0.4.0-beta.7 (2022-08-20)

⚠ BREAKING CHANGES

    • Added ErrorLoaded { path } case to RouterLoadState (which must now be matched)
  • Removed page_visible testing checkpoint (use page_interactive instead)
  • router_entry checkpoint is now only fired on subsequent loads

Features

  • cli: added support for automatically updating tools from lockfile (52ab3f1), closes #169
  • redesigned app shell with support for hydration (#177) (d407727)

Bug Fixes

  • fixed response caching functions (e29e5d2)

Performance Improvements

  • removed unnecessary content pre-rendering from server render process (e1c9ad3)

0.4.0-beta.6 (2022-08-13)

Features

  • added feedback to deployed server binaries (04eab84), closes #164

Bug Fixes

  • cli: fixed perseus new/perseus init package versions (22dac34)
  • website: added necessary images back (8e6707c)
  • fixed runtime panics in app shell (cb39dc1)

Documentation Changes

0.4.0-beta.5 (2022-07-18)

⚠ BREAKING CHANGES

  • [lib]/[[bin]] settings no longer required in Cargo.toml, and lib.rs should be renamed to main.rs (everything is a binary now)

Features

  • made cli auto-install needed tools and use global flags for config (#160) (4682b9d)
  • i18n: added lightweight translator (b5bb075)

Bug Fixes

  • cli: made system tools cache XDG-compliant (085cd9b)
  • fixed typo in new project template (#163) (1d7cc9f)

Documentation Changes

  • fixed broken links after binary changes (fa99478)
  • updated docs for new cli setup (eba6cab)

0.4.0-beta.4 (2022-07-14)

⚠ BREAKING CHANGES

  • passed path, locale, and request to logic-based revalidation
  • header setting functions now take either a usual state argument or no state (no more Option<T>s)
  • state amalgamation functions now take path, locale, build_state, and request_state; States is private
  • restructured exports significantly

Features

  • cli: added perseus new and perseus init (0bf879b), closes #128
  • passed path, locale, and request to logic-based revalidation (5473683)
  • removed Option<T> weirdness on header setting (869000b)
  • cli: added support for watching custom files (723d4ca)
  • added further target directory separation (b2d7e16)
  • added proper state mgmt to amalgamation (ceaf7b2)
  • added type-safety to time-based revalidation (7b3ff88)

Bug Fixes

  • fixed perseus deploy target binary name on Windows (#156) (32a6f24)
  • fixed warp js snippets handling (dab7e72)
  • fixed wasm issues with ComputedDuration (247caff)

Performance Improvements

  • split target directories for engine/server (651349d)

Code Refactorings

  • restructured exports significantly (70d425b)

Documentation Changes

  • fixed typos in readme (9ba6947)
  • fixed typos in tiny example readme (8ab3afd)
  • rewrote advanced docs (191d8c9)
  • scaffolded out FDT (ca12e03)
  • updated docs for perseus new and co (8810c23)
  • examples: updated example writing docs and base example (0c1b578)
  • substantially improved code-level docs (6ec4852)
  • updated js interop example readme (11ed444)
  • examples: added js interop example (766dd44)
  • finished updates to code-level docs (76ef81c)
  • updated docs for cranelift and wasm-opt (7829c74)
  • updated signature docs (2e008d4)
  • wrote second app tutorial (55751aa)
  • wrote state generation docs (eb7e8ee)

0.4.0-beta.3 (2022-07-04)

⚠ BREAKING CHANGES

  • Made custom servers take ServerProps and (String, u16) for the host and port.
  • Changed delimiter in t! macro variable interpolation from : to = to solve compiler misinterpretation errors

Features

  • made custom servers easier and added example (d450a81)
  • website: added auto-versioning to docs.rs shorthand links (e727121)
  • website: added shorthand for docs.rs links (ee379a1)
  • added size optimizations support into cli (b083173)

Bug Fixes

  • fixed actix web integration (6b538d3)
  • fixed cast issues with t! interpolation (2cae13a)
  • fixed data setup for actix web integration (6a129a1)
  • fixed live reloading (1b924af)
  • fixed size optimizations on website (4e320c8)
  • fixed up website (946e326)
  • removed bad default feature from actix integration (4612e01)
  • website: added opts back (4b25d46)
  • website: fixed latest stable version warning link (a32f1ee)
  • website: updated opt-level to z (2b49591)

Documentation Changes

  • added live reloading/hsr docs (bd8a702)
  • clarified perseus-integration crate purpose (73dc11a)
  • clarified items in changelog (2d0cc1b)
  • copied next to 0.4.x for improved UX (3fd6834)
  • updated optimizations docs (51ad962)
  • wrote some sections of the docs (c7a9f09)

0.4.0-beta.2 (2022-06-27)

⚠ BREAKING CHANGES

  • Changed multiple APIs for functional plugin actions related to the builder (they all take the new EngineError type now)
  • Restructured exports related to engine functionality (this will get progressively worse as this PR develops!)
  • Removed the HOST and PORT environment variables for configuring the server (these are replaced with PERSEUS_HOST and PERSEUS_PORT)
  • Substantially refactored exports from Perseus
  • Divided client-side and server-side exports (many functions will now need to be target-gated)
  • Replaced #[autoserde(...)] macro with macros for each state function (#[build_state], #[build_paths], etc.)
  • The #[build_paths] macro must now be applied to all build paths functions (for client/server functionality division)
  • #[perseus::main] now takes an argument as the default server to use (server integrations should now be imported and used)
  • Made state functions automatically target-gated as #[cfg(not(feature = "wasm32"))]
  • The #[should_revalidate] macro must now be applied to all revalidation determination functions (for client/server functionality division)
  • WARNING: any filesystem paths in app building are now relative to the root of the app, not .perseus/ (may require changes)

Features

Bug Fixes

  • fixed uncaught syntax error (3cc247b)
  • removed extra doctype declaration (7e7b2c4), closes #154

Code Refactorings

  • added error pages to tiny example (4c6d1cf), closes #153

Documentation Changes

  • create based scaffold for new docs (39e7c83)
  • fixed misnomer in second app tutorial (873562c), closes #147
  • fixed some broken links (5a0e107), closes #149
  • removed erroneous code example in hello world tutorial (51f2b2f)
  • updated server communication docs (c4c7ed2)
  • updated tiny example in readme (3642a4b)

0.4.0-beta.1 (2022-05-30)

Features

Documentation Changes

  • added notes about hydration bugs (2aef79c)
  • fix typo in basic example readme (#141) (35ff172)
  • updated docs for index view with example (eccf137)

0.3.5 (2022-04-20)

Bug Fixes

  • removed hydration ids from .index_view() (41ab625)

0.3.4 (2022-04-19)

Documentation Changes

0.3.4-rc.6 (2022-04-17)

Bug Fixes

  • removed cyclical dependency (ef307cc)

Documentation Changes

  • updated readme book link (0ba0187)
  • updated readme code example (bd30995)

0.3.4-rc.5 (2022-04-14)

0.3.4-rc.4 (2022-04-14)

0.3.4-rc.3 (2022-04-13)

Bug Fixes

  • fixed versioning for perseus-macro dependencies (e46c3ca)

0.3.4-rc.2 (2022-04-13)

0.3.4-rc.1 (2022-04-13)

Features

  • examples: added auth example and docs (e02088c)
  • added .make_unrx() (b974576)
  • added better errors when no state generation functions are provided (e565632)
  • added component name inference to template_rx (d1ba2ef)
  • added examples for and finalized idb wrapper (362d5ca)
  • added global and reactive state (90288f6), closes #103
  • added global state (a5fcc56), closes #119
  • added global state rehydration (10634fb)
  • added hot state reloading (9805a7b), closes #121
  • added idb wrapper for state freezing (9d2a729)
  • added lazy global state instantiation (82430db)
  • added live reloading (2e33424), closes #122
  • added macro to enable fine-grained reactive state (e12d15c)
  • added page state store rehydration (d95e355)
  • added proper error handling to hsr (469732a)
  • added proper state thawing (ea545a9)
  • added reloading server (1f37700)
  • added route rehydration (101f92a)
  • added router state (#115) (9ee6904)
  • added same-page reloading (6e32c8f), closes #120
  • added state freezing (891f3bb)
  • added support for #[make_rx(...)] on unit structs (cb2f49d)
  • added support for templates that take only global state (c60af8a)
  • added support for wasm2js (ce07134)
  • improved template2 ergonomics (c238df9)
  • made web_log! cross-platform and only needing perseus (b7e8389)
  • passed reload server info to client (27880a5)
  • set up functional plugin actions for global state (6aa45aa)
  • typed options system (#130) (ccd4c43)
  • a11y: added route announcer (76c0930), closes #124
  • cli: added custom engines support (b31855e), closes #59
  • plugins: added functional actions for exporting error pages (36abcc1)

Bug Fixes

  • added Debug for TranslationArgs (51422ed)
  • added utf-8 encoding to default html shell (fce0db8)
  • fixed active/global state fallbacks (193f733)
  • fixed cli in development for watching (2941f77)
  • fixed clippy lint issues with wasm-bindgen (b2f67e6), closes rustwasm/wasm-bindgen#2774
  • fixed exporting with typed options system (18f54a9)
  • fixed hsr in deployment (ec52b1c)
  • fixed includes in docs (89b420d)
  • fixed margin errors in website (59525b4)
  • fixed router (2260885)
  • fixed some trait scoping (d8416e2)
  • fixed typo (48e194b)
  • fixed up tests (6f979eb)
  • fixed warp integration (93be5de)
  • made hsr self-clearing (1936b62)
  • made i18n example use the right locales function (6a05c63)
  • made logging work again (47fbef5)
  • made page state store work with multiple pages in single template (4c9c1be)
  • typo in default index view (#132) (1f1522a)

Performance Improvements

  • i18n: added experimental wasm caching (2d1ca2d)

Code Refactorings

  • added Debug implementations to everything (2392daa)
  • broke out some fn args into separate structs (1e0ed5c)
  • changed default live reloading port to 3100 (a355157)
  • cleaned up (ee29ba1)
  • cleaned up from last refactor (33f439c)
  • fixed clippy lints (2f37374)
  • improved html shell readability (#109) (69e9f72)
  • made basic examples use reactive state (1570e5d)
  • made examples use typed options system (02c3c03)
  • made live reloading have access to render context (b9b608a), closes #121
  • minor code improvements (#110) (2c0d344)
  • moved header setting and static content examples into own (0449fea)
  • moved html shell into one struct (832e269)
  • moved router into core (b1c4746)
  • moved showcase example into state generation example (25b9808)
  • partitioned examples and moved in tests (33887ab)
  • reduced allocations in engine server (3422949)
  • renamed template_with_rx_state to template2 (2956009)
  • renamed template2 to template_rx (2d99a9a)
  • renamed global state to page state store (3b2401b), closes #119
  • restructed files (1700dcb)
  • restructured logic revalidation example to show types clearly (cbf2629)
  • updated to typed options system in example basis (7a7dd6c)
  • examples: split rx_state into multiple examples (d58dd29)
  • restructured tests/examples (14b4b46)

Documentation Changes

  • added docs for examples (16c63ef)
  • added section on how to build bleeding-edge cli (0e6eb5d)
  • edited hsr blog post (57913b4)
  • fix broken link, typos and add 0.3.3 as stable version (#129) (9f3d5a2)
  • fixed readme links (82dda10)
  • fixed the last bad link in the readme (5b575cb)
  • removed outdated text in the readme (301cfd3)
  • updated docs for typed options system (bd0710d)
  • updated template macro docs for no args (c0c30b6)
  • updated the readme (8b6e142)
  • updated upgrade guide (286a29c)
  • blog: added first draft of hsr post (78fef13)
  • book: added route announcer docs (30d0839)
  • book: clarified dark mode with global state (261ab84)
  • book: documented idb state system (68a467c)
  • book: documented wasm/js sizing differences (578b08b)
  • book: fixed examples inclusions and partioned version (55c21eb)
  • book: rewrote fetching docs (cba35e6)
  • book: updated debugging docs (7adf684)
  • book: updated state/state generation docs for new examples layout (13c1f20)
  • book: updated tutorials for new examples layout (28f1af1)
  • book: wrote docs on custom engines (4741b67)
  • book: wrote docs on live reloading and hsr (4cf292f)
  • book: wrote docs on reactive state (f5a7fbd)
  • book: wrote docs on state thawing (2d67a40)
  • contrib: finalized shift to tribble (09af5c6)
  • contrib: hid old contributing docs in details block (6f850c2)
  • examples: added some new examples and a template for more (07289f6)
  • website: added comparison note for sycamore and perseus (bc4f821)
  • added contrib docs with tribble (bc8fc3d)
  • added example to styling docs (606f635)
  • added missing link to wasm website (#117) (a0dad42)
  • finalized contributing repo docs (6aece16)
  • fixed link to discord in issue creation links (2c14352)
  • merged next with 0.3.x (487ce2b)
  • miscellaneous fixes to tribble docs (c0b5f55)
  • restructured and wrote core principles docs (9ee419e)
  • contrib: fixed broken link (9e5c9b3)
  • tribble: cleaned up section/endpoint naming (891cd44)
  • tribble: fixed minor copy-paste error (b638d25)

0.3.3 (2022-02-15)

Bug Fixes

0.3.2 (2022-01-11)

Features

  • added ability to export error pages (624034b), closes #94
  • added external request caching (3ecad15)
  • modernized host/port setting for perseus serve (19bd87e), closes #107

Bug Fixes

  • website: fixed formatting errors (4139df9)

Documentation Changes

  • updated docs to reflect host/port setting changes (a930ae2)

0.3.1 (2022-01-02)

Features

  • website: added highlighting for dockerfiles (81e2066)
  • re-exported spawn_local for convenience (184381f)
  • cli: added basic hot reloading (b4c93f0)
  • cli: added hot reloading (61696b3)
  • cli: added support for wasm profiling builds (c2de025)
  • add tokio (#102) (150fda8)
  • made static generation errors display causes (ab7742a), closes #101
  • cli: added inbuilt server for exported apps (8274678)

Bug Fixes

  • cli: made watcher ignore .git/ as well (1a7f6ed)
  • website: made github button transition work (efcf16f)
  • added missing cli argument docs (7c9fb4a)
  • cli: used --dev by default with wasm-pack (55cc681)
  • deps: locked indicatif to v0.17.0-beta.1 (5b979bb)
  • engine: fixed incomplete error messages (e445e56)

Documentation Changes

  • added cargo corruption to common pitfalls (9fe2b27)
  • added docker deployment docs (#98) (93f2c4b)
  • added docs for cli watching (4a250e9)
  • added new example for fetching data (6b08ffe), closes #96
  • added preliminary define_app! advanced docs (69721a6)
  • fixed code in docker docs (ac5aaf9)
  • made changelog more readable (12ecc92)
  • merged 0.3.0 and next (9f17624)
  • merged last changes into next (5ab9903)
  • updated contrib docs for new site command (9246c12)

0.3.0 (2021-12-21)

Documentation Changes

v0.3.0 Beta Versions

0.3.0-rc.1 (2021-12-21)

Documentation Changes

  • updated to reflect that no hydration doesn't change Lighthouse scores (aabc247)

0.3.0-beta.26 (2021-12-21)

Code Refactorings

  • switched default server integration (eed2cc0)

0.3.0-beta.25 (2021-12-21)

Features

  • i18n: made locale redirection much faster (61aa406), closes #61

Bug Fixes

  • website: fixed version issues (85d8236)
  • made hydration opt-in (4fd38a6)
  • website: fixed tailwind not purging (bd58daa)
  • disabled hydration on website (3f2d110)
  • pinned website version to beta 22 (5141cec)
  • properly disabled hydration on website (65009fa)

Documentation Changes

Code Refactorings

  • removed path_prefix from FsTranslationsManager (ed48f3d)

0.3.0-beta.24 (2021-12-17)

Features

  • made hydration the default (00258dd)

0.3.0-beta.23 (2021-12-14)

Bug Fixes

  • fixed placement of standalone feature in deployment command (7609ee1), closes #92

Documentation Changes

0.3.0-beta.22 (2021-12-13)

⚠ BREAKING CHANGES

Features

  • cli: added flag to set server integration to use (b71fa41)
  • removed PERSEUS_STANDALONE (d178f5a), closes #87
  • upgraded to sycamore v0.7.0 (3989241)

Bug Fixes

  • added missing cfg macro line (006523a)
  • fixed error page duplication without hydration (7b3e62f)
  • deps: upgraded to actix-web v4.0.0-beta.14 (139d309)

Documentation Changes

  • added a few more known bugs (6bae07c)
  • cleaned up and added page on publishing plugins (37acece)
  • merged next and 0.3.x (dbb47fb)
  • updated docs for sycamore v0.7.0 (e840734)

0.3.0-beta.21 (2021-12-12)

Bug Fixes

  • switched to using warp-fix-171 (f3f0a43)

0.3.0-beta.20 (2021-12-12)

Bug Fixes

  • made cli update local dependencies properly (3067071)

0.3.0-beta.19 (2021-12-12)

⚠ BREAKING CHANGES

  • Options renamed to ServerOptions for all integrations

  • feat: made templates and error pages thread-safe

This involved adding an atomic types system. Also added basics for a Warp integration (which needs this thread-safety).

  • feat: made more things thread-safe and made warp integration nearly work

The problem is Rc<Translator>s, so some refactoring needs to be done.

  • feat: added nearly all handlers to warp integration

BREAKING_CHANGE: ServerOptions now only accepts one static content directory

  • fix: made DummyTranslator Cloneable

  • feat: added support for static aliases in the warp integration

None of this has been tested yet, so there will likely be bugs. We now depend on my fork of Warp until this is merged.

  • fix: pinned clap version

Features

0.3.0-beta.18 (2021-11-28)

Features

  • website: made docs sidebar nicer (107b9d3)
  • added perseus snoop and docs for common pitfalls (3c1a919)
  • i18n: added fallback non-wasm locale redirection (589ac1b)
  • website: added plugins registry (de1c217)

Bug Fixes

  • cli: 🐛 printed stdout and well as stderr if a stage fails (ea1f1f1), closes #74
  • exporting: 🐛 fixed #73 (a3f879c)
  • i18n: fixed fallback locale redirection with relative paths (5095388)

Documentation Changes

  • website: added more comparisons (d4dabaf)
  • made markdown styles more readable and fixed tldr link (a74b285)
  • book: fixed dependency versions in docs (2171e9c), closes #79
  • readme: updated contact links (5f74b07), closes #77
  • ✏️ fixed typos in contributing guidelines (#76) (5dfedc1)

0.3.0-beta.17 (2021-11-07)

Bug Fixes

  • cli: 🐛 created parent directories with CLI (#72) (6dc0aab), closes #69

Code Refactorings

  • website: ♻️ refactored website to use new ergonomics macros (bb879c6)

0.3.0-beta.16 (2021-11-04)

Features

  • templates: ✨ added autoserde macro to improve ergonomics (eb21299), closes #57
  • templates: ✨ added blame_err! convenience macro (6ab178a)
  • templates: ✨ added head ergonomics macro (fb17e03), closes #57
  • templates: ✨ added template macro to automate template fn creation (810ae1b), closes #57
  • website: ✨ re-added size optimizations plugin to website (4364d99)

Bug Fixes

  • cli: 🐛 removed distribution artifacts from cli subcrates (ebca95c)
  • examples: 🐛 fixed type mismatch in showcase example (7a3dd63)

Documentation Changes

  • book: 🐛 fixed broken amalgamation page link (1966fd1)
  • book: 📝 added docs for new ergonomics macros (0c4f3b2)
  • book: 📝 updated next from 0.3.x (7f8e2f2)

0.3.0-beta.15 (2021-10-30)

Features

  • plugins: ✨ added client privileged plugins (686f369)

Code Refactorings

  • website: 👽️ updated website for 0.3.0-beta.14 (71b6f42)

Documentation Changes

  • book: 📝 updated docs for plugins system changes (a85f150)

0.3.0-beta.14 (2021-10-28)

⚠ BREAKING CHANGES

  • exports now majorly restructured, some exports may be in different places, please check docs.rs

  • refactor: ♻️ refactored to remove unnecessary dependencies

  • fs_extra errors now accepted as Strings for all relevant plugin actions

  • fix(engine): 🐛 removed engine workspace to allow server or client optimizations

Otherwise client size optimizations also affect the server (which reduces its speed).

  • feat(i18n): ✨ added dummy translator to use by default

  • the translator-fluent flag is now required to use i18n

  • feat(engine): ✨ added tinker-only plugins and split engine to reduce bundle sizes

The engine is now composed of a server, a builder (new), and a browser client.

  • perf(templates): ⚡️ feature-gated templates to decrease bundle sizes

  • docs(book): 📝 added docs for tinker-only plugins

Features

  • ✨ trim bundle sizes with feature-gating (#68) (ffea205)
  • website: ✨ added size optimizations plugin to website (60e2658), closes #66

Code Refactorings

  • i18n: ♻️ fixed clippy warnings and removed an unused import (c831fe1)

Documentation Changes

  • book: 📝 updated docs for size optimizations plugin (7b2ff84)

0.3.0-beta.13 (2021-10-18)

Bug Fixes

  • 🚑️ upgraded clap to fix compile errors (aed12bc)

0.3.0-beta.12 (2021-10-17)

Bug Fixes

  • plugins: 🐛 fixed perseus tinker deleting .perseus/ without recreating it (0e9bed5)

Documentation Changes

  • book: ✏️ fixed typos in intro (#53) (1aff29c)
  • 📝 added docs for contributing to the docs (7a211eb)

0.3.0-beta.11 (2021-10-16)

Bug Fixes

  • 🐛 fixed naive current directory handling for standalone deployment binary (e9e24da), closes #63

0.3.0-beta.10 (2021-10-16)

⚠ BREAKING CHANGES

  • build_app/export_appnow take a &TemplateMap (get_templates_vec abolished)

  • feat(plugins): ✨ added tinker action and command

  • feat(examples): ✨ added plugins example and removed plugins code from other examples

This includes tests.

  • fix(plugins): 🐛 fixed plugin data system

Note that PluginData is now replaced by Any.

  • docs(book): ✏️ fixed missing link to lighthouse in book intro

  • refactor(plugins): ♻️ removed plugin type system

Any plugin can now take functional or control actions. Docs still need updating.

  • refactor(plugins): 🔥 removed old get_immutable_store actions

These are replaced by the set_immutable_store settings action

  • fix(exporting): 🐛 fixed engine crate name change bug in exporting

  • docs(book): 📝 added docs for plugins

Features

Documentation Changes

  • book: 📝 merged next docs with 0.3.x docs for plugins (c1e8033)

0.3.0-beta.9 (2021-10-12)

⚠ BREAKING CHANGES

  • Rcs are eliminated and done behind the scenes

Features

  • ✨ removed Rcs completely (d02189b)
  • website: ✨ added comparisons page (#56) (61dac01)
  • website: ✨ added proper docs links parsing system (cfa2d60)

Bug Fixes

  • i18n: 🐛 fixed link! macro with base path (d676471)
  • i18n: 🐛 fixed locale redirection // (488a9a0)
  • website: 🐛 fetched examples from git so they don't go obsolete in older versions (5608a6a), closes #60
  • website: 🐛 fixed links in docs version warnings (295b875)
  • website: 🚑️ pinned website to sycamore v0.6.1 to prevent base path problems (71a142d), closes #60

Documentation Changes

  • 📝 removed warning about #60 from readme (4ed3783)
  • book: 📝 merged 0.3.x and next versions of docs (9a4a956)
  • book: 📝 updated docs and added new information on a few things (8169153), closes #46
  • book: 📝 updated links in docs (c5398a3)
  • 📝 removed warning about book being down (1cb9ec6)
  • website: 📝 mention browser-sync as dependency for working with website (#55) (a97c325)

0.3.0-beta.8 (2021-10-08)

Bug Fixes

  • i18n: 🐛 fixed path prefixing with locale redirection (241741f)
  • i18n: 🐛 made locale redirection work without trailing forward slash (90b3a99)
  • templates: 🐛 inserted <base> element at top of <head> (25959d7)
  • website: 🐛 fixed absolute path links in website (221fa24)
  • website: 🐛 fixed index page styling on non-firefox browsers (#54) (aced234)
  • website: 🐛 fixed website links (54de491)
  • website: 💄 made github button same size as get started button on index page (c472e04), closes #54

Performance Improvements

  • website: ⚡️ added size optimizations on website (31fb1f8)

Code Refactorings

  • website: ♻️ updated website routes for path prefixing (28bba42)

0.3.0-beta.7 (2021-10-06)

⚠ BREAKING CHANGES

  • routing: multiple internal function signatures accept exxtra parameter for path prefix

Features

  • routing: ✨ added support for relative path hosting with PERSEUS_BASE_PATH environment variable (b7d6eb6), closes #48
  • ✨ added website (#47) (45a0f6c), closes #46

Bug Fixes

  • routing: 🐛 made back button work with locale redirection (cf60c12), closes #50

Documentation Changes

  • book: 📝 added docs for relative path deployment (1ecc94f)

0.3.0-beta.6 (2021-10-02)

Bug Fixes

  • exporting: 🚑 fixed partial flattening in exporting (bdbdc56)

0.3.0-beta.5 (2021-10-02)

Bug Fixes

  • 🚑 fixed page encodings (6d2b7e6)

0.3.0-beta.4 (2021-10-02)

Bug Fixes

  • templates: 🐛 decoded path before passing to build state (596f38e), closes #44

0.3.0-beta.3 (2021-10-02)

⚠ BREAKING CHANGES

  • i18n: build/request state now take locale as second parameter (request state takes request as third now)

Features

  • i18n: ✨ passed locale to build and request state (#43) (95d28bb)

Documentation Changes

  • book: 📝 updated migration guide for beta (643e51e)

0.3.0-beta.2 (2021-10-01)

Bug Fixes

0.3.0-beta.1 (2021-09-30)

⚠ BREAKING CHANGES

  • removed ConfigManager in favor of ImmutableStore, replaced config_manager with dist_path in define_app!

  • feat: ✨ created MutableStore for mutable build artifacts

This replaces ConfigManager fully.

  • many function signatures now include MutableStore, changes to dist/ structure, mutable_store now in define_app!, RouteInfo includes was_incremental_match

  • docs(book): 📝 added docs for new stores system

  • refactor(examples): ♻️ refactored perseus idioms to make more sense

Specifically, template functions are now defined inside the get_template function.

  • docs(book): 📝 updated docs for current state of features

  • fix: 🐛 fixed inconsistencies in paths given to build paths vs incremental

Build paths used to get locale as well in path, not anymore.

  • chore: 🙈 ignored testing deployments

  • fix: 🐛 fixed content being interpolated in head in production

Just a missing .head.html rather than .html.

  • StringResult/StringResultWithCause are replaced by RenderFnResult/RenderFnResultWithCause

  • fix: 🐛 fixed newlines/tabs in initial state causing serialization errors

We're now using JS raw strings, escaping as necessary, and then escaping control characters in the shell.

  • docs(book): 📝 updated docs fro new error systems

Features

  • ✨ added deployment (#37) (a8989dd)
  • cli: ✨ added --release mode to cli (#35) (f66bbb9)
  • ✨ switched to new error systems, added is_server!, and improved render function return types (#33) (53bb61e)

Code Refactorings

  • cli: ♻️ migrated cli to clap (#34) (83e365c)

Documentation Changes

  • book: 📝 added docs for v0.3.x and deprecated v0.2.x (b2e3c57)
  • book: 📝 added migration page for upgrading from v0.2.x (df00cf3)
  • book: 📝 updated latest stable version of docs (ab19e78)

0.2.3 (2021-09-26)

Features

  • templates: ✨ added context to templates if they're beeing rendered on the server or client (7600c95), closes #26
  • ✨ made initial content container invisible for errors as well (0150c8d)
  • ✨ made initial content container invisible once content has loaded (4daa8c2)
  • ✨ renamed __perseus_content to __perseus_content_initial and made __perseus_content a class (7242d74)

Bug Fixes

  • 🚑 changed browser-checking logic to not use context (4cd06c5)
  • i18n: 🐛 used absolute paths in translation macros (a413e85)
  • 🐛 changed __perseus_content_rx to use id instead of class (e504f6d)

Documentation Changes

  • 📝 added docs for styling pitfalls (66b43e1), closes #28

0.2.2 (2021-09-25)

Features

  • templates: ✨ added ability to set http headers for templates (#25) (058d625)
  • ✨ added static exporting (#23) (4838ba4), closes #22

Bug Fixes

  • cli: 🐛 surrounded url with angular brackets (7688d7d), closes #24

Documentation Changes

  • 📝 removed duplication in changelog (0ba3e2c)
  • book: 📝 added docs on header modification (bca6430)
  • 📝 added badges to readme (0441f80)
  • 📝 removed unnecessary readme links (295a7b5)

0.2.1 (2021-09-23)

Features

  • testing: ✨ added testing harness and tests for examples (#21) (4cca6f7)

Code Refactorings

  • routing: ♻️ refactored to eliminate only remaining js (dc21490)

Documentation Changes

  • 📝 updated readme to reflect js elimination (4d5cf2a)
  • book: ✏️ fixed typos in the book (f84cfb0)

0.2.0 (2021-09-21)

⚠ BREAKING CHANGES

  • renamed incremental_path_rendering to incremental_generation, and the corresponding template function no longer takes a value
  • actix web integration now takes static_dirs and static_aliases options
  • js_init no longer an option in actix web integration
  • error_pages now comes after templates and no_i18n apps should not define locales at all
  • error pages use Rcs now, new options for actix web integration, app root must be of <div> form
  • routing: define_app! no longer takes routing paths, just templates
  • i18n: templates no longer take translator (access via context instead)
  • routing: define_app! redesigned, special meaning for index template name, app shell takes full templates, Locales has new property
  • all Arc<T>s are now Rc<T>s
  • i18n: Translator no longer Serialize/Deserialize
  • i18n: FsTranslationsManager now takes a vector of locales to initially cache
  • i18n: common locales no longer exist
  • all user-facing interfaces take new i18n parameters

Features

  • book: ✨ added versions for book (bbdcea2)
  • cli: ✨ added eject command (b747152), closes #14
  • routing: ✨ moved subsequent load head generation to server-side (1e02ca4), closes #15
  • ✨ added initial load control (7335418), closes #2
  • ✨ added metadata modification systems (bb847aa), closes #2 #13
  • ✨ added support for static content and aliases (7f38ea7)
  • ✨ improved define_app! macro (8bf6dd5)
  • cli: ✨ added single-threaded mode for the CLI (5cb465a), closes #11
  • cli: ✨ parallelized cli stages and removed rollup (7693ebf), closes #7 #9
  • i18n: ✨ added dummy translator to support not using i18n (803b4f6)
  • i18n: ✨ added fn on translations manager to get string translations (649a65d)
  • i18n: ✨ added i18n to error pages and integrated fluent (89fa00e)
  • i18n: ✨ added locale detection (b7ad607)
  • i18n: ✨ added macros for translation and moved translator into context (cbfe50c)
  • i18n: ✨ added method to get url in same locale as user currently in (fc8eeaf)
  • i18n: ✨ added server-side translations caching (06b5fa4)
  • i18n: ✨ feature-gated translators (a123f0d)
  • i18n: ✨ removed concept of common locales (95b476f)
  • routing: ✨ added perseus routing systems and simplified app definition (49aa2b9)
  • routing: ✨ switched to template-based routing (78688c1), closes #12
  • ✨ added build artifact purging to cli (ef0cf76)
  • ✨ added i18n (a4402c0)
  • ✨ made cli preserve relative paths in development (d79f029)

Bug Fixes

  • 🐛 added $crate to invocation of define_app! (c2a4560)
  • 🐛 handled page rendering errors properly at initial load (3a9f44a)
  • 🐛 removed deliberately inserted error for debugging (a1fec62)
  • 🔒 disallowed static_aliases outside current directory (08971ca)
  • cli: 🐛 fixed cli --no-build option (9890457)
  • routing: 🐛 fixed #8 (5a787c4)
  • routing: 🐛 fixed error duplication on initial load (53058ba)
  • routing: 🐛 fixed link handling errors in #8 (197956b)
  • ✏️ fixed displayed number of steps in cli serving (4 -> 5) (d1a6bb8)
  • ✏️ updated all instances of WASM to Wasm (f7ec1aa)
  • 🐛 used absolute paths in web_log! macro (945bd2a)

Performance Improvements

  • ⚡️ inlined wasm load script to reduce full requests (6cfe8e1)
  • cli: ⚡️ created workspace in cli subcrates (3e11ecd)
  • i18n: ⚡️ removed needless translations fetch if not using i18n (7c6f697)
  • ⚡️ switched to Rc<ErrorPages> to avoid producing unnecessary ErrorPages (6786ff4)
  • ⚡️ switched to Rc<T>s instead of Arc<T>s (8d70599)

Code Refactorings

  • ♻️ cleaned up macros (30345f0)
  • ♻️ renamed incremental_path_rendering to incremental_generation and improved interface (cb60be0)
  • ♻️ rewrote showcase example to use cli (c2f1091)
  • 🎨 cleaned a few things up (0ab791f)
  • 🔥 removed unnecessary X-UA-Compatible headers (73643b8)
  • i18n: 🚚 refactored to prepare for future multi-translator support (24f4362)

Documentation Changes

  • book: 📝 added docs on migrating from 0.1.x (056fb58)
  • book: 📝 added full intro to perseus (424e3f4)
  • book: 📝 added hello world and second app tutorials to book (58eb92d)
  • book: 📝 finished docs for v0.2.x (c7d3ea2)
  • book: 📝 fixed relative paths in docs and added docs about StringResultWithCause<T> (39b3ce1)
  • book: 📝 wrote advanced docs on routing (31497ab)
  • book: 📝 wrote book initial reference sections (f7f7892)
  • book: 📝 wrote cli docs (e321c38)
  • book: 📝 wrote docs for i18n, error pages, and static content (0375f01)
  • book: 📝 wrote large parts of advanced docs and some other pages (d8fd43f)
  • book: 🔖 released v0.2.x docs (3cd80d0)
  • ✏️ fixed some typos and clarified things in readmes (5c59ae6)
  • 💡 removed duplicate link typo in comment (379d549)
  • 💡 removed entirely useless comment in showcase example (2105f5a)
  • 📝 added explanation for 0.1% js to readme (6f0bd08)
  • 📝 cleaned up docs (b6a6b72)
  • book: 🚑 updated versions of sycamore in book (e41d3e5)
  • examples: ✨ added new tiny example and updated readme with it (2c2d06b)
  • examples: 🚚 merged basic/cli examples and cleaned up examples (db6fbdd)
  • 📝 updated roadmap in readme (c3ad018)
  • 📝 wrote tutorial on building first app (19f0458)

0.1.4 (2021-09-11)

Bug Fixes

  • 🐛 updated basic example perseus version (1d8d895)
  • 🚑 allowed env var specification of command paths in building/serving (5a2e494)

0.1.3 (2021-09-11)

Bug Fixes

  • 🚑 commands now executed in shells (80604a4)
  • 🚑 fixed windows cli bug (1b6ef16)

0.1.2 (2021-09-03)

Bug Fixes

  • 🐛 fixed cli executable name (573fc2f)

Documentation Changes

  • 📝 added crate docs for perseus-actix-web (f5036e7)
  • 📝 added crate docs for perseus package (61ca6c0)
  • 📝 added crate documentation for perseus-cli and fixed doc typos (b3ec9ac)
  • 📝 updated readme with contact links (a2bc5f2)

0.1.1 (2021-09-03)

Bug Fixes

  • 🐛 added version numbers for local package imports (b700cf7)
  • 🐛 fixed cli packaging issues (dd43e81)

0.1.0 (2021-09-02)

Features

  • ✨ added access to request data in ssr (02ce425)
  • ✨ added actix-web integration (0e0f2f1)
  • ✨ added basic cli (5e7a867)
  • ✨ added basic sycamore ssg systems (c8530cf)
  • ✨ added build command to cli (66dc282)
  • ✨ added isr (5baf9bf)
  • ✨ added page path matching logic (734f9df)
  • ✨ added request conversion logic for actix web (71a5445)
  • ✨ added revalidation and refactored a fully modular rendering system (c9df616)
  • ✨ added serving systems to cli (335ff5d)
  • ✨ added ssr (ac79996)
  • ✨ added template method to define function for amalgamating states (1cb4356)
  • ✨ allowed user render functions to return errors (fa50d4c)
  • ✨ built subcrate tro underlie cli functionality (1e7e355)
  • ✨ made config managers async (5e03cad)
  • ✨ made rendering functions asynchronous (5b403b2)
  • ✨ props now passed around as strings (7a334cf)
  • ✨ re-exported sycamore GenericNode (8b79be8)
  • ✨ refactored examples and created preparation system in cli (8aa3d0f)
  • ✨ set up cli systems for preparation and directory cleaning (36660f8)
  • 🎉 added readme and license (0306a10)
  • 🥅 set up proper error handling (7ea3ec0)

Bug Fixes

  • 🐛 allowed build state to return ErrorCause for incremental generation (dd4d60f)
  • 🐛 fixed inconsistent path prefixing in build_state calls (96066d0)
  • 🐛 fixed recursive extraction and excluded subcrates from workspaces (c745cf2)
  • 🐛 removed old debug log (ed4f43a)
  • 🐛 used config manager instead of raw fs in get_render_cfg() (e75de5a)

Code Refactorings

  • ♻️ changed define_app!'s router to use curly brackets (d5519b9)
  • ♻️ created sane library interface (51284a8)
  • ♻️ moved logic into core package from example (b2e9a68)
  • ♻️ removed useless render options system (1af26dc)
  • 🚚 moved everything into packages (dcbabc0)
  • 🚚 renamed pages to templates for clarity (7c9e433)

Documentation Changes

  • 💡 removed old todos (9464ee5)
  • 📝 added docs for cli (e4f9cce)
  • 📝 added documentation for actix-web integration (1877c13)
  • 📝 added example of state amalgamation (cd93fdc)
  • 📝 added link to percy in readme (2072b9b)
  • 📝 added repo docs (043b65f)
  • 📝 added scaffold for basic tutorial docs (23fd0a6)
  • 📝 fixed syntax highlighting in cli docs (3242409)
  • 📝 updated docs for v0.1.0 (bf931e4)
  • 📝 updated readme for significant dependency changes (1d424b5)
  • 📝 wrote large sections of the book (a548531)