Files
backstage/plugins/tech-insights-backend/CHANGELOG.md
T
github-actions[bot] 4e94720142 Version Packages (next)
2022-09-27 10:57:53 +00:00

22 KiB

@backstage/plugin-tech-insights-backend

0.5.3-next.0

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.1.2-next.0
    • @backstage/plugin-tech-insights-node@0.3.5-next.0
    • @backstage/catalog-client@1.1.1-next.0
    • @backstage/backend-common@0.15.2-next.0
    • @backstage/backend-tasks@0.3.6-next.0
    • @backstage/config@1.0.3-next.0
    • @backstage/errors@1.1.2-next.0
    • @backstage/plugin-tech-insights-common@0.2.7-next.0

0.5.2

Patch Changes

  • 8872cc735d: Fixed a bug where the database option to skip migrations was ignored.
  • 12c6a07c2a: Changed the description of the techdocsAnnotationFactName fact.
  • 2e0689e536: Support for timeout in FactRetrieverRegistrationOptions
  • 9e8e9f5243: Modify Tech insight initialization to expose FactRetrieverEngine. Enables users to trigger fact retrieval manually or reschedule retrievers on runtime.
  • Updated dependencies
    • @backstage/backend-common@0.15.1
    • @backstage/plugin-tech-insights-node@0.3.4
    • @backstage/backend-tasks@0.3.5
    • @backstage/catalog-client@1.1.0
    • @backstage/catalog-model@1.1.1
    • @backstage/config@1.0.2
    • @backstage/errors@1.1.1

0.5.2-next.2

Patch Changes

  • Updated dependencies
    • @backstage/catalog-client@1.1.0-next.2
    • @backstage/catalog-model@1.1.1-next.0
    • @backstage/config@1.0.2-next.0
    • @backstage/errors@1.1.1-next.0
    • @backstage/backend-common@0.15.1-next.3
    • @backstage/backend-tasks@0.3.5-next.1
    • @backstage/plugin-tech-insights-node@0.3.4-next.1

0.5.2-next.1

Patch Changes

0.5.2-next.0

Patch Changes

  • 8872cc735d: Fixed a bug where the database option to skip migrations was ignored.
  • 2e0689e536: Support for timeout in FactRetrieverRegistrationOptions
  • 9e8e9f5243: Modify Tech insight initialization to expose FactRetrieverEngine. Enables users to trigger fact retrieval manually or reschedule retrievers on runtime.
  • Updated dependencies
    • @backstage/backend-common@0.15.1-next.0
    • @backstage/plugin-tech-insights-node@0.3.4-next.0
    • @backstage/backend-tasks@0.3.5-next.0
    • @backstage/catalog-client@1.0.5-next.0

0.5.1

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.15.0
    • @backstage/backend-tasks@0.3.4
    • @backstage/plugin-tech-insights-common@0.2.6
    • @backstage/plugin-tech-insights-node@0.3.3

0.5.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.15.0-next.0
    • @backstage/backend-tasks@0.3.4-next.0
    • @backstage/plugin-tech-insights-common@0.2.6-next.0
    • @backstage/plugin-tech-insights-node@0.3.3-next.0

0.5.0

Minor Changes

  • 818fa28d71: Allow FactRetrieverRegistry to be injected into buildTechInsightsContext so that we can override default registry implementation.

  • 46cfda58aa: BREAKING: Update FactRetrieverRegistry interface to be async so that db backed implementations can be passed through to the FactRetrieverEngine.

    If you have existing custom FactRetrieverRegistry implementations, you'll need to remove the retrievers member and make all the methods async.

Patch Changes

  • 2ef58ab539: TechInsightsBackend: Added missing 'scheduler' to code examples
  • 4e9a90e307: Updated dependency luxon to ^3.0.0.
  • 679b32172e: Updated dependency knex to ^2.0.0.
  • bcc122c46d: The FactRetriever model has been extended by adding optional title and description fields, allowing you to display them in the UI.
  • Updated dependencies
    • @backstage/backend-common@0.14.1
    • @backstage/catalog-model@1.1.0
    • @backstage/catalog-client@1.0.4
    • @backstage/backend-tasks@0.3.3
    • @backstage/plugin-tech-insights-common@0.2.5
    • @backstage/plugin-tech-insights-node@0.3.2
    • @backstage/errors@1.1.0

