Skip to content

develop

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

πŸš€ Features

New features and additions

  • ✨ Support inline constexpr variables. f648817
  • πŸ’« Standalone tagfile generation. 7ff86c0
  • 🌟 Function template template parameters. (fix #795) 1e392f7
  • ✨ Support unordered lists. (fix #799) d14cbb6
  • πŸ’« Support locations relative to search paths. (fix #798) b893feb
  • 🌟 Support source paths in Location objects.1 (fix #798) 3630623
  • ✨ Identify literal glob patterns. b569319
  • πŸ’« Extract dependency base class members. b7b2f37
  • 🌟 Support implied whitelist rules. (fix #797) df29558
  • ✨ Honor user CMAKE_EXPORT_COMPILE_COMMANDS in cmake option. (fix #760) edf0c88
  • πŸ’« MrDocs in schema store.2 (fix #772) 90b69e4
  • 🌟 Support void_t SFINAE. (fix #748) 6437919
  • ✨ Extract SFINAE constraints. 0bc88b6
  • πŸ’« Support SFINAE via function parameters. fd90016
  • 🌟 Support SFINAE for classes. 5de708b
  • ✨ Support SFINAE via template arguments. b885e2e
  • πŸ’« SFINAE return type constraints. 6f9bd07
  • 🌟 Trace log level. c9f7663
  • ✨ Log-level option. b52eaac
  • πŸ’« Base class references evaluate extraction mode. c54f1db
  • 🌟 Exclusion filters also apply to members. 007486b
  • ✨ Broken reference warnings. (fix #844) f2c9a2e
  • πŸ’« sort-members option. b4fec4f
  • 🌟 show-namespaces option. 1dbc4bf
  • ✨ Auto-brief option. 9ece9df
  • πŸ’« Heteregenous string maps. c7f58b1
  • 🌟 Javadoc reference parser. a95ddca
  • ✨ warnings option. 5185e7c
  • πŸ’« extract-all option. (fix #758) 7681b72
  • 🌟 warn-if-undocumented option. (fix #758) baa64ff
  • ✨ warn-if-doc-error option. bc7bd3a
  • πŸ’« warn-no-paramdoc option. bc809d5
  • 🌟 warn-if-undoc-enum-val option. 7669da0
  • ✨ warn-broken-ref option. 6412c80
  • πŸ’« warn-as-error option. ca8bbbe
  • 🌟 UndocumentedInfoSet stores InfoKind. 82eaeec
  • ✨ Copydetails command copies unambiguous metadata. 43973cb
  • πŸ’« Ordered warnings. bc51965
  • 🌟 extract-private-virtual option. 7e99c39
  • ✨ extract-static option. c69f121
  • πŸ’« extract-local-classes option. da038da
  • 🌟 warn-unnamed-param option. 37786fd
  • ✨ Overloads javadoc. 0e8b79f
  • πŸ’« extract-empty-namespaces option. 99bf927
  • 🌟 Javadoc ref parser supports function parameters. 2f73713
  • ✨ Best match corpus lookup algorithm. c824c82
  • πŸ’« Overloads support return type. 52c934d
  • 🌟 Support multiword refs. 7d65be3
  • ✨ Refs match conversion operators. b76c8ba
  • πŸ’« Javadoc parser extracts ref qualifiers. 2e61695
  • 🌟 Ref parameter match supports arbitrarily qualified names. 4a40e18
  • ✨ TypeInfo identifies fundamental types. f5e3421
  • πŸ’« Refs match fundamental type variants. 7263e51
  • 🌟 Ref parser supports template arguments. fcffff5
  • ✨ Corpus lookup matches template arguments. 8fe596e
  • πŸ’« Merge function parameter names from multiple declarations. 3497b03
  • 🌟 Javadoc mapping traits. 2e64221
  • ✨ Preprocess related symbols. f069410
  • πŸ’« auto-relates option. bd9d684
  • 🌟 extract-implicit-specializations option. b1d3f24
  • ✨ Inherit base class overload sets. 4550326
  • πŸ’« Support implicit templates. (fix #868) 572a465
  • 🌟 Templates include base classes. d59c28f
  • ✨ Support @relates (#698). (closes #243) d448757

πŸ› Fixes

Bug fixes and error corrections

  • Trim default parameters. 1e1012a
  • Attributes template use double brackets. a7a1719
  • Extraction mode upgrade checks file filters. ba81607
  • SFINAE substitutions reset NestedNameSpecifier. (fix #774) 5972f64
  • XMLWriter excludes dependencies. 22d54d7
  • Asciidoc tilde escaped as U+007E. (fix #804) fe7c6e9
  • Promote auto brief paragraph types. (fix #803) 6c70e4d
  • Polymorphic info members use value semantics.3 a2f4c41
  • Escape variadic parameters. (fix #838) ca56d9a
  • Sfinae constraints are not repopulated. (fix #850) 3777824
  • Escape escape brackets in attribute lists. (fix #851) 969c325
  • Update symbol name log level. 9cbaca5
  • CMake uses adjusted output dir. e2474cd
  • Detect base member qualified overloads. d6b2970
  • Redundant Decls use least specific extraction mode. 1cbeee6
  • Logical operator precedence. eb431cf
  • Unique_lock is not CTAD. 541d80c
  • Preemptively identify detail parents. 54f2118
  • Inherit-base only applies to regular symbols. 65cdf3e
  • Inherit-base skips special functions. b29ba25
  • Explicit object member functions have no qualifiers. 502bf32

⚑️ Performance

Performance optimizations and enhancements

  • Lazy FileInfo extraction.4 ef4ff12
  • Extract escaped glob prefixes. f778b44
  • Populate overloads use explicit types. e595195
  • Cached symbol lookup. af93d8d
  • Preprocess javadoc metadata. 1ab842d
  • Store whether record is CXXMethodDecl. 30b5486
  • Preprocess tranches. aea4acf

♻️ Refactor

Code refactoring and restructuring

  • Unify logic to populate attributes. 6c6ffc9
  • Handlebars generator descriptions in derived classes. 4031c9f
  • Unify test files. 37d9b93
  • AST visits const declarations. 33b7d5f
  • Min log level for error location is error. 6cc3217
  • Support deprecated options. e2a93e4
  • Debugger catches exceptions in debug mode. 375d913
  • Rename polymorphic value type. f1cdecc
  • GetPrimaryLocation depends on InfoKind. 113a57e
  • Option name is extract-private. 7c0c618
  • Option name is extract-private-bases. cee3fbe
  • Option name is extract-anonymous-namespaces. e5f0bd3
  • Source is constexpr. b2bafb8
  • IsDefinition and isDocumented are clang helpers. 887c332
  • Sorting operators last includes stream operators. 3fe5287
  • Modularize error header. b1676a5

πŸ“– Documentation

Documentation updates and improvements

  • SFINAE extraction documentation. e66e662
  • Release documentation ordered by asset dates. (fix #802) c4531cc
  • Update documentation on filters. (fix #796) 5d6e8f7
  • Exposition on system dependencies. (fix #793) 7f47ff5
  • Releases documentation page includes MacOs. 256c583
  • UI includes branches. 93d5d10
  • Website panels use single page. 67fc569
  • Option key conventions. f843cc2
  • Option name is implementation-defined. (fix #828) ab1de98
  • Option name is generator. 40ac7f3

🎨 Style

Code style and formatting changes

πŸ“¦οΈ Build

Build system and configuration changes

πŸ§ͺ Tests

Test cases and testing-related changes

πŸ› οΈ Improvement

General improvements and enhancements

  • Ref warnings include qualified documented symbol. 1853739
  • Optional assignment operators. 3cc36a9
  • Get operators from string. 7d00a0b
  • Info messages are streamed to stdio. 91faf6f
  • SourceInfo provides primary location. be736d3
  • ASTVisitor handles source info independently from javadoc. 9decbdb
  • Corpus lookup returns Expected. fb7e59f
  • extract-private-bases default is false. f6686c0
  • Corpus lookup returns references. 040b99d
  • Namespace using directive is name.5 11df305
  • Empty enum template has no members table. 2de0c4f
  • Lazy decayed type comparison. e8c5b5a
  • Parse support header. 1b3227b
  • Javadoc visitor uses ref parser. 03d1917
  • ScopedTempDirectory stores error type. fd2709b
  • No unused template linebreaks. 37b782e

πŸ’¬ Other

Other changes not covered by specific categories

  • Correctly handle files included through symlinks. ff33c4b
  1. Location objects only contained the full path and the path relative to the search directories. This commit includes a new field for the source path, which contains the path relative to the source-root. ↩

  2. See SchemaStore/schemastore@28d4076. ↩

  3. Wherever std::unique_ptr was used for polymorphic members of Info objects, the pointer addresses were being used in comparisons instead of the dereferenced values, which only returned true when both were nullptr. ↩

  4. Most symbols are filtered out regardless of the file location. This commit creates a FileInfo cache and only builds the FileInfo when necessary. The search paths are also lazily iterated to find the best matches. ↩

  5. This allows using directives to dependencies. ↩