develop
π 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
- Test SFINAE variants. e068292
- Test tagfile generation. df7ed7d
- Support private aliases in public context. (fix #794) 0d046cb
- Default test input is source dir. 18c9ee8
- Modularize javadoc tests. 190786b
- Independent copydetails tests. 352cd77
- Modularize symbol tests. f5cf9d8
- Default source-root is subdir. 24570e8
- Base class option variants. (fix #840) e1110fe
- Return based sfinae. (fix #849) 6b4e203
- Function template attributes. 136f63a
- Copydoc param types. da3305b
π οΈ 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 isfalse
. 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
-
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
. β© -
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. β©
-
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. β©
-
This allows using directives to dependencies. β©