Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
7e5ff0b
5564: Update composer dependencies
turegjorup Oct 14, 2025
aa24a1a
5564: Update to phpunit 12
turegjorup Oct 14, 2025
e83bf18
5564: Update itk docker template, update github actions setup
turegjorup Oct 14, 2025
060d7e4
5564: Update Changelog
turegjorup Oct 14, 2025
a647b3d
5564: Update exported api spec
turegjorup Oct 14, 2025
5efc33a
5564: Lock api-platform to 4.1, bump composer dependencies
turegjorup Oct 14, 2025
338ccab
5564: PHP code style fixes
turegjorup Oct 14, 2025
0d207f9
5564: Add vincentlanglet/twig-cs-fixer
turegjorup Oct 14, 2025
16211ac
5564: Lint twig files
turegjorup Oct 14, 2025
ac2a23a
5564: Use assets mapper for CSS
turegjorup Oct 14, 2025
193ade3
5564: Lint yml files
turegjorup Oct 14, 2025
32b6143
5564: Add api spec to prettier ignore
turegjorup Oct 14, 2025
f1548aa
5564: Composer normalize
turegjorup Oct 14, 2025
918deec
5564: JS lint
turegjorup Oct 14, 2025
69528dc
5564: Markdown lint
turegjorup Oct 14, 2025
ad0a2f4
5564: CSS lint
turegjorup Oct 14, 2025
180faff
5564: Remove redundant psalm config
turegjorup Oct 17, 2025
e2a30c7
5564: Add Taskfile
turegjorup Oct 17, 2025
b3dece7
5564: Move commands crom composer.json to taskfile, cleanup actions
turegjorup Oct 17, 2025
129ac60
5564: Fix yaml indentation
turegjorup Oct 17, 2025
23daf7a
5564: Update checkout action
turegjorup Oct 17, 2025
fe4eb24
5564: Update test action to report code coverage
turegjorup Oct 17, 2025
a1c752a
5564: Fix PR review action
turegjorup Oct 17, 2025
0f57193
5564: Fix PR fixtures action
turegjorup Oct 17, 2025
39bc3f7
5564: Lint yml files
turegjorup Oct 17, 2025
9b278ff
5566: Add project entity and Leantime sync
turegjorup Oct 21, 2025
06ca1c5
5566: Add project crud controller, use 'disable' for actions, UI tweaks
turegjorup Oct 22, 2025
3cb35dc
5566: Add security contract entity and controller, refactor crud cont…
turegjorup Oct 23, 2025
e11493e
5566: Normalize composer.json
turegjorup Oct 23, 2025
c72a916
5566: Code style and static analysis cleanup
turegjorup Oct 23, 2025
a884b26
5566: Add CSS linting to taskfile, lint CSS files
turegjorup Oct 23, 2025
027eeac
Merge branch 'main' into feature/5566_maintenance_contract-
martinyde May 18, 2026
01cf02e
Added composer lock and fixed dependency issues
martinyde May 18, 2026
ba9c112
Added menu link
martinyde May 18, 2026
2144dd2
Merge tag '1.11.0' into develop
turegjorup May 18, 2026
514260b
Removed deprecated leantime service, and project entity
martinyde May 19, 2026
c023288
Merge branch 'main' into hotfix/5566_maintenance_contract-merge-from-…
martinyde May 19, 2026
564b179
Merge branch 'hotfix/5566_maintenance_contract-merge-from-main' into …
martinyde May 19, 2026
4368891
Updated changelog
martinyde May 19, 2026
22a53c8
Applied coding standards
martinyde May 19, 2026
81923af
Updated test suite github action
martinyde May 19, 2026
1e3d94f
Updated PR.yml
martinyde May 19, 2026
7293af4
Updated PR
martinyde May 19, 2026
369f78d
Updated composer.lock
martinyde May 19, 2026
aa32aaa
Normalized composer
martinyde May 19, 2026
904b759
Modified changelog
martinyde May 19, 2026
27837bc
feat: migrate to Symfony Asset Mapper, drop psalm.xml and admin.css
turegjorup May 20, 2026
f6db753
chore: scope PR down to maintenance contract feature
turegjorup May 20, 2026
08c2443
chore: drop phpstan-ignore on AutoBadge files, require ignore comments
turegjorup May 20, 2026
7c773f2
docs: add class-level docblocks to AutoBadge menu helpers
turegjorup May 20, 2026
1403daf
fix: restore Encore-based asset wiring, drop stranded AssetMapper calls
turegjorup May 20, 2026
e16aaea
chore: drop scratch detail.html.twig override
turegjorup May 20, 2026
dcdd479
Merge pull request #81 from itk-dev/feature/5564_asset_mapper_migration
turegjorup May 20, 2026
263f31f
Merged migrations into a new single migration with just secority cont…
martinyde May 20, 2026
4985f7b
Merge branch 'develop' into feature/5566_maintenance_contract-by-martin
martinyde May 20, 2026
3289566
feat: add Renovate auto-patch and auto-release pipeline
turegjorup May 21, 2026
1df789b
chore: run Renovate at 12:00 Europe/Copenhagen
turegjorup May 21, 2026
36ae460
chore: untrack RENOVATE_PLAN.md
turegjorup May 21, 2026
36abada
chore: disable Codecov upload on the fork
turegjorup May 21, 2026
292ba86
13
turegjorup May 21, 2026
f4c8520
Merge pull request #82 from turegjorup/feat/renovate-auto-patch
turegjorup May 21, 2026
5498dd6
Merge branch 'feature/5566_maintenance_contract-by-martin' into develop
martinyde May 27, 2026
8c9100d
Merge pull request #80 from itk-dev/feature/5566_maintenance_contract…
martinyde May 27, 2026
dc97bd3
Merge branch 'develop' of github.com:itk-dev/devops_itksites into dev…
martinyde May 27, 2026
6b57d67
Merge branch 'develop' into feature/code_owners
martinyde May 27, 2026
d77f4a0
Added codeowner and project entities
martinyde May 27, 2026
a3846dd
Add advisory list across each repo
martinyde May 27, 2026
73b2351
Added leantime integration
martinyde Jun 1, 2026
c61a414
Moved controller content to service
martinyde Jun 1, 2026
835450b
Updated documentation
martinyde Jun 1, 2026
62d3324
Modified changelog
martinyde Jun 1, 2026
de1aa9b
Modified changelog
martinyde Jun 1, 2026
0e07ab2
Merge tag '1.11.1' into develop
turegjorup Jun 1, 2026
400b745
Merge tag '1.11.1' into feature/code_owners
turegjorup Jun 1, 2026
50e4e63
Merge tag '1.11.1' into release/security-adv-code-owners
turegjorup Jun 1, 2026
c40c348
Canged to use .env variables for leantime service
martinyde Jun 1, 2026
175889f
Update openid-connect-bundle to 5.0 and Symfony to 8.1
turegjorup Jun 2, 2026
9dc1eeb
Merge branch 'release/security-adv-code-owners' of github.com:itk-dev…
martinyde Jun 2, 2026
be611ee
Merge branch 'release/security-adv-code-owners' into feature/code_owners
martinyde Jun 2, 2026
86fab2f
Fix CI: audit lock file, regenerate API spec, changelog 1.11.1 section
turegjorup Jun 2, 2026
57ec841
Merge pull request #85 from itk-dev/feature/update-oidc-5.0-symfony-8.1
turegjorup Jun 2, 2026
fa43fab
Merge tag '1.11.2' into develop
turegjorup Jun 2, 2026
96182b4
Merge branch 'main' into develop (composer audit --locked)
turegjorup Jun 2, 2026
7f8808c
Merge branch 'develop' of github.com:itk-dev/devops_itksites into dev…
martinyde Jun 3, 2026
7c897ea
Merge branch 'develop' into feature/code_owners
martinyde Jun 3, 2026
e882b7e
Remove fork-only Renovate pipeline merged upstream by mistake
turegjorup Jun 8, 2026
d6dede9
Merge pull request #86 from itk-dev/fix/remove-fork-renovate-pipeline
turegjorup Jun 8, 2026
fdcade5
CI: update codecov/codecov-action to v7
turegjorup Jun 8, 2026
bae8493
CHANGELOG: add PR number for codecov v7 entry
turegjorup Jun 8, 2026
28a6d27
Merge pull request #87 from itk-dev/feature/update-codecov-action-v7
turegjorup Jun 8, 2026
554131d
Added API key on users
rimi-itk Jul 2, 2026
5b72353
Added security to the detection result API
rimi-itk Jul 2, 2026
8953940
Added API endpoints for server and site collections
rimi-itk Jul 2, 2026
94aa0ec
Cleaned up user fixture. Added another user.
rimi-itk Jul 2, 2026
e2cf897
Updated API spec
rimi-itk Jul 2, 2026
813a912
Added console command test
rimi-itk Jul 2, 2026
b89bc6d
Updated API name and description
rimi-itk Jul 3, 2026
3ad5e54
Merge pull request #88 from itk-dev/feature/user-api-key
rimi-itk Jul 6, 2026
40b4c60
Added `--rm` to `docker compose run` in prod deployment
rimi-itk Jul 2, 2026
611d0d5
Merge pull request #89 from itk-dev/feature/woodpecker-prod
rimi-itk Jul 6, 2026
ca17d7e
test: run migrations against a populated database in CI
turegjorup Jul 29, 2026
554ddd0
fix: let user API key migration run on populated databases
turegjorup Jul 29, 2026
f6ea60a
Merge pull request #90 from itk-dev/fix/user-api-key-migration-existi…
turegjorup Aug 3, 2026
613a7d6
feat: add health endpoints for monitoring
turegjorup Aug 3, 2026
2d9fe6b
chore: update documentation link
turegjorup Aug 25, 2026
4945358
chore: update openid-connect-bundle to 6.0
turegjorup Aug 25, 2026
0b76418
feat: render a failed OIDC login as a page
turegjorup Aug 25, 2026
df407cf
Merge branch 'develop' into feature/code_owners
turegjorup Aug 26, 2026
ea18029
feat: report OIDC client secret expiry in health checks
turegjorup Aug 26, 2026
9d14251
fix(deps): update composer dependencies for security advisories
turegjorup Aug 26, 2026
1578f45
Merge pull request #93 from itk-dev/fix/composer-audit-advisories
turegjorup Aug 26, 2026
0086137
Merge remote-tracking branch 'origin/develop' into feature/openid-con…
turegjorup Aug 26, 2026
0903c82
refactor: use EasyAdmin badge and icon components in admin templates
turegjorup Aug 26, 2026
356cbe3
refactor: drop the AutoBadge menu item classes
turegjorup Aug 26, 2026
6bf01ae
fix: restore ITK admin styling and hide the zero-count badge
turegjorup Aug 26, 2026
27b3a68
Merge pull request #94 from itk-dev/feature/easyadmin-55-simplifications
turegjorup Aug 26, 2026
fa56672
Merge remote-tracking branch 'origin/develop' into feature/health-end…
turegjorup Aug 26, 2026
db3082f
chore(deps): update twig-cs-fixer to 4.0
turegjorup Aug 26, 2026
cb0632a
Merge pull request #95 from itk-dev/chore/composer-update-sweep
turegjorup Aug 26, 2026
a27cb29
Merge remote-tracking branch 'origin/develop' into feature/code_owners
turegjorup Aug 26, 2026
f1fa6eb
fix: make the Service Agreements page render and state its currency
turegjorup Aug 26, 2026
77699ad
Merge pull request #83 from itk-dev/feature/code_owners
turegjorup Aug 26, 2026
630b266
Merge remote-tracking branch 'origin/develop' into feature/easyadmin-…
turegjorup Aug 26, 2026
3e34114
Merge pull request #96 from itk-dev/feature/easyadmin-form-addons
turegjorup Aug 26, 2026
9a0206a
Merge remote-tracking branch 'origin/develop' into feature/health-end…
turegjorup Aug 26, 2026
61b0a25
Merge pull request #91 from itk-dev/feature/health-endpoint
turegjorup Aug 26, 2026
5751f48
Merge remote-tracking branch 'origin/develop' into feature/openid-con…
turegjorup Aug 26, 2026
14385a7
feat: run local development against a mock identity provider
turegjorup Aug 26, 2026
547fad4
Merge pull request #97 from itk-dev/feature/local-oidc-mock
turegjorup Aug 26, 2026
f6aed78
Merge branch 'develop' into feature/openid-connect-bundle-6.0
turegjorup Aug 26, 2026
984543a
feat: update openid-connect-bundle to 6.1
turegjorup Aug 26, 2026
b9e46d0
Merge pull request #92 from itk-dev/feature/openid-connect-bundle-6.0
turegjorup Aug 26, 2026
fee013a
feat: deprecate OIDC and Service certificates in the admin
turegjorup Sep 4, 2026
489b7bc
docs: shorten the changelog entry
turegjorup Sep 4, 2026
111c334
Merge pull request #98 from itk-dev/feature/deprecate-oidc-service-ce…
turegjorup Sep 4, 2026
8770c3b
Release 1.12.0
turegjorup Sep 4, 2026
f5ca31b
fix: pass --no-dev to composer in the staging deploy
turegjorup Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ MESSENGER_TRANSPORT_DSN_FAILED='doctrine://default?queue_name=failed'
AZURE_AZ_OIDC_METADATA_URL=AZURE_AZ_APP_METADATA_URL
AZURE_AZ_OIDC_CLIENT_ID=AZURE_AZ_APP_CLIENT_ID
AZURE_AZ_OIDC_CLIENT_SECRET=AZURE_AZ_APP_CLIENT_SECRET
# Date the Azure client secret expires (any strtotime-parseable value)
AZURE_AZ_OIDC_CLIENT_SECRET_EXPIRES_AT=2027-01-31
AZURE_AZ_OIDC_REDIRECT_URI=AZURE_AZ_APP_REDIRECT_URI
AZURE_AZ_OIDC_ALLOW_HTTP=false
AZURE_AZ_OIDC_LEEWAY=10
Expand All @@ -63,3 +65,22 @@ VAULT_SECRET_ID="CHANGE_ME_IN_LOCAL_ENV"

