Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ipfs/helia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: utils-v1.2.2
Choose a base ref
...
head repository: ipfs/helia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: utils-v1.3.0
Choose a head ref
  • 12 commits
  • 88 files changed
  • 6 contributors

Commits on Mar 13, 2025

  1. fix!: require path in addFile call (#754)

    To ensure metadata is always stored, the CID returned from `addFile` will resolve to a directory.
    
    The `path` property is now required of the import candidate passed to `addFile`, if it's not necessary to store a path as part of a file, use `addBytes` or `addByteStream`.
    
    Since `urlSource` returns a `{ content, path }` candidate, it can be used with `addFile`.
    
    To import directly from a URL without a path, a `urlByteStream` function has been added for use with `addByteStream`.
    
    Fixes #707
    
    BREAKING CHANGE: addFile requires the import candidate to have `path` and `content` properties and the returned CID will always resolve to a directory
    
    ---------
    
    Co-authored-by: Daniel N <2color@users.noreply.github.com>
    achingbrain and 2color authored Mar 13, 2025
    Configuration menu
    Copy the full SHA
    c0bf36e View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2025

  1. fix!: return simple stats or extended stats (#760)

    Splits the unixfs/mfs stat command return types into two types - "regular" stats (these only return stats available on the root node of the DAG) and "extended" - these collect stats from the DAG, potentially going to the network to fetch missing blocks.
    
    There are separate simple and extended types for files and dirs, but raw/leaf nodes only get one type since there are never any nodes linked to from them.
    
    As a bonus we can now calculate the size of directories correctly, (as the combination of all child files/directories), assuming all blocks are present in the blockstore or fetchable from the network.
    
    Fixes #580
    
    BREAKING CHANGE: Fields that would involve DAG traversal have been removed from the output of `fs.stat` - pass the `extended` option to have them returned
    
    ---------
    
    Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
    Co-authored-by: Daniel N <2color@users.noreply.github.com>
    3 people authored Mar 20, 2025
    Configuration menu
    Copy the full SHA
    325b36f View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2025

  1. Configuration menu
    Copy the full SHA
    7e32123 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2025

  1. feat: add provider shuffle option to HTTPGatewayRouter (#772)

    * feat: allow opting out of provider shuffle in HTTPGatewayRouter
    
    * fix: parameter naming in HTTPGatewayRouterInit
    m0ar authored Apr 16, 2025
    Configuration menu
    Copy the full SHA
    daaa511 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2025

  1. fix: reject blockstore session get promise when signal fires (#776)

    Ensure the promise returned from `.get` on a session is rejected if the passed abort signal fires.
    
    Fixes #775
    
    ---------
    
    Co-authored-by: Alex Potsides <alex@achingbrain.net>
    SgtPooki and achingbrain authored Apr 17, 2025
    Configuration menu
    Copy the full SHA
    d883eaf View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2025

  1. feat: car export supports custom dag traversal and export (#767)

    * test: ensure dag-scope=all car can be generated
    
    * refactor: check filter before blockstore
    
    * test: add test for subgraph dag-scope=all
    
    * fix: dag-scope=all returns proper car for subdag root
    
    * test: move dag-scope tests to their own file
    
    * feat: support dag walking hints
    
    * feat: implement dag-scope entity and block
    
    * test: add dag-scope tests
    
    * chore: some test cleanup
    
    * chore: some cleanup
    
    * refactor: strategy pattern and knownDagPath verification
    
    * chore: Update packages/car/test/fixtures/car-equals.ts
    
    * chore: fix logger use
    
    * chore: remove unnecessary helper function
    
    * refactor: move known path to strategy
    
    * chore: normalize initial processBlock call
    
    * refactor: move options validation to its own function
    
    * chore: fix cspell errors
    
    * Update packages/car/src/types.ts
    
    Co-authored-by: Alex Potsides <alex@achingbrain.net>
    
    * refactor: cleanup dagscope type
    
    * fix: don't use defaultLogger
    
    * fix: consistent returnType for getNextCidStrategy
    
    * fix: dont require blocks to be in blockstore
    
    * chore: libp2p-logger is not prod dep
    
    * chore: fix cspell errors
    
    * chore: correct `block` entity-type description
    
    Co-authored-by: Alex Potsides <alex@achingbrain.net>
    
    * chore: remove BlockNotFoundError
    
    * chore: move exported types back to index.ts
    
    * chore: use array for standard strategy roots
    
    * refactor: use exporter/traversal API
    
    * test: fix some dag-scope tests
    
    * fix: dag-scope tests pass
    
    * chore: some debugging
    
    * fix: multi root cars work again
    
    * chore: some fixes
    
    * chore: fix spellcheck
    
    * chore: minor cleanup
    
    * chore: fix spell-check
    
    * chore: remove unnecessary logging
    
    * chore: cleanup code and comments
    
    * chore: remove logging from tests
    
    * chore: fix dep-check
    
    * chore: rename strategies, add unixfs path traversal
    
    * docs: fix doc-check in @helia/car
    
    * chore: cleanup traversal & exporter options
    
    * chore: apply suggestions from self code review
    
    * chore: fix lint
    
    * chore: fix dep-check
    
    * chore: fix spellcheck
    
    ---------
    
    Co-authored-by: Alex Potsides <alex@achingbrain.net>
    SgtPooki and achingbrain authored Apr 18, 2025
    Configuration menu
    Copy the full SHA
    313e2c1 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2025

  1. chore: update gateway checker url (#784)

    The fleek deployment is no longer active
    achingbrain authored Apr 23, 2025
    Configuration menu
    Copy the full SHA
    bb2ab74 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2025

  1. feat: export default helia config (#783)

    To make it easier to customise the default Helia settings, export a `heliaDefaults` function similar to the existing `libp2pDefaults` function.
    achingbrain authored Apr 30, 2025
    Configuration menu
    Copy the full SHA
    ae67092 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2025

  1. fix: propagate ipns failures (#789)

    If the helia routing fails to put or get a record, propagate that
    failure to the caller, same as the local store/pubusb routings.
    achingbrain authored May 8, 2025
    Configuration menu
    Copy the full SHA
    cd1eb58 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2025

  1. ci: uci/copy-templates (#782)

    * chore: add or force update .github/workflows/stale.yml
    
    * chore: add or force update .github/workflows/generated-pr.yml
    web3-bot authored May 9, 2025
    Configuration menu
    Copy the full SHA
    9591175 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2025

  1. feat: pass initial providers to session (#777)

    For when you know that certain peers have some or all of the blocks
    you want, allow passing providers to session implemenations to start
    from instead of always querying the routing/connected peers.
    
    ```js
    const buf = await helia.blocks.get(cid, {
      providers: [
        peerId1,
        peerId2
      ]
    })
    ```
    
    Session implementations accept an array of `PeerId | Multiaddr | Multiaddr[]`
    and use them if they can or discard them if they can't.
    achingbrain authored May 13, 2025
    Configuration menu
    Copy the full SHA
    3d77369 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a8ba4f9 View commit details
    Browse the repository at this point in the history
Loading