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

deps!: update multiformats to version 11.x.x #123

Merged
merged 7 commits into from
Jan 13, 2023

Conversation

whizzzkid
Copy link
Contributor

@whizzzkid whizzzkid commented Jan 11, 2023

NPM Update Plan for kubo-rpc-client@2.0.2
[Objective]: to make it compatible with multiformats@11.0.0

Phase 1:

  • @ipld/car@5.0.0 -> @ipld/car@5.0.3
  • @ipld/dag-cbor@8.0.0 -> @ipld/dag-cbor@8.0.1
  • @ipld/dag-json@9.0.1 -> @ipld/dag-json@9.1.1
  • @ipld/dag-pb@3.0.0 -> @ipld/dag-pb@3.0.2
  • @libp2p/crypto@1.0.7 -> @libp2p/crypto@1.0.11
  • @libp2p/interface-peer-id@1.0.6 -> @libp2p/interface-peer-id@2.0.0
  • @libp2p/logger@2.0.2 -> @libp2p/logger@2.0.5
  • @libp2p/peer-id@1.1.16 -> @libp2p/peer-id@2.0.0
  • @multiformats/multiaddr@11.0.5 -> @multiformats/multiaddr@11.1.5
  • dag-jose@3.0.1 -> ⚠️ Concern: https://github.com/ceramicnetwork/js-dag-jose
  • ipfs-core-utils@0.17.0 -> ⚠️ Concern: https://github.com/ipfs/js-ipfs/blob/master/packages/ipfs-core-utils/package.json#L3
  • is-ipfs@7.0.3 -> is-ipfs@8.0.2
  • uint8arrays@4.0.2 -> uint8arrays@4.0.3

Phase 2:

Phase 3:

  • libp2p-websockets@0.16.2 -> @libp2p/websockets@5.0.2

Phase 4:

  • kubo-rpc-client@2.0.2

@whizzzkid whizzzkid marked this pull request as ready for review January 11, 2023 07:39
@whizzzkid
Copy link
Contributor Author

whizzzkid commented Jan 11, 2023

@achingbrain the builds broken because of the mismatch on releases that should have went out in js-ipfs, example:

The latest seems to be downloading a mismatched version.

@achingbrain
Copy link
Member

achingbrain commented Jan 11, 2023

Looks like this is blocked on ipfs/js-ipfs#4252 then, this will update @libp2p/interface-peer-id in the release version of ipfs-core-utils to the one used in this PR.

I think going forward this module should not have any deps on ipfs-*, otherwise the two projects aren't really independent.

dag-jose@4.x.x was released with ceramicnetwork/js-dag-jose#31 earlier today so all good there.

@achingbrain
Copy link
Member

achingbrain commented Jan 12, 2023

js-ipfs has shipped so I've updated the deps here. It turns out I need this in to get the interop PR to pass.

The only dep that still has multiformats@10.x.x is did-jwt - I think this is ok, it's only used in tests and internally it only uses multiformats for hashing.

I think this is good to go.


One thing I noticed is this module uses custom eslint rules but uses aegir to actually do the linting. I would say please don't do this - either use aegir in it's entirety, with it's dependencies, defaults and presets or don't use it at all. Managing linting config and deps in other modules leads to inconsistencies, incompatibilities and all the sort of busywork that aegir is specifically intended to remove.

Looking at the git history it looks like it may have been added to get over a hump rather than by design or preference so I've pulled it all out in 697a56f. Please let me know if you disagree.

@achingbrain
Copy link
Member

Also, this should probably go out as a major as the CID type returned from API methods will not have type overlap with the previous version after this is merged - it needs ! added to the PR title and/or a suitable BREAKING CHANGE: ... message in the commit message on a line on it's own, eg:

deps!: update multiformats to version 11.x.x

Multiformats@11.x.x shipped with a [breaking change to the CID class](https://github.com/multiformats/js-multiformats/pull/230).

This change updates all dependencies to use multiformats@11.x.x.

BREAKING CHANGE: instances of the CID class returned by this module are now from multiformats@11.x.x

If this is done, semantic-release will rev the version number and create the release notes accordingly.

Copy link
Member

@achingbrain achingbrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with the caveat that this needs to go out as a major - see #123 (comment)

@achingbrain achingbrain changed the title feat: [Pt-2] Multiformats Update deps!: update multiformats to version 11.x.x Jan 13, 2023
@achingbrain achingbrain merged commit 7053f35 into master Jan 13, 2023
@achingbrain achingbrain deleted the feat/multiformats-update-2 branch January 13, 2023 13:52
@github-actions
Copy link
Contributor

🎉 This PR is included in version 3.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants