Releases: seed-rs/seed
Releases · seed-rs/seed
0.10.0
- Updated dependencies
- Adapted to Rust 1.67.1.
- [BREAKING] removed
fetch
module (usegloo-net
) - [BREAKING] removed
websocket
module (usegloo-net
orwasm-sockets
) - [BREAKING] removed
web-storage
module (usegloo-storage
) - [BREAKING] removed
log!
anderror!
macros (usegloo-console
) - [BREAKING] removed
md!
macro (use an external crate +El::from_html
) - [BREAKING] removed
cookies()
function (use an external crate like cookie) - [BREAKING] removed
panic-hook
feature (useconsole_error_panic_hook
) - [BREAKING] removed
serde-json
andserde-wasm-bindgen
features - [BREAKING] added
routing
feature
0.9.2
0.9.1
0.9.0
- [BREAKING] Base path changed from
Rc<Vec<String>>
toRc<[String]>
.
It means alsoOrders::clone_base_path
returns a slice. - [BREAKING] Hid markdown functionality behind optional
markdown
feature - [BREAKING] Added argument
Option<&Namespace>
to functionsNode::from_html
andEl::from_html
. - [BREAKING] Added blanket
impl<Ms, T: IntoNodes<Ms>> IntoNode<Ms> for Option<T>
.
This might conflict with localimpl
s ofIntoNodes
, but should make those unnecessary and safe to remove. - [BREAKING] Removed the deprecated
browser::service::fetch
module. - [BREAKING]
fetch::Error::SerdeError
changed tofetch::Error::JsonError
- Fixed: Prevent link listener from intercepting links with the
download
attribute. - Fixed an issue in vdom where inputs with invalid contents being cleared on Firefox.
- Added helpers for wheel event:
wheel_ev
andto_wheel_event
. - Added
Response::blob
- Added
panic-hook
feature, enabled by default, to conditionally includeconsole_error_panic_hook
- Added macro
raw_svg!
(#589). - Added
browser::dom::Namespace
toprelude
. - Added
At::Role
variant. - Added
Response::headers
. - Added
Headers::new
. - Added
Header::name()
andHeader::value()
. - Added
fetch::form_data::FormData
andRequest.form_data
. - Added
serde-wasm-bindgen
andserde-json
features to use eitherserde-wasm-bindgen
orserde_json
for JSON de-/serialization.
serde-wasm-bindgen
reduces final binary size for downstream users.serde-json
is enabled by default. - Added method to return detailed error response from server with
FetchError
. - Added
Request.body_ref
to take the body by reference. - Added
sl_input
to thecustom_elements
example. - Added examples
drag_and_drop
,record_screen
,e2e_encryption
andcounters
. - Added
charts
example. - Added
page_trait
example. - Added
on_insert
event on elements, triggered when they are inserted into the DOM. - Implemented
AsAtValue
forOption<T>
- Implemented
From<impl AsRef<web_sys::Headers>>
forHeaders
. - Implemented
FromIterator<(impl Into<Cow<'a, str>>, impl Into<Cow<'a, str>>)>
forHeaders
. - Use
wheel_ev
incanvas
example to zoom rectangle with mouse scroll wheel. - Derived
Eq
andPartialEq
forHeader
. - Element macros like
div!
can now containIterator
s inside ofOption
values. Previously only one or the other was possible. - Adapted to Rust 1.60.0.
- Updated dependencies
0.8.0
- [BREAKING] Rename
linear_gradient!
tolinearGradient!
for consistency with the other svg macros (same withradial_gradient!
andmesh_gradient!
) (#377). - Fixed
base_path
with a trailing slash parsing / handling. - Fixed
C
macro memory / WASM file size issue. - Added examples
tests
,service_worker
,resize_observer
,component_builder
,i18n
andunsaved_changes
(#459). - Fixed
UrlRequested
handling (#459). - [BREAKING] Hidden and renamed module
effects
toeffect
. - Added
App::update_with_option
. - Added
Navigator
andBeforeUnloadEvent
into Seed'sweb_sys
. - Fixed runtime exception when using binary data in WS on some browsers (#470).
- Exported macro
with_dollar_sign!
. - [deprecated]
RequestAnimationFrameTime
+RequestAnimationFrameHandle
+request_animation_frame
are deprecated. - [deprecated]
set_interval
+set_timeout
are deprecated. - [deprecated]
class!
is deprecated in favor ofC!
. - [BREAKING] Removed deprecated
AppBuilder
withsink
,mount_point
,routes
,window_events
, etc. (UseApp::start
instead.) - [BREAKING] Removed support for deprecated global messages (
GMsg
,GMs
, ..). Useorders.notify
+orders.subscribe
instead. - Relaxed
view
andupdate
type inApp::start
fromfn
toFnOnce + Clone
. - [BREAKING] Removed deprecated
Ev::TriggerUpdate
. - [deprecated]
simple_ev
is deprecated. - Exposed dependency
console_error_panic_hook
. - Fixed double
UrlChanged
firing by removinghashchange
listener. - Added
Request::bytes
. - Build Changes - Remove all workspace=false and instead defined default_to_workspace=false in the config.
- Build Changes - Make all core cargo-make tasks private with default namespace and remove clear=true from all seed tasks.
- Build Changes - Remove installation instructions and instead depend on core cargo-make installation tasks.
- Build Changes - Replace rust for_each implementation with duckscript which is much shorter, simpler and faster (in case you don't have cargo-script installed).
- Build Changes - Enforce minimal cargo-make version: 0.32.1.
- Added new
Orders
methodsrequest_url
(#518) andmsg_sender
(#502). - [BREAKING]
Orders::msg_mapper
returnsRc<..>
instead ofBox<..>
. - Reexported
pub use wasm_bindgen_futures::{self, spawn_local, JsFuture};
andpub use futures::{self, future::{self, FutureExt, TryFutureExt}};
inlib.rs
. - Updated example
websocket
. - Fixed link handling (#527).
- Fixed attribute ordering (#335).
- Implemented
Display
forNode
(#294). - Fixed url requests from pages when the hash routing is used.
- Fixed url encoding, serializing in
push_route
and the methodUrl::hash_path
. - Added
Url
methodsskip_hash_base_path
andencode_uri_component
(#424). - Added
Node::NoChange
.
0.7.0
- [BREAKING] Custom elements are now patched in-place (#364). Use
el_key
to force reinitialize an element. - Added
el_key
method for adding keys toEl
s (#354). - Enabled all additional markdown extensions.
- Removed
'static
bound fromEl
andNode
. - [BREAKING] Changed
perform_cmd
andseed::browser::service::fetch
return type toT
instead ofResult<T, T>
. - Added Aria attributes.
- [BREAKING]
UpdateEl<T>
changed toUpdateEl<Ms>
andfn update(self, el: &mut T);
tofn update_el(self, el: &mut El<Ms>);
(#370). - Added trait
UpdateElForIterator<Ms>
. - Added support for all
Iterator
s,Option
,u32
,i32
,usize
,f64
and references in element creation macros (#365, #128). - [BREAKING]
String
implementsUpdateEl<T>
. (References are now required forString
properties, e.g.div![&model.title]
.) - Fixed
href
detection to ignoreuse
elements (#384). - Added methods
subscribe
,subscribe_with_handle
,perform_cmd_with_handle
,stream
,stream_with_handle
andnotify
intoOrders
(#130). - Added
cmds::timeout
,stream::interval
,stream::window_event
,stream::document_event
,subs::UrlChanged
andsubs::UrlRequested
(#131). - [BREAKING] Futures in
perform_cmd
andperform_g_cmd
are executed immediately. - Added
App
methodsnotify
andnotify_with_notification
. - [BREAKING]
App
methodprocess_cmd_and_msg_queue
renamed toprocess_effect_queue
. - [BREAKING] Url change listeners are always active (even if
routes
is not defined). - Added
cmds
,streams
,subs
,CmdHandle
,SubHandle
andStreamHandle
into the Seed's prelude. - [BREAKING] Removed module
next_tick
. - Added method
App::start
(alternative toAppBuilder
) (#376, #382). - Added trait
GetElement
+ included in theprelude
(alternative toMountPoint
, used inAppStart
). - Derive
Debug
forElRef
. - Added macros
C!
andIF!
and helpernot
(#375). - Added trait
ToClasses
+ included in theprelude
. ev
accepts handlers that returnMsg
,Option<Msg>
or()
(#394).- [BREAKING]
EventHandler::new
accepts only handlers that returnOption<Msg>
. - [BREAKING]
ev
-like functions and someOrders
method require'static
bound for generic types (temporary). Orders::after_next_render
now accepts callbacks that returnMsg
,Option<Msg>
or()
.- [deprecated]
View
is deprecated in favor ofIntoNodes
. - [BREAKING]
View
isn't implemented forEl
andVec<El>
. - [BREAKING]
Node::add_listener
renamed toadd_event_handler
. - Rewritten
README.md
. - Added new Fetch API module. See
seed::browser::fetch
(#353) - [deprecated] -
seed::browser::service::fetch
module is deprecated in favor ofseed::browser::fetch
. - Implemented
IntoNodes
forOption<Node<Msg>>
andOption<Vec<Node<Msg>>>
. - Implemented
UpdateEl
fori64
andu64
. - Reset properties
checked
andvalue
on attribute remove (#405). - Added examples
markdown
,tea_component
,subscribe
,custom_elements
,fetch
,url
,pages
,pages_hash_routing
,pages_keep_state
,auth
,bunnies
andgraphql
(#400). - Updated examples.
- Removed examples
app_builder
,orders
,server_interaction
,counter_advanced
andmathjax
. - Example
animation_frame
renamed toanimation
. - Added base url handling + method
Orders::clone_base+path
(#369). - [BREAKING] Updated
Url
androuting.rs
. - [deprecated]
seed::browser::service::storage
. - Added
LocalStorage
,SessionStorage
andWebStorage
(trait). - Added
TouchEvent
andtouch_ev
definitions. - Added
DragEvent
anddrag_ev
definitions. - [BREAKING] Renamed
to_kbevent
toto_keyboard_event
. - [BREAKING]
after_next_render
returnsRenderInfo
. web_sys
,js_sys
andwasm_bindgen
+wasm_bindgen::JsCast
included inprelude
.- Added
WebSocket
+ related items (#8). - Exposed
App::mailbox
. - Added
streams::backoff
+ updatedwebsocket
example.
0.6.0
- Implemented
UpdateEl
forFilter
andFilterMap
. - Added method
El::is_custom(&self)
. - Fixed custom elements patching (#325).
- Removed unnecessary error message for comment nodes.
- [BREAKING] Removed deprecated
update
andtrigger_update_ev
. - [BREAKING] Removed the remains of lifecycle hooks.
- Fixed
value
andchecked
setting for input elements (a bug in VirtualDOM patch algorithm). - [BREAKING] Removed unpredictable internal input listeners - Seed will not longer react to external input value changes.
- [BREAKING] Use
EventHandler
instead ofListener
. (Listener
is now used as the internal DOM EventListener representation.) - [deprecated] -
raw_ev
is deprecated in favor ofev
. Functionality is the same. - Improved performance - rewritten event-handling and other refactors in VirtualDOM.
- Fixed processing of multiple event-handlers (#138).
- Added DOM Element references - see
ElRef
and examples (canvas
,user_media
ortodomvc
) (#115). - Removed
Ms: Clone
restriction as much as possible. - [BREAKING] Added or changed
Custom
variant fromCustom(String)
toCustom(Cow<'static, str>)
inEv
,Tag
,At
andSt
. Use functionfrom
to create custom entities (e.g.At::from("my-attribute")
) (#208). - Added macro
nodes!
. It acceptsNode<Msg>
andVec<Node<Msg
, returns flattenedVec<Node<Msg>
. - Refactored all examples.
- Fixed and rewritten example
todomvc
. - Renamed
counter
example tocounter_advanced
. - Renamed
drop
example todrop_zone
. - Removed
server_interaction_detailed
example. - Added a new simpler
counter
example. - Changed example in the main
README.md
. - Added flag
#![forbid(unsafe_code)]
so the Seed will be marked as a safe library by the Rust community tools. - Removed
clone
restriction from the methodEffect::map_msg
. - Implemented
UpdateEl
forFlatMap
. - Adapted to Rust 1.41.0.
0.5.1
- [BREAKING]
MessageMapper::map_message
changed toMessageMapper::map_msg
. - [BREAKING]
fetch
andstorage
moved toseed::browser::service::{fetch, storage}
,
but reimported at the lib level. Ie:seed::fetch
, andseed::storage
. - Added support for
Vec<Attr>
andVec<Style>
in view macros. App
included inprelude
.- [BREAKING] Seed refactored to use
async/.await
.fetch.rs
docs updated. - Export
Attrs
,Style
,Listener
. ie, can import withseed::Style
etc. - Fixed a bug causing the docs not to build.
0.5.0
- Added helper
seed::canvas()
, andseed::canvas_context()
helper functions. - Fixed
Url
parsing (resolves issue with hash routing). - [BREAKING]
From<String> for Url
changed toTryFrom<String> for Url
. - Fixed jumping cursor in inputs (#158) .
- Added method
orders.after_next_render(Option<RenderTimestampDelta>)
(#207). - Fixed a bug with back/forward routing to the landing page (#296).
- Deprecated
Init
struct, replacing it withBeforeMount
andAfterMount
structs to
better denote state before and after mounting theApp
occurs. - Added a new function
builder
which replacesbuild
as part of deprecatingInit
. - Added a new function
build_and_start
which replacesfinish
as part of deprecatingInit
. - Added
IntoInit
andIntoAfterMount
traits. It is possible to use these
in place of a closure or function to produce the correspondingInit
andAfterMount
structs. - Messages sent from
IntoAfterMount
will now be run after the routing message. - Added example
app_builder
. events::Listener
is included inprelude
.()
s have been replaced with structs - e.g.GMs = ()
=>GMs = UndefinedGMs
.WindowEvents
alias changed toWindowEventsFn
for consistency with other*Fn
.- Commented builder and helper methods.
0.4.1
- Added more SVG
At
variants - Added the
St
enum, for style keys; similar toAt
- Improved ergonomics of
add_child
,add_attr
,add_class
,
add_style
,replace_text
, andadd_text
,Node
methods