0.5.0-next.3

Minor Changes

  • 46cfda58aa: BREAKING: Update FactRetrieverRegistry interface to be async so that db backed implementations can be passed through to the FactRetrieverEngine.

    If you have existing custom FactRetrieverRegistry implementations, you'll need to remove the retrievers member and make all the methods async.

Patch Changes

  • 4e9a90e307: Updated dependency luxon to ^3.0.0.
  • bcc122c46d: The FactRetriever model has been extended by adding optional title and description fields, allowing you to display them in the UI.
  • Updated dependencies
    • @backstage/backend-common@0.14.1-next.3
    • @backstage/catalog-client@1.0.4-next.2
    • @backstage/backend-tasks@0.3.3-next.3
    • @backstage/plugin-tech-insights-common@0.2.5-next.0
    • @backstage/plugin-tech-insights-node@0.3.2-next.1
    • @backstage/catalog-model@1.1.0-next.3

0.5.0-next.2

Minor Changes

  • 818fa28d71: Allow FactRetrieverRegistry to be injected into buildTechInsightsContext so that we can override default registry implementation.

Patch Changes

0.4.2-next.1

Patch Changes

  • Updated dependencies
    • @backstage/catalog-model@1.1.0-next.1
    • @backstage/backend-common@0.14.1-next.1
    • @backstage/errors@1.1.0-next.0
    • @backstage/backend-tasks@0.3.3-next.1
    • @backstage/catalog-client@1.0.4-next.1

0.4.2-next.0

Patch Changes

  • 2ef58ab539: TechInsightsBackend: Added missing 'scheduler' to code examples
  • Updated dependencies
    • @backstage/backend-common@0.14.1-next.0
    • @backstage/catalog-model@1.1.0-next.0
    • @backstage/backend-tasks@0.3.3-next.0
    • @backstage/plugin-tech-insights-node@0.3.2-next.0
    • @backstage/catalog-client@1.0.4-next.0

0.4.1

Patch Changes

  • 4fee8f59e3: Updated tech-insights fetch/latest endpoint to return the actual latest row based on the timestamp

  • aa15229ec3: Introduce additional JsonValue types to be storable as facts. This enables the possibility to store more complex objects for fact checking purposes. The rules engine supports walking keyed object values directly to create rules and checks

    Modify facts database table to have a more restricted timestamp precision for cases where the postgres server isn't configured to contain such value. This fixes the issue where in some cases maxItems lifecycle condition didn't work as expected.

  • Updated dependencies

    • @backstage/backend-tasks@0.3.2
    • @backstage/backend-common@0.14.0
    • @backstage/catalog-client@1.0.3
    • @backstage/catalog-model@1.0.3
    • @backstage/plugin-tech-insights-node@0.3.1

0.4.1-next.2

Patch Changes

  • Updated dependencies

0.4.1-next.1

Patch Changes

  • 4fee8f59e3: Updated tech-insights fetch/latest endpoint to return the actual latest row based on the timestamp
  • Updated dependencies
    • @backstage/backend-tasks@0.3.2-next.1
    • @backstage/backend-common@0.13.6-next.1
    • @backstage/catalog-client@1.0.3-next.0
    • @backstage/catalog-model@1.0.3-next.0

0.4.1-next.0

Patch Changes

  • Updated dependencies

0.4.0

Minor Changes

  • 3333e20b27: BREAKING: The buildTechInsightsContext function now takes an additional field in its options argument: tokenManager. This is an instance of TokenManager, which can be found in your backend initialization code's env.

     const builder = buildTechInsightsContext({
       logger: env.logger,
       config: env.config,
       database: env.database,
       discovery: env.discovery,
       scheduler: env.scheduler,
    +  tokenManager: env.tokenManager,
       factRetrievers: [ /* ... */ ],
     });
    

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.3
    • @backstage/backend-tasks@0.3.1
    • @backstage/plugin-tech-insights-node@0.3.0
    • @backstage/config@1.0.1
    • @backstage/catalog-client@1.0.2
    • @backstage/catalog-model@1.0.2