# The number of old results for each server/result-type combination
APP_KEEP_RESULTS=5

###> economics ###
APP_ECONOMICS_URI=https://economics.itkdev.dk
APP_ECONOMICS_API_KEY=changeme
###< economics ###

###> app/leantime ###
APP_LEANTIME_URI=http://leantime.invalid
APP_LEANTIME_API_KEY=
###< app/leantime ###

###> health ###
# Seconds to cache the health check results, so that monitoring polling
# /health/ready cannot amplify into load on the database and the broker.
HEALTH_CACHE_TTL=15
# Seconds since the last detection result before ingest is reported degraded.
# The harvester currently reports several hundred times an hour.
HEALTH_INGEST_MAX_AGE=1800
###< health ###
19 changes: 19 additions & 0 deletions .env.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Committed defaults for the dev environment.
#
# Local development runs against the mock identity provider defined in
# docker-compose.override.yml, because the real one has no redirect URI
# registered for a developer machine. See README.md, "OpenID Connect".
#
# Override any of these in .env.local to point at a different provider.

###> itk-dev/openid-connect-bundle ###
AZURE_AZ_OIDC_METADATA_URL=http://idp.itksites.local.itkdev.dk/.well-known/openid-configuration
# The mock accepts any client id and secret.
AZURE_AZ_OIDC_CLIENT_ID=client-id
AZURE_AZ_OIDC_CLIENT_SECRET=client-secret
AZURE_AZ_OIDC_REDIRECT_URI=https://itksites.local.itkdev.dk/openid-connect/generic
# The application reaches the mock over http inside the docker network. Never
# true anywhere else: since itk-dev/openid-connect 5.1 this governs every
# endpoint the discovery document announces, not only the metadata URL.
AZURE_AZ_OIDC_ALLOW_HTTP=true
###< itk-dev/openid-connect-bundle ###
5 changes: 5 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@ APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots

