Damus iOS Changes

From 2025-03-30 to 2026-03-30

Stats

name                    added   removed  commits
Rusty Russell           +43663  -9674    18
William Casarin         +23585  -7847    216
Daniel D’Aquino         +22054  -6376    196
Terry Yiu               +5780   -1018    42
ericholguin             +4724   -749     11
alltheseas              +4713   -483     45
Askia Linder            +830    -50      3
Transifex               +411    -103     82
Swift                   +74     -66      1
askeew                  +66     -46      2
SanjaySiddharth         +65     -13      1
kernelkind              +50     -3       1
Copilot                 +35     -5       1
Swift Coder             +31     -9       1
yse                     +29     -2       3
Askeew                  +24     -22      1
Yasuhiro Matsumoto      +19     -0       1
Charlie Fish            +12     -0       1
copilot-swe-agent[bot]  +9      -0       1
shuoer86                +3      -3       1
Ken Sedgwick            +1      -1       1
franzap                 +1      -1       1

Log

William Casarin (216):
      Fix favorites timeline not showing events when switching
      Fix relay compile issue
      Move note language computation off the main thread
      Show "Favorites" label below logo when viewing favorites timeline
      Switch over to use use blocks from nostrdb
      add assert to catch potential bug
      c: move c files into nostrdb in prep for switchover
      c: move compiler to nostrdb dir
      c: move cursor.h to nostrdb subdir
      c: re-add damus-only C stuff
      c: remove some unused files from project
      fixes
      ndb: add subscription callback initializers
      nostrdb/Inital embedded content parser
      nostrdb/Initial nostrdb queries
      nostrdb/Initial nostrdb relay subscriptions
      nostrdb/Query Plans
      nostrdb/add initial content parser
      nostrdb/add libnostrdb.a
      nostrdb/api: don't expose many internals, like note
      nostrdb/bech32: add some initial tests
      nostrdb/bech32: fix big in bech32 size parsing
      nostrdb/bech32: retab
      nostrdb/block: add bolt11 invoice encoding/decoding
      nostrdb/blocks: actually set the note block version
      nostrdb/blocks: add ndb_blocks_flags function
      nostrdb/blocks: add ndb_blocks_free
      nostrdb/blocks: add note block iterator
      nostrdb/blocks: add total_size
      nostrdb/blocks: expose block iterator internals
      nostrdb/blocks: write note blocks on ingest
      nostrdb/build: fix additional compiler errors
      nostrdb/build: fix constness on config pointer in ingester thread
      nostrdb/cleanup: remove old dbscan stuff
      nostrdb/content_parser: add initial db decoders
      nostrdb/cursor: add align function
      nostrdb/cursor: add malloc_slice
      nostrdb/cursor: add pull_varint_u32
      nostrdb/cursor: fix bug when pushing last element
      nostrdb/cursor: fix empty string pushing in push_c_str
      nostrdb/cursor: fix some warnings
      nostrdb/cursor: fix warning that build.rs is complaining about
      nostrdb/cursor: re-apply infinite loop bug fix
      nostrdb/cursor: remove old array code
      nostrdb/debug: add a few more debug statement
      nostrdb/debug: add print_kind_keys helper
      nostrdb/disable lmdb download
      nostrdb/filter: don't allow adding id elements on kinds
      nostrdb/filter: don't end field if we don't have one active
      nostrdb/filter: rename FILTER_GENERIC to FILTER_TAG
      nostrdb/filter: sort filter elements
      nostrdb/filter: use binary search for large contact list filters
      nostrdb/filters: add ndb_filter_group_init function
      nostrdb/filters: remove ndb_filter_group from public API
      nostrdb/fix build
      nostrdb/fix clang compile issue
      nostrdb/fix github action
      nostrdb/fix macos build
      nostrdb/fix: don't write the owned flag to the DB
      nostrdb/header: move bech32 around
      nostrdb/index: make sure kind index is DUPSORT + INTEGERDUP
      nostrdb/invoice: fix crash in any-amount invoice parsing
      nostrdb/make: cleanup a bit, separate bench running
      nostrdb/ndb: add inital query command
      nostrdb/ndb: measure query performance
      nostrdb/nostr_bech32: only parse up to raw bech32 buffers
      nostrdb/nostr_bech32: parse in one pass
      nostrdb/ocd: small cleanup
      nostrdb/parser: fix bech32 block decoding
      nostrdb/perf: add some flamegraph helpers to makefile
      nostrdb/query: add tag index and tag queries
      nostrdb/query: extract ndb_cursor_start
      nostrdb/query: implement kind queries
      nostrdb/query: support until for kind query plans
      nostrdb/re-apply ispunct crash fix
      nostrdb/rust: initial api for Ndb and NdbConfig
      nostrdb/search: don't enforce sequential tokens
      nostrdb/search: switch to cursor_align function
      nostrdb/stream: actually use file pointer in stream api
      nostrdb/subs: always fail when calling wait_for_notes on a subid of 0
      nostrdb/subs: notify on profile notes as well
      nostrdb/subs: subs and monitor cleanup
      nostrdb/test: disable migrate for now
      nostrdb/test: switch reaction test to use subscriptions
      nostrdb/varint: switch to 64 bit varints
      nostrdb: Fix issue where id tag filters are pushed as strings
      nostrdb: Implement nip50 fulltext searching
      nostrdb: Initial relay index implementation
      nostrdb: Relay queries
      nostrdb: Revert "mem: search cursor close"
      nostrdb: add ability to register a subscription callback
      nostrdb: add authors query plan
      nostrdb: add is_replaceable_kind helper
      nostrdb: add ndb_builder_push_tag_id
      nostrdb: add ndb_db_is_index
      nostrdb: add ndb_filter_eq
      nostrdb: add ndb_filter_json method
      nostrdb: add ndb_subscription_filters
      nostrdb: add ndb_unsubscribe
      nostrdb: add note pubkey and pubkey_kind indices
      nostrdb: add supporting files before the move commit
      nostrdb: add supporting files for the bolt11 parser
      nostrdb: always show migration text
      nostrdb: api: add ndb_note_json
      nostrdb: blocks: add word count interface
      nostrdb: bug: add missing break statement
      nostrdb: build: fix compile warning
      nostrdb: change <=10 author search queries to ==1
      nostrdb: cleanup previous patch
      nostrdb: config: custom writer scratch size
      nostrdb: content_parser: fix blocks_size
      nostrdb: cores: just set to 2 on unknown platforms
      nostrdb: debug: add a print for debugging rust integration
      nostrdb: debug: fix debug logs
      nostrdb: debug: improve tag index display
      nostrdb: earlier since check in ndb_query_plan_execute_created_at
      nostrdb: eq: fix fallthrough bug
      nostrdb: expose filter introspection methods
      nostrdb: expose ndb_filter_get_elements
      nostrdb: filter: add initial custom filtering logic
      nostrdb: filter: add ndb_filter_clone
      nostrdb: filter: add ndb_filter_end
      nostrdb: filter: add ndb_filter_find_search helper
      nostrdb: filter: allow mutable int elements
      nostrdb: filter: allow mutable int elements
      nostrdb: filter: fix ndb_filter_init_with and make public
      nostrdb: filter: introduce ndb_filter_init_with
      nostrdb: filter: make sure clone copies metadata
      nostrdb: filter: make sure to return clone errors
      nostrdb: filter: retain const variant of get_int_elemnet
      nostrdb: filter: retain const variant of get_int_elemnet
      nostrdb: filter: use relative data offsets for easy cloning
      nostrdb: filters: copy filter metadata into subscription
      nostrdb: fix a few note size compile issues
      nostrdb: fix bech32 parsing and add test
      nostrdb: fix build on macos
      nostrdb: fix compile issues on macOS
      nostrdb: fix dubious looking parens logic
      nostrdb: fix heap corruption on windows
      nostrdb: fix iOS crash on latest version
      nostrdb: fix note content parsing bug with damus.io urls
      nostrdb: fix realloc corruption
      nostrdb: fix windows build
      nostrdb: flags: make some indexes optional
      nostrdb: header: add ptr helpers for swift
      nostrdb: ids: fix typo in ndb_query_plan_execute_ids
      nostrdb: ingest: support kind 6 reposts
      nostrdb: introduce ndb_id_u64_ts
      nostrdb: leak: fix memory leak when failing to write like stats
      nostrdb: make more things const
      nostrdb: make the subscription monitor threadsafe
      nostrdb: mem: builder clear before free
      nostrdb: mem: close cursors in print helpers
      nostrdb: mem: re-enable profile freeing
      nostrdb: mem: reaction stats cleanup
      nostrdb: mem: reduce default queue size
      nostrdb: mem: relay iter cleanup
      nostrdb: mem: search cursor close
      nostrdb: memory: fix a bunch of memory leaks
      nostrdb: migrate notes to have pubkey indices
      nostrdb: migration: dont fail v3 -> v4 on 0 migrations
      nostrdb: migrations: make migrations asyncronous
      nostrdb: misc: move some functions around
      nostrdb: monitor: lock monitor when we're freeing subscriptions
      nostrdb: move everything to src
      nostrdb: ndb: add ndb_poll_for_notes
      nostrdb: ndb: add print-relay-kind-index-keys
      nostrdb: ndb: dump json in filters and fulltext queries
      nostrdb: ndb_filter_from_json
      nostrdb: ndb_filter_is_subset_of
      nostrdb: ndb_filter_{eq,is_subset_of}: make interfaces const
      nostrdb: ndb_note_json: return length
      nostrdb: nip19: add kind to naddr & nevent
      nostrdb: nip50: add filter argument to fulltext search
      nostrdb: nip50: add support for search field in filters
      nostrdb: nostrdb: calculate id in ndb_note_verify
      nostrdb: note: always write relay index
      nostrdb: plan: add created_at query plan
      nostrdb: plan: use a less efficient plan for author query plans
      nostrdb: port everything over to be in as sync as possible
      nostrdb: port kernelkind's to the new bech32 parser
      nostrdb: print search keys to stdout
      nostrdb: print-search-keys: add size of key information
      nostrdb: query: add missing since check to kind query
      nostrdb: query: enforce author matches in author_kind queries
      nostrdb: query: implement author_kind query plan
      nostrdb: query: implement profile search query plans
      nostrdb: query: include note size in query results
      nostrdb: queue: switch to prot_queue_try_pop_all
      nostrdb: random: add getrandom fallback for android
      nostrdb: refactor: a few small formatting changes
      nostrdb: refactor: use kind variable for clarity
      nostrdb: relay-index: fix a few bugs
      nostrdb: relay: add note relay iteration
      nostrdb: relay: fix potential relay index corruption
      nostrdb: relay: fix race condition bug
      nostrdb: remove ndb_writer_queue_note (dead code)
      nostrdb: rename get_elems to find_elements
      nostrdb: rename: ndb_u64_tsid to ndb_u64_ts
      nostrdb: resync with repo
      nostrdb: return number of items popped when polling
      nostrdb: search: fix memleak in profile search
      nostrdb: search: sort search terms from largest to smallest
      nostrdb: silence annoying debug
      nostrdb: simplify ndb_query_plan_execute_ids
      nostrdb: strblock: add typedef
      nostrdb: subs: fix memory leak in ndb_subscribe
      nostrdb: tce: fix build for previous TCE change
      nostrdb: win: fix build on windows
      nostrdb: win: fix heap corruption with flatbuf
      nostrdb: windows: fix threading bugs
      nostrdb: writer: rename any_note to needs_commit
      optimized id matching function
      perf: don't use regex in trim_{prefix,suffix}
      project: remove some references
      test: fix broken tests

Daniel D’Aquino (196):
      1.15 changelog
      Add Damus Labs fast-track review process to PR templates
      Add EntityPreloader for batched profile metadata preloading
      Add First Aid tool to repair relay list
      Add `.build` to .gitignore
      Add changelog for v1.14
      Add description and metadata to pay_invoice command
      Add disclaimer to Coinos button
      Add full container file breakdown to storage settings export
      Add justfile
      Add load more content button to the top bar
      Add missing ProfileObserver to EventProfileName view
      Add missing timeout task to advanced stream
      Add more automated tests around ndb streaming
      Add more contribution guidelines
      Add more safeguards to prevent RUNNINGBOARD 0xdead10cc crashes
      Add more test cases to SubscriptionManager tests
      Add more toggles in Labs
      Add ndb subscription tests
      Add network connect call to extensions
      Add note provenance filter support to SubscriptionManager
      Add one-click Coinos wallet setup
      Add option to dismiss wallet high balance warning
      Add performance profiling requirement to PRs
      Add pull to refresh feature in DMs
      Add relay connectivity information to NWC settings
      Add safety reminder for higher balances
      Add send feature
      Add signup UI end to end test
      Add some miscellaneous documentation
      Add storage usage stats settings view
      Add sync mechanism to prevent background crashes and fix ndb reopen order
      Add temporary experimental delay to check hypothesis on occasional init timeline staleness
      Add useful view for note-not-found state in quoted notes
      Avoid note subscription clipping in HomeModel
      Background 0xdead10cc crash fix
      Bump up the version to 1.16
      Bump version to 1.17
      CI: Fix UI tests to include new onboarding steps
      Cancel timeout task on stream cancellation
      Check if Ndb is closed before running subscribe and query operations
      Configure UI to be in compatibility mode
      Create NostrDB streaming and async lookup interfaces
      Define protocol NostrEventConvertible
      Disable bai kanji test
      Disable invoice block parsing tests
      Disable refreshable on Universe view
      Display wallet response error if available
      Do not define OS on justfile commands
      Do not process NWC responses not meant for the user
      Do not show images twice
      Enable address sanitizer for debug configuration
      Ensure to publish object changes on the main thread
      Fetch NIP-65 relay lists from profile view
      Fix AttributeGraph cycle
      Fix MAX_PREFIX parameter on bolt11 parsing logic
      Fix NIP-05 timeline crash
      Fix OS 26 build errors
      Fix OS 26 build errors
      Fix RelayPool connection race condition without time delays
      Fix another race condition that leads to a memory error
      Fix app freeze
      Fix app swap crash
      Fix automated test issues
      Fix blocks_size calculation
      Fix broken DM rendering
      Fix broken Follow Pack timeline
      Fix build errors in PostView tests
      Fix crash on iOS 17
      Fix crash when loading all follows
      Fix double-free crash when creating empty NdbFilter
      Fix edge case around bolt11 invoice parsing
      Fix foreground crash caused by a race condition on ProfileModel
      Fix forever loading Universe view
      Fix forever-loading hashtag view
      Fix forever-loading quote repost view
      Fix fulfillment call in testActionBarModel to use its async version
      Fix hang on sign-up
      Fix highlight comment rendering
      Fix incompatibilities with new nostrdb version
      Fix incorrect buffer size argument in block parsing
      Fix infinite loading spinner regression
      Fix issue that would cause RelayPool to close after ephemeral lease release
      Fix issue where repost and like counts would not appear
      Fix issue with balance loading appearance
      Fix issue with wallet loading
      Fix memory race condition
      Fix missing relay list from profile
      Fix nprofile parsing failure
      Fix occasional stale timeline issue
      Fix off-by-one-error in testTimerRestartsAfterSave
      Fix onboarding crash
      Fix profile action sheet button alignment and improve layout logic
      Fix profile crash
      Fix quoted note regression
      Fix race condition leading to intermittent issues with ndb streaming and related tests
      Fix race condition on app swap that would cause ndb to remain closed
      Fix regressions in note content rendering logic
      Fix snapshot promotion and add temporary snapshot cleanup
      Fix stack corruption in bech32 parsing
      Fix subject-verb agreement issue in user-facing label
      Fix test build error
      Fix test compilation issues
      Fix test compilation issues
      Fix testDecodingPayInvoiceRequest test failure
      Fix thread UI jumpiness
      Fix timeline staleness
      Fix wallet view hanging on loading placeholder indefinitely
      Further improvements to app lifecycle handling
      Hide "Load new content" behind feature flag
      Hide the Favourites feature behind a feature flag
      Implement Codable for NdbNote
      Implement NostrNetworkManager and UserRelayListManager
      Implement initial negentropy base functions
      Implement max budget setting for Coinos one-click wallets
      Implement safe interface for unowned NdbNotes
      Implement timestamp-based network subscription optimization
      Improve Coinos button disclaimer
      Improve Follow pack timeline loading logic in the Universe view
      Improve NostrNetworkManager interfaces
      Improve accessibility and localization support on Damus Labs screen
      Improve draft saving mechanism to start timer on first edit
      Improve error handling on NWC wallet
      Improve lifetime handling in collectBlocks
      Improve loading UX in the home timeline
      Improve loading speed on home timeline
      Improve loading speeds for home timeline and universe view
      Improve logging in SubscriptionManager
      Improve streaming interfaces and profile loading logic
      Improve task cancellation management in SubscriptionManager
      Increase MAX_CONCURRENT_SUBSCRIPTION_LIMIT
      Initialize AVPlayerItem on the background to avoid hitches
      Integrate Negentropy with Subscription Manager
      Integrate follow packs into onboarding suggestions
      Make NdbBlock ~Copyable for better lifetime safety
      Make RelayPool actor a global actor
      Make RelayPool private to NostrNetworkManager and migrate usages
      Modify NostrNetworkManager pipeline architecture
      Move DM subscription to a dedicated stream
      Move Kingfisher data to the Caches directory
      Move most of RelayPool away from the Main Thread
      Move profile update handling from notes to the background
      Multi-session subscriptions and RelayPool reopening
      NIP-65 relay list models and definitions
      New async streaming interface from RelayPool
      Offload note filtering computations from the view body render function
      Optimize HomeModel subscription usage
      Organize RelayPool namespace
      Perform LNURL computation on the background in EventActionBar
      Prevent crash from ndb search test
      Prevent new NostrDB streaming tasks from opening when NostrDB has begun to close
      Prevent publishing changes to Observable outside the main thread
      Publish "loading" variable update on the main thread to avoid undefined behaviour
      Re-enable note zaps ⚡️
      Redesign Ndb.swift interface with build safety
      Reduce max age for stale temporary snapshots
      Reduce race condition probability in Ndb streaming functions
      Refactor wallet invoice URL handling
      Reinitialize videos if they enter an error state
      Reintroduce invoice tests that have been previously disabled
      Remove accidental code comment
      Remove deprecated nrelay uses from tests
      Remove transaction inheritance
      Remove typed throws in some Ndb functions
      Remove unnecessary wait in note rendering
      Renamed RelayInfo to LegacyKind3RelayRWConfiguration
      Render profile bios
      Return network EOSE in normal mode if device is offline
      Revert "Remove transaction inheritance"
      Revert "Removes notifications from muted npubs"
      Revert "Temporarily disable zaps"
      Reword subscript out-of-bounds assertion
      Shift since optimization filter by two minutes
      Speed up quote reposts view loading
      Stop ProfileManager when app is being backgrounded
      Stream from both NDB and network relays
      Switch to local relay model
      Temporarily disable broken tests
      Temporarily disable zaps
      Turn off network optimization for ProfilesManager
      Unpublish incoming notes to prevent unnecessary redraws
      Update Invoice tests to use the new blocks interface, and fix reverse blocks iteration indexing
      Update Kingfisher to 8.3.1
      Update published items on the main actor
      Update setting on main actor to avoid crashes
      Update tests to the new npub abbreviation format
      Verify events at RelayConnection
      Version bump to 1.15
      Wait for app to load the relay list and connect before loading universe view
      Wait for note in NostrDB before rendering it
      feat: implement LMDB compact solution for storage optimization
      ndb: Optimize snapshot storage
      nostrdb: Fix heap buffer overflow
      ui: Stabilize ImageCarousel height when swiping between images
      v1.16 changelog
      v1.16.1 changelog

