Releases: zotoio/x-fidelity
Releases · zotoio/x-fidelity
v2.5.0
v2.4.0
2.4.0 (2024-08-21)
Bug Fixes
- add unit tests for all files except typeDefs (b1d1fd9)
- deps: make artillery a peer dependency (d89361f)
- Handle errors during execution (48a9488)
- Improve error handling and execution flow in index.ts (0b8ca73)
- Increase timeout for test case to prevent "force exited" issue (ab3d0b3)
- logging: silence in logs and increase unit test coverage (5017a12)
- Mock axiosClient instead of axios in rules/index.test.ts (40e7410)
- Pass executionLogPrefix to startServer and analyzeCodebase (99a6692)
- Prevent unnecessary process exit in test environment (aab777f)
- Remove setTimeout and directly call process.exit(1) in error handling function (8a7587e)
- resolve TypeScript errors in telemetry utility (3c68aa1)
- Update import and call of main function in index.test.ts (70e11b1)
- Update import and export in index.test.ts and index.ts (b15203d)
- Update index.test.ts (b3d1799)
- Update process.exit usage in src/index.ts (ac398c3)
- Update startServer function call and process exit handling (7be6c28)
- update test expectations (d24279e)
- Update test expectations to match actual error messages (454aea6)
- update type of
code
parameter inmockImplementation
function (f7aab15)
Features
- centralise the axios client usage in one file and implement exponential backoff (9a6d000)
v2.3.0
2.3.0 (2024-08-20)
Bug Fixes
- Add clearCache import and ConfigManager import to configServer.ts (4212096)
- address SSRF risks in
githubWebhookRoute
(9b6d64a) - Clear rule list cache correctly (3cb17c7)
- import missing middleware functions (fd00a4f)
- Improve security and mitigate potential SSRF risks in configManager and configServer (f87ccab)
- move the github webhook route and related update code to separate route file (4deb57e)
- Properly handle asynchronous operations in configServer.test.ts (2de6174)
- Refactor ConfigManager class (7f1c2fe)
- Update configServer to use RuleConfig from ConfigManager (100c0b3)
- Update engineSetup.test.ts to use ConfigManager and setLogPrefix (c36c64d)
- Update error message and fix warning detection test (9f37bf5)
- Update mock configuration in engineSetup.test.ts (fd3d7db)
- Update mockParams object to include archetypeConfig property (b0c9628)
- Update rule schema definition (ed5d87a)
- Update ruleSchema to match RuleProperties type (0f09992)
- Update test configuration for analyzer (f0b139d)
- Update test expectation for loadFacts (ee04ee0)
- Update test expectations for loadFacts (4c57421)
- Validate and sanitize archetype input in configManager (3a92119)
Features
- add clearcache route (89e9633)
- Add file watcher for local config path (43da2f3)
- Add GitHub webhook route (cab04ae)
- Add GitHub webhook route to handle archetype or rule config updates (5af3d63)
- Add high-value unit tests for utility functions (f90d5e2)
- Add input validation for URL parameters and telemetry data (77bdfaa)
- Add support for additional properties in rule schema (98826e5)
- add viewcache route (1fa105c)
- Create comprehensive unit test file for engineSetup.ts (50556ce)
- Implement GitHub webhook to update local config (351fbf0)
- Implement server routes and middleware (3de18a6)
- load all RuleConfig for a given archetype into the ExecutionConfig (a122c52)
- move the configServer features related to caching into a new file (95a9908)
- rules: github hook to refresh config (2485fbe)
- rules: optimise loading of rules, and filesystem watcher for server (6e6c5ac)
- update configserver to use new route files (eda8240)
- Update rule schema to improve flexibility and compatibility (989bdf6)
v2.2.0
2.2.0 (2024-08-20)
Bug Fixes
- Centralize SHARED_SECRET check in sendTelemetry function (2a99183)
- Ensure object to be masked is not mutated in expressLogger (af111a8)
Features
- add shared secret header security to restrict access to the telemetry server using an environment variable, and update the client in the same way (7935f69)
- Apply shared secret check only to the /telemetry route (72e7466)
- centralise masking in one reusable function (d2f29d5)
- Mask X-Shared-Secret header in request and response logs (c6056ce)
- partially mask shared secret and avoid logging it in full (953be35)
- telemetry: option for sharedSecret for telemetry client and server (f85b312)
v2.1.0
2.1.0 (2024-08-19)
Bug Fixes
- Add missing mock implementation for fs.existsSync in repoDependencyFacts.test.ts (f69c22b)
- Add mocks for semver in repoDependencyFacts.test.ts (a852ff5)
- Add null check for input in validateInput function (c5d8bf3)
- Add type annotation for mockLocalDependencies in repoDependencyFacts.test.ts (79cfff0)
- Correct the structure of LocalDependencies in repoDependencyFacts.test.ts (346924f)
- Ensure dependencies are properly added to the result array in processNpmDependencies (21025db)
- facts: ensure dependencies are compatible with npm and yarn, and extensible (fe0e40f)
- Fix mocked import path for cli options (8806297)
- fix type annotation for collectLocalDependencies mock (d2a7739)
- Fix type error in unit test (58f14aa)
- Fix TypeScript errors in repoDependencyFacts.test.ts (50a2029)
- Fix TypeScript errors in repoDependencyFacts.test.ts (a3da3da)
- Fix TypeScript errors in repoDependencyFacts.test.ts (1869968)
- Handle missing package manager files gracefully (95da9ab)
- Implement dependency analysis tests (9b0426b)
- Improve error handling and return value in collectLocalDependencies function (7c6c06c)
- Improve input validation and add logging for potential attacks (e5e2cd4)
- Mock
collectLocalDependencies
function inrepoDependencyFacts.test.ts
(33a1634) - mock collectLocalDependencies function correctly (fde463a)
- Mock fs and child_process modules in repoDependencyFacts.test.ts (f43c3a5)
- Refactor repoDependencyFacts tests (cb2fd9a)
- Resolve TypeScript error in repoDependencyFacts.test.ts (6bb0f22)
- rewrite src/facts/repoDependencyFacts.test.ts to ensure it adheres to the logic in the implementation and that it mocks required objects correctly and covers all positive and negative use-cases (2d4548c)
- Throw error when no lock file is found and return empty array when no local dependencies are found (a30a660)
- Update
src/facts/repoDependencyFacts.test.ts
to fix TypeScript error (254f770) - Update collectLocalDependencies test to return an empty array (04bdda7)
- Update error message expectation in test (6f287bd)
- Update yarn dependency processing logic (5f2a39d)
- Use yarn instead of npm to collect local dependencies (482b479)
Features
- create comprehensive unit test file for repoDependencyFacts (1253f74)
- Decompose collectLocalDependencies (b865d09)
- Implement recursive processing of dependencies in repoDependencyFacts.ts (557916a)
- Refactor dependency collection and processing (fc7e037)
- Rewrite the entire
src/facts/repoDependencyFacts.test.ts
based on the new implementations (83466b4) - update
findPropertiesInTree
to operate on the new output structure of theLocalDependencies
(608f301) - update code to conform to updated
LocalDependencies
interface (864bc68) - update repoDependencyFacts unit tests to match implementations (7f56ead)
v2.0.0
2.0.0 (2024-08-17)
Bug Fixes
- Add additional logging to configManager.ts (bab63c1)
- Add missing properties to ResultMetadata in engineSetup.ts (1c2d276)
- Add missing properties to ResultMetadata interface (eb2b71f)
- Add missing properties to telemetry metadata (30fefbc)
- Correct the typo in the GPT-4 model name (438c772)
- Fix TypeScript errors in src/index.ts (30fc784)
- Fix TypeScript errors in test files (25af375)
- handle network error in loadRules test (05a26e6)
- Import fs module in telemetryCollector.test.ts (64245d9)
- Improve error handling in ConfigManager (d1bb512)
- refactor
src/core/engine.test.ts
into separate test files (4055f8f) - Refactor analyzeCodebase function to return ResultMetadata (81d1936)
- Remove expectation of
mockLogPrefix
inloadRules
calls (7b8669e) - Remove unused import and update metadata object (ff4bfc0)
- Update event handling in engineSetup.ts (73e5358)
- Update import path for ConfigManager (e87f101)
- Update import path for ConfigManager (6a6b05a)
- Update ResultMetadata interface (b95fab7)
- Update telemetryCollector.test.ts to use mocked fs functions (29d435d)
- Update test case for loadRules function (5b6278d)
- Update test case to expect resolved value instead of rejection (580108a)
- Update test expectation for
analyzeCodebase
results (bdafd3f) - Update test expectations for addOperator and addFact (c86a33a)
- Update test expectations to match actual results structure (3398a84)
- Update tests to expect new ResultMetadata structure (fc16223)
Features
- Add BasicTelemetryMetadata interface (be87308)
- Add details on creating custom OpenAI rules (80abb24)
- add interface for the result of collectTelemetryData (ea6089a)
- Add new CLI options and examples (fab7b81)
- Add ResultMetadata interface (08c3fe2)
- Add telemetry reporting and improve error handling (ac16e44)
- Expand OpenAI Integration section in README.md (c4e34e7)
- Implement ConfigManager class to manage application configuration (6836652)
- Refactor codebase analysis and reporting (7f7d30e)
- Refactor ResultMetadata interface (7d9ddf2)
- system: fixes, refactor, optimisations (4da8c9f)
- Update README with callout for OpenAI rule naming convention (103a470)
BREAKING CHANGES
- system: some of the contract for cli has changed, and output interfaces updated
v1.17.0
1.17.0 (2024-08-16)
Bug Fixes
- Add missing type definitions in src/rules/index.ts (f9fc2f7)
- Handle error when loading local archetype config (a1bf9de)
- Return default config when unable to load local archetype config (0934a71)
- Update
loadRules
function call insrc/core/engine/engineSetup.ts
(3ffa9b0) - Update ConfigManager.getConfig calls to use object parameter (d9011ab)
- Update functions to use parameter objects defined in typedefs and ensure unit tests are updated accordingly (0f5330a)
- Update loadRules function call in test (3837151)
- Update test case for loadRules function (5d6c08a)
- Update unit tests and files to use new GetConfigParams interface (455691d)
Features
v1.16.1
v1.16.0
1.16.0 (2024-08-16)
Bug Fixes
- Add missing mocks for fs module in config.test.ts (3274a48)
- Add missing readFile mock to fs.promises in config.test.ts (db4bfc0)
- Change log level from debug to info when initializing config manager (c9c45f1)
- Handle errors when loading local archetype config (a4a97a4)
- Handle missing configuration in ConfigManager (667cfff)
- Improve error handling in ConfigManager (3743bcf)
- Mock archetypes in config.test.ts (5738736)
- Resolve issues with ConfigManager tests (8fc2a8e)
- Resolve TypeScript errors in analyzer.ts (5e231f5)
- update
config
tests to match new implementation (4350668) - Update config.test.ts to use fs module correctly (66823cc)
- Update ConfigManager mock in engine.test.ts (78e76c7)
- Update ConfigManager tests (2e7b73f)
- Update ConfigManager to use async getConfig method (f95725f)
- Update ConfigManager usage in analyzer.ts (3a9aaf0)
- Update engineSetup.ts to use correct config server property (b54f5fb)
- Update import path for ConfigManager (bed4610)
- Update test case to expect correct error message (a02d2df)
- Update test case to expect resolved value instead of rejection (ab3d704)
- Update test to match actual implementation (3236978)
Features
v1.15.0
1.15.0 (2024-08-14)
Features
- Add performance test script (0097cfe)
- Add telemetry requests to the performance test and generate a report with graphs (282af87)
- Update artillery test YAML with more realistic payload sizes (1dcb5e4)
- Update performance tests to use Artillery (31ee453)