All notable changes to the "cph-ng" extension will be documented in this file.
- fix: mkdir in root
- feat: try to implement auto focus
- feat: suppress backend data refresh
- feat: simplify git hooks
- style: add biome rules
- chore: refactor settings management and fix telemetry reported errors
- fix: use constant abort controller to avoid thread conflicts
- fix: handle potential undefined values in file extension lists
- fix: enhance error handling in pipe failure logging
- fix: do not sanitize stack when tracking error
- feat: expand test case after add
- feat: enhance error telemetry
- fix: source map broken
- feat: add support for expanding failed test cases in configuration
- feat: better error stack trace using source map
- chore: upgrade packages
Aggregated from prereleases 0.4.1~0.4.14.
- Language Support: Added JavaScript language support.
- Judge Features:
- Added Special Judge templates.
- Added support for unlimited stack size in runner.
- Added feature to disable/enable specific test cases.
- UX Improvements:
- Support drag and drop to webview with improved robustness and styling.
- Use VS Code builtin font selection.
- Configuration for expanding test cases.
- Support workspace replacement in user script paths.
- Telemetry: Integrated telemetry for performance tracking and analytics.
- Core Stability:
- Improved migration logic for problem data updates.
- Refined core process logic and stopped running behavior.
- Fixed subprocess existence checks before listening.
- Fixed cache runner program issues.
- Comparison & Path:
- Improved testlib comparison logic.
- Fixed Python compilation command output path (using raw string).
- Enhanced path handling for moved workspaces.
- Fixed brute force comparison unit issues.
- Interface:
- Fixed panel visibility in new opening modes.
- Improved focus handling after keyboard shortcuts.
- Refactored core process logic.
- Added cache dispose and migration logic for problem management.
- Unified file limit thresholds and test case extensions.
Pre-release history (0.4.1~0.4.14)
- ci: remove format
- feat: add support for workspace replacement in user script paths
- feat: configuration for how to expand test cases
- fix: rename loggers
- fix: the cache telemetry log is too much
- fix: improve telemetry
- feat: integrate telemetry for performance tracking and analytics
- fix: improve testlib compare
- fix: improve drag drop style
- feat: use vscode builtin font selection
- feat: add sidebar reload message
- fix: no editor
- fix: robust the drag and drop
- feat: enhance path handling for moved workspace in problem data
- feat: add javascript language support
- feat: special judge templates
- refactor: add cache dispose and migration logic for problem management
- fix: cache runner program
- fix: show panel not working in new opening mode
- feat: drag and drop to webview
- refactor: change core process logic
- feat: add support for unlimited stack size in runner
- fix: remove source file indicator in problem title
- feat: unified test case extension
- feat: add customizable companion data handling
- fix: use correct unit for brute force compare
- fix: use file to enhance robustness
- feat: unify file limit threshold
- refactor: types and imports for backend compatibility
- fix: stop running may not work
- fix: subprocess may exist before we start listening
- fix: set problem source path when loading a problem
- fix: create and import problem using keyboard shortcut
- feat: focus back on editor after keyboard shortcut
- feat: changed default value of cph-ng.comparing.oleSize to 8
- feat: let llm decide active file path
- fix: add tcOrder to required properties in problem schema
- fix: update error message to prompt user
- feat: use inline copy message
- fix: use better migration logic
- fix: migrate issues
- fix: configuration disorder in settings
- fix: disable show tips
- fix: disable auto focus
- feat: add disable/enable test case feature
- chore: upgrade packages
- fix: update debounce import path in extensionManager
- fix: replace dynamic version with static version in migration logic
- fix: use raw string for outputPath in Python compilation command
- fix: compare test case
Aggregated from prereleases 0.3.1~0.3.8.
- Python support with PyPy
- Debugger with testcase input feature
- Automatic unlimited stack configuration for deep recursion
- Drag-and-drop reordering with real-time preview
- Support configurable test-case extensions and detect related files
- Update URL host checks to use endsWith for better accuracy
- Debug not working
- C/C++ compile options order
- Test cases are not cleared after loading empty test cases
- Windows file comparison by using Uri.file() for filesystem paths
- Reading file in windows
- Incorrect file extension
- Store test cases as UUID-keyed map and add tcOrder
- Upgrade packages
- Problem version migration
Pre-release history (0.3.1~0.3.8)
- fix: update URL host checks to use endsWith for better accuracy
- refactor: llm tools and enhance test case management
- feat: add python support with pypy
- fix: debug not working
- feat: store test cases as UUID-keyed map and add tcOrder
- feat: support configurable test-case extensions and detect related files
- chore: upgrade packages
- fix: problem version migration
Nothing changed, just dump version to publish a new version.
Nothing changed, just dump version to publish a new version.
Nothing changed, just dump version to publish a new version.
- fix: c/c++ compile options order
- fix: test cases are not cleared after loading empty test cases
- fix: Windows file comparison by using Uri.file() for filesystem paths
- feat: add automatic unlimited stack configuration for deep recursion
- feat: add debugger with testcase input feature
- feat: add drag-and-drop reordering with real-time preview and improve input focus workflow
- fix: reading file in windows
- fix: incorrect file extension
Aggregated from prereleases 0.2.1~0.2.4.
- Custom file system support
- Bulk import from CPH
- Interactive problem support
- Edit raw problem data
- Natural-order sorting for test cases
- Double-click test case data title to open in editor
- Configuration options: max inline data length, stdoutThreshold, default file extension, memory limit
- Clear test case result
- Short name settings for competitive programming platforms
- Time elapsed statistics
- Ensure document is saved before compilation
- Compilation timeout message
- Show reject when cancelling compile
- Fix OLE when output and answer are both empty
- Batch import issues
- Incorrect data folder path in file-only mode
- Execution time not captured when using exit
- Compilation command exit code check
- Redundant warning when checker/interactor already executable
- Other bug fixes and experience improvements
- Refactored utilities to static class members
- Enable background running
- Variable name improvements
- Logic refactoring
Pre-release history (0.2.1~0.2.4)
- feat: add build type
- feat: double click test case data title to open in editor
- fix: ensure document is saved before proceeding with compilation
- fix: add message for compilation timeout
- style: rename confusing variable names
- refactor: enable background running
- fix: remove embedded data save and load
- fix: no ole when the output and answer are both empty
- feat: add debounce for editor change event
- feat: add stdoutThreshold configuration to control stdout output handling
- feat: clear test case result
- feat: add custom file system
- feat: edit raw problem data
- fix: show reject when cancelling compile
- fix: batch import from cph
- feat: add default file extension setting for Competitive Companion
- fix: use shorter hash for io cache
- feat: add runner support and memory limit setting
- ci: build failed in pull requests
- chore: improve changelog extraction logic for version releases
- fix: pc status incorrect
- feat: add time elapsed
Aggregated from prereleases 0.1.10~0.1.11.
- Interactive problem support
- Bulk import from CPH
- Natural-order sorting for test cases
- Configuration: max inline data length
- Short name settings for competitive programming platforms
- Execution time not captured when using exit
- Compilation: ensure command exit code is checked
- Incorrect data folder path in file-only mode
- Redundant warning when checker / interactor already executable
- Related utilities converted to static class member functions
Pre-release history (0.1.10~0.1.11)
- fix: check command code when compiling
- refactor: use static class member functions
- fix: data folder is incorrect in file-only mode
- fix: hide the warning message when the checker or interactor is an executable file
- fix: time not captured using exit
- fix: check command code when compiling
- feat: interactive problem support
- feat: add max inline data length configuration
- feat: implement bulk import from CPH
- feat: add short name settings for competitive programming platforms
- feat: add natural-orderby for sorting test cases
Versions above this line: patch changes are released as prerelease, minor changes are released as stable
- fix: ignore empty request data in companion
- fix: show or hide compilation channel based on message content
- feat: add file toggle
- fix: improve folder selection display in quick pick
- feat: add showPanel setting to control visibility of the problem source file panel
- fix: handle undefined time in tc result condition
- feat: add version info command and update bug report template
- feat: implement wrapper and hook functionality for compilation process
- fix: add message for compilation aborted by user
- fix: include compiler settings in hash calculation for compilation
- fix: remove SVG badges from README to fix publishing
Nothing changed, just dump version to publish a new version.
- fix: the expand animation of test case view
- refactor: extract the embedded data function
- feat: implement folder chooser utility and add configuration options for folder selection method
- fix: improve checker path validation by checking file extensions
- feat: submit to codeforces
- docs: add zh-CN readme
- feat: customize font family
- fix: fixed OLE logic
- feat: changed default value of cph-ng.comparing.oleSize to 3
- fix: prevent the window from becoming unresponsive when old problem data is present
- feat: support more old versions of problem files
- fix: an issue with cannot delete problem
- feat: add support for migration from old problem files
- fix: do not trim stdout and stderr
- feat: add support for brute force comparison
- feat: use relative path in .cph-ng folder to avoid files with same filename in different sub-folders
- refactor: enhance checker UI
- feat: allow user to stop only current test case when running all test cases
- feat: add stderrThreshold configuration to control stderr output handling
- fix: do not create .cph-ng folder when there is no problem saved
- feat: import and export from embedded data
- feat: add option to clear test cases before loading new ones
- fix: problem title in small screens
- fix: add constrain to time limit
- feat: add tips when there is no problem
- fix: translation mistakes
- fix: use longer interval for CPH checks
- fix: use manual cph import
- chore: upgrade dependencies
- feat: Use the new Icon
- fix: Constantly check CPH status
- fix: Remove unsupported schema keyword minimum
- feat: Add unzip folder configuration
- feat: Add placeholder
basenameNoExt - feat: Add delete zip after unzip configuration
- fix: Localize messages in LlmFileReader and LlmTcRunner for better internationalization support
- fix: Edit problem dialog changes with file
- feat: Hold
Ctrlto force recompilation andAltto skip compilation - fix: Changing to answer file will not be considered as changing problem now
- feat: Introduce LLM tools for test case execution and file reading
- feat: Add error popup when webview handle occurs error
- fix: Cph auto import
- fix: Stop running when changes problem
- fix: Use correct output path
- fix: Correctly access stdout and stderr paths
- feat: Add problem file path configuration.
- feat: Add logging to help identify issues.
- feat: Implement ErrorBoundary component.
- fix: Hide empty stderr or message.
- feat: Add support for saving unsaved changes in the editor before compilation.
- fix: The "file not found" warning no longer appears when the current source file does not have a problem.
- feat: Add support for SPJ using testlib.
- fix: The icon in problem actions has been enlarged.
- fix: The "file not found" warning no longer appears when data is received from the companion app.
- fix: The test case status now updates correctly after a compilation error (CE) occurs.
- Initial release