Skip to content

Releases: genmeta/dhttp

dhttp v0.2.0

16 Jun 22:39
2e870ef

Choose a tag to compare

dhttp v0.2.0

DHTTP endpoint facade release for the DHTTP 0.4.0 release wave.

Changes:

  • Bump the dhttp workspace release line to 0.2.0 and align Rust, npm, and PyPI package metadata.
  • Stage and consume dhttp-identity 0.2.0, including DHTTP certificate-chain key and sequence validation.
  • Add public DHTTP DNS planning and construction helpers for endpoint-owned networks and QUIC endpoints.
  • Wire endpoint DNS operations into Endpoint::builder() with append-only resolver/publisher configuration and default H3/mDNS/System behavior.
  • Make endpoint DNS publishing listen-owned and allow named endpoints with no publishers to listen without starting a publication loop.
  • Add Endpoint::from_parts(...) for adapting an existing H3 endpoint, publisher aggregate, and DHTTP network while validating identity and network invariants.
  • Update endpoint DNS tests and README dependency examples for the 0.2.0 release line.
  • Converge cross-repo release dependencies to published crates.io versions: h3x 0.4.0, dyns 0.4.0, and dhttp-identity 0.2.0.

Release surfaces:

  • crates.io: dhttp-home 0.2.0, dhttp-access 0.2.0, dhttp 0.2.0.
  • npm: @genmeta/dhttp 0.2.0.
  • PyPI: dhttpy 0.2.0.

Release role:

  • Follows dhttp-identity 0.2.0, h3x 0.4.0, dyns 0.4.0, and dshell 0.4.0 publication.
  • Unblocks downstream gmutils and gateway release validation through the endpoint facade.

Verification:

  • cargo metadata --format-version 1
  • cargo fmt --all -- --check
  • git diff --check -- . ':(exclude).cargo'
  • TMPDIR=/target/tmp cargo test --workspace --all-features --all-targets
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo publish --dry-run --locked -p dhttp-home -p dhttp-access -p dhttp
  • dhttp PR #3 final CI passed.

Authentication and provenance:

v0.1.0-dhttp-identity

15 Jun 08:45

Choose a tag to compare

dhttp v0.1.0-dhttp-identity

This tag is the formal git anchor for the dhttp-identity 0.1.0 line in the staged initial DHTTP release sequence.

Included changes

  • prepare the initial 0.1.0 workspace release across dhttp, dhttp-identity, dhttp-home, dhttp-access, and dhttp-api
  • re-export the dhttp-access facade from the top-level dhttp crate
  • alias the published dyns package as the workspace ddns dependency surface
  • publish workspace crates sequentially in release automation
  • gate crates.io, npm, and PyPI publication by registry state so uninitialized packages are skipped instead of being bootstrapped automatically
  • align the workspace with h3x 0.3.1 and unify dhttp-identity source identity to avoid mixed workspace/registry dependency graphs
  • make crates.io dry-run validation follow the same registry-eligibility selection as real publish, so PR CI only dry-runs packages that are actually eligible for release

Tag behavior

For this staged identity tag, automated publish workflows are expected to remain no-op where packages are not yet initialized on their target registries:

  • crates.io skips packages that are already published or not yet initialized
  • npm skips @genmeta/dhttp because the package is not yet initialized
  • PyPI skips dhttpy because the package is not yet initialized

This tag exists to provide the stable git reference for dhttp-identity in the cross-repository release wave before the final dhttp v0.1.0 release tag.

DHttp v0.1.0 — The endpoint stack for the True Internet

15 Jun 10:28

Choose a tag to compare

DHttp v0.1.0 — The endpoint stack for the True Internet

DHttp v0.1.0 is the first public release of the DHttp endpoint stack: an Apache-2.0 implementation of peer-capable HTTP APIs built on QUIC, HTTP/3, mutual TLS identity, endpoint-aware name resolution, and policy-based access control.

It keeps the Web’s request/response model, then extends it toward a network where applications, devices, services, and agents can connect directly as named, authenticated peers.

Highlights

  • Endpoint equality

    • Introduces the dhttp Rust SDK for building endpoints that can both initiate requests and serve HTTP APIs.
    • Provides endpoint creation, client requests, server listening, trust defaults, DNS integration, and QUIC/H3 networking through a unified application API.
  • Name as identity

    • Introduces dhttp-identity for DHttp names, identity certificates, subject-key metadata, and signing/verification helpers.
    • Establishes .dhttp.net as the canonical public DHttp identity namespace.
  • Local-first identity material

    • Introduces dhttp-home for local DHttp home directories, identity profiles, settings, certificates, and private keys.
    • Supports loading named endpoints from local credential material so endpoints can come online from their own identity.
  • Fine-grained access

    • Introduces dhttp-access for identity-aware access expressions, matchers, HTTP integration, optional SQLite persistence, and CLI-facing access primitives.
    • Enables authorization by verified identity and HTTP context instead of network location alone.
  • Endpoint-aware reachability

    • Integrates H3 DNS, mDNS, and system DNS for endpoint discovery.
    • Allows listening endpoints to publish reachable endpoint records as part of their service lifetime.
  • Native language SDKs

    • Adds Node.js support under @genmeta/dhttp.
    • Adds Python support under dhttpy.
    • Brings the same endpoint model to Rust, JavaScript, and Python with high-level request/server APIs and raw message primitives.
  • Everything is a service

    • Keeps HTTP APIs first-class while adding peer identity, local-first routing, endpoint equality, and decentralized reachability.
    • Provides a foundation for agentic connectivity: agents, services, applications, and devices can have verifiable names, expose APIs, and communicate across networks.

Release targets

This release covers the first public DHttp SDK surface:

  • Rust:
    • dhttp
    • dhttp-identity
    • dhttp-home
    • dhttp-access
  • Node.js:
    • @genmeta/dhttp
  • Python:
    • dhttpy

Rust SDK foundation

The Rust SDK line is built on the published DHttp stack versions:

  • h3x = 0.3.1
  • dyns = 0.3.0
  • dhttp-identity = 0.1.0

This gives the release a stable registry-based foundation for Rust SDK adoption.

Why this matters

Traditional HTTP assumes servers are special. Traditional DNS mostly names locations. Traditional private networking hides endpoints behind topology.

DHttp turns the endpoint itself into the primitive:

  • the endpoint can initiate and serve;
  • the name authenticates the peer;
  • DNS describes reachable endpoint records;
  • access is granted by verified identity and HTTP context;
  • local, private, proxied, and public paths can converge under one model.

This first SDK release provides the foundation for an open, local-first, decentralized, HTTP-compatible network where everything can be a service.