Skip to content

StorageHub v0.1.4

Choose a tag to compare

@TDemeco TDemeco released this 13 Nov 18:58
· 2 commits to release/v0.1 since this release

StorageHub v0.1.4

Summary

Minor release of StorageHub focusing on backend fixes and minor client changes.

Components

  • Client code: v0.1.0
  • Pallets code: v0.1.0
  • Runtime code: v0.1.0 (spec_name/spec_version: parachain 1, solochain-evm 1)
  • SH Backend Docker image: v0.1.5 (image: ghcr.io/Moonsong-Labs/storage-hub-msp-backend:v0.1.5)
  • SH SDK (npm): v0.3.2
  • types-bundle: v0.2.7
  • api-augment: v0.2.9

Changes since last tag

Base commit: e3bf4fc

  • Highlights:
    • refactor(backend): auth expiry (#550)
    • feat(backend): optional auth (#544)
    • feat(sdk): retry verify on SIWE (#552)
    • fix(backend): cleanups part 1 (#517)
    • feat(scripts): add fisherman node to solochain evm bootstrap script (#556)
    • feat(sdk): demo app (#516)
    • feat(client): Build implicit in transactions dynamically using a runtime API (#557)
    • fix(backend): remove either leading or trailing comma in backend logs, not both (#562)
    • chore(backend): bump backend version after major changes (#566)
    • fix(backend): add missing fields to the backend_config.toml file (#568)
  • Full diff: e3bf4fc...18a562a

Migrations

Indexer DB (Postgres)

  • Migrations added:
    • 2025-10-09-161554_add_bucket_value_prop_size_count
  • How to apply: The indexer service runs migrations automatically on startup. Alternatively run diesel migration run.

Runtime

  • Upgrades (spec_version): parachain and solochain-evm remain at spec_version 1.
  • Migrations: No runtime storage migrations detected.
  • Constants changed: None requiring operator action.
  • Scripts to run: None.

Client

  • Behaviour changes:
    • Extrinsic building in the Blockchain Service now gets the signed extra implicit data from the extensions themselves through a runtime API instead of being hardcoded. Implement the runtime API as explained in feat(client): Build implicit in transactions dynamically using a runtime API (#557)

Backend

  • Behaviour changes:
    • Refactored auth expiration to have better debug logging.
    • Made authorization optional and made the /download endpoint not require auth.
    • Added pagination query parameters to /files and /buckets endpoints.
      • The pagination parameters are optional and are: limit (the number of items to reply with) and page (which 'page' the endpoint should return).
    • Made it so the FileList response (obtained from the /buckets/{bucket_id}/files endpoint) now has a single tree field at the root and folder items do not have a children field.
    • Removed the /distribute endpoint as the backend is not in charge of this anymore.
    • Fixes a bug with the logs which should now have proper JSON formatting.
  • Config changes:
    • Added a msp array of configurations to the TOML config file, which has:
      • The node's callback URL.
      • The number of times to retry an upload to the node.
      • The delay between retries.
    • Added the following configuration parameters to the auth service:
      • The session duration for generated JWTs.
      • The duration for stored nonces.
      • The SIWE domain to use for the generated auth messages.

Versions

  • Polkadot SDK: polkadot-stable2412-6
  • Rust: 1.87 (from rust-toolchain.toml)

Compatibility

  • SH Backend v0.1.1 → compatible with pallets/runtime v0.1.0 and client v0.1.0.
  • SDK v0.3.2 → compatible with backend v0.1.1, client v0.1.0, and pallets/runtime v0.1.0.

Upgrade Guide

  • Ensure indexer service is restarted to apply migrations automatically.