Week in w3up is a newsletter on the blog that shares updates and progress on improving w3up and integrating it into the core web3.storage platform.

🛳️ We’ve shipped Phase 1 of the w3up updates 🎉 In honour of shipping, we thought we’d remind folks of this seafaring legend: Boaty McBoatface 🌊🇬🇧

🆕 published new w3up modules to npm

In case you missed the headlines, Phase 1 is complete! We have released w3up-client version 4.0.0 - go play and tell us what you think! Our initial beta launch was only in September and w3up has already been revamped 🎉 You’ll find more details on our blog post 😎

Here is quick reminder of all the progress that has been made in just 5️⃣ weeks:

CID of Image

You’ll recall that we are using the terms Agent and Spaces. To create an Agent using the new w3up-client:

import { create } from '@web3-storage/w3up-client'

const client = await create()

To register a Space:

const space = await client.createSpace()
await client.setCurrentSpace(space.did())

try {
  await client.registerSpace('you@email.host')
} catch (err) {
  console.error('registration failed:', err)

👀 The new w3cli quick start is in the works here: https://github.com/web3-storage/web3.storage/issues/2163.

💔 changes won’t break your 🚢’d apps

If you shipped an app using the old client, don’t worry, it will keep working! Please note: if you upgrade, you will need make sure your apps talk to the new API 🗣️

👀 More info here

🕸 did:web shipped like a boss

We shipped support for did:web keys like a boss….a forgetful boss who forgot we still needed to be able to sign UCANs with a string that in no way resembles our public key and for which we (currently) have no way to resolve to it’s actual value 🤣. Anyway, long story short, we now have support for embedded key resolution (a way of hard coding the resolution step).

Using did:web keys allows us to rotate keys without having to re-delegate everything using new keys

👀 Check out the original issue https://github.com/web3-storage/w3protocol/issues/182 and the PR to ucanto that adds support for embedded key resolution https://github.com/web3-storage/ucanto/pull/168

See you next year!

It was a sprint to the finish line 🏁 before the winter break. The engineers put in a heroic effort 🦸‍♂️ and are now resting their superpowers. Stay tuned for start of Phase 2 in the New Year ✨