WIP - Showing changes required to build against Examine 4 #21176
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Examine v4 is now producing builds and there will be quite a lot of breaking changes. In order to move forward, many of these breaking changes will persist and there may not be a clear upgrade path for older versions of Umbraco depending on what backward compat shims would be required and for how many previous version of Umbraco it could support.
Ideally, Examine 4 will be based off of Umbraco 17 the latest LTS release.
See Examine v4 release checklist: Shazwazza/Examine#420
The changes in this PR showcase the changes required in Umbraco to support the Examine v4 APIs. Currently, most of the changes were due to incorrectly assigned nullability operators. The breaking changes seen though are:
Do we need to support compat with v3?
This will be tricky considering facets are enabled by default. If we need to support that, we'll need to re-add back the UseTaxonomyIndex option which adds quite a lot of complexity. Else, maybe this targets Umbraco 18. Happy to discuss but really, the more we try to add backwards compat, the longer this is delayed and its already been delayed by years. If the community wishes to step in to make this happen at the Examine level, I'm more than happy to help review PRs.
Will also mean that none of the nice Examine v4 APIs could be used.
There's quite a few places in Umbraco that could be cleaned up and potentially some of this can be moved into Examine core. One of which is: