Releases: KrunchMuffin/JSONinja
Releases · KrunchMuffin/JSONinja
Release list
JSONinja v1.3.2
Added
- 🔍 Enter Key Navigation for Search - Press Enter to go to next search result, Shift+Enter for previous
- 📋 Dynamic Version Display - About dialog and settings now show version from package.json instead of hardcoded value
Fixed
- 🔄 Search Navigation - Fixed issue where clicking next/previous buttons would scroll to top instead of navigating to search results
- 🔍 Search Highlighting for Partial Matches - Fixed highlighting not working for partial matches within values (e.g., searching "sarah" in "383555SMITH,SARAH")
- 📜 Virtual Scrolling Search Navigation - Fixed "line element not found" error when searching in very large JSON files (>50,000 lines)
- 👁️ Show Whitespace Toggle - Fixed whitespace visualization not appearing when toggled (now properly triggers re-render)
Improved
- 🎨 Modern Select Box Styling - Updated select dropdowns in settings with custom styling, proper dark mode support, and smooth transitions
- 🌙 Select Dropdown Dark Mode - Fixed dropdown options showing with poor contrast (white background with light gray text) in dark mode
v1.3.1
Skipped due to build errors. See CHANGELOG for updates.
JSONinja v1.3.0
Added
- 🌍 Character Encoding Detection - Automatic detection and handling of files with special characters
- Auto-detects Latin-1 (ISO-8859-1) encoded files
- Shows encoding notification with options to switch between UTF-8, Latin-1, and Windows-1252
- Encoding warnings for files with unreadable characters
- Seamless file reloading with different encodings
- 🖱️ OS Context Menu Integration - "Open with JSONinja" right-click support
- Installer version automatically registers file associations
- Portable version includes menu options for manual registration/unregistration
- Single instance enforcement - opening files launches existing window
- Command-line file argument support for external file managers
- 🔢 Enhanced Line Number Display - Improved handling for files with 3-4+ digit line numbers
- Increased gutter width to accommodate large line numbers
- Fixed vertical alignment issues between line numbers and content
- Better fold button integration in the gutter
- 🌈 Improved Rainbow Brackets - Better color alternation for array elements
- Each object within an array now gets different bracket colors
- Proper color matching for opening and closing brackets
- Array element index tracking for consistent coloring
- 🚀 Large File Performance - Three-tier optimization system for files of any size
- Normal rendering for files under 5,000 lines
- Progressive rendering with idle callbacks for 5,000-50,000 lines
- Virtual scrolling for 50,000+ lines (only renders visible content)
- File size warnings for files over 10MB
- Can easily handle over 1 million lines.
Changed
- 🏗️ Complete Rendering Engine Rewrite - Rebuilt the entire JSON rendering system from scratch
- The new engine provides better performance and more reliable line number handling
- Note: Array index display and string length badges from 1.2.0 were removed (to be reimplemented)
Fixed
- 📝 Word Wrap CSS - Fixed word wrap not working due to CSS specificity issues
- 🔄 Encoding Metadata Preservation - Fixed file metadata being lost during tab updates
- 📁 Sidebar File Loading - "Load JSON" button now uses same encoding detection as File menu
- 🎨 Theme Consistency - Fixed encoding warning/success message colors for all themes
- 🖼️ Icon References - Fixed missing icon file references in build configuration
Improved
- 🎯 Consistent File Opening - Both File menu and sidebar button use identical file handling
- 📊 Better Error Handling - Clear error messages for encoding issues
- 🔧 Registry Integration - More robust Windows registry entries for file associations
- 🎨 UI Polish - Better spacing and layout for encoding notifications
Technical Improvements
- 🔐 Single Instance Lock - Prevents multiple app instances and handles file arguments
- 📝 Encoding Library - Integrated iconv-lite for comprehensive encoding support
- 🏗️ Build Configuration - Added file associations to electron-builder config
- 🧹 Code Cleanup - Removed all debug console.log statements for production
v1.2.0
Added
- 🔢 Array Index Display - Shows
[0],[1],[2]indices for all array items with optional toggle (default: on) - 📏 String Length Badges - Character count display for long strings with configurable threshold (default: >20 chars)
- 🖥️ Full-Screen Mode - Toggle with
F11key or sidebar button to hide UI chrome for maximum JSON viewing space - 📁 Recent Files Menu - Quick access to last 10 opened files with persistent storage across sessions
- ⌨️ Enhanced Keyboard Support - Added
F11full-screen toggle to existing keyboard shortcuts - ⚙️ Configurable Settings - Selectable character count threshold for string length badges
- 🔄 State-Preserving Toggles - Tree expansion state maintained when toggling display options
Fixed
- 🔢 Line Numbers Display - Fixed line numbers showing in pairs (1 2, 3 4) by adding proper CSS whitespace handling
- 🖱️ Click-to-Expand - Fixed individual JSON node expand/collapse functionality that wasn't working due to CSS selector mismatch
- 📝 JSON Property Formatting - Each key-value pair now displays on separate lines instead of being cramped on single lines
- 🔗 Nested Object Commas - Fixed malformed HTML where commas appeared outside nested object structures
- 🎛️ Font Size UI Stability - Sidebar and settings panels now maintain fixed font sizes, preventing layout overflow when JSON font size increases
- 🏗️ Build Configuration - Added missing icon specification in package.json for proper app icons in built executables
⚠️ Code Modernization - Replaced deprecatedsubstr()withslice()method- 🌈 Rainbow Brackets Sync - Fixed synchronization between sidebar and settings panel rainbow bracket toggles
- 🌳 Tree State Preservation - Tree no longer collapses when toggling rainbow brackets or other display settings
Improved
- 🎨 Visual Navigation - Array indices and string lengths make large JSON structures easier to browse
- 🚀 Workflow Efficiency - Recent files menu speeds up access to frequently used JSON files
- 📺 Viewing Experience - Full-screen mode provides distraction-free environment for large data sets
- 🎛️ UI Organization - Cleaner sidebar layout with logical grouping of controls
- 🔧 Settings Management - Better synchronization between quick controls and detailed settings
Technical Improvements
- 🎨 CSS Architecture - Improved separation between UI font sizes and JSON content font sizes
- 🔧 HTML Structure - Better handling of nested JSON elements with proper div wrapping for consistent line breaks
- 📐 Layout Stability - Added flex constraints to prevent UI elements from growing with content font size changes
- 🆔 Deterministic Node IDs - Tree nodes now use path-based IDs for reliable state preservation
- 🔄 Deep Settings Merge - Proper handling of nested settings when loading from storage
Linux releases are untested.
JSONinja v1.1.0 - Rainbow Brackets
🌈 Rainbow Brackets - Visual nesting enhancement
🎨 Theme-aware rainbow colors
🔧 JSON formatting improvements
Initial Release
JSONinja v1.0.0 - Initial Release
We're excited to introduce JSONinja - a powerful, customizable JSON viewer built with Electron!
🎉 What's Included
Core Features
- Multi-tab Interface - Work with multiple JSON files simultaneously
- File Operations - Load JSON files or paste content directly
- Real-time Validation - Instant JSON syntax validation and error reporting
- Format & Minify - Pretty-print or minify JSON with one click
- Tree View - Collapsible JSON structure with expand/collapse all
Advanced Search
- Multi-mode Search - Search keys, values, or both
- Real-time Highlighting - Instant visual feedback with match navigation
- Keyboard Navigation - Previous/next result controls
Customization
- 4 Built-in Themes - Dark, Light, GitHub, and Monokai
- Font Options - 5 coding fonts with adjustable sizes
- Color Coding - Customize colors for all JSON data types
- Behavior Settings - Auto-expand, data type badges, line numbers, word wrap
Keyboard Shortcuts
Ctrl/Cmd + T- New tabCtrl/Cmd + O- Open fileCtrl/Cmd + F- SearchCtrl/Cmd + E- Expand allCtrl/Cmd + ,- Settings
📦 Downloads
Choose the appropriate download for your platform:
- Windows:
JSONinja-Setup-1.0.0.exe(Installer) orJSONinja-1.0.0.exe(Portable) - Linux:
JSONinja-1.0.0.AppImage(Universal)
🚀 Getting Started
- Download and install JSONinja for your platform
- Launch the application
- Load a JSON file or paste JSON content to begin
- Explore the settings to customize your experience
📋 Requirements
- Windows: Windows 10 or later
- Linux: Most modern distributions
🐛 Known Issues
- Large JSON files (>10MB) may experience slower performance
- Search in very large files may take a few seconds
🙏 Feedback
Found a bug or have a feature request? Please open an issue on GitHub.
Full Changelog: Initial release