Skip to content

Releases: pubky/pubky-homeserver

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 08:32
v0.11.0
6a14bdb

New Features

Bug Fixes

Refactors

Documentation Changes

Chores

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 13:20
cda859e

This is a new release with quite a few breaking changes. Please checkout the v0.10.0 migration guide.

ALPHA private data /priv/ The homeserver now provides a way to store private data that only the user has access to. This feature is under active development and should NOT be used in any production environment. Expect private data APIs to change or disappear as we actively iterate over different solutions.

Change Summary

BREAKING CHANGES

New Features

Bug Fixes

Refactors

  • sdk: Extract grant management into GrantManager (PR #412 by @SeverinAlexB)
  • homeserver: Simplify republisher internals (PR #481 by @andrei-21)
  • Resolve workspace Clippy warnings (PR #489 by @andrei-21)
  • homeserver: Simplify concurrent PKARR republishing (PR #488 by @andrei-21)
  • homeserver: Move PKARR retries into a dedicated republisher (PR #495 by @andrei-21)
  • homeserver: Restructure PKARR republishing (PR #498 by @andrei-21)
  • homeserver: Move auth revocation into AuthState (PR #518 by @86667)

Tests

  • homeserver: Add E2E coverage for private data (PR #474 by @MCarlomagno)
  • homeserver: Prevent PKARR clients from using default relays (PR #517 by @andrei-21)

Build System

  • homeserver: Set the default run binary to pubky-homeserver (PR #452 by @andrei-21)
  • Add Context7 refresh workflow (PR #462 by @gcomte)
  • Cache npm dependencies (PR #499 by @ok300)
  • Change Dependabot’s Rust interval to weekly (PR #511 by @ok300)
  • Use Rust cache in the build-artifacts workflow (PR #512 by @ok300)
  • deps-dev: Update @xmldom/xmldom (PR #516 by @dependabot[bot])
  • Use dtolnay/rust-toolchain for faster Rust setup (PR #513 by @ok300)

Documentation Changes

  • Fix Rustdoc links (PR #447 by @andrei-21)
  • Add DeepWiki badge (PR #450 by @ok300)
  • testnet: Gate Docker Postgres doctest by feature (PR #461 by @andrei-21)
  • homeserver: Improve developer documentation and READMEs (PR #431 by @SeverinAlexB)
  • examples: Add grant-auth examples and reorganize existing examples (PR #487 by @SeverinAlexB)
  • homeserver: Add deployment guide (PR #503 by @86667)
  • Remove the legacy mdBook site (PR #508 by @andrei-21)
  • testnet: Prioritize persisted static-testnet setup instructions (PR #521 by @86667)
  • hs/sdk: Add private-storage documentation (PR #505 by @MCarlomagno)
  • sdk: Make in-code documentation more user-friendly (PR #537 by @86667)

Chores

Full Changelog: v0.9.3...chore/v0.10.0

v0.10.0-alpha.0

v0.10.0-alpha.0 Pre-release
Pre-release

Choose a tag to compare

@SeverinAlexB SeverinAlexB released this 29 Jun 11:43
ffe5905

BREAKING CHANGES

New Features

Bug Fixes

Refactors

  • sdk: Extract grant management from session to its own GrantManager (PR #412 by @SeverinAlexB)

Tests

  • better coverage for cursor and pagination

Build System

  • homeserver: set default run binary to pubky-homeserver (PR #452 by @andrei-21)
  • add Context7 refresh workflow

Documentation Changes

Chores

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 24 Jun 12:25
v0.9.3
ddbf15c

Bug Fixes

  • 6c0f533 - sdk: disable TLS revocation hard-fail on ICANN HTTP client (false Revoked errors on Android) (PR #456 by @coreyphillips)

Chores

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 23 Jun 09:25
v0.9.2
be84fe8

Bug Fixes

  • 76b3ee7 - sdk: resolve transport with the full _pubky. qname so ICANN fallback applies (PR #423 by @SHAcollision)
  • 7e1a82a - Release pipeline to not check that tag commit is on main branch. This blocks hot fix tagging. (commit by @86667)

Chores

v0.9.1

Choose a tag to compare

@andrei-21 andrei-21 released this 27 May 13:16

Chores

Full Changelog: v0.9.0...v0.9.1

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 25 May 08:09
v0.9.0
59797cd

BREAKING CHANGES

  • due to 59797cd - v0.9.0 (PR #395 by @86667):

    The embedded-postgres feature was renamed to
    docker-postgres and now requires Docker on the host. Deprecated
    aliases are provided for the old feature flag and API names.
    (introduced in f9e75f0)

Bug Fixes

  • f9e75f0 - Improve embedded-postgres shared instance handling to prevent hanging postgres bug (PR #368 by @86667)

Build System

  • b605fcc - Use requarks/changelog-action to generate categorised changelog for release notes from conventional commit messages. Ensure PR titles follow correct conventional commit pattern. (PR #393 by @86667)

Chores

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 19 May 14:54
06f242c

What's Changed

Important: LMDB support has been dropped. Use Postgres from now on. If you have to migrate, use v0.7.0 first before you upgrade to v0.8.0.

  • BREAKING CHANGE feat!(hs): Remove LMDB by @SeverinAlexB in #357
  • feat(homeserver): Horizontally scalable SSE Events by @86667 in #303
  • feat(sdk): Add resumeAuthFlow to recover auth flows after page refresh by @tipogi in #355
  • feat: native SDK fallback to ICANN when PubkyTLS direct endpoint is unreachable by @SHAcollision in #352
  • feat(homeserver): Per user rate limits by @86667 in #363
  • feat: signup_count metric by @86667 in #379
  • feat(examples): Improve write abilities by @86667 in #382
  • feat(homeserver): UserQuota option allowed_write_paths by @86667 in #381
  • fix(homeserver): Serialise event inserts to prevent poll loop from skipping events by @86667 in #358
  • fix(testnet): testnet port binding by @SeverinAlexB in #362
  • fix(homeserver): apply burst to request rate limits by @andrei-21 in #383
  • fix(auth): Check actual version byte by @andrei-21 in #370
  • fix(sdk): lock wasm-pack install so that it uses the exact dependency versions from wasm-pack's lockfile by @86667 in #371
  • build: symlink LICENSE for wasm-pack packaging by @andrei-21 in #372
  • test: add unit test to verify actual behavior on quota excess by @andrei-21 in #374
  • deps: bump the cargo-dependencies group across 1 directory with 9 updates by @dependabot[bot] in #359
  • refactor(common)!: normalize capabilities construction by @andrei-21 in #375
  • refactor(homeserver): Move pkarr republisher and add docs by @86667 in #351
  • ci(wasm): install wasm-pack from prebuilt binary by @andrei-21 in #385
  • ci: fix worflow yaml by @andrei-21 in #386
  • refactor(homeserver): use nonzero burst quota values by @andrei-21 in #387
  • chore: pkarr v6 by @dzdidi and @ok300 in #380

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 18 Mar 14:03
v0.7.0
faefe2d

Changes

New features

This release introduces the Event Streaming API (#293), bringing real-time SSE-based event subscriptions to the SDK. Alongside that, the homeserver picks up a new GET /signup_tokens/{token} endpoint (#319) for checking whether a signup token is valid or already used

On the developer experience side, pubky-testnet now supports an optional embedded Postgres mode (#308), so you can spin up fully self-contained test environments without needing an external database.

Auth flows have been reworked to use a new /inbox relay endpoint (#316) (replacing the previous /link channel), and the token validity window has been extended from 45 seconds to 3 minutes (#318).

Under the hood several major dependencies were bumped: pkarr (3.x5.x), reqwest (0.120.13), and ed25519-dalek (2.x3.0-pre). See the breaking changes section below for migration details.

Breaking changes

pubky-common

  • pkarr 3.105.0 and ed25519-dalek 2.x3.0.0-pre.1
  • EventCursor moved here from the homeserver crate, with inner type changed from i64u64
  • Auth timestamp window widened from 45 seconds to 3 minutes
  • New pub mod events added (additive)

pubky-sdk (pubky)

  • pub use pkarr::DEFAULT_RELAYS removed — must now use pubky::pkarr::DEFAULT_RELAYS
  • DEFAULT_HTTP_RELAY deprecated (/link/inbox) — replaced by DEFAULT_HTTP_RELAY_INBOX
  • HttpRelayLinkChannel / EncryptedHttpRelayLinkChannel deprecated. Replaced by *InboxChannel variants
  • Auth flows default to /inbox endpoint
  • reqwest 0.120.13
  • New event streaming API added: Event, EventCursor, EventStreamBuilder, EventType (additive)

pubky-homeserver

  • axum-server 0.70.8
  • New endpoint GET /signup_tokens/{token} for querying signup token status (additive)

pubky-testnet

  • HTTP relay now enables CORS (cors_allow_all(true)) by default
  • DHT builder API changed (chaining style, from pkarr/mainline upgrade)
  • New Testnet::new_unseeded() method (additive)
  • New embedded-postgres feature flag with EphemeralTestnetBuilder::with_embedded_postgres() (additive)

pubky-wasm (JS bindings)

  • wasm-bindgen 0.2.1000.2.108 and wasm-streams 0.40.5
  • Auth relay default changed from /link to /inbox (inherited from SDK)
  • New event streaming bindings added: EventStreamBuilder, Event, PubkyResource (additive)

What's Changed

  • feat: events-stream sdk by @86667 in #293
  • chore: Re-export pkarr by @ok300 in #297
  • chore: Group dependabot PRs by @ok300 in #305
  • fix: Fix crate naming issue preventing dependabot runs by @ok300 in #304
  • feat: Add feature for embedded Postgres by @86667 in #308
  • chore: Bump pkarr, mainline, pkarr-relay by @ok300 in #315
  • feat: increased auth token life time from 45s to 3min + clean code refactor by @SeverinAlexB in #318
  • feat: GET /signup_tokens/{token} resource by @86667 in #319
  • fix: Macos mainline tests binding to 127.0.0.1 by @SeverinAlexB in #320
  • fix: pubky-testnet readme local cargo test by @SeverinAlexB in #321
  • feat: set 10 request per ip per minute default rate limit for /signup_tokens route by @86667 in #323
  • chore: pubky-testnet v0.7.0 by @86667 in #326
  • feat: Examples use embedded postgres by default by @86667 in #335
  • docs: Improve pubky-testnet usage docs by @86667 in #341
  • fix: UserQuotaLayer does not need to validate a pubky exists in the path by @86667 in #342
  • feat: Replace Http-Relay with new /inbox endpoint by @SeverinAlexB in #316
  • feat: v0.7.0 release candidate changes by @86667 in #310
  • chore: v0.7.0 by @86667 in #347
  • feat: Publish crates and npm package via Trusted Publisher auth by @86667 in #348

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@SHAcollision SHAcollision released this 15 Jan 07:55
7fc8257

First Stable Release: Pubky Homeserver and Pubky SDK

This release marks the first stable versions of the Pubky Homeserver and Pubky SDK.

There are extensive breaking changes compared to versions 0.5.4 and earlier. These changes are not documented in this release because the crates were previously treated as unstable. Any application built against 0.5.4 or earlier should be considered incompatible and must be re-implemented.

From this release onward, all breaking changes will be explicitly documented.

Pubky SDK

Pubky Homeserver

Install as

cargo install pubky-homeserver 

Or build the docker image using the Dockerfile at the root directory. A docker repository image will be available soon.

Pubky Testnet

Install as

cargo install pubky-testnet 

Or build the docker image using the Dockerfile at the root directory. A docker repository image will be available soon.

What's Changed

New Contributors

Full Changelog: v0.5.4...v0.6.0