12 KiB
12 KiB
Changelog
[Unreleased]
[12.1.0] - 2026-02-13
Added
- Added
cacheoption toglob(),grep(), andfuzzyFind()to enable shared filesystem scan caching - Added
invalidateFsScanCache()function to manually invalidate filesystem scan cache entries
[11.14.0] - 2026-02-12
Added
- Added
PtySessionclass for PTY-backed interactive command execution with streaming output - Added
PtyStartOptionsinterface to configure pseudo-terminal sessions with command, working directory, environment variables, and terminal dimensions - Added
PtyRunResultinterface to report command exit code, cancellation, and timeout status - Added
write()method to send raw input to PTY stdin - Added
resize()method to dynamically adjust PTY column and row dimensions - Added
kill()method to force-terminate active commands
[11.3.0] - 2026-02-06
Added
- OSC 52 fallback for clipboard operations over SSH/mosh connections
- Termux support with
termux-clipboard-setintegration - Headless environment guards to prevent clipboard errors when no display server is available
- Async clipboard API with improved error handling and fallback strategies
Changed
- OSC 52 clipboard emission now only occurs in real terminal environments (when stdout is a TTY), preventing unnecessary output in piped or headless contexts
- Improved error handling for OSC 52 writes to gracefully handle EPIPE errors when stdout is closed or piped to processes that exit early
- Clipboard functions now return promises for better async handling
- Native clipboard operations are now best-effort with graceful degradation
[11.0.0] - 2026-02-05
Removed
- Removed legacy type aliases
WasmMatchandWasmSearchResult
[10.6.0] - 2026-02-04
Changed
- Added separate grep context before/after options in bindings
[10.2.2] - 2026-02-02
Added
- Exported
getWorkProfilefunction andWorkProfiletype for work profiling capabilities
[10.2.0] - 2026-02-02
Breaking Changes
- Replaced
find()withglob()- update imports and function calls - Changed file type filtering from string values to
FileTypeenum - Removed
abortShellExecution()function - useShell.abort()method instead - Removed
RequestOptionsparameter fromhtmlToMarkdown()- pass options directly
Added
- Added
glob()function for file discovery with glob pattern matching and .gitignore support - Added
Cancellableinterface for timeout and abort signal support across async operations - Added
FileTypeenum to filter glob results by file type (File, Dir, Symlink) - Added
signalparameter to shell operations for cancellation via AbortSignal
Changed
- Renamed
find()toglob()for file discovery operations - Renamed
FindMatchtoGlobMatchandFindOptionstoGlobOptions - Moved timeout and abort signal handling into unified
Cancellableinterface across grep, glob, and shell modules - Updated
Shell.abort()to accept optional abort reason parameter - Simplified
htmlToMarkdown()signature by removingRequestOptionsparameter
Removed
- Removed
RequestOptionstype andwrapRequestOptions()utility function - Removed
abortShellExecution()function; useShell.abort()instead - Removed
executionIdparameter fromShellExecuteOptions
[10.1.0] - 2026-02-01
Breaking Changes
- Changed
executionIdparameter type fromstringtonumberinabortShellExecution()andShellExecuteOptions - Removed
sessionKeyfield fromShellExecuteOptions
Added
- Added
getWorkProfile()function to retrieve work scheduling profiling data from a circular buffer of recent activity - Added
WorkProfiletype with folded stack format, markdown summary, SVG flamegraph, and sample metrics for profiling results
[9.8.0] - 2026-02-01
Breaking Changes
- Removed
resize()function; usePhotonImage.resize()method instead - Removed
terminateImageWorker()function - Changed
PhotonImage.new_from_byteslice()toPhotonImage.parse() - Changed
PhotonImage.get_bytes()toencode(ImageFormat.PNG, 100) - Changed
PhotonImage.get_bytes_jpeg(quality)toencode(ImageFormat.JPEG, quality) - Removed
get_width()andget_height()methods; usewidthandheightproperties instead - Removed manual resource management via
free()andSymbol.dispose
Added
- Added automatic extraction of embedded native addon to
~/.omp/natives/<version>on first run for compiled binaries - Added
embed:nativebuild script to embed platform-specific native addon payloads into compiled binaries - Exported
Shellclass for creating persistent shell sessions withrun()method and session options - Exported
ShellOptions,ShellRunOptions, andShellRunResulttypes for shell session management - Exported
find()function for file discovery with glob patterns and .gitignore support - Exported
FindOptions,FindMatch, andFindResulttypes for file search operations - Exported
ImageFormatenum for specifying output formats (PNG, JPEG, WEBP, GIF) in image encoding - Added
ImageFormatenum for specifying output format (PNG, JPEG, WEBP, GIF) inencode()method - Added
SamplingFilteras exported enum instead of object - Added
Shellclass with persistent session options (sessionEnv,snapshotPath) and arun()command API - Exported
getSystemInfo()function andSystemInfotype for retrieving system information including distro, kernel, CPU, and disk details - Exported
copyToClipboard()andreadImageFromClipboard()functions for clipboard operations - Exported
ClipboardImagetype for clipboard image data with MIME type information - Added
wrapTextWithAnsi()function to wrap text to a visible width while preserving ANSI escape codes across line breaks - Added native clipboard helpers for copying text and reading images via arboard
Changed
- Enhanced native addon loading to prioritize extracted embedded addon for compiled binaries before falling back to system paths
- Improved error messages to provide platform-specific guidance for addon loading failures, including manual download instructions for compiled binaries
- Reorganized native bindings into modular type files with declaration merging via
NativeBindingsinterface - Moved type definitions from implementation files to dedicated
types.tsmodules for better separation of concerns - Enhanced
SystemInfotype with additional fields:os,arch,hostname,shell,terminal,de,wm, andgpu - Refactored module exports to use direct destructuring from native bindings instead of wrapper functions
- Changed
PhotonImageAPI to use instance methods (resize(),encode()) instead of standalone functions - Changed
PhotonImageto use property accessors forwidthandheightinstead of getter methods - Embedded native addon payload for compiled binaries and extract to
~/.omp/natives/<version>on first run
[9.7.0] - 2026-02-01
Added
- Exported
killTreefunction to kill a process and all its descendants using platform-native APIs - Exported
listDescendantsfunction to list all descendant PIDs of a process - Added
dev:nativenpm script to build debug native binaries with--devflag - Added
OMP_DEVenvironment variable support for loading and debugging development native builds - Exported keyboard parsing and matching functions:
parseKey,parseKittySequence,matchesLegacySequence, andmatchesKeyfor terminal input handling - Exported
KeyEventTypeenum andParsedKittyResulttype for Kitty keyboard protocol support - Added
parseKeyfunction to parse terminal input and return normalized key identifiers (e.g., "ctrl+c", "shift+tab") - Added
parseKittySequencefunction to parse Kitty keyboard protocol sequences with codepoint, modifier, and event type information - Added
matchesLegacySequencefunction to match legacy escape sequences for specific keys - Added
matchesKeyfunction to match input against key identifiers with support for modifiers and Kitty protocol
Changed
- Modified native binary build process to support both debug and release builds via
--devflag - Updated native binary search to prioritize platform-tagged builds and separate debug/release candidates
- Changed debug builds to output to
pi_natives.dev.nodeinstead of mixing with release artifacts - Improved native binary installation to use atomic rename operations and better fallback handling for Windows DLLs
- Reordered native binary search candidates to prioritize platform-tagged builds and avoid loading stale cross-compiled binaries
- Enhanced cross-compilation detection to prevent installing wrong-platform fallback binaries during cross-compilation builds
Fixed
- Fixed potential issue where cross-compiled binaries could overwrite platform-specific native builds with incorrect architecture binaries
[9.6.4] - 2026-02-01
Breaking Changes
- Changed callback signature for
find()andgrep()streaming callbacks to receive(error, match)instead of(match)for proper error handling
[9.6.2] - 2026-02-01
Breaking Changes
- Renamed
EllipsisKindenum toEllipsis - Changed
TextInputtype parameter tostringintruncateToWidth(),visibleWidth(),sliceWithWidth(), andextractSegments()functions—Uint8Array is no longer accepted - Removed
TextInputtype export from public API
Added
- Added
visibleWidth()function to measure the visible width of text, excluding ANSI codes
Changed
- Reordered native module search paths to prioritize repository build artifacts
- Improved JSDoc documentation for
truncateToWidth()with clearer parameter descriptions and behavior details - Added early return optimization in
truncateToWidth()to skip native call when text fits within maxWidth and padding is not requested - Added early return optimization in
sliceWithWidth()to return empty result when length is zero or negative
Removed
- Removed validation checks for
PhotonImageandSamplingFilternative exports - Removed early return optimization in
truncateToWidth()when text fits within maxWidth
[9.6.1] - 2026-02-01
Added
- Added
matchesKittySequencefunction to match Kitty protocol sequences for codepoint and modifier
Removed
- Removed
visibleWidthfunction from text utilities
[9.6.0] - 2026-02-01
Added
- Support for cross-compilation via
CARGO_BUILD_TARGETenvironment variable - Support for overriding platform and architecture detection via
TARGET_PLATFORMandTARGET_ARCHenvironment variables
Changed
- Native build script now searches for release artifacts in target-specific directories when cross-compiling
[9.5.0] - 2026-02-01
Added
- Added
sortByMtimeoption toFindOptionsto sort results by modification time (most recent first) before applying limit - Added streaming callback support to
grep()function via optionalonMatchparameter for real-time match notifications - Exported
RequestOptionstype for timeout and abort signal configuration across native APIs - Exported
fuzzyFindfunction for fuzzy file path search with gitignore support - Exported
FuzzyFindOptions,FuzzyFindMatch, andFuzzyFindResulttypes for fuzzy search API - Added
fuzzyFindexport for fuzzy file path search with gitignore support
Changed
- Changed
grep()andfuzzyFind()to support timeout and abort signal handling viaRequestOptions - Updated
GrepOptionsandFuzzyFindOptionsto extendRequestOptionsfor consistent timeout/cancellation support - Refactored
htmlToMarkdown()to support timeout and abort signal handling
Removed
- Removed
grepDirect()function (usegrep()instead) - Removed
grepPool()function (usegrep()instead) - Removed
terminate()export from grep module - Removed
terminateHtmlWorkerexport from html module
Fixed
- Fixed potential crashes when updating native binaries by using safe copy strategy that avoids overwriting in-memory binaries