Version 2.10.0 - "Lightspeed"
NEW FEATURE: Components can now load HTML and CSS directly from files or template elements, as opposed to embedding structure in config. (Not that there is anything wrong with that older way - this is just another way of using components and gives you more options.)
NEW FEATURE: Components and all ajax requests now allow ACSS variables, with the accept-vars option. By default, any ACSS variables in external files will not be evaluated when loaded unless the accept-vars option is specifically specified, for security reasons. ACSS variables hidden inside user content should be escaped on the server with a backslash, by the developer, to avoid variable evaluation when loaded.
NEW FEATURE: Custom element components now have a intuitive and easy way to get loading indicators whilst waiting to render. The child elements of custom elements get removed by default when the component is loaded.
NEW FEATURE: New toggle-attribute action command.
NEW FEATURE: New fullscreen action command.
NEW FEATURE: New empty action command.
NEW FEATURE: New innerhtmlchange event.
NEW FEATURE: New cross-DOM if-has conditional.
NEW FEATURE: Allow attribute referencing {@attr} in delay labels
NEW FEATURE: Allow variables in delay time syntax for action commands.
NEW FEATURE: New header options added to ajax commands.
NEW FEATURE: New csrf option added to ajax commands so forms work easily with back-ends like Laravel.
BUG FIX: Fix to, and clarification of, the purpose of the closest combinator <, so it works intuitively as part of a complex selector.
BUG FIX: Fixed a bug to do with set-attribute/set-property with regard handling spaces, double-quotes and backslashes.
BUG FIX: Fixed an error that was caused by external JS changing the URL in an SPA context, if the URL changed to an incomplete URL.
BUG FIX: Functions should now work in embedded JavaScript, such as in the run command. Note that // for comments is still not supported anywhere in ACSS, including JavaScript embedded in config.
BUG FIX: Fixed selector drilling into a shadow DOM, eg. #myShadowHost -> shadow -> div.
BUG FIX: Fixed weird barfness caused by pause and after stack being used in the same event flow.
BUG FIX: Fixed cancel-timer not always working in context of private components.
BUG FIX: Forms no longer send disabled fields to server on ajax form submit.
DEPRECATION: The fullscreen-on and fullscreen-exit have now been deprecated and will be removed at some point. Replace with the new fullscreen action command.
BREAKING CHANGE: The child elements of custom element components now get removed by default when the component is loaded. Use the {$CHILDREN} variable to redraw children in the component itself if necessary.
BREAKING CHANGE: Events such as afterBackgroundColor, afterFunc, etc. have been removed as functionality, because ACSS action commands run sequentially now and as such these events are no longer necessary. The afterAjax family of events have not been removed, as they are still very much needed. This removal has given the core a good performance boost. There are alternatives to doing the same thing. If you are using these types of events currently, simply take the action commands from the "after" event and place them in sequence immediately after your main action command to fix things. If that isn't possible to do, trigger your existing "after" event as a custom event immediately after your main action command and call your "after" event that way. Eg. "background-color: green; #myDiv { trigger: afterBackgroundColor; }". In other words, the afterBackgroundColor event can stay as it is in your config, but it becomes a custom event which is triggered from where you need it to trigger. It will just need the additional trigger command to work. Note: Do not touch your afterAjax events because none of the ajax events are planned for removal.