Transifex (82):
     21       Translate Localizable.strings in th
     14       Translate Localizable.strings in pl_PL
     10       Translate Localizable.strings in nl
      7       Translate Localizable.strings in pt_PT
      7       Translate Localizable.strings in de
      5       Translate Localizable.strings in ja
      5       Translate Localizable.stringsdict in de
      4       Translate Localizable.stringsdict in th
      3       Translate Localizable.stringsdict in nl
      2       Translate Localizable.stringsdict in ja
      1       Translate Localizable.strings in hu_HU
      1       Translate Localizable.stringsdict in pt_PT
      1       Translate Localizable.stringsdict in pl_PL
      1       Translate InfoPlist.strings in zh_CN

alltheseas (45):
      Add AGENTS.md
      Add Damus client tag emission
      Add client tag accessor to NdbNote
      Add test cases for invoices with longer HRP prefixes
      Consume NIP-19 relay hints for event fetching
      Ensure mention profiles render with display names
      Expose client tag toggle in settings
      Fix Lightning invoice parsing and fetching
      Fix blank notifications on app startup
      Fix jumpy cursor bug
      Fix mention profile fetch for mention_index blocks
      Fix missing profile names and pictures due to stream timing
      Fix stale relay list: replace UserDefaults hex lookup with ndb query
      Hide empty chat action bar overlays
      Move client tag display from feed to note detail view
      Persist mute list across cold start
      Removes notifications from muted npubs
      Restore translated note rendering
      Show client tags on events
      Simplify Swift invoice handling with non-optional return types
      Update AGENTS.md
      docs: update AGENTS.md - dont block main thread
      filter: option to mute posts with too many hashtags
      fix: add bottom padding to UserRelaysView to prevent last relay from being cut off
      fix: delete stale lock.mdb during compaction to prevent SIGBUS crash
      fix: move repost dedup inside home context to fix notifications
      fix: wait for relay connection before loading nevent URLs
      input: convert pasted npub/nprofile to mention with async profile fetch
      input: fix cursor jumping to position 0 after typing first character
      input: preserve mention links when inserting text before them
      longform: add estimated read time to longform preview
      longform: add focus mode with auto-hide chrome
      longform: add reading progress bar
      longform: add sepia mode and line height settings
      longform: change focus mode to only hide chrome on scroll down, tap to restore
      longform: fix note URLs not opening from nevent references
      longform: fix opening midway instead of at top
      longform: fix stretched/cut-off images in longform notes
      longform: fix tab bar staying hidden when switching to non-longform event
      longform: remove card styling from preview in full article view
      longform: simplify redundant boolean conditions in LongformPreview blur logic
      search: highlight terms in note search results
      search: sort search results by recency
      test: add regression tests for repost notification bug
      thread: trust own replies in threads

