v1.0.0-beta.1
Docraft v1.0.0-beta.1 Release Notes
Release date: 2026-03-11
Status: Beta
Docraft v1.0.0-beta is the first public beta milestone for the project: a C++23, in-process PDF generation library built around the XML-based Craft Language.
Highlights
- Introduces the Craft Language for declarative document authoring (
.craft) with no coordinate-level drawing required. - Delivers automatic flow layout and pagination, including reusable header/body/footer sections and automatic page numbering.
- Adds runtime templating features (
${variables}and<Foreach>) for JSON-driven document generation. - Provides rich document elements including tables, lists, shapes, images, and nested horizontal/vertical layouts.
- Ships with both a linkable
docraftlibrary and thedocraft_toolCLI renderer. - Supports pluggable rendering abstractions with libharu currently used as the PDF backend.
What Is Included In This Beta
- Core library:
docraft(static by default, optional shared build). - CLI executable:
docraft_toolfor rendering.craftfiles to PDF. - Craft parser stack: parsing for text, shapes, images, tables, layouts, settings, and foreach blocks.
- Template engine: key/value and JSON-array binding for data-driven output.
- Documentation: Sphinx and Doxygen docs with API and getting-started material.
Build and Compatibility
- Language standard: C++23.
- Build system: CMake 3.16+.
- Key dependencies: libharu, pugixml, nlohmann-json.
- Test dependency: GoogleTest (when
BUILD_TESTS=ON). - Platforms: macOS, Linux, and Windows workflows are documented in
README.md.
Quality and Test Coverage
The beta test suite includes coverage across:
- document model primitives and cloning
- layout and pagination behavior
- Craft language parsing (tables, shapes, images, settings)
- rendering/painter smoke paths
- templating and utility modules (keyword extraction, logging)
Breaking Changes
- None announced for this beta tag.
Known Limitations (Beta)
- Public APIs and Craft syntax may still evolve before stable GA.
- Backend support is currently centered on libharu implementations.
- Performance tuning and broader production hardening are ongoing.
Upgrade / Adoption Notes
If you are evaluating this beta:
- Build with your target toolchain using the documented CMake flow.
- Validate your Craft templates and runtime data models against your production scenarios.
- Keep integrations version-pinned to this beta tag until stable release notes are published.
Acknowledgments
Thanks to all contributors and early adopters helping validate the first Docraft beta.
Full Changelog
Initial beta milestone release.