Skip to content

Releases: KrunchMuffin/JSONinja

JSONinja v1.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Aug 05:27

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

Choose a tag to compare

@KrunchMuffin KrunchMuffin released this 03 Aug 05:29

Skipped due to build errors. See CHANGELOG for updates.

JSONinja v1.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 05:14

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

Choose a tag to compare

@KrunchMuffin KrunchMuffin released this 23 Jul 11:49

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 F11 key 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 F11 full-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 deprecated substr() with slice() 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

Choose a tag to compare

@KrunchMuffin KrunchMuffin released this 23 Jul 01:35

🌈 Rainbow Brackets - Visual nesting enhancement
🎨 Theme-aware rainbow colors
🔧 JSON formatting improvements

Initial Release

Choose a tag to compare

@KrunchMuffin KrunchMuffin released this 22 Jul 22:33

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 tab
  • Ctrl/Cmd + O - Open file
  • Ctrl/Cmd + F - Search
  • Ctrl/Cmd + E - Expand all
  • Ctrl/Cmd + , - Settings

📦 Downloads

Choose the appropriate download for your platform:

  • Windows: JSONinja-Setup-1.0.0.exe (Installer) or JSONinja-1.0.0.exe (Portable)
  • Linux: JSONinja-1.0.0.AppImage (Universal)

🚀 Getting Started

  1. Download and install JSONinja for your platform
  2. Launch the application
  3. Load a JSON file or paste JSON content to begin
  4. 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