Releases: v0l/snort
Releases · v0l/snort
v0.5.3
v0.5.1
Release v0.5.1
v0.5.0
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
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
usehook (replacinguseContext) - 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
fix: small performance tweaks
v0.2.1
fix: apk signer
v0.1.24
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)
imetatag 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
imetapassed 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
imetatags - 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
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/systemfor 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-78support) - 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-96support for nostr native image/file uploaders- Write replies/reactions to
ptagged users read relays (Outbox model) - Sync joined public chats (
NIP-28) usingPublicChatListkind10_005
Changed
- Read/Write relays only on kind
10_002(NIP-65) - Removed
nostr.watchcode for adding new users to random relays - Render kind
10_002on profile relays tab @snort/systemusing eventemitter3 for triggering events- Use latest
NIP-51spec (Bookmarks/Interests/NIP-28PublicChatList) nreqsupport (Demo)- Write profile/relays to blasters
@snort/systemautomated 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 (
'setc) - CSS Fixes for profile card on light theme
- Zap counting on replacable events
NIP-28chats loading- Overflowing modal UI
- Live stream widget layout with long titles
- Notifications marker has returned from its long slumber
v0.1.22
fix: note creator mobile
v0.1.21
fix: center images