# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.2.6] - 2025-10-08 ### Added - Home button to bookmark bar - Configurable zap split for highlights on nostr-native content ## [0.2.5] - 2025-10-07 ### Fixed - Wire preview ref to markdown conversion hook - Add missing useEffect dependencies for article loading ### Changed - DRY up highlight classification and URL normalization - Split highlighting utilities into modules - Extract highlights panel components - Extract content rendering hooks - Split Settings into section components - Extract event processing utilities - Split Bookmarks.tsx into smaller hooks and components ## [0.2.4] - 2025-10-07 ### Added - Domain configuration for https://xn--bris-v0b.com/ - Public assets and deployment configuration - Hide bookmarks without content or URL ### Fixed - Encode/decode URLs in /r/ route to preserve special characters ### Changed - Cleanup after build fixes (remove shims, update locks) - Stop tracking node_modules/dist - Update dependencies and dedupe - Add .gitignore for node_modules and dist ## [0.2.3] - 2025-10-07 ### Added - Parse and display summary tag for nostr articles - Merge and flatten bookmarks from multiple lists - Update URL path when opening bookmarks from sidebar ### Fixed - Ensure bookmarks are sorted newest first after merging lists - Hide empty bookmarks without content - Remove encrypted cyphertext display from bookmark list ### Changed - Remove created date from bookmark list display ## [0.2.2] - 2025-10-06 ### Added - Support for web bookmarks (NIP-B0, kind:39701) - Default highlight visibility settings - Proxy.nostr-relay.app relay to configuration - Comprehensive logging to settings service ### Fixed - Handle web bookmarks with URLs in d tag and prevent crash - Load settings from local cache first to eliminate FOUT - Ensure fonts are fully loaded before applying styles - Improve highlight rendering pipeline with comprehensive debugging ### Changed - Use icon toggle buttons for highlight visibility settings - Change nostrverse icon from fa-globe to fa-network-wired ## [0.2.1] - 2025-10-05 ### Added - Local relay support and centralize relay configuration - Optimistic updates for highlight creation - Enable highlight creation from external URLs - Add routing support for external URLs - Add context to highlights (previous and next sentences) - Boris branding to highlight alt tag ### Fixed - Properly await account loading from localStorage on refresh - Add protected routes to prevent logout on page refresh - Use undo icon for reset to defaults button - Update local relay port to 10547 ### Changed - Remove dedicated login page, handle login through main UI - Simplify to single RELAYS constant (DRY) ## [0.2.0] - 2025-10-05 ### Added - Simple highlight creation feature (FAB style) - Reset to defaults button in settings - Load and apply settings upon login ### Fixed - Replace any types with proper NostrEvent types - Move FAB to Bookmarks component for proper floating - Highlight button positioning with scroll ### Changed - Update color palette to include default friends/nostrverse colors - Show author name in highlight cards - Sync highlight level toggles between sidebar and main article text - Rename 'underlines' to 'highlights' throughout codebase ## [0.1.11] - 2025-10-05 ### Added - Stream highlights progressively as they arrive from relays ### Fixed - Display article immediately without waiting for highlights to load - Show highlights immediately when opening panel if already loaded - Prevent bookmark text from being cut off in compact view - Correct default highlight color for 'mine' to yellow (#ffff00) ### Changed - Reduce padding between bookmark items and panel edge - Update default highlight colors to orange for friends and purple for nostrverse ## [0.1.10] - 2025-10-05 ### Added - Three-level highlight system (mine/friends/nostrverse) ### Fixed - Ensure highlights always render on markdown content - Classify highlights before passing to ContentPanel - Position toggle buttons directly adjacent to main panel - Remove redundant setReaderLoading call in error handler ### Changed - Always show friends and user highlight buttons - Remove Highlights title and count from panel ## [0.1.9] - 2025-10-05 ### Fixed - Show markdown content immediately when finalHtml is empty - Prevent highlight bleeding into sidebar ## [0.1.8] - 2025-10-05 ### Fixed - Prevent 'No readable content' flash for markdown articles - Enable highlights display and scroll-to for markdown content ### Added - Persist accounts to localStorage ### Changed - Simplify login by handling it directly in sidebar ## [0.1.7] - 2025-10-05 ### Added - Show highlights in article content and add mode toggle ### Fixed - Show highlights for nostr articles by skipping URL filter - Refresh button now works without login for article highlights - Query highlights using both a-tag and e-tag ### Changed - Keep Bookmarks.tsx under 210 lines by extracting logic ## [0.1.6] - 2025-10-03 ### Added - Native support for rendering Nostr long-form articles (NIP-23) - Display article titles for kind:30023 bookmarks - Enable clicking on kind:30023 articles to open in reader - Display article hero images in bookmark views and reader - Configurable highlight colors - Highlight style setting (marker & underline) ### Fixed - Use bookmark pubkey for article author instead of tag lookup - Ensure highlight color CSS variable inherits from parent ### Changed - Integrate long-form article rendering into existing reader view - Extract components to keep files under 210 lines - Make font size and color buttons match icon button size (33px) ## [0.1.5] - 2025-10-03 ### Added - Settings panel with NIP-78 storage - Auto-save for settings with toast notifications - Reading time estimate to articles - Font size setting - Configurable reading font using Bunny Fonts - Live preview of reading font in settings - Settings subscription to watch for Nostr updates ### Fixed - Prevent settings from saving unnecessarily - Prevent save settings button from being cut off - Replace custom reading time with reading-time-estimator package - Update originalHtmlRef when content changes ### Changed - Reduce file sizes to meet 210 line limit - Extract settings logic into custom hook - Consolidate settings initialization on login - Remove debounce from settings auto-save ## [0.1.4] - 2025-10-03 ### Added - Inline highlight annotations in content panel - NIP-84 highlights panel with three-pane layout - Toggle button to show/hide highlight underlines - Click-to-scroll for highlights - Pulsing animation when scrolling to highlight ### Fixed - Apply highlights to markdown content as well as HTML - Use requestAnimationFrame for highlight DOM manipulation - Improve HTML highlight matching with DOM manipulation - Filter highlights panel to show only current article ### Changed - Use applesauce helpers for highlight parsing - DRY up highlightMatching to stay under 210 lines - Change highlights to fluorescent marker style - Deduplicate highlight events by ID ## [0.1.3] - 2025-10-03 ### Added - View mode switching for bookmarks with compact list view - Large preview view mode - Image preview for large view cards - Hero images using free CORS proxy ### Changed - Make entire compact list row clickable to open reader - Make card view timestamp clickable to open event - Enhance card view design with modern styling ## [0.1.2] - 2025-10-03 ### Added - Open bookmark URLs in reader instead of new window - localStorage caching for fetched articles - Collapsible bookmarks sidebar ### Fixed - Make sidebar and reader scroll independently - Replace relative-time with date-fns for timestamp formatting ### Changed - Display timestamps as relative time - Replace user text with profile image in sidebar header - Move user info and logout to sidebar header bar - Reduce IconButton size by 25% ## [0.1.1] - 2025-10-03 ### Added - Classify URLs by type and adjust action buttons - Collapse/expand functionality for bookmarks sidebar - IconButton component with square styling - Resolve nprofile/npub mentions to names in content ### Fixed - Enforce 210-char truncation for both plain and parsed content - Use Rules of Hooks correctly ### Changed - Use IconButton for all icon-only actions to enforce square sizing - Sort bookmarks by added_at (recently added first) - Make kind icon square to match IconButton sizing - Remove colored borders and gradients; keep neutral cards ## [0.1.0] - 2025-10-03 ### Added - Two-pane layout and content fetching pipeline - ContentPanel component to render readable HTML - Lightweight readability fetcher via r.jina.ai proxy - Markdown rendering support with react-markdown and remark-gfm - READ NOW button to bookmark cards - Spinner to content loading state - FontAwesome icons for event kinds ### Fixed - Show bookmarked event author instead of list signer - Enable reactive profile fetch via address loader - Left-align content and constrain images in content panel ### Changed - Resolve author names using applesauce ProfileModel - Propagate URL selection through BookmarkList to parent - Display URLs clearly in individual bookmarks ## [0.0.3] - 2025-10-02 ### Added - Manual decryption for unrecognized event kinds - Try NIP-44 then NIP-04 for manual decryption - Detailed debugging for decryption process - Support for hidden bookmarks decryption ### Fixed - Surface manually decrypted hidden tags in UI - Dedupe individual bookmarks by id ### Changed - Sort individual bookmarks by timestamp (newest first) - Increase bookmark loading timeout by 2x - Extract helpers and event processing ## [0.0.2] - 2025-10-02 ### Added - Fetch all NIP-51 events - Unlock private bookmarks via applesauce helpers - Copy-to-clipboard icons for event id and author pubkey - FontAwesome globe/lock icons - Display content identically for private/public bookmarks ### Fixed - Properly configure browser extension signer - Aggregate list(10003) + set(30001) - Handle applesauce bookmark structure correctly - Resolve loading state stuck issue ### Changed - Change bookmarks display from grid to social feed list layout - Simplify bookmark service using applesauce helpers - Extract components and utilities to keep files under 210 lines ## [0.0.1] - 2025-10-02 ### Added - Initial release - Browser extension login support - NIP-51 bookmark fetching from nostr relays - User profile display - Relay pool configuration - Basic UI with profile resolution ### Changed - Migrate to applesauce-accounts for proper account management - Use proper applesauce-loaders for NIP-51 bookmark fetching - Optimize relay usage following applesauce-relay best practices - Use applesauce-react event models for better profile handling [0.2.6]: https://github.com/dergigi/boris/compare/v0.2.5...v0.2.6 [0.2.5]: https://github.com/dergigi/boris/compare/v0.2.4...v0.2.5 [0.2.4]: https://github.com/dergigi/boris/compare/v0.2.3...v0.2.4 [0.2.3]: https://github.com/dergigi/boris/compare/v0.2.2...v0.2.3 [0.2.2]: https://github.com/dergigi/boris/compare/v0.2.1...v0.2.2 [0.2.1]: https://github.com/dergigi/boris/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/dergigi/boris/compare/v0.1.11...v0.2.0 [0.1.11]: https://github.com/dergigi/boris/compare/v0.1.10...v0.1.11 [0.1.10]: https://github.com/dergigi/boris/compare/v0.1.9...v0.1.10 [0.1.9]: https://github.com/dergigi/boris/compare/v0.1.8...v0.1.9 [0.1.8]: https://github.com/dergigi/boris/compare/v0.1.7...v0.1.8 [0.1.7]: https://github.com/dergigi/boris/compare/v0.1.6...v0.1.7 [0.1.6]: https://github.com/dergigi/boris/compare/v0.1.5...v0.1.6 [0.1.5]: https://github.com/dergigi/boris/compare/v0.1.4...v0.1.5 [0.1.4]: https://github.com/dergigi/boris/compare/v0.1.3...v0.1.4 [0.1.3]: https://github.com/dergigi/boris/compare/v0.1.2...v0.1.3 [0.1.2]: https://github.com/dergigi/boris/compare/v0.1.1...v0.1.2 [0.1.1]: https://github.com/dergigi/boris/compare/v0.1.0...v0.1.1 [0.1.0]: https://github.com/dergigi/boris/compare/v0.0.3...v0.1.0 [0.0.3]: https://github.com/dergigi/boris/compare/v0.0.2...v0.0.3 [0.0.2]: https://github.com/dergigi/boris/compare/v0.0.1...v0.0.2 [0.0.1]: https://github.com/dergigi/boris/releases/tag/v0.0.1