> For the complete documentation index, see [llms.txt](https://swappulse.gitbook.io/swappulse-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swappulse.gitbook.io/swappulse-docs/changelog/v0-10-0.md).

# SwapPulse v0.10.0: Self-hosted node architecture, documentation and security hardening

Full release notes for SwapPulse v0.10.0.

This release establishes the first practical self-hosted node toolchain for SwapPulse, expands the project handbook and API reference, and hardens the npm dependency baseline without forcing a breaking React Router migration.

## Added

* Self-hosted lite-node, full-observer and node-lab tooling, including Docker definitions, environment templates, preflight checks and operator scripts.
* Stage D primary-gateway and remote-observer tools for testing operation across separate hosts.
* Benchmark, restart-recovery, multi-peer agreement, observer-fault and sequencer-fault exercises with preserved evidence.
* Base44 `NodeRegistration` entity for recording node participation in the application layer.
* Expanded API documentation covering product functions, authentication, OpenAPI, webhooks, the read-only RPC gateway, the transaction relay, backend functions and third-party providers.
* Full-node, lite-node, operator, infrastructure and network-architecture guides.

## Updated

* Documentation navigation, onboarding, FAQ, licensing, deployment and release guidance.
* Security audit documentation and site-wide security controls.
* npm transitive dependencies through safe, non-major lockfile updates.
* Project version metadata to `0.10.0`.

## Removed and replaced

* Removed the unused root `@simplewebauthn/server` npm dependency. Base44 backend functions continue to use their independently pinned Deno/npm imports.
* Replaced obsolete licence-options and release-process documents with the canonical MPL-2.0 licensing and release guides.

## Network and operations

The repository now includes repeatable tooling and recorded evidence for the N95 node benchmark, V2 restart recovery, node-lab authority/bootstrap, multi-peer agreement, fault recovery and V2 deployment/cut-over exercises.

These are staged engineering and operator capabilities. This release does not claim that SwapPulse is already a production permissionless network or that community machines are currently producing and validating blocks.

## Post-release Stage D operating milestone

On 7 September 2026, the v0.10 series completed the reviewed Stage D deployment path. The cross-host canary became a durable, loopback-only verifier on `18102`, the legacy `18101` process was replaced through a guarded handover with a reboot-managed same-host fallback, and the primary sequencer and observer received explicit restart policies.

A controlled primary-host reboot then recovered all seven required containers without a manual service start. Their recorded identities were retained, both managed verifiers returned to ready state, and the newest pre-reboot block was reproduced by the sequencer, same-host observer and keyless remote observer. The second host remained keyless and `operator_independence` remained `false`.

These commits followed the original v0.10.0 release candidate and do not change the package version or expand the claim to decentralised consensus.

## Helper foundation

On 8 September 2026, SwapPulse added the first unified Helper foundation. The signed-in `/helper` page provides one read-only conversation for collection, wishlist, binder, card, trade, project and documented chain questions. The legacy `/collector-copilot` route redirects to Helper for compatibility. Helper cannot modify records, message another collector, operate a wallet or submit a chain action.

Approved project knowledge now carries source provenance and is separate from quarantined revisions. A daily fixed-allowlist check can queue changed GitHub files used to publish GitBook, but an administrator must approve a revision before Helper can read it. Feedback-derived agent insights are also inactive until reviewed.

## Scanner foundation

On 8 September 2026, SwapPulse added the signed-in `/scan` workflow for 1 to 10 private JPEG, PNG or WebP card images. The analysis layer reads visible clues, then grounds up to five suggestions in the TCGDex catalogue. Collectors review every identity, condition, finish and quantity, can search manually or skip an image, and must explicitly confirm before private collection entries are created.

Private image references and scan results use owner-scoped records. Analysis uses 15-minute signed image links, applies per-account rate limits, and treats text visible in an image as untrusted data. The workflow performs no wallet or blockchain action.

Confirmed catalogue labels enter a quarantine with `accepted: false`. They cannot affect matching, model weights, training exports or scanner achievements until an administrator explicitly approves them in the scanner label review queue. Automatic scanner self-training is not enabled.

## Security and privacy

* The final clean install reports no critical, high or low npm vulnerabilities.
* Two moderate React Router 6 advisories remain. npm's published remediation requires the breaking React Router 7 migration, so that migration is deferred to a separately scoped release.
* SwapPulse remains a client-side Vite SPA, so the SSR hydration advisory is not directly applicable to the current architecture.
* Redirect and deep-link inputs remain constrained by the application's existing same-origin and sanitisation controls.
* Privileged credentials remain backend-only.
* Names, email addresses, dates of birth, identity documents and private verification evidence remain prohibited from on-chain storage.

## Compatibility and migration

* No end-user migration is required.
* No smart-contract redeployment or reversal of the permanent V2 policy is included.
* Existing React Router 6 application behaviour is retained.
* Node operators should use the supplied environment templates, preflight checks and checkpoint guidance before running the staged tooling.

## Accessibility and localisation

No intentional accessibility or localisation regression is introduced. Existing translated UI behaviour is preserved, and the expanded documentation provides clearer operational routes for users, contributors and operators.

## Testing and verification

The final clean candidate at commit `7a163ef58a34591ae3a24cc3e9a436ba1f910340` produced:

* `npm ci`: passed;
* `npm run lint`: passed;
* `npm run build`: passed;
* TypeScript differential: zero new error signatures versus v0.9.0, with 251 baseline errors resolved;
* npm audit: two moderate findings, zero critical, high or low findings;
* clean and reproducible worktree after validation.

The full TypeScript command still exits non-zero with 665 existing errors. This is tracked baseline debt rather than a new regression in this release.

## Known limitations

* The node stack remains staged and lab-oriented, not a production permissionless network.
* The project still has 665 baseline TypeScript errors.
* React Router 6 retains two known moderate advisories pending a tested major-version migration.
* This release does not represent an independent penetration test or smart-contract audit.

## Rationale

SwapPulse needs reproducible operator tooling and honest decentralisation evidence before it can broaden network participation. This release provides that foundation, makes the system easier to understand and operate, and removes avoidable dependency risk while keeping breaking upgrades outside the release-critical path.