# The path of this URI is the only path the OIDC authenticator treats as a
# callback (openid-connect-bundle 6.0), so it has to be the app's own callback
# route for a callback to reach the authenticator at all.
AZURE_AZ_OIDC_REDIRECT_URI=https://itksites.example.org/openid-connect/generic
115 changes: 115 additions & 0 deletions .github/workflows/doctrine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: Doctrine

env:
COMPOSE_USER: root

on:
pull_request:
push:
branches:
- main
- develop

jobs:
validate-doctrine-schema:
name: Validate Doctrine Schema
runs-on: ubuntu-latest
env:
APP_ENV: prod

steps:
- uses: actions/checkout@v6

- name: Create docker network
run: |
docker network create frontend

- name: Run Composer Install
run: |
docker compose run --rm phpfpm composer install

- name: Run Doctrine Migrations
run: |
docker compose run --rm phpfpm bin/console doctrine:migrations:migrate --no-interaction

- name: Setup messenger "failed" doctrine transport to ensure db schema is updated
run: |
docker compose run --rm phpfpm bin/console messenger:setup-transports failed

- name: Validate Doctrine schema
run: |
docker compose run --rm phpfpm bin/console doctrine:schema:validate

load-fixtures:
name: Load Doctrine fixtures
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6

- name: Create docker network
run: |
docker network create frontend

- name: Run Composer Install
run: |
docker compose run --rm phpfpm composer install --no-interaction

- name: Run Doctrine Migrations
run: |
docker compose run --rm phpfpm bin/console doctrine:migrations:migrate --no-interaction

- name: Load fixtures
run: |
docker compose run --rm phpfpm composer fixtures

# The jobs above migrate an empty database. A deployment migrates a database
# that already holds rows, so a migration that cannot cope with existing
# data passes those jobs unnoticed. This job builds the database as it looks
# before the pull request, fixtures included, and then applies the pull
# request's migrations on top of it.
migrate-populated-database:
name: Run migrations on a populated database
runs-on: ubuntu-latest
# This workflow also runs on pushes to main and develop, where there is
# no pull request to read a base branch from: the checkout steps below
# would get an empty revision and fail. A push has no base to compare
# against, so skip the job rather than guess one.
if: github.event_name == 'pull_request'

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Create docker network
run: |
docker network create frontend

- name: Check out the base branch
run: |
git checkout ${{ github.event.pull_request.base.sha }}

- name: Run Composer Install
run: |
docker compose run --rm phpfpm composer install --no-interaction

- name: Run Doctrine Migrations
run: |
docker compose run --rm phpfpm bin/console doctrine:migrations:migrate --no-interaction

- name: Load fixtures
run: |
docker compose run --rm phpfpm composer fixtures

- name: Check out the pull request
run: |
git checkout ${{ github.event.pull_request.head.sha }}

- name: Run Composer Install
run: |
docker compose run --rm phpfpm composer install --no-interaction

- name: Run Doctrine Migrations on the populated database
run: |
docker compose run --rm phpfpm bin/console doctrine:migrations:migrate --no-interaction
37 changes: 1 addition & 36 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,6 @@ name: Review
env:
COMPOSE_USER: runner
jobs:
validate-doctrine-schema:
runs-on: ubuntu-latest
name: Validate Doctrine Schema
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Create docker network
run: docker network create frontend

- name: Install and validate
run: |
docker compose up --detach
docker compose exec phpfpm composer install --no-interaction
docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
docker compose exec phpfpm bin/console messenger:setup-transports failed
docker compose exec phpfpm bin/console doctrine:schema:validate

phpstan:
runs-on: ubuntu-latest
name: PHPStan
Expand Down Expand Up @@ -56,30 +38,13 @@ jobs:
docker compose exec -e XDEBUG_MODE=coverage phpfpm vendor/bin/phpunit --coverage-clover=coverage/unit.xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v7
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/unit.xml
fail_ci_if_error: true
flags: unittests

