
Security News
TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.
@web3-storage/pail
Advanced tools
DAG based key value store. Sharded DAG that minimises traversals and work to build shards.
npm install @web3-storage/pail
import { put, get, del } from '@web3-storage/pail'
import { ShardBlock } from '@web3-storage/pail/shard'
import { MemoryBlockstore } from '@web3-storage/pail/block'
// Initialize a new bucket
const blocks = new MemoryBlockstore()
const init = await ShardBlock.create() // empty root shard
await blocks.put(init.cid, init.bytes)
// Add a key and value to the bucket
const { root, additions, removals } = await put(blocks, init.cid, 'path/to/data0', dataCID0)
console.log(`new root: ${root}`)
// Process the diff
for (const block of additions) {
await blocks.put(block.cid, block.bytes)
}
for (const block of removals) {
await blocks.delete(block.cid)
}
If adding many multiple items to the pail together, it is faster to batch them together.
import { put, get, del } from '@web3-storage/pail'
import { ShardBlock } from '@web3-storage/pail/shard'
import { MemoryBlockstore } from '@web3-storage/pail/block'
import * as Batch from '@web3-storage/pail/batch'
// Initialize a new bucket
const blocks = new MemoryBlockstore()
const init = await ShardBlock.create() // empty root shard
await blocks.put(init.cid, init.bytes)
const batch = await Batch.create(blocks, init.cid)
// items is an array of `{ key: string, value: CID }` - the items to add to the pail
for (const item of items) {
await batch.put(item.key, item.value)
}
const { root, additions, removals } = await batch.commit()
console.log(`new root: ${root}`)
// Process the diff
for (const block of additions) {
await blocks.put(block.cid, block.bytes)
}
for (const block of removals) {
await blocks.delete(block.cid)
}
Feel free to join in. All welcome. Open an issue!
Dual-licensed under MIT or Apache 2.0
FAQs
DAG based key value store.
The npm package @web3-storage/pail receives a total of 674 weekly downloads. As such, @web3-storage/pail popularity was classified as not popular.
We found that @web3-storage/pail demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.

Research
/Security News
Since January 31, 2026, we identified at least 72 additional malicious Open VSX extensions, including transitive GlassWorm loader extensions targeting developers.

Research
Six malicious Packagist packages posing as OphimCMS themes contain trojanized jQuery that exfiltrates URLs, injects ads, and loads FUNNULL-linked redirects.