chore(release): version packages - #84
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@openzeppelin/adapter-evm@5.0.0
Major Changes
#83
42fc0feThanks @pasevin! - Remove the dedicatedmetaMask()wagmi connector, and strip@metamask/sdkfrom the installtree.
Why
@metamask/sdkis not open source. It ships a proprietary licence — "Copyright ConsenSysSoftware Inc. 2022. All rights reserved" — granting only a non-exclusive, non-transferable
licence for Non-Commercial Use. Clause 2 requires any Resulting Program to carry that same
Non-Commercial restriction forward.
We publish under AGPL-3.0, which forbids conveying the work under added restrictions. A
non-commercial-only restriction is exactly such a restriction, while the SDK licence demands our
derivative propagate it. Those two obligations cannot both be satisfied.
This conflict is structural, not a threshold question — it does not depend on any monthly
active user count. There is also no clean version to pin: none of the published versions of
@metamask/sdkdeclare alicensefield at all, and the proprietary licence file dates from 2022. The same 2715-byte licence ships in@metamask/sdk,@metamask/sdk-communication-layerand@metamask/sdk-install-modal-web.What changed
createDefaultConfig()in the shared wagmi implementation now builds its connector list from[injected(), safe()]instead of[injected(), metaMask(), safe()].@openzeppelin/adapter-polkadotextends the same class, so it inherits the change.
Removing the connector alone is not sufficient:
@wagmi/connectorsdeclares@metamask/sdkasa hard dependency, not an optional peer, so it installed whether or not the connector was
registered. A
.pnpmfile.cjsreadPackagehook now strips it, andscripts/check-dependency-licenses.cjsfails if it returns to the lockfile or if the hook isremoved.
The strip targets those three package names exactly, not the
@metamask/*scope. Most ofthat scope is MIT or ISC (
utils,providers,json-rpc-engine,rpc-errors,superstruct,sdk-analytics, …) and is legitimately required; a scope-wide ban would break far more than itfixes.
What this means for users
MetaMask desktop keeps working. The browser extension is discovered through
injected()plus EIP-6963 multi-injected provider discovery, which
createConfigleaves enabled bydefault.
MetaMask mobile deep-link / QR pairing is gone. That pairing flow was provided only by the
SDK, and it is a user-visible behaviour change. Mobile users can still connect through the
MetaMask in-app browser, which exposes an injected provider.
The RainbowKit path is unaffected: its wallet list was already pinned to
[injectedWallet, safeWallet].@openzeppelin/adapter-polkadot@5.0.0
Major Changes
#83
42fc0feThanks @pasevin! - Remove the dedicatedmetaMask()wagmi connector, and strip@metamask/sdkfrom the installtree.
Why
@metamask/sdkis not open source. It ships a proprietary licence — "Copyright ConsenSysSoftware Inc. 2022. All rights reserved" — granting only a non-exclusive, non-transferable
licence for Non-Commercial Use. Clause 2 requires any Resulting Program to carry that same
Non-Commercial restriction forward.
We publish under AGPL-3.0, which forbids conveying the work under added restrictions. A
non-commercial-only restriction is exactly such a restriction, while the SDK licence demands our
derivative propagate it. Those two obligations cannot both be satisfied.
This conflict is structural, not a threshold question — it does not depend on any monthly
active user count. There is also no clean version to pin: none of the published versions of
@metamask/sdkdeclare alicensefield at all, and the proprietary licence file dates from 2022. The same 2715-byte licence ships in@metamask/sdk,@metamask/sdk-communication-layerand@metamask/sdk-install-modal-web.What changed
createDefaultConfig()in the shared wagmi implementation now builds its connector list from[injected(), safe()]instead of[injected(), metaMask(), safe()].@openzeppelin/adapter-polkadotextends the same class, so it inherits the change.
Removing the connector alone is not sufficient:
@wagmi/connectorsdeclares@metamask/sdkasa hard dependency, not an optional peer, so it installed whether or not the connector was
registered. A
.pnpmfile.cjsreadPackagehook now strips it, andscripts/check-dependency-licenses.cjsfails if it returns to the lockfile or if the hook isremoved.
The strip targets those three package names exactly, not the
@metamask/*scope. Most ofthat scope is MIT or ISC (
utils,providers,json-rpc-engine,rpc-errors,superstruct,sdk-analytics, …) and is legitimately required; a scope-wide ban would break far more than itfixes.
What this means for users
MetaMask desktop keeps working. The browser extension is discovered through
injected()plus EIP-6963 multi-injected provider discovery, which
createConfigleaves enabled bydefault.
MetaMask mobile deep-link / QR pairing is gone. That pairing flow was provided only by the
SDK, and it is a user-visible behaviour change. Mobile users can still connect through the
MetaMask in-app browser, which exposes an injected provider.
The RainbowKit path is unaffected: its wallet list was already pinned to
[injectedWallet, safeWallet].@openzeppelin/adapters-vite@12.0.0
Patch Changes
42fc0fe]: