Skip to content

Releases: zotoio/x-fidelity

v2.5.0

21 Aug 10:53
Compare
Choose a tag to compare

2.5.0 (2024-08-21)

Bug Fixes

  • Update README.md with new CLI options and environment variables (04d5172)

Features

  • Add support for Docker and HTTPS/TLS (7eeb497)

v2.4.0

21 Aug 05:57
Compare
Choose a tag to compare

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 in mockImplementation function (f7aab15)

Features

  • centralise the axios client usage in one file and implement exponential backoff (9a6d000)

v2.3.0

20 Aug 11:31
Compare
Choose a tag to compare

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

20 Aug 04:28
Compare
Choose a tag to compare

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

19 Aug 09:48
Compare
Choose a tag to compare

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 in repoDependencyFacts.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 the LocalDependencies (608f301)
  • update code to conform to updated LocalDependencies interface (864bc68)
  • update repoDependencyFacts unit tests to match implementations (7f56ead)

v2.0.0

17 Aug 12:35
Compare
Choose a tag to compare

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 in loadRules 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

16 Aug 12:36
Compare
Choose a tag to compare

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 in src/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

  • Add type definition for OperatorDefn (f9b09d5)
  • update engine-related functions to use parameter objects (9c76bc8)
  • Update functions to take parameter objects with types defined in typedefs (dabcc2b)

v1.16.1

16 Aug 11:40
Compare
Choose a tag to compare

1.16.1 (2024-08-16)

Bug Fixes

  • dependencies: ensure correct dir prefix (5d3fcb3)

v1.16.0

16 Aug 11:21
Compare
Choose a tag to compare

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

  • config: refactor and start to centralise (d71e65b)
  • Move ConfigManager to utils/config (23a449c)
  • Refactor ConfigManager to use static methods and caching (811975a)
  • Rewrite config.test.ts to ensure mocks work and all features are exercised (0fdbe11)

v1.15.0

14 Aug 10:47
Compare
Choose a tag to compare

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)

Performance Improvements

  • Add performance tests for the server (33e3546)
  • rate-limit: increase rate-limit and test intensity (206bd5b)