Changelog

Stay updated with the latest features, improvements, and bug fixes in JSON Swiss. Here's what we've been working on to make your JSON experience better.

v2.8.8

Improvement

Guided how-to content across converters, formatter, and validator

2025-12-04
Development Team

Added in-depth tutorials, quick tips, and worked examples across the most-used tools so new users can follow consistent workflows without leaving the page.

Changes:

  • YAML→JSON, XML→JSON, Excel→JSON, and Python dict converters now include step-by-step guides, quick-tip callouts, and before/after samples to showcase typical transformations.
  • Schema Generator and Validator pages gained detailed walkthroughs, troubleshooting tips, and related-tool grids to help users validate and document JSON with confidence.
  • JSON Formatter features a refreshed guide explaining formatting/minify options alongside beginner tips and annotated examples to reduce trial-and-error.
  • Each enhanced guide links to complementary tools (Formatter, Validator, Schema Generator, language generators) so users can chain conversions, validation, and schema creation in one flow.
Commit: b53fe5c

v2.8.7

Improvement

Table ↔ tree focus syncing and column visibility controls

2025-11-25
Development Team

Gives you fine-grained control over which columns stay visible.

Changes:

  • Per-column menu gained a Hide column action; hidden columns stay in order and can be restored at any time.
  • Added a table-level “Manage Columns” dialog with checkboxes, a quick show-all button, and a live counter of hidden fields for faster layout tweaks.
Commit: local

v2.8.6

Improvement

Dark mode polish, theme menu, clearer tables

2025-11-17
Development Team

Today’s update improves dark mode, adds a theme menu, refreshes editor styling, and makes tables easier to read.

Changes:

  • Dark mode renders smoothly across the site with no first‑paint flash.
  • New theme switcher (Light / Dark / System) in the header.
  • Editors use a neutral dark theme and follow your theme selection.
  • Tables in dark mode have clearer row separators and subtle zebra stripes.
  • Minor polish and reliability improvements.
Commit: local

v2.8.5

Improvement

Repair workflow polish and JSON rescue CTAs

2025-11-11
Development Team

Tightened the broken-JSON experience across tools: converters and generators now flag invalid JSON with a consistent repair CTA, while the Repair page gains live progress feedback, an apply-to-input shortcut, and streamlined controls.

Changes:

  • ConverterLayout: automatically detects invalid JSON input and shows a blue “Try Repair JSON” button linking to Repair (when no other error banner is present)
  • CodeGeneratorLayoutServer: generator pages now share the same invalid JSON banner and Repair CTA for quick recovery
  • Excluded Repair page from the automatic banner to avoid duplicate messaging and kept button styling consistent across dark/light themes
  • Repair page: AI repair now emits staged progress updates (library/basic/AI) with a live progress bar and status text
  • Repair page: added an Apply to Input action to copy the repaired JSON back to the editor in one click
  • Repair page: refined progress layout (vertical bar + caption), compacted buttons, and removed redundant inline progress indicators
Commit: local

v2.8.4

Improvement

Navigation mega‑menu, quick search, and frequent tools

2025-11-09
Development Team

A UX polish pass focused on discoverability and speed: a centered All Tools mega‑menu, keyboard‑driven search in the header, and a frequent tools list that adapts to how you use the site. Also refined small‑screen behavior and fixed an edge case where clicking a search result didn’t navigate.

Changes:

  • Added ALL JSON TOOLS mega‑menu with responsive 2→3→5 columns and centered alignment
  • Generator consolidated into a single group; items display descriptions as labels for clearer language targets
  • Menu item descriptions hidden by default for a tighter, scannable layout
  • Improved placement to prevent viewport overflow; fine‑tuned horizontal offset
  • Promoted CONVERT JSON to the top bar (lg+); labels standardized in UPPERCASE
  • On md widths, keep the bar compact: only FORMAT JSON shows inline; others move to All Tools
  • Shrunk header search width on md and deferred the Frequent menu to lg to save space
  • Header search supports Cmd/Ctrl+K to focus, Arrow ↑/↓ to move, Enter to open, Esc to close
  • Fixed: search results now navigate reliably on click (handled on mousedown to beat input blur)
  • Added ‘Frequent’ tools powered by localStorage; shows most recently used tools (with safe fallbacks)
  • Exposed in header (lg) and as a section at the top of the mobile drawer
Commit: local

v2.8.3

Feature

Sidebar key sorting and long‑value truncation

2025-11-07
Development Team

Navigation sidebar now supports flexible object key sorting and renders long primitive values with ellipsis to keep the tree tidy and scroll‑free.

Changes:

  • Object nodes: new Sort Keys actions — A→Z, Z→A, and recursive A→Z/Z→A
  • Added 'Ignore Case' toggle (uses natural/numeric ordering) that applies to all sort variants
  • Sorting updates the underlying JSON and integrates with history; works at root and deep paths
  • Navigation: long primitive values now truncate with an ellipsis and show the full value on hover
  • Removed horizontal scroll in the sidebar tree (overflow‑x hidden; tree respects container width)
Commit: local

v2.8.2

Improvement

Mobile UX and Navigation Overhaul

2025-11-05
Development Team

A focused pass on small‑screen usability: cleaner header, reliable dropdowns, true modal centering, and a friendlier Compare experience with view‑mode controls.

Changes:

  • Header: show hamburger only on phones (< md); keep full nav on md with a compact 'More' menu for overflow
  • Header: moved Converter into More on md; only show Generator/Schema dropdowns on lg+
  • Header: choose which Editor links are visible on md (Format, Validate); others (e.g., Compare, Repair) go to More
  • More menu: right‑aligned (opens left), scrollable with max‑height and max‑width to avoid viewport overflow
  • Dropdowns: trigger is a real button and supports focus‑within, so touch devices can tap to open (not hover‑only)
  • Header title: prevent mid‑width wrap/overlap; fix logo container class
  • Global: disable page‑level horizontal scrolling on narrow screens to remove accidental right‑side whitespace
  • ToolPageLayoutServer: hide page title visually on mobile (kept for SEO) and tighten paddings
  • Compare: added view‑mode toggle (Side, Inline, Stacked); phones default to Stacked (two editors vertically)
  • Compare: control/status bars wrap on small screens; buttons remain reachable
  • Dialog: re‑implemented centering with flex + 100svh, and capped inner panel height with internal scroll so CTAs are always reachable
  • Import dialog: responsive width (min(92vw, 42rem)) and height (max‑h uses dynamic viewport units)
Commit: local

v2.8.1

Improvement

Large JSON resilience, table virtualization, and build fixes

2025-11-01
Development Team

Improved usability and stability with large data: row virtualization in the Table Editor, guarded persistence to avoid localStorage quota errors, and a softened JSON validator that warns instead of blocking on extreme node counts. Also fixed a hooks lint issue to restore clean builds.

Changes:

  • Row virtualization for big arrays (>1,000 rows) using @tanstack/react-virtual; smooth scrolling with top/bottom spacers
  • Kept column drag‑reorder and restored full column menu (Copy as JSON/CSV/Text, Insert Before/After, Delete) in virtualized mode
  • Added simple performance marks (process + rows render) logged in dev
  • Guarded Zustand persistence with createJSONStorage: skip persisting oversized state (~>3.5MB) and show a one‑time warning instead of throwing QuotaExceededError
  • Raw editor cache now avoids saving blobs > ~2MB to localStorage (kept in memory)
  • JSON validator: 'Maximum node count' now emits a warning and truncates traversal instead of blocking import
  • FeatureCards: moved keyboard shortcut effect out of an inline IIFE to satisfy Rules of Hooks
  • Resolved a TypeScript narrowing complaint in the table header menu and addressed minor hook dependency warnings
Commit: local

v2.8.0

Feature

Compare speed + CLS, local brand logos, richer table actions, and import UX

2025-10-31
Development Team

A broad quality pass focused on perceived speed, stability, and polish: reduced CLS and editor jank on Compare, moved GA/Clarity to lazy load, preloaded Monaco, added one‑click copy/clone actions to tables with unique key generation, introduced colorful per‑language icons with local SVG logos, and streamlined the import dialog.

