Get the latest version of the core engine and default configuration.
Download v1.8.1 (.zip)Includes andalina.js and
andalina.config.json • Licensed under GNU LGPL-3.0
Transpile your dynamic Andalina projects directly into static SSG sites or native Enterprise framework views (JSF, Blade, Django, Thymeleaf) for production.
October 20, 2026
Bug fixes and stability improvements for embedded script execution, local dev-server compatibility, and nested slot scoping.
cloneNodeSafe where .innerHTML caused logical operators (&&, <) inside <script> blocks to be HTML entity-encoded, leading to syntax errors during dynamic script execution. Cloned scripts now preserve raw code via verbatim .textContent.
fetchFragment), preventing redundant reloader executions and stopping development server scripts from leaking into <an-code> documentation blocks.
<an-inject> slot extraction to only direct children of the target template/layout/component container (getDirectInjects), ensuring inner slots with matching names (e.g. name="content") never overwrite outer parent slots.
October 19, 2026
Introducing live in-page DOM code extraction and two-stage snapshot support for <an-code>.
src="#element-id"): <an-code> can now reference any element on the current page via an ID selector (e.g., <an-code src="#button-demo">), eliminating duplicate external snippet files for UI documentation and interactive demos.
stage="before | after"): Use stage="before" to display the raw, unrendered Andalina syntax (e.g., <an-component>) and stage="after" (default) to display the final compiled HTML output—ideal for side-by-side or tabbed documentation views.
unwrap="true" (to extract inner markup without the wrapper container), keep-id="true" (to preserve the root element ID), and format="true | false" overrides.
October 17, 2026
Critical enhancements to document rebuilding, DOM parsing stability, and error resilience.
<an-attribute />) swallowed subsequent sibling elements. Self-closing custom tags are now pre-normalized, and any swallowed DOM children are safely unwrapped back into the document before attribute extraction.
document.open() and document.write() calls with non-destructive DOM node merging for <an-template>, preventing dev-server live reloading disconnects (VS Code Live Server) and avoiding timing issues with deferred scripts.
try...finally block and added a 4-second safety timeout so the page body is never left hidden at opacity: 0 when an unhandled error or resource delay occurs.
August 23, 2026
Introducing logic control flow and JavaScript expressions into the templating engine.
<an-if> / <an-else>): Show or hide template blocks based on JavaScript expressions evaluated against your <an-data> stores. Integrated seamlessly with <an-repeat> for loop-scoping.
{{ }}) has been supercharged to support full JavaScript expressions, fallbacks (e.g. {{ user.name || 'Guest' }}), math, and logic operations.
August 22, 2026
Introducing global data availability across layouts, and seamless array bracket notation.
<an-data> is now globally accessible via dot-notation (e.g. {{ appConfig.title }}) without requiring an <an-repeat> loop.
{{ products[0].name }}) alongside dot notation.
August 22, 2026
Introducing external JSON data fetching, dynamic repeater binding, and a comprehensive real-world Examples Hub.
Data Fetching: Added <an-data src="URL" name="variable"> tag to asynchronously fetch JSON arrays/objects and store them globally for template consumption.
Dynamic Repeaters: Upgraded <an-repeat> to support looping over arrays using the new data and item attributes.
Examples Hub: Added a new official Examples Hub featuring 7 real-world use cases, ranging from basic component injection to complex layout-data-repeater chains.
August 12, 2026
Introducing the official Andalina Builder extension for VS Code and specialized syntax for developer notes.
Andalina Builder: Released the official VS Code Extension. Features a native GUI to manage build actions, static compilation of Andalina components, automatic asset copying, and auto-build on save.
Developer Comments: Added a new syntax
<!-- an-comment: note --> that allows developers to leave
internal notes which are automatically stripped by the Builder during compilation.
July 28, 2026
Major architecture upgrade enforcing Structured Syntax for components and layouts, plus significant core engine optimizations.
Structured Syntax Support: Added canonical wrapper tags
<an-component-def> and <an-layout-def>,
cleanly separating metadata (<an-attributes>) from DOM markup
(<an-body>).
Instant O(1) Metadata Lookup: Replaced regex string stripping with
native DOM queries (doc.querySelector('an-attributes')), extracting
prop defaults and flags instantly without temporary innerHTML divs.
Mandatory Prop Checking: Calling tags are now validated against
mandatory="true" attributes with descriptive warnings if omitted.
Core Engine Optimization: Benchmarked against v1.1.0 showing a 26.2% speed improvement (1.36x faster) in component parse and render cycles.
Strict Architecture Enforcement: Flat/unstructured components now log a helpful console error guiding developers to structured syntax.
LGPL-3.0 License: Officially licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0-or-later).
July 27, 2026
Introduced global versioning, cache-busting query parameters, and pre-parse attribute extraction.
Global Cache Busting: Added globalConfig.version and
data-version support to automatically append ?v=VERSION to
fetched URLs.
Cache-Control Headers: Injected no-cache meta headers
across documentation and download pages.
Head Parsing Protection: Prevented browser DOM parsers from moving component metadata into the body during fragment loading.
July 20, 2026
First public release of Andalina HTML Composition Engine.
Zero-dependency client-side HTML composition engine supporting
<an-include>, <an-layout>,
<an-component>, <an-template>, and
<an-repeat>.