Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Predicate to Matcher #1090

Merged
merged 3 commits into from
Oct 2, 2023
Merged

Rename Predicate to Matcher #1090

merged 3 commits into from
Oct 2, 2023

Conversation

younata
Copy link
Member

@younata younata commented Sep 26, 2023

Because I couldn't think of a better name, This re-uses the name of the old Matcher API (removed since Nimble 10.0).

This change is due to the 2023 Apple Platforms release renaming NSPredicate to Predicate, which causes friction for developers creating custom matchers.

I also considered using "NimblePredicate" instead, but went with Matcher because our documentation already refers to predicates as matchers, so the idea/concept is still around.

This is a backwards compatible change, but it should still be a major version.

My current thinking is to take the non-sendable-related work from the Nimble 13 PR (consolidating the targets in the xcodeproj, marking AsyncDefaults as unavailable) and include them with this PR as Nimble 13. The work making Nimble compatible with Sendable/Swift 6 will be part of Nimble 14 (though, I'm going to name that branch nimble_next to account for if we need to release another major version of Nimble prior to that work being usable).

visionOS support will likely be a point release on Nimble 13.

Fixes #1061

Checklist - While not every PR needs it, new features should consider this list:

  • Does this have tests?
  • Does this have documentation?
  • Does this break the public API (Requires major version bump)?

Because I couldn't think of a better name, This re-uses the name of the old
Matcher API (removed since Nimble 10.0).

This change is due to the 2023 Apple Platforms release renaming NSPredicate
to Predicate, which causes friction for developers creating custom matchers.
@younata
Copy link
Member Author

younata commented Sep 26, 2023

As noted in this comment, I'm going to keep this PR open for a week in case anyone in the public has concerns. Then I'm going to merge this into main. Then I'm going to redo #1063 and #1069 and cut Nimble 13 RC from that.

@younata younata merged commit f9b339e into main Oct 2, 2023
14 checks passed
@younata younata deleted the rename_predicate branch October 2, 2023 15:01
cgrindel-self-hosted-renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Oct 12, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Quick/Nimble](https://togithub.com/Quick/Nimble) | major | `from:
"12.3.0"` -> `from: "13.0.0"` |

---

### Release Notes

<details>
<summary>Quick/Nimble (Quick/Nimble)</summary>

### [`v13.0.0`](https://togithub.com/Quick/Nimble/releases/tag/v13.0.0)

[Compare
Source](https://togithub.com/Quick/Nimble/compare/v12.3.0...v13.0.0)

### Highlights

#### New Features

- Nimble now supports Windows! (Thanks
[@&#8203;brianmichel](https://togithub.com/brianmichel)!)
- the `Predicate` series of APIs has been renamed to `Matcher`. There
are typealiases for the older APIs to better enable migrations. These
typealiases will be marked as removed in the next major version of
Nimble (Nimble 14), and they will be removed entirely in Nimble 15.
-   Nimble now supports the DriverKit platform.

#### Breaking Changes

-   The `Predicate` series of APIs have been renamed.
- The `AsyncDefaults` struct is now marked as removed. It will be fully
removed in the next major version of Nimble.
- The platform-independent targets in `Nimble.xcodeproj` have now been
consolidated into a single Nimble (and NimbleTests) target.

#### Other Notes

- No changes since [Nimble 13 RC
1](https://togithub.com/Quick/Nimble/releases/tag/v13.0.0-rc.1).

### Automated Release Notes

#### What's Changed

- Update release script for a more modern-ish release process by
[@&#8203;younata](https://togithub.com/younata) in
[Quick/Nimble#1086
- Bump cocoapods from 1.12.1 to 1.13.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[Quick/Nimble#1089
- Add Windows Support by
[@&#8203;brianmichel](https://togithub.com/brianmichel) in
[Quick/Nimble#1088
- Rename Predicate to Matcher by
[@&#8203;younata](https://togithub.com/younata) in
[Quick/Nimble#1090
- Mark the AsyncDefaults struct as removed. by
[@&#8203;younata](https://togithub.com/younata) in
[Quick/Nimble#1092
- Consolidate xcodeproj targets (... again). by
[@&#8203;younata](https://togithub.com/younata) in
[Quick/Nimble#1093
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[Quick/Nimble#1091

#### New Contributors

- [@&#8203;brianmichel](https://togithub.com/brianmichel) made their
first contribution in
[Quick/Nimble#1088

**Full Changelog**:
Quick/Nimble@v12.3.0...v13.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjM2LjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant