- Replace package.json modification with generated src/version.js
- App imports VERSION from ./version instead of package.json
- version.js is auto-generated during prebuild and git-ignored
- Provides VERSION, IS_RELEASE, and BUILD_TIME constants
- No more dirty git status from version changes
Development builds show 1.0.4-dev, tagged releases show 1.0.4
Major changes:
- Move server.js to project root for cleaner architecture
- Remove server tests due to CRA Jest configuration conflicts
- Fix React component tests (clipboard API and user interaction issues)
- Optimize Dockerfile to copy only essential files (server.js, build/)
- Fix upload script to only upload JSON data (no JMESPath expression)
- Improve reload button UI to avoid layout shifts
- Update demo script with accurate commands and Docker support
All 17 React tests now pass. Server structure simplified and consistent.
- Fixed theme class application from html to body element for proper CSS inheritance
- Removed CSS conflicts between base styles and error/success states
- Fixed focus state interference with error/success background colors
- Changed error message panel to fixed placement (no more UI jumping)
- Added theme-consistent styling for alert-success in all theme modes
- Expression textbox now properly shows red/green backgrounds in manual themes
- Status message now shows Expression is correct vs error message consistently
- Introduced comprehensive CSS custom properties for colors, fonts, and transitions
- Eliminated 40+ hardcoded color values with centralized variables
- Consolidated duplicate font family definitions
- Removed redundant button styles and input styling
- Optimized theme system with consistent property usage
- Fixed accessibility issue with MIT license link
- Reduced code redundancy while maintaining full functionality
- All themes (auto/light/dark) now use unified variable system
- Add theme switcher widget with Auto/Light/Dark options in header
- Implement manual theme override system with localStorage persistence
- Add complete button theme overrides for all variants (primary, outline-*)
- Fix missing focus states and placeholder colors for light theme
- Add proper alert styling for both themes
- Fix expression input error state colors in dark theme
- Complete comprehensive theme coverage for all UI elements
- Theme switcher overrides CSS media queries when manually selected
- All buttons, inputs, and surfaces now properly adapt to theme changes
- Add automatic dark/light theme detection via prefers-color-scheme
- Add smooth transitions between theme changes
- Fix color contrast issues with explicit text colors
- Make JSON Data and Query Result boxes static (no color changes)
- Keep only Expression input with error indication (red styling)
- Remove dynamic success/error styling from data input/output areas
- Add proper placeholder and focus state colors for both themes
- Ensure all text remains visible in both light and dark modes
- Clean up unused CSS classes
- Restructure layout to match copilot instructions exactly
- Add proper footer section with author and license information
- Fix header size - make it more compact and appropriate
- Move app description from header to regular paragraph text
- Optimize layout to fit within 1080p viewport without overflow
- Add Google Noto fonts for modern typography (Noto Sans + Noto Sans Mono)
- Improve responsive design and visual spacing
- Remove unnecessary gaps and improve overall UX
- Application now properly follows all architectural specifications
- Remove Dockerfile.dev and CI/CD workflow
- Remove Docker-specific npm scripts from package.json
- Update README to prioritize local Node.js development
- Make Docker containerization optional rather than required
- Update build scripts to treat Docker as optional
- Remove GitHub Actions and CI/CD references from documentation
- Add Format JSON button to JMESPath toolbar per copilot instructions
- Simplify development workflow for better accessibility
- Add 'Load an Object' button for standard JSON files (.json)
- Add 'Load a Log File' button for JSON Lines files (.log)
- Each button has specific file type filter and handling logic
- Improved user experience with clear separation of functionality
- Add styling for the new info button (log files)
- Update documentation to reflect the two-button approach
- Handle .log files as sequences of JSON objects (JSON Lines/NDJSON format)
- Convert each line to JSON object and combine into array (like jq -s)
- Maintain existing .json file handling for standard JSON format
- Add detailed error messages for invalid JSON lines
- Update documentation to explain both file format supports
- Support .json and .log file formats for load from disk
- Better suited for log filtering expression prototyping
- Remove .txt as it's not commonly used for JSON data
- Add 'Load from Disk' button to toolbar in middle section
- Implement file selection dialog with JSON validation
- Support .json and .txt file formats
- Display error messages for invalid JSON files
- Update README to document the new file upload capability
- Add styling for the new upload button
- Feature matches requirement in copilot-instructions.md
- React-based web application for testing JMESPath expressions
- macOS-first containerization with Apple container command
- Bootstrap UI with real-time evaluation
- GitHub Actions CI/CD pipeline
- Docker fallback support
- Comprehensive documentation and development scripts