Commit Graph

71724 Commits

Author SHA1 Message Date
Kim Jikwan e4eac3ec84 chore : Add Spring Batch Dashboard plugin to marketplace
Signed-off-by: Kim Jikwan <zc149@naver.com>
2026-03-11 11:12:54 +09:00
Fredrik Adelöw 90ea210559 Merge pull request #33100 from backstage/changeset-release/master
Version Packages (next)
2026-03-10 19:45:31 +01:00
github-actions[bot] ed7c4e3bef Version Packages (next) 2026-03-10 17:34:12 +00:00
Patrik Oldsberg 1097f68579 Merge pull request #33181 from backstage/rugvip/cli-boolean-flag-negation
cli: enable --no- prefix negation for boolean flags
2026-03-10 18:27:53 +01:00
Jonathan Roebuck 106d1b2a0e feat(catalog-backend-module-github): add config flag for verified email behavior (#33262)
Add a `defaultUserTransformer.useVerifiedEmails` config option to the
githubOrg provider, making the verified domain email behavior from #32997
opt-in rather than the default.

Signed-off-by: Jonathan Roebuck <jroebuck@spotify.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 16:55:53 +00:00
Fredrik Adelöw bed58405ab Merge pull request #33263 from backstage/freben/notar
remove @types/tar
2026-03-10 17:27:11 +01:00
Fredrik Adelöw df604dd3ae Merge pull request #33261 from backstage/freben/icon
fixup icons
2026-03-10 17:26:01 +01:00
benjdlambert 74aa55f0e9 chore: reset yarn.lock
Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-10 17:20:38 +01:00
Patrik Oldsberg 5a5a113070 chore: deduplicate yarn.lock entries
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-10 17:20:38 +01:00
Patrik Oldsberg feaf449008 cli: enable --no- prefix negation for boolean flags
Bump cleye to ^2.3.0 (which pulls in type-flag 4.1.0) and enable
booleanFlagNegation: true in all cli() invocations so that boolean
flags automatically support --no-<flag> prefix negation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-10 17:20:38 +01:00
Ben Lambert fa6dd7a611 chore: fix build (#33264)
Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-10 17:19:29 +01:00
Fredrik Adelöw dbb7f0017a Merge pull request #33176 from backstage/freben/xml
bump aws-sdk to get rid of critical fast-xml-parser warning
2026-03-10 17:04:33 +01:00
Johan Persson d4d52fb13c fix(ui): ensure disabled rows override pointer cursor
Move the disabled rule after the pointer cursor rules so that
disabled rows always show cursor: not-allowed, even when they
have data-href or data-selection-mode.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-10 17:00:38 +01:00
Johan Persson f42f4cc055 fix(ui): truncate Table column headers with ellipsis on overflow
Wrap column header text in a label span with text-overflow: ellipsis
so that long headers truncate instead of wrapping to multiple lines.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-10 17:00:38 +01:00
Johan Persson fbd5c5a93d fix(ui): only show pointer cursor on interactive Table rows
Row always passed onAction to React Aria even when no handler or
href was set, causing all rows to appear interactive. Now onAction
is only passed when there is an actual interaction. CSS explicitly
sets cursor: default on rows and scopes cursor: pointer to rows
with href, selection mode, or pressable state.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-10 17:00:38 +01:00
Fredrik Adelöw 1fd15249ad remove @types/tar
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 16:44:41 +01:00
Fredrik Adelöw 645749d827 Merge pull request #33180 from cftad/gh-waittime
Update GitHub Scaffolder Environment Action Input Description
2026-03-10 16:41:20 +01:00
Fredrik Adelöw da2a0f974c Merge pull request #33242 from backstage/renovate/react-monorepo
fix(deps): update dependency react-refresh to ^0.18.0
2026-03-10 16:39:28 +01:00
Fredrik Adelöw 37459ebed3 Merge pull request #33027 from Flagsmith/asaphk/flagsmith-plugin
docs: add the Flagsmith plugin to the microsite directory
2026-03-10 16:36:54 +01:00
Fredrik Adelöw f234b29025 Merge pull request #33234 from backstage/renovate/postgres-17.x
chore(deps): update postgres docker tag to v17.9
2026-03-10 16:34:19 +01:00
Fredrik Adelöw 1340c82948 fixup icons
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 16:33:24 +01:00
Fredrik Adelöw cbc012c664 Merge pull request #32340 from Believe-SA/docs/hooks
feat(docs-ui): document BUI's hooks
2026-03-10 16:29:22 +01:00
Fredrik Adelöw c07c27d2b1 Merge pull request #33258 from backstage/freben/fix-e2e
fix end to end tests
2026-03-10 16:27:40 +01:00
Fredrik Adelöw 26fa44767a Merge pull request #31989 from 0xts/feat/scaffolder-logs-btn
feat: add log download btn for LogViewer
2026-03-10 16:24:26 +01:00
Fredrik Adelöw 1b116e4160 Merge pull request #33210 from backstage/renovate/changesets-cli-2.x-lockfile
chore(deps): update dependency @changesets/cli to v2.30.0
2026-03-10 16:23:34 +01:00
Fredrik Adelöw 2fe57aa333 Merge pull request #33158 from backstage/freben/move-stitch-queue-2
catalog: move stitch queue into dedicated table
2026-03-10 16:21:13 +01:00
Fredrik Adelöw 294f9fe17f Merge pull request #32377 from samarthsinh2660/fix/table-filters-title-layout
fix(core-components): fix Table layout when filters and title are used together
2026-03-10 16:19:10 +01:00
Fredrik Adelöw a302ac285c fix end to end tests
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 16:16:12 +01:00
Fredrik Adelöw 422a79039b Merge pull request #32619 from kaidubauskas-dd/kaidd/fix-user-slack-dms
fix(notifications-slack): Only DM explicit user recipients
2026-03-10 15:33:57 +01:00
Fredrik Adelöw 3b38dd0249 fix: mock fromTemporaryCredentials at module boundary instead of nested STS client
Replace the @aws-sdk/nested-clients/sts mock with a mock of
fromTemporaryCredentials itself. This avoids depending on AWS SDK
internal implementation details while still verifying that the correct
role ARN, session name, and external ID are passed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 15:29:30 +01:00
Fredrik Adelöw 241aa36b00 Merge pull request #33221 from backstage/freben/add-location-on-conflict-refresh
Add onConflict option to location registration endpoint
2026-03-10 15:19:31 +01:00
Fredrik Adelöw 63746129b2 reports
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 15:18:11 +01:00
Fredrik Adelöw a49c59f2da Update .changeset/curvy-socks-punch.md
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-03-10 14:56:07 +01:00
Fredrik Adelöw 5dc320ed5e remove unnecessary cast
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:39:01 +01:00
Fredrik Adelöw dfdb8e3a73 Add defaultLocationConflictStrategy config option for catalog locations
Adds a catalog config option to set the default conflict strategy when
registering locations, so adopters can default to 'refresh' instead of
'reject' without requiring each caller to specify it explicitly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:06 +01:00
Fredrik Adelöw d3796b6165 Fix OpenAPI spec linting errors
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:05 +01:00
Fredrik Adelöw 05a3e13b88 Add test for onConflict refresh updating refresh_state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:05 +01:00
Fredrik Adelöw e8dc06d2e9 Clean up test assertions for createLocation options
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:05 +01:00
Fredrik Adelöw 67fa705515 Use direct DB update for onConflict refresh instead of RefreshService
Simplify by updating refresh_state directly (next_update_at=now,
result_hash='') to force reprocessing, removing the need for
RefreshService wiring in the location store.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:04 +01:00
Fredrik Adelöw ced73ba3a0 Move onConflict refresh logic into DefaultLocationStore
The store now owns the conflict resolution and refresh logic directly,
keeping DefaultLocationService as a thin pass-through layer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:04 +01:00
Fredrik Adelöw 5d95e8e7ac add changeset
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:04 +01:00
Fredrik Adelöw 32e9499caf Add onConflict query parameter to POST /locations endpoint
Adds an optional `onConflict` query parameter to the location creation
endpoint. When set to 'refresh', a conflict due to an already-registered
location triggers a refresh of the existing location entity instead of
returning a 409 error. The default behavior ('reject') is unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:35:04 +01:00
Fredrik Adelöw 6c865dbd1d fix: use AWS_SHARED_CREDENTIALS_FILE instead of smithy internals in tests
Replace the brittle @smithy/shared-ini-file-loader internals hack with
temp credential files and AWS_SHARED_CREDENTIALS_FILE/AWS_CONFIG_FILE
env vars, which is the official AWS SDK mechanism for this.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:29:39 +01:00
Fredrik Adelöw d3cb061c5f Update packages/integration-aws-node/src/DefaultAwsCredentialsManager.test.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2026-03-10 14:29:39 +01:00
Fredrik Adelöw f3f5cac4d1 fix: update DefaultAwsCredentialsManager tests for new AWS SDK internals
The AWS SDK now uses @aws-sdk/nested-clients/sts internally in
fromTemporaryCredentials, so the tests need to mock both the regular
and nested STS clients. Also adapts to the new $source metadata on
credentials and the new @smithy/shared-ini-file-loader for ini profile
mocking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:29:39 +01:00
Fredrik Adelöw 7a1278bc0b fix: cast ListObjectsV2Command to any to fix type mismatch with @aws-sdk/middleware-endpoint
After bumping aws-sdk packages, @smithy/middleware-endpoint and
@aws-sdk/middleware-endpoint have incompatible EndpointParameterInstructions
types. Since this is already a workaround, casting to any is appropriate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:29:39 +01:00
Fredrik Adelöw 54a101a895 bump aws-sdk to get rid of critical fast-xml-parser warning
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 14:29:36 +01:00
Ben Lambert d0f4cd215b feat(cli): add auth commands for OIDC login (#32920)
* feat(cli): add auth commands for OIDC login

Signed-off-by: benjdlambert <ben@blam.sh>

* address PR review feedback

- move CIMD check before callback server start
- add try/finally for callback server cleanup
- validate URLs with human-readable errors
- deduplicate config URL candidates
- preserve selected flag on re-authentication
- delete accessToken on logout
- log token refresh to stderr in show command
- fix command descriptions to reference CIMD not DCR
- type keytar as optionalDependency, rename storage paths
- add auth-backend changeset

Signed-off-by: benjdlambert <ben@blam.sh>

* migrate auth module from yargs to cleye pattern

Signed-off-by: benjdlambert <ben@blam.sh>

* address PR review feedback

- consolidate storage imports in auth.ts
- add withMetadataLock to setSelectedInstance
- skip file permission tests on Windows
- clarify changeset endpoint path

Signed-off-by: benjdlambert <ben@blam.sh>

* address review feedback from Rugvip and Copilot

- use stdout for user-facing messages instead of stderr
- remove clientSecret remnants from logout
- make refresh_token optional in token response schema
- add timeout to CIMD metadata fetch
- pass same state to callback server and authorize URL
- remove inaccurate test comment

Signed-off-by: benjdlambert <ben@blam.sh>

* validate state in callback server, add CIMD endpoint tests

- localServer now validates the OAuth state parameter in the request
  handler and returns 400 on mismatch
- Added tests for the CIMD metadata endpoint in OidcRouter covering
  both disabled and enabled cases

Signed-off-by: benjdlambert <ben@blam.sh>

* revert validateRequest to use Zod error details

Signed-off-by: benjdlambert <ben@blam.sh>

* fix callback server hanging by closing keep-alive connections

Signed-off-by: benjdlambert <ben@blam.sh>

* rename secret store service prefix to backstage-cli:auth-instance

Signed-off-by: benjdlambert <ben@blam.sh>

---------

Signed-off-by: benjdlambert <ben@blam.sh>
2026-03-10 13:28:25 +00:00
Fredrik Adelöw d056002e64 Merge pull request #33241 from backstage/freben/scheduler-cancel-task
Add cancelTask to SchedulerService for cancelling running tasks
2026-03-10 14:27:28 +01:00
Fredrik Adelöw c0b9c63be4 Fix TypeScript error in MockSchedulerService test
Use non-null assertion for resolveBlock since TypeScript cannot track
the async reassignment across the setTimeout boundary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
2026-03-10 13:59:40 +01:00