Skip to content

Releases: v0l/snort

v0.5.3

08 Apr 17:36
f3a6e73

Choose a tag to compare

fix: infinite loop in Nip05 component from unstable ref callback

v0.5.1

08 Apr 10:28
b14a12d

Choose a tag to compare

Release v0.5.1

v0.5.0

07 Apr 13:40
@v0l v0l

Choose a tag to compare

Highlights

  • Security Hardening: Comprehensive audit fixes including Schnorr signature verification, NIP-46 relay message forgery protection, PIN encryption improvements, and NIP-26 delegation trust removal
  • Performance: Batched Schnorr verification in WASM, lazy-loaded routes, pre-compiled translations, worker-relay batch optimizations, and eliminated double verification per event
  • Stability: Fixed multiple React render loops, hook dependency arrays, stale closures, and lifecycle/memory leaks across the app

Added

  • Comprehensive request processing path tests
  • Priority profile loader with batch loading, priority tiers, and chunking
  • DVM kind:7000 payment-required invoice display (#618)
  • Default relays fallback when pool is empty
  • Zapstore manifest migration (nap.yaml → zapstore.yaml)

Changed

  • Batch event verification in system-wasm for improved throughput
  • Profile loader rewritten with priority tiers, chunking, and O(1) notifications
  • NoteCollection clear() emission and ghost-timer fixes
  • Trace-timeline terminal state runtime tracking improvements
  • Replaced uuid with crypto.randomUUID()
  • All useSyncExternalStore calls now include getServerSnapshot for SSR compatibility (#615)
  • Switched quote style to double quotes (Biome formatting)

Fixed

  • Security: Real Schnorr signature verification in isValid (#607)
  • Security: PIN encryption security issues (#606)
  • Security: NIP-46 hardened against forged relay messages and secret leakage (#609)
  • Security: Removed unverified NIP-26 delegation trust in getRootPubKey (#608)
  • Security: Wrapped all dangerous JSON.parse calls in try/catch (#610)
  • Security: Added timeouts to all hanging promises (#611)
  • Security: Added lifecycle management and fixed timer/memory leaks (#612)
  • Render loop in NoteReaction from unstable inline ref callback
  • Render loop on profile page pinned notes
  • Notifications render loop from unstable login object dependency
  • NoteContext render loop from unstable ev/link/translate deps
  • React hook dependency arrays and stale closures across components
  • NoteStore lazy snapshot and OutboxModel input mutation (#614)
  • Queue traces for connecting relays with query system edge-case tests
  • Batch verify in WASM with error logging
  • Build-tools version updated to 35.0.0
  • APK artifact matching patterns

PRs

  • Fix #617: Display DVM kind:7000 payment-required invoices to users (#618)
  • Add getServerSnapshot to all useSyncExternalStore calls for SSR compatibility (#615)
  • Lazy snapshot in NoteStore, type safety improvements, fix OutboxModel input mutation (#614)
  • Replace uuid with crypto.randomUUID(), remove uuid dependency (#613)
  • Add lifecycle management and fix timer/memory leaks (#612)
  • Add timeouts to all hanging promises (#611)
  • Wrap all dangerous JSON.parse calls in try/catch (#610)
  • Harden NIP-46 against forged relay messages and secret leakage (#609)
  • Remove unverified NIP-26 delegation trust in getRootPubKey (#608)
  • Add real Schnorr signature verification to isValid (#607)
  • Fix PIN encryption security issues (#606)

Full Changelog: v0.4.0...v0.5.0

v0.4.0

16 Dec 11:28
@v0l v0l
cd74082

Choose a tag to compare

Highlights

  • Discover Page: New discover page with DVM-powered trending posts and content suggestions
  • Media Posts: Support for kind 20, 21, 22 media notes with dedicated media tab
  • Follow Sets: Browse and filter follow sets from other users
  • Blossom Storage: Replaced NIP-96 with Blossom
  • Bun Migration: Moved entire build system from Yarn/Node to Bun
  • Nests Integration: Audio rooms with chat and speak functionality

Added

  • Discover page with selectable content discovery DVMs
  • Media tab on root page for browsing media content
  • Support for kind 20, 21, 22 (media notes) and kind 1111 replies
  • Follow sets page with filtering options
  • Nests audio rooms integration (linked from live streams)
  • Blossom blob support with fallback image loading
  • Client tags for identifying applications
  • NIP-119 compatibility
  • Auto-translate enabled by default
  • Show NIP-05 handles and USD price in wallet
  • VertexLabs suggested follows
  • Table rendering in markdown

Changed

  • Replaced NIP-96 uploads with Blossom
  • Upgraded to React 19 use hook (replacing useContext)
  • Upgraded to Vite 7 with ESM imports
  • Improved messages with WoT filter and read status
  • Refactored cache systems, query system, and profile loader
  • Moved imgproxy logic to @snort/shared
  • Removed: LNC and Cashu wallet integrations
  • Removed: NIP-28 public chat support

Fixed

  • Query system race conditions and DVM request handling
  • Profile sync and loading issues
  • Note creator auto-complete and tagging
  • Link previews and quote reposts
  • Negentropy sync missing events
  • Support for ws:// relays (#600)
  • Search box and various build issues

PR's

  • [worker-relay] Add AND filter compatability by @dskvr in #591
  • [worker-relay] Add PRE and fix RE support. by @dskvr in #595
  • Bun migrate by @v0l in #604

Full Changelog: v0.3.0...v0.4.0

v0.3.0

06 Dec 14:16
0901e54

Choose a tag to compare

fix: small performance tweaks

v0.2.1

01 Jul 14:02
8e84dc6

Choose a tag to compare

fix: apk signer

v0.1.24

14 Dec 14:32
b64126e

Choose a tag to compare

v0.1.24

+11,573,-3,010

## Added

  • 3 Column layout
  • Fuzzy cache search
  • Followed by on profile pages
  • Show more on long notes
  • Better error message page
  • Media grid feed
  • Mobile fixed footer
  • Follow button on profile search results
  • Invite codes (WIP Community Program)
  • imeta tag insertion for images
  • Wallet settings page improvements
  • Nostr Wallet Connect upgrade (balance + history)
  • Schnorr sig check in WASM binary
  • Autoplay videos in feed (muted)
  • Followed by friends feed (a feed of your 2nd degree follows posts)
  • imgproxy image integrity check (sha256 from imeta passed to imgproxy)

Changed

  • Removed Twitter embed
  • Removed attachment button on DM's
  • Note broadcaster dialog changed to toast notification
  • Removed npub link from profile (use QR button)
  • Render image size from imeta tags
  • Style fixes
  • Zap pool slider tweak
  • New Malay translations
  • Updated Persian translations
  • Updated Finnish translations
  • Updated French translations
  • Updated German translations
  • Updated Hungarian translations
  • Updated Swedish translations
  • Updated Japanese translations

Fixed

  • Longform note overlfow-x
  • Trim zap content

v0.1.23

23 Nov 14:45
3650315

Choose a tag to compare

v0.1.23

Added

  • DeepL translate api (Automatic for PRO subscribers)
  • Add nostr:nprofile1qqsydl97xpj74udw0qg5vkfyujyjxd3l706jd0t0w0turp93d0vvungfgfewr to contributors
  • Proxy LN address type enabled on Nostr Address settings pages
  • Infinite scrol on notifications page
  • Default 0.5% ZapPool rate for Snort donation address
  • Collect relay metrics in @snort/system for better relay selection algo in Outbox Model (NIP-65)
  • New sign up / login flow!
    • Topics / Mute words on sign up for easier onboarding
  • Drag & Drop for uploads on note creator - nostr:nprofile1qqs8tchhwf5smv3r2g0vkswz58c837uu456x59m3dh380gtrhqzydeqz4wlka
  • Mixin topics (hashtags) into timeline feed
  • Language specific trending posts
  • Show following info for hashtags
  • Sync preferences to network (NIP-78 support)
  • Trending hashtags page
  • Note creator hashtag input
  • Top trending hashtags on note creator
  • Social Graph - nostr:nprofile1qqsy2ga7trfetvd3j65m3jptqw9k39wtq2mg85xz2w542p5dhg06e5qpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9uh8am0r
  • New users relay list based off "close" relays
  • NIP-96 support for nostr native image/file uploaders
  • Write replies/reactions to p tagged users read relays (Outbox model)
  • Sync joined public chats (NIP-28) using PublicChatList kind 10_005

Changed

  • Read/Write relays only on kind 10_002 (NIP-65)
  • Removed nostr.watch code for adding new users to random relays
  • Render kind 10_002 on profile relays tab
  • @snort/system using eventemitter3 for triggering events
  • Use latest NIP-51 spec (Bookmarks/Interests/NIP-28 PublicChatList)
  • nreq support (Demo)
  • Write profile/relays to blasters
  • @snort/system automated outbox model (automatic fetching of relay metadata)

Fixes

  • Upgrade ephermal connection to non-ephemeral
  • Remove relay tag from zaps (Some zap services dont support it)
  • Fix zap parsing for goals
  • Remove extra chars from quoted events to fix loading ('s etc)
  • CSS Fixes for profile card on light theme
  • Zap counting on replacable events
  • NIP-28 chats loading
  • Overflowing modal UI
  • Live stream widget layout with long titles
  • Notifications marker has returned from its long slumber

v0.1.22

21 Oct 21:41
c2991b8

Choose a tag to compare

fix: note creator mobile

v0.1.21

18 Oct 15:19
ccd98be

Choose a tag to compare

fix: center images