fixtures:
runs-on: ubuntu-latest
name: Load fixtures
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Create docker network
run: docker network create frontend

- name: Load fixtures
run: |
docker compose up --detach
docker compose exec phpfpm composer install --no-interaction
docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
docker compose exec phpfpm composer fixtures

build-assets:
runs-on: ubuntu-latest
name: Build assets
Expand Down
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,14 @@ yarn-error.log
phpstan.neon
###< phpstan/phpstan ###
.phpunit.cache

###> symfony/asset-mapper ###
/public/assets/
/assets/vendor/
###< symfony/asset-mapper ###

.twig-cs-fixer.cache
.playwright-mcp

# Working docs not meant to ship
RENOVATE_PLAN.md
4 changes: 2 additions & 2 deletions .woodpecker/prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ steps:
keep: 4
playbook: "release"
pre_up:
- itkdev-docker-compose-server run phpfpm bin/console doctrine:migrations:migrate --no-interaction
- itkdev-docker-compose-server run phpfpm bin/console messenger:setup-transports
- itkdev-docker-compose-server run --rm phpfpm bin/console doctrine:migrations:migrate --no-interaction
- itkdev-docker-compose-server run --rm phpfpm bin/console messenger:setup-transports

- name: Run post deploy
image: itkdev/ansible-plugin:1
Expand Down
2 changes: 1 addition & 1 deletion .woodpecker/stg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ steps:
- git checkout ${CI_COMMIT_BRANCH}
- git pull
- itkdev-docker-compose-server up -d --force-recreate --remove-orphans
- itkdev-docker-compose-server exec phpfpm composer install -no-dev -o --classmap-authoritative
- itkdev-docker-compose-server exec phpfpm composer install --no-dev -o --classmap-authoritative
- itkdev-docker-compose-server exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
- itkdev-docker-compose-server exec phpfpm bin/console messenger:setup-transports
- itkdev-docker-compose-server exec phpfpm bin/console cache:clear
75 changes: 74 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,78 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.12.0] - 2026-09-04

