Skip to content

Changelog

All notable changes to this project are documented in this file.

The format is based on Keep a Changelog, and this project follows Semantic Versioning.

Unreleased

Changed

  • Relicensed repository-authored work from MIT to AGPL-3.0-or-later; historical releases remain under their published MIT terms, and third-party material retains its own terms.

Added

  • Added the separate openbim-ilcd-epd crate with bounded, DTD-free parsing of InData ILCD+EPD v1.3 process identity, multilingual names, and declared ISO 22057 information modules.
  • Added exact original-byte preservation for unmodified ILCD+EPD documents, including unknown provider extensions.
  • Added an attributed XML-only mirror of all 45 files in the upstream v1.3 sample_data corpus; schemas, PDFs, logos, and other documents remain outside tracked fixtures and crate packages.
  • Composed ISO 22057 EPD templates with the canonical openbim-dt ISO 23387 DataTemplate type already used by openbim-loin.
  • Documented the pinned local ILCD+EPD reference checkout and the ÖKOBAUDAT, IBU.data, ECO Platform, and InData ecosystem scope.
  • Added an automated GitHub Pages site with generated Rust API documentation and single-source architecture, roadmap, and changelog pages.

Fixed

  • Use the required artifact.tar member name, rooted file/directory topology, and uploader version bundled by the official Pages composite so deploy-pages accepts the repository-generated archive.

Security

  • Hardened Pages publication to reject symlinks in every supplied path component, hard links, filesystem-boundary crossings, post-validation path substitution, and unexpected artifact types or malformed generated content; deployment now uploads the exact verified tar archive and manual runs can deploy only from main.
  • Added generated-site local-link verification and a rustdoc API landing page so every published rustdoc navigation target resolves inside the artifact.
  • Added positive validators for every allowed generated asset type and require .nojekyll and rustdoc's .lock marker to remain empty.

0.1.1 - 2026-08-25

Fixed

  • Corrected public examples to use InformationModuleGroup and group() so module D is not presented as a life-cycle stage.
  • Added a compile-tested crate example and excluded internal agent planning files from the published package.
  • Pinned CI actions to immutable commits and made Cargo gate operations locked.

0.1.0 - 2026-08-25

Added

  • Reserved the openbim-epd crate name.
  • Added an ISO 22057:2022 standard-edition contract.
  • Added all 18 EPD information-module codes, including the aggregated A1-A3 value, and semantic groupings that keep module D explicitly beyond the product-system boundary.
  • Added standalone documentation, CI, package verification, and explicit format-boundary guidance.