Skip to content

Latest commit

 

History

History
122 lines (83 loc) · 5.39 KB

File metadata and controls

122 lines (83 loc) · 5.39 KB

Changelog

All notable changes to Proton are documented in this file.

[0.12.2] - 2026-04-01

Changed

  • Asset helper functions (stylesheet(), stylesheetAsync(), script()) no longer include SRI integrity attributes by default. Pass true as the second argument to opt in.

[0.12.1] - 2026-04-01

Fixed

  • Batch pages now recompute all page.* metadata per item. Previously, fields like title, outputPath, filename, and isIndex leaked from the template page instead of being derived from each batch key.
  • Custom frontmatter fields (e.g., nav_group) are now preserved through batch processing. Previously, recomputing metadata discarded all non-computed frontmatter.
  • Batch pages with an index key no longer produce a double-indexed output path (index/index.html).

[0.12.0] - 2026-04-01

Added

  • Rich page metadata: every page now exposes page.canonical, page.path, page.outputPath, page.depth, page.isIndex, page.parent, and page.slug in templates and layouts.
  • Pages collection (proton.pages) now includes all page metadata fields for full parity with per-page page.* variables.
  • New "Page Variables" reference section in the data documentation with a complete table of all page.* variables and usage examples.

Changed

  • Moved buildUrl() from PageCollection to Page, centralizing all page metadata computation in a single Page::computeMetadata() method shared by both Page and PageCollection.

Fixed

  • Index page detection now uses exact filename match (index) instead of substring matching. Previously, pages like reindex.html were incorrectly treated as index pages in both URL generation and output path building.

[0.11.0] - 2026-04-01

Added

  • Asset helper Twig functions: stylesheet(), stylesheetAsync(), and script() generate complete HTML tags with cache-busting query strings and SRI integrity attributes.
  • Lower-level file_hash() and file_integrity() Twig functions for custom asset tags.
  • stylesheetAsync() uses the media="print" pattern with a <noscript> fallback for non-render-blocking CSS loading.
  • Sitemap now includes <lastmod> dates based on output file modification times.
  • Build summary printed after each build showing page count, asset count, output size, and elapsed time.

Changed

  • Build order: assets are now copied and npmBuild runs before page compilation. This allows asset helper functions to hash files generated by NPM build tools.
  • AssetManager::copyAssets() now returns the count of copied assets.

[0.10.3] - 2026-03-30

Fixed

  • No longer crash when src/macros or src/partials directories don't exist in a project.

[0.10.2] - 2026-03-30

Fixed

  • Asset copying now includes dot files (e.g., .htaccess). Previously all dot-prefixed files were skipped.
  • Sitemap URLs now use clean paths, stripping index.html, index.htm, and index.php suffixes.

[0.10.1] - 2026-03-30

Changed

  • Extracted FrontMatterParser utility class, consolidating duplicated YAML front matter parsing from Page, PageCollection, and PageManager into a single location.
  • Extracted PageWriter::TEMPLATE_EXTENSIONS constant, shared with PageCollection, eliminating duplicated extension resolution logic.

Added

  • Expanded test suite from 225 to 232 tests covering front matter edge cases, draft filtering variations, watcher change processing, data loading errors, and page writer path building.

[0.10.0] - 2026-03-30

Added

  • Build-time syntax highlighting for fenced code blocks in Markdown using Tempest Highlight. Supports PHP, JavaScript, HTML, CSS, Twig, YAML, JSON, SQL, Python, and more.
  • Draft pages: add draft: true to front matter to exclude a page from the build output, sitemap, and proton.pages in non-development environments.

[0.9.1] - 2026-03-29

Fixed

  • Build configuration fix.

[0.9.0] - 2026-03-29

Added

  • Pages collection (proton.pages) providing metadata for all pages, enabling dynamic navigation without hardcoding links.
  • toc() Twig function that returns H2 headings extracted from the current page's Markdown content for on-page navigation.
  • New documentation site structure with front matter metadata (nav_group, nav_order).

[0.8.0] - 2026-03-20

Added

  • Homebrew tap for installation (brew install foundation/proton/proton).
  • Auto-update Homebrew tap on release.

Changed

  • Updated installation docs to recommend Homebrew as the default method.

[0.7.7] - 2026-03-20

Added

  • JSON data file support (.json) alongside YAML.
  • Configurable dev server port via port setting.
  • Verbose (-v) and quiet (-q) CLI output modes for the build command.
  • Architecture tests and final Settings DTOs.
  • Auto-generated GitHub Release notes in release script.

Changed

  • Moved docs to foundationcss.com/proton.
  • New Config class with better error handling and dependency injection.
  • Code quality improvements: PHPStan fixes, PHP tooling setup, dead code removal.

[0.7.6] - 2026-03-19

Added

  • Cache busting via proton.build_time variable for asset URLs.

[0.7.5] - 2026-03-19

Fixed

  • Raw mode now correctly preserves the extends tag when wrapping content in verbatim.

[0.7.4] - 2026-03-19

Added

  • raw: true front matter option for pages containing literal template syntax (e.g., documentation about Twig).

[0.7.3] - 2026-03-19

Fixed

  • Build process fixes.