v7.18.0
v7.18.0
This is a major feature release for Foundatio.Parsers, adding nested query and aggregation support, NestedFilterResolver for automatic filter injection, ElasticMappingResolver race condition fixes, and the launch of the documentation site. This release is used by Foundatio.Repositories v7.18.0.
Documentation: parsers.foundatio.dev -- launched in this release with guides for query parsers, aggregations, nested queries, and interfaces.
Themes:
- Nested Support: Full nested query and aggregation support with automatic filter injection
- Mapping Resolver: Race condition fixes, stale cache prevention, and TimeProvider integration
- Documentation Site: Brand-new VitePress documentation at parsers.foundatio.dev
- NRT Safety: Full nullable reference type audit with
TreatWarningsAsErrors - Foundatio v13 Core: .NET 10 target, xUnit v3
Breaking Changes
- Removed obsolete
GetReferencedFieldsQueryVisitorclass: UseGetFieldsQueryVisitorinstead. Deprecated since v7.15. by @niemyjski incc362e8 - NRT annotations updated across codebase -- nullable parameter/return type changes in visitor contexts and parse methods
Added
- Nested query and aggregation support: Full support for Elasticsearch nested field queries and aggregations. by @niemyjski in #143 (
66e482b) - NestedFilterResolver: Inject filters into nested queries, aggregations, and sorts automatically. by @niemyjski in #203 (
4aa9d0f) RemoveNestedPathextension method onIQueryNode. by @niemyjski in09cd586- Date math test coverage for issue #101. by @niemyjski in
574dc7f - Fuzzy/proximity search test coverage and docs for issue #182. by @niemyjski in
9aff1b7 - Documentation site launched: VitePress site at parsers.foundatio.dev with query parser guides, aggregation docs, nested query docs, and interface documentation. by @niemyjski in
cf7b70e
Changed
Scriptproperty made optional inIElasticQueryVisitorContext. by @niemyjski inbea4526- Improved XML docs for
ParseAsyncnullability behavior. by @niemyjski in5b3b57d - Guards against null non-inverted fields. by @niemyjski in
9992d77 - Target framework updated to .NET 10. by @niemyjski in
d719443 - Upgraded to xUnit v3. by @niemyjski in
d5c2003
Fixed
- ElasticMappingResolver race conditions, stale cache, and TimeProvider integration. by @niemyjski in #197 (
5a9e6bf) - DynamicLinqTypeProvider syntax error. by @niemyjski in
db501d3 - NRT errors fixed and
TreatWarningsAsErrorsenabled. by @niemyjski in #212 (9cd2e2e)
Documentation
- Initial documentation site launched at parsers.foundatio.dev
- Nested query and aggregation documentation
- Nested query visitor traversal documentation
- Updated query parser guides and interface docs
Dependencies
| Package | From | To |
|---|---|---|
| Exceptionless.DateTimeExtensions | 4.0.1 | 6.0.1 |
| System.Linq.Dynamic.Core | 1.7.0 | 1.7.2 |
| libphonenumber-csharp | 9.0.19 | 9.0.28 |
New Contributors
Contributors
Full Changelog: v7.17.20...v7.18.0
Migration Guide
- Removed
GetReferencedFieldsQueryVisitor: Replace withGetFieldsQueryVisitor. This class was deprecated since v7.15. - NRT changes:
ParseAsyncand visitor context properties may now have nullable return types. Check your overrides and callers. Scriptproperty is now optional: InIElasticQueryVisitorContext, theScriptproperty is no longer required. Update any implementations accordingly.