Changes:

  • Compare: major CLS reductions — fixed line number width (minChars=4), constant scrollbars, hidden until fonts are ready, and disabled overview ruler indicators to avoid relayout spikes
  • Compare: preloaded Monaco core script to bring the editor online faster on this route only
  • /monaco/**: set long‑term immutable caching headers for faster repeat visits
  • Analytics: load GA + Clarity via next/script with lazyOnload to keep them off the critical path
  • ToolPageLayoutServer: self‑contained flex + height classes so pages don’t depend on body layout
  • globals.css: unified core area height variables (light/dark) to prevent height collapse
  • Import dialog: consolidated a sticky footer with a single Import button (with border), consistent across tabs (Paste/File/URL/Sample)
  • Editors: turned wordWrap off across pages (Json/Validator/Converters, etc.) to avoid reflow and enable horizontal scrolling for long values
  • Sidebar: added icon‑only Import and Clear actions next to Search in both navigation and editor modes
  • Sidebar: replace duplicate Expand/Collapse with a single toggle button
  • Sidebar: in navigation view, show a visual colon separator so long values don’t stick to keys
  • Table (arrays): added Copy row, Duplicate row (new Files icon), and Delete row actions
  • Table (single‑object): added Copy property + Clone property; clone now generates unique keys (key_copy, key_copy_2, …)
  • Table (primitive): added Copy value action next to Edit
  • Header dropdown: disabled Link prefetch for large menus to avoid eager _rsc fetches and lighten the network on first paint
  • Code Generator menus: colorful language‑aware icons; prefer local brand SVGs in /public/brands with graceful fallback to badges/icons
  • Added a helper script (scripts/fetch-logos.js) to fetch official devicon SVGs when network is available
  • Compare: avoided Monaco disposal race by disabling context menu in the diff editor (prevents 'AbstractContextKeyService has been disposed')
Commit: local

v2.7.0

Feature

CSV header de‑duplication, Compare JSON Patch export

2025-10-28
Development Team

Improved CSV→JSON reliability with duplicate‑header handling, added RFC 6902 JSON Patch export on Compare, introduced rich result summaries with top‑level impact and examples, and injected JSON‑LD (FAQ/HowTo/SoftwareApplication) for better SERP visibility.

Changes:

  • CSV→JSON: Detects duplicate headers and de‑duplicates automatically (e.g., name, name_2) to prevent value overwrite.
  • Converters: Added input toolbar slot and a 'Load demo data' button for the CSV→JSON page (uses sample dataset).
  • Compare: New 'Export JSON Patch' (RFC 6902) to transform A → B; arrays handled conservatively via replace for reliability.
  • Compare: Added JSON Patch FAQ entries (what it is, how generated, and how to apply).
Commit: local

v2.6.2

Feature

Reliable Monaco loading, Link-based navigation, and column copy options

2025-10-27
Development Team

Improved editor reliability by hosting Monaco locally with resilient worker loading, standardized all internal navigation using Next.js Link, and added powerful column copy actions (JSON array, CSV, newline text) to table views.

Changes:

  • Replaced all internal navigations (router.push/window.location) with Next.js Link
  • Preserved visual styles using Button asChild where buttons were used for navigation
  • EnhancedTableView: column menu now supports Copy as JSON array, Copy as CSV, and Copy as newline text (respects filters/sort)
  • TableEditor: column header menu includes the same copy actions for consistency
Commit: local

v2.6.1

Feature

Validator multi-error diagnostics, Quick Fixes, and Repair fallback

2025-10-26
Development Team

Major UX upgrade for the Validator: shows all syntax errors via Monaco diagnostics, supports clickable error navigation with temporary line highlight, and adds one‑click Quick Fixes for common issues. Repair now offers a smooth fallback to Validator when AI cannot fix, and broken JSON reliably carries across pages.

Changes:

  • Validator: replaced single-error parse with Monaco diagnostics to list ALL syntax errors/warnings
  • Validator: clicking an error/warning jumps to the exact location and briefly highlights the line
  • Validator: added Quick Fixes (lightbulb) — Insert comma, Remove trailing comma, Replace single quotes with double quotes, Remove comments
  • Enabled lightbulb and registered JSON CodeAction provider for contextual fixes
  • Validator: added Quick Repair CTA and ensured navigation passes the LIVE editor content (no stale value)
  • Repair: when AI repair fails, show CTA to open in Validator (top banner and output area) with JSON prefilled
  • Prevented cache overwrites on Repair initial render to preserve the broken JSON from Validator
  • Added temporary line highlight style for Monaco (.jsonswiss-line-flash) in globals.css
  • ConverterLayout: added errorActions slot for actionable buttons in the error banner
  • Validator import: supports raw invalid JSON strings to validate without parsing
Commit: local

v2.6.0

Feature

Global JSON cache + Clear actions, Table View fixes

2025-10-24
Development Team

Introduced a cross‑page JSON input cache with unified Clear actions, clarified and enforced AI Repair length limits, and fixed Table View action menus and buttons (drag no longer blocks clicks).

Changes:

  • Set default JSON and schema values, enhance layout management, and improve validation result handling
  • Set default JSON values and improve reset functionality in JsonComparePage
  • Added global JSON input caching: JSON inputs across Converter/Generator/Validator/Repair now prefill from the latest saved content.
  • Unified Clear action with Trash2 icon: clears input and removes both raw cache and persisted jsonData, ensuring no cross‑page re‑hydration.
  • ConverterLayout exposes controls to disable cache per page; JSON Mock Data Generator now disables cache prefill/write and hides Clear (schema input).
  • Generator pages: added Clear button to the JSON Input header and cache syncing.
  • Formatter: implemented working maximize/minimize for both panes.
  • Forced light theme (vs) for editors used in tools to avoid dark background mismatch issues.
  • Fixed Table View and SingleObject actions: drag no longer steals clicks; action menus and buttons are now clickable.
  • Row drag now enabled only for arrays; non‑array tables disable row drag; menu triggers stop event propagation to avoid dnd capture.
  • Resolved Invalid hook call in Validator/Schema Validator by ensuring useEffect runs inside components.
  • Generator outputs (e.g., Python/Groovy) now clear correctly when input is cleared (no fallback to previous input).
  • Compare page Clear now also clears the shared JSON cache; Sidebar editor Clear also removes cache.
Commit: local

v2.5.1

Improvement

DeepSeek daily limit and Repair FAQ clarification

2025-10-23
Development Team

Introduced a daily limit for AI Repair (DeepSeek) on the free plan and clarified in-product messaging about our managed DeepSeek integration (no user API keys required). Local repair remains unlimited.

Changes:

  • Free plan: limit DeepSeek-powered AI repairs to 10 per day (per browser)
  • Show clear message when the daily AI limit is reached
  • Repair page FAQ: clarified that we use our managed DeepSeek API for complex cases; users do not need to provide API keys
  • Local repair via JSONRepair and built-in fixes remains unlimited
Commit: local

v2.5.0

Feature

JSON→SQL multi-dialects, Formatter minify toggle, table performance

2025-10-22
Development Team

Adds dialect support for JSON→SQL (MySQL, PostgreSQL, Oracle, SQL Server, SQLite), a Minify/Pretty toggle in the Formatter output toolbar, and major JSON Table View performance improvements via row virtualization and reduced deep copies. Also lets settings panels fill the card height in Converter/Generator layouts.

Changes:

  • JSON→SQL: Added Database Dialect selector supporting MySQL, PostgreSQL, Oracle, SQL Server, and SQLite.
  • JSON→SQL: Dialect-specific type and boolean mapping (e.g., SQL Server = BIT 1/0, Oracle = NUMBER(1), PostgreSQL/MySQL = BOOLEAN, SQLite = INTEGER).
  • JSON→SQL: CREATE TABLE infers column types from sample values (e.g., long strings, JSON columns).
  • JSON Formatter: Added Minify/Pretty toggle in the output toolbar; remembers last indent; highlighted state and refreshed icon.
  • Compare: Implemented robust ignore options (whitespace, case, order) in the diff engine with stable array/object sorting.
  • Compare: Auto-enables normalized preview when any ignore option is selected; visual diff matches options and reverts to editable raw view when all are off.
  • Compare: Fixed caret jumping to the first line after edits by stabilizing editor model values.
  • Compare: Import dialog cleanup (removed Sample Data tab on Compare); improved modal height and scrolling.
  • Compare: Dropdown UX hardened — portaled menus avoid clipping, have hover/selected states, correct z-index, and open up/down based on space.
Commit: local

v2.4.0

Feature

Excel preview fixes, Repair import improvements, and UI polish

2025-10-16
Development Team

Overhauled JSON→Excel experience (accurate preview, header control, TSV copy), enabled invalid JSON import for Repair, and refined empty‑state visuals across converters.

Changes:

  • Fixed preview showing undefined cells by using explicit accessors for flattened keys
  • Added dual-line headers (Excel letter + field name) with truncation to prevent overlap
  • Include headers toggle now affects exported files (uses skipHeader) and live preview
  • Copy Excel Preview now copies a clean TSV table instead of raw JSON
  • Improved width calculations and scrolling; renders empty cells for null/undefined
  • Import dialog supports invalid JSON (Paste/File) for Repair workflows; Import button enabled on errors
  • Wired Repair page maximize controls so expand buttons actually toggle panes
  • Enlarged and centered empty-state icons across converter pages
  • Adjusted icon sizes in TOML/INI/Excel converter empty states for consistency
  • Prevented long column titles from overlapping in preview headers
Commit: local

v2.3.0

Feature

Date Type Support and UI Enhancements

2025-09-01
Development Team

Added comprehensive date type support with visual styling and improved table functionality with clipboard operations.

Changes:

  • Added color styling and label support for date data types in table headers
  • Implemented copy JSON data to clipboard functionality for table operations
  • Added empty state component and improved JSON editor import functionality
  • Enhanced changelog page with complete feature documentation
  • Fixed TypeScript type errors for complete DataType union coverage
Commit: 6ca13ab

v2.2.1

Feature

Table Copy Functionality

2025-08-28
Development Team

Enhanced table operations with clipboard integration for better data management.

Changes:

  • Added copy JSON data to clipboard functionality for table components
  • Improved user experience with instant data copying capabilities
  • Enhanced table interaction patterns for better productivity
Commit: a29f16b

v2.2.0

Feature

Enhanced Table Filtering System

2025-08-25
Development Team

Implemented comprehensive filtering system for table view with support for multiple data types including boolean, numeric, string, and date filters.

Changes:

  • Added enhanced table filtering functionality with comprehensive data type support
  • Fixed data handling logic for null and undefined values in table components
  • Resolved row number column display issues with primitive data types
  • Optimized layout by removing default titles and descriptions
  • Fixed JSON formatter editor content update issues
  • Unified dropdown menu item spacing and hover styles
  • Added icons to column operation menu items for better UX
  • Fixed table sorting button display issues for object array types
  • Added column operation support for inserting and deleting columns
  • Converted table component hint messages from Chinese to English
Commit: 1982727

v2.1.0

Feature

Advanced Table Operations

2025-08-19
Development Team

Enhanced table functionality with improved data handling and user interface optimizations.

Changes:

  • Fixed data handling logic for null and undefined values in table components
  • Resolved row number column display issues with primitive data types
  • Added drag and drop sorting functionality for columns and rows
  • Enhanced table editor with improved data update logic
  • Improved filter UI with better user experience and responsiveness
Commit: 6c07e51

v2.0.5

Improvement

UI Internationalization Updates

2025-08-18
Development Team

Updated all table filtering components interface text from Chinese to English for better international accessibility.

Changes:

  • Optimized layout by removing default titles and descriptions
  • Fixed JSON formatter editor content update issues
  • Unified dropdown menu item spacing and hover styles
  • Added icons to column operation menu items for better UX
  • Improved accessibility with consistent English terminology
Commit: 88c2a79

v2.0.4

Fix

Table Operations and Sorting Enhancements

2025-08-17
Development Team

Enhanced table functionality with improved sorting and column operations.

Changes:

  • Fixed table sorting button display issues for object array types
  • Added column operation support for inserting and deleting columns
  • Converted table component hint messages from Chinese to English
  • Added drag and drop sorting functionality for columns and rows
Commit: 9b08dd2

v2.0.3

Feature

Advanced Data Type Filtering

2025-08-16
Development Team

Introduced specialized filtering components for different data types with enhanced user experience.

Changes:

  • Added JSON table editor test cases and optimized data update logic
  • Fixed duplicate changelog redirect rules
  • Updated privacy page contact email and added URL redirect rules
  • Fixed table styles and z-index issues
  • Added SingleObjectTable component export
Commit: 90f6778

v2.0.2

Improvement

Performance Optimizations

2025-08-16
Development Team

Improved application performance and user experience across all tools.

Changes:

  • Removed ArrayTable component and cleaned up related exports
  • Added page SEO metadata and canonical links
  • Added border styles to table columns for enhanced visual separation
  • Optimized component structure and performance
  • Enhanced caching mechanisms for better responsiveness
Commit: 7b216d5

v2.0.1

Fix

Bug Fixes and Stability Improvements

2025-08-16
Development Team

Resolved various issues and improved overall application stability.

Changes:

  • Added page SEO metadata and canonical links
  • Added border styles to table columns for enhanced visual separation
  • Improved component organization and exports
  • Enhanced user interface consistency
  • Optimized application structure
Commit: 6082402

v2.0.0

Major

Major Release - Enhanced JSON Tools Suite

2025-08-16
Development Team

Complete redesign with new features, improved performance, and modern UI.

Changes:

  • Added page SEO metadata and canonical links for better search visibility
  • Enhanced table columns with border styles for improved visual separation
  • Implemented comprehensive component organization and exports
  • Added modern user interface with consistent design system
  • Enhanced accessibility and user experience improvements
  • Optimized application structure and performance
  • Improved code organization and maintainability
Commit: 22efde4

For more detailed information about each release, visit our GitHub repository.