- [#99](https://github.com/itk-dev/devops_itksites/pull/99)
Fix the staging deploy: `composer install` was passed `-no-dev`
- [#98](https://github.com/itk-dev/devops_itksites/pull/98)
Deprecate OIDC and Service certificates, keeping their data
- [#96](https://github.com/itk-dev/devops_itksites/pull/96)
Show the Service Agreements monthly price as Danish kroner,
`12.500,50 kr.`, on index and detail
- [#95](https://github.com/itk-dev/devops_itksites/pull/95)
Update `vincentlanglet/twig-cs-fixer` to 4.0. Every other dependency is
already at its latest minor; the remaining majors are held back by their
dependents
- [#94](https://github.com/itk-dev/devops_itksites/pull/94)
Use EasyAdmin's own components in the admin templates
- Replace hand-rolled badge and icon markup with `<twig:ea:Badge>` and
`<twig:ea:Icon>`, so the admin follows EasyAdmin's theming
- Drop the unused `AutoBadgeMenuItem`/`AutoBadgeCrudMenuItem` pair: EasyAdmin
hides a badge whose content is null
- Set the ITK blue with the theme API instead of overriding EasyAdmin's
colour variables one by one
- Load the admin stylesheet again: it was added as `css/admin.css`, a file
deleted in #81, so every admin page carried a 404 and no ITK styling
- [#93](https://github.com/itk-dev/devops_itksites/pull/93)
Update composer dependencies, clearing 15 security advisories
- `api-platform/core` 4.3.7 → 4.3.17, `easycorp/easyadmin-bundle` 5.0.11 → 5.5.1,
`guzzlehttp/guzzle` 7.10.6 → 7.15.5, `guzzlehttp/psr7` 2.10.4 → 2.13.1
- Regenerated the API spec: `symfony/yaml` now writes sequence items on their
own line. No API changes
- [#92](https://github.com/itk-dev/devops_itksites/pull/92) Update openid-connect-bundle to 6.0
- Bump `itk-dev/openid-connect-bundle` to `^6.0`
- A failed OIDC callback now raises an error instead of redirecting to the
identity provider again, so an expired client secret can no longer put the
site in a login loop
- Only the provider's callback path is treated as a callback; the configured
`redirect_uri` covers this, no `callback_path` needed
- Set `client_secret_expires_at` for the `azure_az` provider from the new
`AZURE_AZ_OIDC_CLIENT_SECRET_EXPIRES_AT` variable, so the bundle warns
before the secret expires
- Render a failed login as a page saying so, instead of an unhandled
exception, in `OpenIdConnectFailureListener`
- Add an `oidc_client_secret` health check, so a client secret nearing its
expiry shows up in `/health/detail` instead of in a login loop
- [#83](https://github.com/itk-dev/devops_itksites/pull/83) 7523: Service agreements
- Add Project entity top-level Economics project.
- Add CodeOwner entity
- Add Leantime integration
- [#91](https://github.com/itk-dev/devops_itksites/pull/91) Health endpoints
- Add `/health/live`, `/health/ready` and `/health/detail` endpoints
- Add health checks for database, RabbitMQ transport and detection result freshness
- Cache check results in a dedicated `cache.health` pool
- Exclude `^/health` from the firewalls and protect `/health/detail` with `ITKBasicAuth`
- [#90](https://github.com/itk-dev/devops_itksites/pull/90)
- Fixed user API key migration failing on databases with more than one user
- Generated an API key for existing users, as users created since already get
- Added users to the fixtures and a CI job running migrations on a populated
database
- [#89](https://github.com/itk-dev/devops_itksites/pull/89)
Added `--rm` to `docker compose run` in prod deployment
- [#88](https://github.com/itk-dev/devops_itksites/pull/88)
- Let users use the API
- Add security to detection results API endpoint
- Add server and site collections API endpoints
- [#80](https://github.com/itk-dev/devops_itksites/pull/80) 5566: Service agreements
- Add security contract entity with crud controller
- Add Abstract full crud controller and extend on it in some cases
- Add economics service and sync action/command for service agreement synchronization
- [#81](https://github.com/itk-dev/devops_itksites/pull/81) 5564: Asset Mapper migration
- Add Symfony Asset Mapper bundle and importmap
- Add Renovate auto-patch + auto-release pipeline (Phase 1 fork validation)
- [#87](https://github.com/itk-dev/devops_itksites/pull/87) Update `codecov/codecov-action` to v7

## [1.11.2] - 2026-06-02

- [#85](https://github.com/itk-dev/devops_itksites/pull/85)
Expand Down Expand Up @@ -191,7 +263,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [1.0.0] - 2022-09-15

[Unreleased]: https://github.com/itk-dev/devops_itksites/compare/1.11.2...HEAD
[Unreleased]: https://github.com/itk-dev/devops_itksites/compare/1.12.0...HEAD
[1.12.0]: https://github.com/itk-dev/devops_itksites/compare/1.11.2...1.12.0
[1.11.2]: https://github.com/itk-dev/devops_itksites/compare/1.11.1...1.11.2
[1.11.1]: https://github.com/itk-dev/devops_itksites/compare/1.11.0...1.11.1
[1.11.0]: https://github.com/itk-dev/devops_itksites/compare/1.10.1...1.11.0
Expand Down
Loading
Loading