Terry Yiu (42):
      Add missing localized string comment
      Export strings for translation
      Clean up code in ProfileName.name_choice
      Fix quote notes to include missing q tag
      Fix some compiler warnings
      Replace deprecated usage of UIMenuController with UITextViewDelegate
      Add notification setting to hide hellthreads
      Inverse hellthread_notifications_enabled to be hellthread_notifications_disabled and add hellthread_notifications_max_pubkeys setting
      Hide future notes from timeline
      Fix note rendering for those that contain previewable items or leading and trailing whitespaces
      Add inline note rendering of invoices to pull up wallet selector sheet
      Optimize classify_url function
      Export strings for translation
      Remove arbitrary newline from localizable string
      Export strings for translation
      Add NIP-05 favicon to profile names and NIP-05 web of trust feed
      Fix quotes view header alignment
      Export strings for translation
      Rename Bitcoin Beach wallet to Blink
      Add privacy-based redaction to wallet view
      Add privacy-based redaction to nsec in key settings view
      Fix wallet transactions to always show profile display name unless there is no pubkey
      Hide end previewables when hashtags are present
      Add web of trust reply sorting in threads to mitigate spam
      Add tip in threads to inform users what trusted network means
      Rename Friends of Friends to Trusted Network and add popover tips to DMs and Notifications toolbars on Trusted Network button
      Export strings for translation
      Export strings for translation
      Fix localizable strings in FollowPackView
      Remove incorrect Thai translation for notes_from_three_and_others
      Fix note rendering to include non-media link previews with image, video, and icon removed when media previews are disabled
      Remove image, video, and icon from non-media link previews if media links are present to reduce screen clutter
      Export strings for translation
      Export strings for translation
      Fix #nsfw tag filtering to be case insensitive
      Add relay hints to tags and identifiers
      Fix note content rendering to not remove whitespace before hashtag
      Add relay count and relay view to events
      Add support for scanning nprofile QR codes
      Export strings for translation
      Reduce default zap amount and deduplicate from preset zap amount items
      Fix localization issues and export strings for translation

