Skip to content

develop

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 24 Oct 14:38
· 266 commits to develop since this release

πŸš€ Features

New features and additions

  • undefined:
    • ✨ Overload folding on a single page. (fix #647) e8840f3
    • πŸ’« Support concepts and constraints (#649). () abf42ae
    • 🌟 Support CMAKE_ROOT. () 9060f86
    • ✨ Reproducible standard library outputs. () ce34057
    • πŸ’« Config YAML schema. () 1e162bf
    • 🌟 Support anonymous union members. () 8d8a007
    • ✨ Uniform logging level control across CorpusImpl. () 3f24987
    • πŸ’« Html concept templates. () 9dd2f6d
    • 🌟 Embedded option.1 () decaf3e
    • ✨ Output base directory support for relative paths. () af97cfe
  • Handlebars:
    • πŸ’« Support recursive partial blocks. () 6f5bf3d
    • 🌟 Block whitespace control. () 3b12ca3
    • ✨ Value constructor helpers. () 739b8fb
    • πŸ’« Custom escape functions.2 () 59fe95d
    • 🌟 Options data provide root context. () e545dfe
    • ✨ Concat helper variadic arguments. () b11bdd6
  • HandlebarsGenerator:
    • πŸ’« Common helper templates. () 3cce490
    • 🌟 Overloads partial. () bca5a46
    • ✨ Unify signature helpers. () e33b47d
    • πŸ’« Unify symbol partials. () 2da68d8
  • 🌟 Builder: Relativize helper. () 80b1116
  • ✨ templates: Common signature entry partial. () 3f0ddbd

πŸ› Fixes

Bug fixes and error corrections

  • undefined:
    • Ct_mft_expl_inline.xml USR is updated. () 53b46cb
    • ASTVisitor.cpp indexes are unsigned. () f8cc81e
    • No multiple titles in single-page Asciidoc. () e460d86
    • Infinite recursion when identifying SFINAE types. () 5750b79
    • Missing template parameters in asciidoc templates. () a962db0
    • Lazy object construct when atomic shared pointers are unsupported. () efe0620
    • Handlebars unit tests are unrelated to is_multipage. () 9ef4c38
    • Support SFINAE detection for compound types. () cc08383
    • Deduplicate inherited members. () 91c6871
    • HTML anchors are unescaped. () 9312ffb
    • Overload set overview is unescaped. () 826295c
    • Multipage section levels. () 36a9eb8
    • Uniform signature code blocks. () 833dee2
    • No relative asciidoc links.3 () 8693504
    • Adoc multipage wrapper includes relfileprefix. () bcd8372
  • Path: Scoped temp directories use llvm's remove_directories. () 691ce1d
  • Handlebars:
    • Helper calls report errors. () 29f4d4f
    • "or" helper returns first truthy value. () f9e7af4
  • HandlebarsGenerator:
  • Generator: Propagate createDirectory error. () ece7e7d

⚑️ Performance

Performance optimizations and enhancements

  • OverlayObjectImpl: Fold empty overlays. () 184448a
  • Builder:
    • Render templates directly to ostream. () 3d38f59
    • Load template layouts at construction. () 9543810

♻️ Refactor

Code refactoring and restructuring

  • undefined:
    • Simplify golden test reports. () c82e452
    • Config options target. () eea9026
    • Drop bitcode support. () e6205d5
    • Options are quoted in messages. () eaff684
    • Split error message from source location in reports. (fix #672) 446a41d
    • Version command includes build. () f600633
    • Compilation database ensures target. () 9871794
    • Compilation database ensures std. (fix #694) b5a36db
    • Remove unused mergeInfos. () c072007
    • Remove BitField/BitFlag. () c56dcae
    • Temp directories use output path. () 1aca304
    • Info nodes configuration file. () 9daf71f
    • Lazy object mapping traits. (fix #696) 9d30ea1
    • Public settings initialize relativeto.4 () 59b3012
    • Unify dom lazy array classes.5 () e919a61
    • Dom::Value tag_invoke. () 2663199
    • Dom::LazyObject tag_invoke. () de7f589
    • Custom ValueFrom for Info types. () 4393f22
    • Synchronize HTML templates. () 0823b48
    • Simplify handlebars generators.6 (Generator: main reason the HTML Generator is always behind the Adoc Generator: simple features were not duplicated in the HTML generator. This even justified #656, where we would temporarily remove the HTML generator., fix #656) e6ee971
    • Deduction guides for CTAD warnings. () efccb11
    • Remove unused alias. () df43d87
    • Generator reports time. () e24492d
    • Single page references are fragments. () 1d253d7
    • No intermediary buffers for wrapper template. () 5bc9f53
    • Time report supports minutes. () 5cd44bd
  • Platform: Support arm64. () d92de4e
  • generate-config-info: Normalization via visitor. () a1fb8ec
  • TestArgs: Reuse public config args. () 3a22947
  • test: Remove unused lambda capture. () 70bff87
  • LazyObject:
    • Header macros belong in LIB. () 3ebf66d
    • Initialize result. () 17a7212
  • DomCorpus: Inline operators. () 8d2948a
  • Template: Remove unused parameter. () 6639b8d
  • Generator: Build member function. () eb464a3
  • HandlebarsGenerator:
    • ToString customization is virtual function. () 7d7f949
    • Simplify build function.7 () 5209438
    • Remove unused options. () 5f9e5a1
    • Do not require symbol as hash parameter. () fc43804
    • Single page HTML includes reference title. () 75fdb49
  • Handlebars: Distinguish ostream types. () 1efcc2e
  • Builder: Is_multipage does not require helper. () 713b573
  • Error: Error propagation uses Expected. () 0b4d669
  • Radix: No redundant static. () fb7d6b9

πŸ“– Documentation

Documentation updates and improvements

  • undefined:
    • Website landing page. () 05400c3
    • Landing page download link. () 8fba202
    • Unify author mode playbook. () 999ea4f
    • Simplify demos table. () 4d884f4
    • Config options reference extension. () a20d6e7
    • Website build scripts set cxx_std_23. () a8707b0
    • Libc++ compiler requirements. () 9648483
    • Releases extension allows CI authentication and retries. () 55214d7
    • Generator DOM reference. () f551db3
    • Generator layout entry points. () e052cb7
    • Website panels use embedded HTML. () 12ceade
  • usage:
    • Cmake example uses TMP_CPP_FILE.8 () d8b7fcf
    • Include MrDocs workflow. () 0e08458
  • LazyObject: Update documentation. () c521719
  • Scope: Include lookups in documentation. () b078bea
  • generators:
  • contribute: Workflow is partial. () 555e2c4
  • demos: Enable HTML demos. () d38d3e1

🎨 Style

Code style and formatting changes

  • Scope: Standardize indentation. () 0b9f944

πŸ§ͺ Tests

Test cases and testing-related changes

  • undefined:
  • TestRunner: Check Expected values. () 46a3152

🚦 Continuous Integration

Changes related to continuous integration

  • undefined:
    • No fallback for GHA LLVM cache. () 4c14e87
    • Unify release workflows. () 99f4608
    • Llvm releases.9 () 63c958a
    • Update llvm releases required workflows. () 58119e0
    • Llvm workflow installs curl. () 5dc3884
    • Optimized debug workflow. () 3500877
    • Unify llvm parameters. () bd54dc7
    • Intermediary steps use actions. () 3d92071
    • Resolve llvm-root for cache@v4. () 8537d3d
    • Enable macos. (fix #558) 390159e
    • Fix package asset uploads. () d1c3566
    • Demos artifact path is relative. () 62736e4
    • Coverage workflow. () 1259131
    • Check config schema is up to date. () cb18b87
    • Remove info node support warnings. () 62f361f
    • Enable html demos. () c46c4a9
    • Containers install git. () 43e5f25
    • Clang 18 uses ubuntu:24.04. () b3ac35d
    • Fix file count report. () c376277
  • llvm-matrix: Filter uses Node.js 20. () f3b33a4
  • llvm-releases:
    • Handle empty llvm releases matrix. () 5982cc7
    • Ssh uses relative user paths.10 () a820ad7
  • releases:

πŸ—οΈ Chores

Routine tasks, maintenance, and housekeeping

  • undefined: Update LLVM commit hash. () 75a2785

Parent release: v0.0.2 217ad91

  1. Like the asciidoc option, this option can be used to generate pages without the surrounding tags to include them in other documentation pages, like the mrdocs website. ↩

  2. Some applications might need custom escape functions either because the output format is not HTML or because the application requires more strict HTML escaping. ↩

  3. See https://gitlab.com/antora/antora/-/issues/428. ↩

  4. This fixes a warning when using initialization with designators. ↩

  5. The DomCorpus uses multiple classes that represented lazy arrays. This commit simplifies the dom by unifying all of these array implementations. ↩

  6. Apart from the DocVisitor, the Adoc and HTML generators are nearly 100% duplicated code.This commit unifies the standard code to remove duplicated code, simplify maintenance, and ensure that both generators always have access to the same features.In passing, many missing features in the HTML generator are now available. ↩

  7. Unify code duplicated between build and buildOne. ↩

  8. The Cmake example for header-only libraries compiles by replacing OUTPUT_FILE with TMP_CPP_FILE. ↩

  9. Update the workflow to upload the LLVM release built in CI whenever there's a new version. ↩

  10. The previously hard-coded paths only work on ubuntu. On windows and macOS, these paths don't exist, don't have the necessary permissions, or are ignored by ssh. ↩