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.
- LiveViewNative.Template.Parser - a new Elixir parser for the LVN template syntax
- Parser supports boolean attributes
- Server-Side support for LiveComponent
- Server-Side support for rendering child LiveView
- LiveViewNativeTest
- ensure duplicate IDs raise in tests
- LVN.concat/2
- :interface- special attribute support in tags
- async_result/1
- render_upload support in LiveViewNativeTest
- support single quotes to wrap attribute values in template parser
- LVN Commands
- LiveViewNative.Template.Engine
- LiveViewNative.Component.Declarative
LiveViewNative.Component
no longer importsPhoenix.Component.to_form/2
LiveViewNative.LiveView
now requires thedispatch_to
function to determine which module will be used for rendering- Migrated many functions out of LiveViewNative.TagEngine to LiveViewNative.Template.Engine
- breaking backwards incompatible change function components are now always arity 2 instead of arity #
- _interface value is injected into each assigns for function components
- interface normalizer [#200] allow for interface data to be normalized by the client libs
lvn.setup
is now brokwn into two tasks:lvn.setup.config
andlvn.setup.gen
, the former uses a codegen to inject into your application. There are yet to be addressed edge cases with this, see Known Issues- the
style
attribute was introduced inlive_view_native_stylesheet
. See that library for more information - more progress on stability and performance has been made for the SwiftUI client
lvn.setup.config
should gracefully exit if unexpected config formats are encountered or if files are missingLiveViewNative.PluginError
to allow for better error messaginglvn.setup.config
now had a default value ofY
for prompt during codegen
lvn.setup.config
will now insert after the lastconfig
function rather than before the first foundimport_config
lvn.setup.config
will now group dependencies together first by file path then patch functionLiveViewNative.fetch_plugin!/1
will now raiseLiveViewNative.PluginError
with instructions on how to resolve the error- Improved documentation to
LiveViewNative
module for enabling existing liveviews for native