Rusty Russell (18):
      nostrdb: bolt11: move utf8_check into local function.
      nostrdb: Makefile: build using ccan/ versions of files.
      nostrdb: src: delete copies outside ccan/ dirs.
      nostrdb: Makefile: fix missing dependencies on bolt11 headers.
      nostrdb: bolt11: update to latest version from CLN
      nostrdb: bolt11: remove unneeded fields.
      nostrdb: content_parser: fix incorrect comment.
      nostrdb: nostrdb: fix ndb_builder_find_str.
      nostrdb: ccan: copy ccan files into their own subdirectory.
      nostrdb: bolt11: move utf8_check into local function.
      nostrdb: Makefile: build using ccan/ versions of files.
      nostrdb: ccan: sync with normal versions.
      nostrdb: ccan: update to latest.
      nostrdb: Makefile: fix missing dependencies on bolt11 headers.
      nostrdb: bolt11: update to latest version from CLN
      nostrdb: bolt11: remove unneeded fields.
      nostrdb: content_parser: fix incorrect comment.
      nostrdb: nostrdb: fix ndb_builder_find_str.

ericholguin (11):
      wallet: route to profile from wallet tx list
      Follow Packs
      Update README
      refactor: Adding structure
      Damus Labs
      fix: Don't show onboarding when logged in with npub
      Damus Live
      ui: Improve Damus Purple presentation in side view
      ui: Improved Load Media UI
      gifs: Tenor GIFs
      ui: Fixes for iOS 26 toolbars