0.4.0-next.2

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.13.3-next.2
    • @backstage/backend-tasks@0.3.1-next.1
    • @backstage/config@1.0.1-next.0
    • @backstage/catalog-model@1.0.2-next.0
    • @backstage/plugin-tech-insights-node@0.3.0-next.2
    • @backstage/catalog-client@1.0.2-next.0

0.4.0-next.1

Minor Changes

  • 3333e20b27: BREAKING: The buildTechInsightsContext function now takes an additional field in its options argument: tokenManager. This is an instance of TokenManager, which can be found in your backend initialization code's env.

     const builder = buildTechInsightsContext({
       logger: env.logger,
       config: env.config,
       database: env.database,
       discovery: env.discovery,
       scheduler: env.scheduler,
    +  tokenManager: env.tokenManager,
       factRetrievers: [ /* ... */ ],
     });
    

Patch Changes

0.3.1-next.0

Patch Changes

  • Updated dependencies

0.3.0

Minor Changes

  • 231fee736b: This backend now uses the @backstage/backend-tasks package facilities for scheduling fact retrievers.

    BREAKING: The buildTechInsightsContext function now takes an additional field in its options argument: scheduler. This is an instance of PluginTaskScheduler, which can be found in your backend initialization code's env.

     const builder = buildTechInsightsContext({
       logger: env.logger,
       config: env.config,
       database: env.database,
       discovery: env.discovery,
    +  scheduler: env.scheduler,
       factRetrievers: [ /* ... */ ],
     });
    

Patch Changes

  • 21de525ce9: Updated README.md with better install instructions

  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.

  • 2fe58c7285: Improved the Tech-Insights documentation:

    • lifecycle examples used ttl when it should be timeToLive
    • Added list of included FactRetrievers
    • Added full backend example using all included FactRetrievers
    • Added boolean scorecard example image showing results of backend example
  • Updated dependencies

    • @backstage/backend-tasks@0.3.0
    • @backstage/catalog-model@1.0.1
    • @backstage/plugin-tech-insights-node@0.2.9
    • @backstage/backend-common@0.13.2
    • @backstage/catalog-client@1.0.1

0.3.0-next.2

Patch Changes

  • 21de525ce9: Updated README.md with better install instructions
  • Updated dependencies
    • @backstage/backend-tasks@0.3.0-next.2
    • @backstage/catalog-model@1.0.1-next.1

0.3.0-next.1

Minor Changes

  • 231fee736b: This backend now uses the @backstage/backend-tasks package facilities for scheduling fact retrievers.

    BREAKING: The buildTechInsightsContext function now takes an additional field in its options argument: scheduler. This is an instance of PluginTaskScheduler, which can be found in your backend initialization code's env.

     const builder = buildTechInsightsContext({
       logger: env.logger,
       config: env.config,
       database: env.database,
       discovery: env.discovery,
    +  scheduler: env.scheduler,
       factRetrievers: [ /* ... */ ],
     });
    

Patch Changes

  • Updated dependencies

0.2.11-next.0

Patch Changes

  • c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.

  • 2fe58c7285: Improved the Tech-Insights documentation:

    • lifecycle examples used ttl when it should be timeToLive
    • Added list of included FactRetrievers
    • Added full backend example using all included FactRetrievers
    • Added boolean scorecard example image showing results of backend example
  • Updated dependencies

    • @backstage/catalog-model@1.0.1-next.0
    • @backstage/backend-common@0.13.2-next.0
    • @backstage/catalog-client@1.0.1-next.0
    • @backstage/plugin-tech-insights-node@0.2.9-next.0

0.2.10

Patch Changes

  • 89c7e47967: Minor README update
  • Updated dependencies
    • @backstage/backend-common@0.13.1
    • @backstage/catalog-model@1.0.0
    • @backstage/catalog-client@1.0.0
    • @backstage/config@1.0.0
    • @backstage/errors@1.0.0
    • @backstage/plugin-tech-insights-common@0.2.4
    • @backstage/plugin-tech-insights-node@0.2.8

