New entry alongside v0.1.2. Fixes the localhost-relay /pair gotcha: a seed
minted via the Pair UI baked ws://127.0.0.1 (lnbits' internal bunker relay)
into bunker_url, unreachable by the remote ATM → BunkerTimeoutError. Now
defaults bunker_relay to the spire's public event relay. See spirekeeper#35;
design follow-up #36.
New entry alongside v0.1.1. Fixes the regression where an unpaired machine
(machine_npub NULL, nullable since #29) crashed normalize_public_key(None):
platform-fee update 500 + cassette consumer error-spam. See spirekeeper#33.
Demo upgrades v0.1.1 -> v0.1.2 to clear it (restart lnbits + hard-refresh).
New entry alongside -aio.1 (instances on the old version keep resolving
it). Enables bitSpire cash-in settlements: a withdraw link's extra now
rides onto the payout payment so spirekeeper's cash_in listener fires.
See aiolabs/withdraw#3.
New entry alongside aio.5 (not in place) so instances on the prior
version stay resolvable. Fixes the live ticket-count stall: a same-second
republish no longer ties created_at and gets dropped by relays.
aiolabs/events#26 / #27. sha256 of the v1.6.1-aio.6.zip archive pinned.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New aio extension — the v2-bitspire line of satmachineadmin split into
its own repo (aiolabs/spirekeeper). Operator-side admin for bitSpire
ATMs: Nostr-native DCA distribution + settlement. Archive sha256-pinned.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bumped 1.6.1-aio.3 → 1.6.1-aio.5 (aio.4 skipped; no tagged release at
that version). Catalog now offers both -aio.3 and -aio.5; older
installs stay resolvable per "don't overwrite a version entry in
place".
aiolabs/events#24
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ships split-ledger routing (aiolabs/libra#28 + #29 from PR #32),
settlement net+credit semantics (#33, #41), voided-tx in user-entries
endpoint (#34), and an integration test suite. New entry added
alongside v0.2.2 per "don't overwrite versions" policy.
Live immediately for any host pointing at the manifest URL — operators
click Upgrade in lnbits admin UI to pull the new code.
Nostr-driven inventory sync (ticket counts in NIP-52 tags, republish
on every sale), multi-ticket purchases as N independently-scannable
rows on one invoice, GET /tickets/user + polling endpoint, republish-
all / republish-mine admin tools. Co-merges aiolabs/events PR #15 +
PR #16.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rebased onto upstream v1.6.1 with fiat checkout + email/Nostr ticket
notifications + resend-email button. All aio fork features kept:
approval workflow, NIP-52 publish, edit gating, public auto_approve
probe, fork-migrations split.
Higher semver than upstream's 1.6.1 — LNbits UI now picks the
aiolabs entry by default on every upgrade, eliminating the "wrong
manifest entry installed by accident" ambush.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fork-migrations split per aiolabs/lnbits#8 — schema deltas move out
of migrations.py into migrations_fork.py so events stays
rebase-friendly against upstream. Requires aiolabs/lnbits with the
extension_fork loader (commit ae997181 or later).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Public auto_approve probe so non-admin webapp users get accurate
edit-flow copy without holding an LNbits admin token.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Edit events with re-approval gating, plus closes a security gap on
PUT /events/{id} that let owners self-approve their own proposals.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Optional start/end time on events: when the wire-format string includes
"T", the publisher emits NIP-52 kind 31923 (time-based, unix-timestamp
start/end + day-granularity D tags) instead of kind 31922.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
LNbits-side counterpart to the webapp tasks module. Caches NIP-52 kind
31922 task events and kind 31925 completions in a local schema, publishes
mutations through nostrclient, and subscribes back to keep the local DB
in sync with the relay set. Tags published 31922 events with
["event-type", "task"] to disambiguate from activities on shared relays.
archive: https://git.atitlan.io/aiolabs/tasks/archive/v0.0.1.zip
sha256: 0564d3c51fbadc5e4f4a2c547248e954aa6e0fc796cef266304ae47f3a12dc35
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v1.3.0-aio.1 (tag at 6d8ee66) pointed at an upstream PR cherry-pick
without the nostr-transport-RPC work we actually want shipped. No
deployed host was running it; remove to prevent it being installable.
v1.3.0-aio.2 is cut at aiolabs/lnurlp main HEAD (31cf2eb), which
includes the nostr-transport-RPC commit plus three upstream PR
cherry-picks (#125 docs, #129 double-slash fix, #133 zap receipt)
that landed after the upstream v1.3.0 tag.
archive: https://git.atitlan.io/aiolabs/lnurlp/archive/v1.3.0-aio.2.zip
sha256: 7a6428c81d4a23c1a7060fcd12d4bd732c1383c2ee3cd91a228a01fee8170b3c
Adds lifetime income/expense totals to the /api/v1/balance response
so clients can render an Income vs Expenses breakdown alongside the
net balance.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds user-facing income/revenue submission endpoint, SUBMIT_INCOME
permission, and assorted UI polish on the pending-approvals view.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First aiolabs build off lnbits/splitpayments v1.1.0 via the
PatMulligan fork (org rename + uv migration + wallet-select +
typo fixes). No upstream entry to keep — splitpayments wasn't
previously listed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First aiolabs build off lnbits/lnurlp v1.3.0. Upstream github.com
entries kept; this new entry points at the forgejo fork archive.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>