Migrate ReleasePublisher from v0.19.0 to v0.20.0¶
ReleasePublisher's three methods were renamed in v0.20.0.
| v0.19.0 | v0.20.0 |
|---|---|
Create |
CreateRelease |
Update |
UpdateRelease |
AddAsset |
AddReleaseAsset |
Nothing else changed: the signatures, the sentinels and every guarantee are the same.
Whether this affects you¶
Almost certainly not, and the reason is the reason for the rename.
PullRequests already defines Create and Update. A provider serves both
capabilities on one type, and Go allows one method of a given name per type, so
no provider that implements PullRequests could implement the v0.19.0
ReleasePublisher at all — which is all four first-party adapters. The
capability shipped unimplementable and no adapter ever carried it.
If you wrote your own provider against v0.19.0 and it does not implement
PullRequests, rename the three methods. If you only ever called the
capability, there was nothing to call.
Why the names are not symmetrical with PullRequests¶
PullRequests uses noun-free names because MergeRequests is a type alias, and
an alias renames a type but never a method — CreatePullRequest would put the
GitLab-flavoured noun at every call site of a project that spells it the other
way.
Releases have no competing name on any supported forge, so there is no alias and nothing for the stripped noun to buy. See optional capabilities.