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
Signaltype. - 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
Spanas a validHtmlPageroot element. - Added
Tbodyas a validHtmlPageroot element. - Introduced new root builder extensions for
div,tr,span, andtbody. - 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.