Skip to main content

Release 5.0.3 - DataStar DSL, New HTML Builders, and Tooling Improvements.

ยท 2 min read

Significant improvements to the Kotlin DSL, HTML builder capabilities, code quality, and build infrastructure.

๐Ÿš€ DataStar Kotlin DSLโ€‹

A major milestone was reached with the introduction and evolution of an idiomatic Kotlin DSL for DataStar integration:

  • Introduced DataStar extension functions and the new Signal type.
  • Added support for dataBind, dataInit, dataIndicator, dataAttr, and other DataStar attributes.
  • Expanded support with additional data-* attributes.
  • Added modifier support for DataStar attributes.
  • Refactored builders and organized DataStar tests into their own package.

These improvements make it easier to build reactive HTML declaratively while keeping the API clean and type-safe.

๐Ÿ—๏ธ HTML Builder Improvementsโ€‹

The HTML DSL continues to become more flexible:

  • Added Span as a valid HtmlPage root element.
  • Added Tbody as a valid HtmlPage root element.
  • Introduced new root builder extensions for div, tr, span, and tbody.
  • Expanded test coverage for all new builder capabilities.

๐Ÿงน Refactoring and Qualityโ€‹

Several improvements were made to enhance maintainability and reliability:

  • Refactored HTML extension functions.
  • Applied Spotless formatting across the project.
  • Added missing unit tests.
  • Simplified imports and cleaned up obsolete tests.
  • Improved internal builder implementations.

โš™๏ธ Build & CI Improvementsโ€‹

The development workflow has also been modernized:

  • Upgraded the project to Kotlin 2.3.10.
  • Replaced JaCoCo with Kover for code coverage.
  • Added a GitHub Actions workflow to enforce Spotless formatting checks.
  • Merged multiple feature and CI pull requests.
  • Prepared the htmlflow-parent 5.0.3 release.

๐Ÿ“ฆ Overallโ€‹

This development cycle focuses on three key goals:

  • Expanding the HTML DSL with more expressive root builders.
  • Delivering first-class support for DataStar through an idiomatic Kotlin API.
  • Improving project quality with stronger testing, automated formatting, updated tooling, and modernized CI.

Together, these changes make HTMLFlow more expressive, easier to maintain, and better prepared for future releases.