All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to X.Y Versioning.
- JavaDoc plugin with strict validation
- Software Bill of Materials (SBOM) generation via CycloneDX
- Mutation testing with PITest (75% threshold)
- OWASP Dependency Check for vulnerability scanning
- Checkstyle code quality validation
- SpotBugs static analysis
- License compliance checking
- Property-based testing framework (jqwik)
- API Guardian annotations for API stability
- JMH performance benchmarking framework
- Accessibility API in Component class (setAccessibleName, setAccessibleRole, setAccessibleDescription)
- EdgeCaseTest with 32 boundary tests for robust validation
- Constants.java for centralized magic numbers
- Comprehensive code review report (REVIEW-2026-05-24.md)
- Versioning strategy documentation in CONTRIBUTING.md
- Version mismatch between README (1.19) and POM (1.28) - now synchronized
- Test count documentation updated from 367 to 399 tests
- Verified CodeQL workflow configuration
- Verified Maven caching in CI/CD
- Verified test result publishing
- Updated README.md to reflect current state (version 1.28, 399 tests)
- Documented automatic continuous versioning strategy
- Complete JavaDoc for Component class
- Accessibility summary generation
- Input sanitization in JTextField to prevent terminal injection
- Defensive copying in mouse listener iteration
- Memory leak with Arena.global() - switched to Arena.ofAuto() for mouse events
- Thread safety in RootPane dirty tracking - all methods now synchronized
- Infinite loop guards in JTextField word navigation
- Added SLF4J logging framework replacing System.out/System.err
- Implemented checkResult() for ncurses return value validation
- Platform detection for ncurses library (Linux/macOS support)
- Null checks in Component.addMouseListener/removeMouseListener
- Improved exception handling in NcursesBridge with specific exception types
- SECURITY.md with vulnerability reporting process
- CONTRIBUTING.md with development guidelines
- Dependabot configuration for automated dependency updates
- CodeQL security scanning workflow
- Core 29 UI widgets (JButton, JTextField, JLabel, etc.)
- Mouse support with drag-to-move and resize
- Thread-safe architecture with ReentrantLock
- Color support with 8 standard colors and predefined pairs
- Advanced text editing (selection, cut/copy/paste, undo/redo)
- Scrollable views with JScrollPane
- Modern Java 21 features (Virtual Threads, FFI, Pattern Matching)
- Comprehensive testing framework (399 tests)
- Theme system (Default, Dark, Light)
- CI/CD with GitHub Actions
- Thread-safe rendering
- Input validation
- Memory safety with FFI
For full commit history, see GitHub Commits