0.2.9

Patch Changes

0.2.9-next.0

Patch Changes

0.2.8

Patch Changes

0.2.7

Patch Changes

0.2.6

Patch Changes

  • Fix for the previous release with missing type declarations.
  • Updated dependencies

0.2.5

Patch Changes

0.2.4

Patch Changes

  • 2441d1cf59: chore(deps): bump knex from 0.95.6 to 1.0.2

    This also replaces sqlite3 with @vscode/sqlite3 5.0.7

  • Updated dependencies

0.2.4-next.0

Patch Changes

  • 2441d1cf59: chore(deps): bump knex from 0.95.6 to 1.0.2

    This also replaces sqlite3 with @vscode/sqlite3 5.0.7

  • Updated dependencies

0.2.3

Patch Changes

0.2.3-next.0

Patch Changes

0.2.2

Patch Changes

0.2.1

Patch Changes

  • ad0a7eb088: Fixed invalid access that caused an immediate crash with a TypeError when loading the package.

0.2.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments. Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:
    -createFactRetrieverRegistration(
    -  '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    -  entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    +  cadence: '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    +  factRetriever: entityOwnershipFactRetriever,
    +}),
    
    
    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:
    -await this.repository.insertFacts(factRetriever.id, facts);
    +await this.repository.insertFacts({
    + id: factRetriever.id,
    + facts,
    + lifecycle,
    +});
    

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4
    • @backstage/config@0.1.13
    • @backstage/plugin-tech-insights-node@0.2.0
    • @backstage/catalog-model@0.9.10
    • @backstage/catalog-client@0.5.5

0.2.0-next.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments. Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:
    -createFactRetrieverRegistration(
    -  '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    -  entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    +  cadence: '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    +  factRetriever: entityOwnershipFactRetriever,
    +}),
    
    
    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:
    -await this.repository.insertFacts(factRetriever.id, facts);
    +await this.repository.insertFacts({
    + id: factRetriever.id,
    + facts,
    + lifecycle,
    +});
    

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

  • Updated dependencies
    • @backstage/backend-common@0.10.4-next.0
    • @backstage/config@0.1.13-next.0
    • @backstage/plugin-tech-insights-node@0.2.0-next.0
    • @backstage/catalog-model@0.9.10-next.0
    • @backstage/catalog-client@0.5.5-next.0

0.1.5

Patch Changes

  • 19f0f93504: Catch errors from a fact retriever and log them.
  • 10f26e8883: Modify queries to perform better by filtering on sub-queries as well
  • a60eb0f0dd: adding new operation to run checks for multiple entities in one request
  • Updated dependencies
    • @backstage/config@0.1.12
    • @backstage/backend-common@0.10.3
    • @backstage/plugin-tech-insights-common@0.2.1
    • @backstage/errors@0.2.0
    • @backstage/catalog-client@0.5.4
    • @backstage/catalog-model@0.9.9

0.1.4

Patch Changes

0.1.3

Patch Changes

  • b055a6addc: Align on usage of cross-fetch vs node-fetch in frontend vs backend packages, and remove some unnecessary imports of either one of them
  • b5bd60fddc: Removed unnecessary check for specific server error in @backstage plugin-tech-insights-backend.
  • c6c8b8e53e: Minor fixes in Readme to make the examples more directly usable.
  • Updated dependencies
    • @backstage/plugin-tech-insights-common@0.2.0
    • @backstage/backend-common@0.9.12
    • @backstage/plugin-tech-insights-node@0.1.1

0.1.2

Patch Changes

  • 2017de90da: Update README docs to use correct function/parameter names
  • Updated dependencies
    • @backstage/errors@0.1.5
    • @backstage/backend-common@0.9.11

0.1.1

Patch Changes

  • 5c00e45045: Add catalog fact retrievers

    Add fact retrievers which generate facts related to the completeness of entity data in the catalog.

  • Updated dependencies

    • @backstage/catalog-client@0.5.2
    • @backstage/catalog-model@0.9.7
    • @backstage/backend-common@0.9.10