Skip to content

master

Compare
Choose a tag to compare
@github-actions github-actions released this 01 Dec 19:58
· 308 commits to develop since this release

πŸš€ Features

New features and additions

  • ✨ Config YAML as dom::Object. 0faf7a9
  • πŸ’« Represent possibly-qualified names with NameInfo. aa4e6ff
  • 🌟 Replace (Builtin/Tag/Specialization)TypeInfo with NamedTypeInfo. c19a4d4
  • ✨ Support @throw/@throws/@exception. 0f25c6a
  • πŸ’« Extract and render initializers for variables and fields. 42cc6ec
  • 🌟 Detect compiler default include paths. 0720a15
  • ✨ Automatic generation of compile_commands.json. 70a9347
  • πŸ’« Deducing this. 67fa963
  • 🌟 Input filters. 5f2e60e
  • ✨ Extra javadoc and HTML tags. 75611fc
  • πŸ’« Support multi-node HTML tags. 541cf5b
  • 🌟 Adoc template "See also" section. 9c20b9d
  • ✨ Support using directives, using declarations and namespace aliases. 753823e
  • πŸ’« Support variadic functions and variadic function types. d456f87
  • 🌟 Better support for explicit-specifiers. 7ebe30a
  • ✨ Support @pre and @post. 5fee793
  • πŸ’« Annotate constructors and destructors in adoc member lists. 590b317
  • 🌟 Configurable see-below and implementation-defined namespaces. c476746
  • ✨ Support @n command. 0d821e2
  • πŸ’« Add 'select' handlebars helper. 8c20d25
  • 🌟 Render explicit-specifier in asciidoc output. 3122db0
  • ✨ Allow multiple implementation-defined and see-below namespaces. 2753767
  • πŸ’« Warnings for duplicates. (closes #266, #350) a691052
  • 🌟 Detect types implementing SFINAE idiom. bb7d201

πŸ› Fixes

Bug fixes and error corrections

  • Use book doctype when generating demos. 34cfbd7
  • Only delete Boost.URL demos on push. 1833247
  • Case label skips variable with non-vacuous initialization. badb9d9
  • Visitor with rvalue arguments. 8dbacbf
  • Do not link to external/system headers. 4542bf0
  • LookupCallback has virtual destructor. c5dc7ae
  • Sanitize references. 1de3dff
  • Bug reporters refer to Mrdocs repo. 06dd4c0
  • Track whether base-specifiers were a pack expansion. 34204a0
  • Propagate current dependency mode when extracting typedefs as a dependency. 7820d6a
  • Dependency extraction for templates. a28f265
  • Atomic shared_ptr checks. 4805772
  • Expected does not support class template argument deduction. da44b16
  • StringRef::equals replaced with operator==.1 8a3c4e3
  • No extra ';'s. d7f3b6d
  • Version string final line break. 52d63cd
  • Remove newline from namespace alias signature template. 995c8ac
  • Typo for ternary operator in CI. 895cc6e
  • HTML matches Asciidoc templates. 561f213
  • Xml schema. 028b98e
  • Escape names of overload set members. 161b6f4
  • Test bug report messages refer to mrdocs. ab29a11
  • Source-root is always normalized. e96bd59
  • ToolArgs initialization is ordered. 0dd9414
  • Merging of parameter names. f19eb95
  • Global namespace is always created. 81318c8
  • Identification of duplicate @returns (#638). 057778c

♻️ Refactor

Code refactoring and restructuring

  • East-const in adoc generation. de4f5c6
  • Remove convertToNoexceptKind. 49414e4
  • Remove cmake temp files. 59681e8
  • Modular cmake functions. f53685e
  • IsCXXSrcFile accepts C files. 14e3a33
  • Command database filters fsanitize. b18ec64
  • Cmake config uses temporary directory. 9bfb5f4
  • Cmake help can use OS defaults. dd10896
  • Bash argument parser. bb927a6
  • Format ASTVisitor. be25522
  • Report bitcode failures. 1be3e83
  • References to excluded symbols are not an error. a567f80
  • Invalid commands emit error messages. d5e8f64
  • Don't represent using-directives as Info. c4441d4
  • Info tables. (fix #549, #553) 3456ba5
  • Config tables. 340b978
  • Character set is base36. (closes #376) 71ab1e6
  • East-const declarations. 6c684c6

πŸ“– Documentation

Documentation updates and improvements

  • Corpus javadocs. 01403d6
  • CMakeUserPresets.json.example includes warnings. c438bd9
  • Expand build utilities javadoc. 91d6742
  • Support asciidoctor tabs. 4043ad3
  • Install instructions use official dependency releases. 0fa17a9
  • Demo page. d37df4c
  • README.adoc refers to Mr. Docs. 4d6e040
  • Banner refers to Mr. Docs. 17503d8
  • README uses consistent capitalization. 45e1095
  • Index.adoc uses consistent capitalization. dd28523
  • Source code callouts. 49fc14b
  • UI header and footer are clean. 359d017
  • Simplified home page. 83ff42c
  • Demos page has direct links. 0d52577
  • Install page releases extension. d04e10f
  • Complete usage examples. 6e1ee8a
  • Commands page include examples. 678b724
  • Complete config file reference. (fix #525) a3fd0ce
  • Design notes includes rationale and philosophy. (fix #154, #615) 608a925
  • Complete contributor guide. 42d32a4
  • README.adoc refers to documentation. bd4cbad
  • contribute: All directories are at section level 4. d70ae7e

πŸ“¦οΈ Build

Build system and configuration changes

  • Default preset enables tests. b615e97
  • Duktape CMake scripts. 586ce9b
  • Capitalized duktape package has precedence. 05938ab

πŸ§ͺ Tests

Test cases and testing-related changes

🚦 Continuous Integration

Changes related to continuous integration

  • Update cpp-actions to v1.6.2. 9c0071a
  • Update cpp-actions to v1.8.2. 61ede2b
  • Demos use original mrdocs.yml. 588b598
  • Build and cache LLVM from source.2 (fix #548) 03b55df
  • Scp command uses StrictHostKeyChecking=no option. 313abfb
  • Use official dependency releases. 0771bdc
  • Use official libxml2 release.3 ab43756
  • Update LLVM to 5b959310. 62793c4
  • Demo comparison artifact. be9a55a
  • Gcc uses -static. (fix #547) b0021e5
  • Gcc uses default container. 95a39a4
  • Artifact names include ref_name in master and develop. 09a43d4
  • Website demos disable StrictHostKeyChecking. 2637ae4
  • Template consistency checks. 380eb00
  • Secure known_hosts permissions with chmod 600. ce04a1b
  • Demo variants via command line. 0ea641b
  • HTML demos are restored. 4552d29
  • Split test targets. 3fa59db
  • Build-type is RelWithDebInfo. 619d216
  • LLVM install falls back to binaries. 76ff85d
  • Demos command is single-line. 7f12879
  • Actions/checkout v4. 691d8a6
  • compare_templates: No empty warnings. b8deda9

πŸ—οΈ Chores

Routine tasks, maintenance, and housekeeping

  • Update mrdocs natvis. 2c87ded
  • Render @param, @returns, and @throws commands in adoc. c769ac7
  • Support @Result. a54d4a5
  • Marginally better adoc escaping. bf60a45
  • Update tests. 86d18ba 0244055
  • Merge consecutive text elements on the same line. a844aed
  • Retain comments in system headers. de75a22
  • Warn when corpus is empty. 11febb6
  • Allow for caller to filter lookup results. 395f565
  • BuildNameInfo does not skip the innermost declaration. 0655c84
  • Bump LLVM to 7a28a5b3. 1e6e9ae
  • Remove USR generation workaround for decayed function parameters. e0a0547
  • Temporarily disable HTML generator demos. f34abe3
  • Build NameInfo using explicitly provided nested-name-specifier. d68d133
  • Add 'See Also' section to all adoc templates. 9576c73
  • Link names in overload sets. ca13ce1
  • Show full nested-name-specifiers of declarations in titles. 131419b
  • Remove symbol kind from titles. f033ec3
  • Rename 'safe names' to 'legible names'. cac1bc8
  • Generate safe names for section ids. 7353d63
  • Asciidoc and HTML Template Synchronization. c8b9e8f
  • Mrdox requires x64. (closes #309, #473) cdc6b9b
  • Version is 0.0.2. 217ad91

πŸ’¬ Other

Other changes not covered by specific categories

  • Revert "docs: valid section anchors".4 afc59d5
  • Revert "docs: qualified typedefs".5 e88ce51
  • Revert "refactor: east-const in adoc generation".6 cd00fe6
  • Cmake refactor fallback --system-information. 062b399
  • Code simplification. 2bc1e13
  • Do not call cmake --system-information on CI. 741198c
  • Update .github/workflows/ci.yml. 3d3f398 47a3031 e3a0bff
  • Fallback in case of parse fail. 113ecbc
  1. StringRef::equals has been deprecated. ↩

  2. Generalizes the build process for any LLVM version and any set of configuration options. To make it faster, the set of targets is reduced to only what we need for MrDocs. When we change the LLVM parameters, the first run will take slightly longer in CI and subsequent runs will reuse the cached binaries. This means we no longer need to host the binaries on mrdocs.com and update them manually, making the process of updating the LLVM version much simpler and cheaper since github will be hosting the binaries. It also allows us to explore other static ways to build LLVM in CI, which is required to create executables that are not associated with a specific ubuntu version. ↩

  3. This extends the same logic of other dependencies and avoids bugs in the vcpkg port. ↩

  4. This reverts commit 6053bf8. ↩

  5. This reverts commit 3ad5066. ↩

  6. This reverts commit de4f5c6. ↩