Skip to content

v1.9.0

Latest

Choose a tag to compare

@openaudio-release-bot openaudio-release-bot released this 10 Aug 20:44
7291836

1.9.0 (2026-08-10)

Features

  • core: add height-gated consensus ruleset engine (#447) (708f6d6)
  • core: authorize track cids against validator upload attestations (#477) (878a6a7)
  • core: enforce manage entity authorization behind a height gate (#450) (97140a6)
  • core: track authorization state at consensus (#448) (3b5730c)
  • etl: carry playlist removal history through the migration (#485) (222a6b4)
  • etl: make entity_id the canonical subscription target for both types (#470) (b137701)
  • etl: store the payout wallet, coin flair and profile type users send (#453) (7753833)
  • genesis-writer: carry profile settings and grant approval on migrated creates (#492) (06d9e62)
  • genesis-writer: migrate pinned comments (#487) (0cbaa69)
  • mediorum: attribute uploads to an asserted user and attest their cids (#476) (123f53e)
  • mediorum: operator-run prune job, and infer data loss from repair failures (#437) (e62185a)
  • parity: compare column contents, not just row counts (#484) (bf016d6)

Bug Fixes

  • ci: stop stamping the etl version onto a dependency requirement (#431) (ec8df1f)
  • core: keep jailed validators valid for mediorum operations (#468) (f0b14d7)
  • core: keep migration transactions out of the custom mempool (#457) (4a97d21)
  • core: serve a block's transactions in block order (#443) (a6f3e5b)
  • dev: prune blockstore on devnet nodes 3 and 4 (#426) (fc6c83f)
  • etl: do not imply a subscription for migrated follows (#473) (5293b49)
  • etl: don't delete rows from an ETL migration (#433) (30b1c1b)
  • etl: index genesis-migration entities without data loss (#425) (6c116fa)
  • etl: keep the slug a migrated playlist already serves (#479) (b0bd305)
  • etl: key subscription identity on entity_type, not just numeric id (#469) (7d7f7d6)
  • etl: maintain the playlist reverse index on tracks (#481) (95f8e2f)
  • etl: persist every user field the create contract accepts (#466) (db5c632)
  • etl: persist profile_type on user Create (#458) (a60f996)
  • etl: record album saves and reposts as playlist (#428) (26ccde7)
  • etl: record migrated entities with their original created_at (#439) (a0aa0e8)
  • etl: replay concluded remix contests through the migration (#494) (28a05c3)
  • etl: report transactions that match no handler (#480) (36c806c)
  • etl: store the DDEX rights metadata tracks already send (#461) (c1c8993)
  • etl: write playlist_tracks timestamps in block time (#482) (733c8b2)
  • genesis-writer: emit email_owner_user_id so encrypted emails index (#490) (b7c3597)
  • genesis-writer: emit every timestamp in UTC (#488) (3a877e1)
  • genesis-writer: emit muted users under the User entity type (#489) (e590681)
  • genesis-writer: emit six missing track state flags (#486) (3a4883a)
  • genesis-writer: emit six state fields the indexer reads (#491) (a708bc1)
  • genesis-writer: migrate subscriptions to events (#493) (04ee231)
  • genesis: carry soft-deleted state on Create instead of dropping the row (#455) (74e3a70)
  • genesis: carry the entity fields the writer never put on Create (#445) (947c053)
  • genesis: emit comment reactions under the Comment entity type (#444) (28b9190)
  • genesis: emit comment replies after their parents (#441) (68fd451)
  • genesis: emit missing entity metadata and sign apps/grants as the owning user (#438) (3e2e259)
  • genesis: emit root comments and replies in separate passes (#472) (b009158)
  • genesis: keep each track's existing slug instead of regenerating it (#452) (49841ce)
  • genesis: migrate soft-deleted wallet links by carrying is_delete on Create (#442) (cb5abe8)
  • genesis: only emit transactions whose references resolve (#449) (da0256d)
  • genesis: project consensus auth state during the genesis write (#464) (f8a8fa3)
  • mediorum: bound repair pulls, fall back to store-all peers, surface checkpoint age (#436) (56153da)
  • mediorum: harden media response headers (#446) (98273f7)
  • mediorum: match access authorities case-insensitively (#203) (acd150d)
  • mediorum: reclaim orphaned .tmp files on write instead of walking at startup (#435) (10d1953)
  • mediorum: repair upload cursor and quadratic file-bucket listing (#434) (63cc6c6)
  • parity: do not skip every row when the reference is a snapshot (#475) (72da008)

Performance Improvements

  • etl: drop the per-transaction savepoint when replaying migration blocks (#451) (4639757)

Code Refactoring