Askia Linder (3):
      User section will be the last section in MutedView.
      Handle npub correctly in draft notes
      Add Timeline switcher button in PostingTimelineView. Switch between your following or NIP-81 favorites. User can favorite a user via ProfileActionSheetView or ProfileView.

yse (3):
      wallet: errors: add %@ string formatting instead of %s
      wallet: models: unset type field for list transactions request
      tests: wallet: add encoding test for list_transactions request

askeew (2):
      Fix display issues with pasted or uploaded images
      Fix center alignment and larger hit test area for Timeline switcher

Askeew (1):
      Show Timeline Tip in same way and after other Damus Tips. Changelog-None: Signed-off-by: Askeew <[email protected]>

Charlie Fish (1):
      nostrdb/tce: add AUTH to-client-event

Copilot (1):
      Fix: Gracefully ignore unsupported NWC response types (e.g. get_info)

Ken Sedgwick (1):
      nostrdb: Only log to stdout if NDB_LOG is defined

SanjaySiddharth (1):
      Show additional information on top of blurred images

Swift (1):
      Fix stretchy banner header in Edit profile

Swift Coder (1):
      Display Circular Indicator on top of media undergoing upload process Removed existing progress view bar at the top of post view Added separate stack in PVImageCarouselView for media undergoing the upload process Changelog-Added: Display uploading indicator in post view Signed-off-by: Swift Coder <[email protected]>

Yasuhiro Matsumoto (1):
      nostrdb/add "import -"

copilot-swe-agent[bot] (1):
      fix: refresh balance and transactions in WalletModel.connect() on wallet switch

franzap (1):
      nostrdb: bug: use indices[i] as index is not defined

kernelkind (1):
      nostrdb/parser: handle period at end of url

shuoer86 (1):
      nostrdb/Fix typos