v3.0.0
3.0.0 (2025-02-15)
Bug Fixes
- add event listener cleanup in engine test files (705a39c)
- add interceptors mock to axios test client (edb17b5)
- add isPathInside imports and handle missing file paths (42b0207)
- add matchLength undefined checks in maskValue function (2872ec5)
- add missing Engine interface methods in test mock (fa523d2)
- add missing ErrorLevel type import in engineRunner (bb8551c)
- add missing imports for path and pluginRegistry (d98192b)
- add missing interceptors to axios mock in test (42a72eb)
- add missing logger import in facts/index.ts (46d09c7)
- add missing logger.info mock in test setup (c1a3dba)
- add missing OperatorDefn type import in pluginRegistry (51fcf15)
- add mock implementation for path.relative in tests (f39ce89)
- add mock implementation for path.resolve in tests (edd3388)
- add null check for childPath in isPathInside function (c510bd4)
- add proper type annotations to express logger functions (7146f70)
- add proper type annotations to express logger middleware (c0868ce)
- add type annotation for operators object to fix string indexing (aa3ced1)
- add type annotation for rest parameter in mock implementation (736fd36)
- add type assertion for errorSource in engineRunner (f17df2a)
- add type cast for args spread in plugin function call (f88f3f8)
- add type cast for rule name property in validate command (5b811ad)
- add type safety for engine removeAllListeners method in tests (f1bd1c0)
- avoid reassigning to constant error variable in error handling (5f04405)
- cast event types to ErrorLevel enum for type safety (f2cb3b5)
- change logPrefix from const to let for mutability (2ce6b56)
- correct Engine type definition in engineRunner test (e474084)
- correct function type signature in plugin registry (f5001df)
- correct type casting for spread operator in plugin function call (55e1894)
- correct type signature for pino-http customLogLevel function (8d6cb76)
- correct TypeScript errors in logger implementation (8da1f9c)
- correct TypeScript errors in operator and error handling (d2a1927)
- declare handledError variable before usage in error handling (34a95a9)
- declare handledError with proper scope in engineRunner (65fc6b9)
- ensure error handling type safety and add onError schema (b61c183)
- ensure type safety in engine runner error handling (32a3007)
- handle missing fs.promises.stat and fix directory structure check (84ff132)
- handle symlink errors and improve directory structure validation (b2847c9)
- handle undefined paths and use path.resolve for path normalization (e814259)
- improve error handling in dependency collection (ee003d2)
- improve event listener handling and type safety in tests (32d6c3b)
- improve logger prefix handling and configuration inheritance (42f6d8c)
- improve operator error detection in rule execution (3590c50)
- improve plugin error handling and propagation (82315c6)
- improve TypeScript types for logger and pino middleware (77bd9ac)
- initialize logger immediately and update test expectations (adc8d76)
- move operator loading inside function to capture latest plugins (c1df0df)
- prevent masking of string values in maskSensitiveData util (f9abb11)
- remove duplicate export statements in types/index.ts (b61504c)
- remove duplicate function declarations in logger.ts (fe68714)
- remove duplicate removeAllListeners property in mock Engine object (f77bd1a)
- remove duplicate setLogLevel function declaration (a6f892a)
- remove unused plugin types import (47e3bdc)
- rename errorSource to source in ErrorActionParams interface (d7f2c04)
- rename reqCustomProps to customProps in express logger config (22f380e)
- replace Function.apply with Function.call for better type safety (f0e8e2d)
- resolve logger initialization circular dependency (3d81e87)
- resolve TypeScript error by avoiding reassignment to constant error (e16fbd6)
- resolve TypeScript errors in engineRunner test file (26cf0a5)
- resolve TypeScript errors in logger implementation (5025c92)
- resolve TypeScript interface inheritance for XFiLogger (01c9069)
- test: delete invalid tests (6a3e449)
- update axios client test module imports and error handling (944d83c)
- update axios mock implementation for 429 retry test (469881c)
- update customContains operator to handle file analysis result object (961a8cf)
- update docusaurus config to use correct API paths (749b04f)
- update function type signatures for plugin facts (7aaf633)
- update logger implementation to use Pino instead of Winston (78fa960)
- update logger types and fix pino-http integration (6dbe72e)
- update pino logger types and middleware configuration (bf3f0bf)
- update spread args type to tuple for TypeScript compatibility (cf0579b)
- use call() instead of apply() for proper argument handling (eedc5bf)
Features
- add basic plugin example with custom operator and fact (7af5f0f)
- add custom error handling and action execution for rules (4eb80a3)
- add dynamic log level configuration and prefix management (3bdf085)
- add dynamic log level control and improve environment variable handling (138f6d0)
- add dynamic log level control and improve initialization logging (0640350)
- add environment variable control for log level (95197a5)
- add error behavior configuration for rule execution (2380704)
- add error count tracking to codebase analysis results (c8e5847)
- add error demo plugin with comprehensive error handling (336d24a)
- add error handling and export utility modules (ea41b07)
- add errorCount field to ResultMetadata interface (24f8d84)
- add ErrorLevel type for rule failure levels (1523f9f)
- add explicit method signatures to XFiLogger interface (af1684d)
- add extensions file option to CLI and banner display (3512f4f)
- add external API integration with regex value extraction (c019226)
- add external sample rules loading for basic plugin (b63fb0a)
- add fallback to global modules for plugin loading (52949fb)
- add operation field to dependency error logging (457050b)
- add plugin error handling with result propagation (8f0a78e)
- add plugin loading support to CLI mode (7c23f01)
- add regex validator plugin with API validation support (664cdb5)
- add regex validator plugin with validation endpoint support (0cc8b55)
- add routeBasePath to TypeDoc plugin for correct API docs routing (255bbe5)
- add sample rule using customFact and customOperator (27f864f)
- add sample rules loading to sample plugin (c1ef6f4)
- add sample rules support to plugin interface (e263728)
- add source map support and error location enhancement to logger (f641a69)
- add src/plugins as first lookup path for plugin loading (bd2e8b5)
- add subpath exports for logger and axios utilities (21a9ff2)
- add support for loading external plugins via extensions (d044e02)
- add symlink support with cycle detection in file operations (7862c52)
- add test command as default CLI action (40ad784)
- add test server script for serving mock JSON responses (e204196)
- add validate command for archetype configuration validation (31d489a)
- enhance error handling with source classification and stack traces (eaaf0e0)
- enhance Pino logger with multistream and improved serialization (3956a0b)
- enhance plugin loading logs with detailed facts and operators info (96b49eb)
- enhance plugin registration with validation and module format support (785445b)
- enhance sensitive data protection in logging and env vars (b7dc977)
- expose TypeScript type definitions in package exports (8c0dd86)
- implement intermittent masking pattern for sensitive data (18a5d84)
- implement partial masking for sensitive data with string support (d8dc195)
- implement plugin system for custom facts and operators (6a03a2c)
- improve sensitive data masking to maintain original length (b47cbca)
- integrate plugin facts into allFacts registry (89504e4)
- plugin framework: refactor and improve extensibility (d999ebc)
- support loading multiple npm modules as extensions directly (e485c6b)
- update basic plugin to support external API calls and regex extraction (c23941c)
- update mask function to show 6 characters at each end (9b8babe)
BREAKING CHANGES
- plugin framework: cli options extended to include -e loading plugins, and enhancements to AI
integration options