Driver::utc_now
(Gets current UTC timestamp)Driver::timezone_offset
(Gets browsers time zone offset in seconds)chrono::NaiveDate
support inAutoJsJson
LazyCache::<T>::new_resource()
helperToComputed
impls for primitive types
- Hush excessive logging when no Content-Type or cookie provided
- Docstrings and other attributes in
component!
macro
Reactive
trait that allows generic components to be more flexible with propsBTreeMap
andchrono::DateTime<Utc>
support inAutoJsJson
#[js_json(default = "None")]
attribute toAutoJsJson
JsJson
implementation for unit type()
- All http methods in
FetchMethod
history_replace
method inDriver
- Minification of
wasm_run.js
- vertigo-cli:
--add-watch-path
towatch
command - vertigo-cli:
--wasm-run-source-map
tobuild
andwatch
command
- Missing hash part in history router
- vertigo-cli: Missing
Cache-Control
header for statics
window!
anddocument!
macro to allow invoking simple JavaScript commandsDriver::plains
method to allow responding with plaintext pages- In
css!
macro there is now possibility to reference a class created by anothercss!
using[]
brackets - Enums nad newtypes support in
AutoJsJson
bind!
macro now accepts namespaced variables, f. ex.bind!(state.value, || value + 100)
- Components now accept value without attribute name if the names matches (
color={color}
→{color}
) - In
dom!
macro..
operator now spreads iterable into children (<ul>{..items}</ul>
)
- Hashing of bundled files shortened from SHA256 to CRC64/Base64 to have file names shorter
- Component embedding using non-local name (f. ex.
<my_module::MyComponent />
) - Raw field name support in AutoJsJson derive macro
component!
macro copying attributes to struct (and doc-strings)css!
macro resolving expressions inurl
- vertigo-cli: Watch script now attached inside body tag
- vertigo-cli: Don't html-escape styles embedded during SSR
- vertigo-cli: Don't panic when missing root html element
- vertigo-cli: Allow missing "head" element
- Removed panics/unwraps from
dom!
macro
- Lifetimes and generics in
#[component]
macro - vertigo-cli: Media queries in SSR
- Version matching always failed due to
if true
XD
LazyCache::forget
- Check for vertigo/vertigo-cli major.minor versions mismatch. Error is printed on CLI and JavaScript console.
LazyCache::force_update
really forces the update even if value not expiredJsJson
andJsValue
list size as u32 - fixes large DOM updates
computed_tuple!
macroon_blur
,on_mouse_down
,on_mouse_up
eventToComputed
trait
- In
dom!
macro, allow default value for an attribute by passing empty{}
- vertigo-cli: Fixed un-captured outputs of commands run during build
- Breaking:
dom_element!
macro which returnsDomElement
struct, whiledom!
macro returnsDomNode
now - Suspense mechanism
on_change
event to<select>
/<input>
/<textarea>
- Env variables passed to application
- vertigo-cli:
Cargo
as lib dependency
main
macro that wraps a function returningDomElement
into an app starting entry point
dom!
macro can now return a list of elements, not only one- In
dom!
macro, name of attribute can be omitted if variable name is the same (on_clich={on_click}
can be shortened to{on_click}
) - vertigo-cli: Error message popup can now be dismissed
DomFragment
vertigo-cli
packaging tool with commandsnew
,build
,watch
andserve
- Server-side rendering built in
vertigo-cli
JsJson
data structure to communicate with JS world without string serialization,AutoJsJson
macro for creatingJsJson
from structures and structures fromJsjson
- A warning in JS console if developer tried to get a value already set to be changed during transaction
@media
queries support in CSSDriver::cookie_set_json
andDriver::cookie_get_json
for storingJsJson
-enabled structures in a cookieDriver::history_back()
method invokinghistory.back()
on windowhtml_entities
to ease insertion of uncommon letters and symbols indom!
macroon_load
event
- Renamed DomCommentCreate to DomFragment
start_app
doesn't require state
css_fn!
andcss_fn_push!
macros (not very useful, problems with error reporting in proper place)serde
dependency
bind!
,bind_rc!
,bind_spawn!
macrosdriver.get_random()
impl From<Value> for Computed
- BREAKING: Removed
bind
,bind2
, ... functions
- Refactored websocket mechanism (internal)
- Components with "props"!
DomElement::from_parts
for unit-testing purposes
- Improved refresh algorithm (internal)
- Simplified context system (internal)
- Refactored callbacks mechanism (internal)
RefCell
hook_keydown
andon_dropfile
eventsbind
,bind2
... functions for creating event handlers
Driver
object is now global, so there's no need to pass it as parameter in all functionsget_value
andset_value
methods are nowget
andset
start_app
initialization function now takes anFnOnce
instead of readyVDomComponent
- Dropped
PartialEq
constraint fromValue
,Computed
and other implementations - Refactored subsystem for exchanging values between rust and js
- Removed virtual dom intermediate in favour of real dom operations
vertigo-browserdriver
package - it is now integrated intovertigo
as the default and only driver- Callback from
HashRouter
- it can be now treated similarly toValue
EqBox
- Cookies support in JS Driver
- Improved initiation of spawn executor
- Improvements in Graph
- RC-structures, BoxRefCell removed
- Removed wasm-bindgen
start_browser_app
function with optional wasm-logger configuration- Examples directory
- More docstrings
- Demo: Speed setting in game of life
wasm-bindgen
is now re-exported invertigo-browserdriver
so it is easier to use its proper version
- We-alloc usage as it caused memory problems on wasm-js border
- Re-exports for AutoMap, Computed, Value, DropResource
- Tutorial
- Some docstrings with examples
- LazyCache::force_update - Added parameter with_loading
- Simplified computed refresh function
- Installation and usage notes
- JS Driver - Replacement for
web-sys
- Instant - Replacement for
std::time::Instant
in browser driver - LazyCache - A wrapper on Value that make it cache for defined amount of time and is lazily loaded using provided loader function
- SerdeRequest derive macro - allows a structure to be automatically loaded from response or passed in body request using serde library
- Reorganized project structure
- Simplified application start
- Performance improvements in browser driver
wasm-run
andweb-sys
dependency
- FetchBuilder - Allows to configure request before sending
- CSS pseudoselectors support
- Support for MouseEnter, MouseLeave, KeyDown events
- SVG rendering
- HTML/CSS macros - Allows to construct Virtual DOM nodes using HTML and CSS
- Fetch - Allows to fetch data from the internet
- HashRouter - Allows to hook on changes in hash location in url
- Demo: Game of Life - presents possibility of making changes in app state in one transaction
- Leaking subscriptions
Initial release
- Virtual DOM - Lightweight representation of JavaScript DOM that can be used to optimally update real DOM
- Reactive dependencies - A graph of values and clients that can automatically compute what to refresh after one value change
- Browser driver - Methods for interacting with real DOM and the browser itself
- AutoMap - HashMap that automatically creates value using passed constructor
- Demo app - example app that tries to use every feature of vertigo