Release 2.8.0#500
Merged
Merged
Conversation
- Rename 15 `changed_idx` indexes to `<table>_changed_idx` (Postgres scopes index names schema-wide; MariaDB scopes per-table — the shared name collides on Postgres). - Quote `user` table identifier in entity metadata (`#[ORM\Table(name: '`user`')]`). Doctrine emits the platform-native quote on every reference (`` `user` `` on MariaDB, `"user"` on Postgres), so no table rename is needed. - Add `validate-doctrine-schema-postgres` CI job that applies entity metadata to a Postgres 16 service container via `doctrine:schema:update --force --complete` and then runs `doctrine:schema:validate`. Gates against future entity-level Postgres regressions. Lands on 2.7 so the consolidated 3.0 migration (#441 / #442) can emit the portable shape from the start, keeping `migrations:rollup` honest for 2.x → 3.0 upgraders. Verified locally on MariaDB: migration applies cleanly, `doctrine:schema:validate` in sync, full PHPUnit suite green (133 tests / 516 assertions, identical to pristine release/2.7.0). Verified on Postgres 16: `doctrine:schema:update --force --complete` applies the metadata in 265 queries, `doctrine:schema:validate` in sync. down/up cycle of the new migration also verified. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y-prep-rename # Conflicts: # CHANGELOG.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat: prep db identifiers for cross-platform (Postgres) portability
Converts the configuration of a running 2.x installation to 3.x environment configuration, treating the loaded values in the running app as canonical (real env, compose environment blocks and dotenv files alike). - Maps every env var the 2.x app reads to its 3.x name (incl. the renames: APP_DEFAULT_DATE_FORMAT, APP_ACTIVATION_CODE_EXPIRE_INTERNAL, APP_KEY_VAULT_*, HTTP_CLIENT_LOG_LEVEL -> LOG_LEVEL_OUTBOUND_HTTP). - Fetches admin/client config.json from the inferred app URL (OIDC redirect URIs or COMPOSE_DOMAIN, overridable via --app-url) and converts them to the 3.x ADMIN_*/CLIENT_* variables. - Output as screen listing, dotenv file or compose environment block via --output (optionally --file). - Advises where non-application variables (COMPOSE_*, PHP_*, NGINX_*, MARIADB_*/MYSQL_*) belong in a 3.x deployment. - Test guards that every variable in .env stays covered by the map. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
In dockerised setups (e.g. os2display-docker-server) the command runs inside the api container, so --file writes to the container filesystem and does not survive a restart. The env/compose formats already send the document to stdout and notes/warnings to stderr; this makes that contract explicit: - write() instead of writeln() so stdout is byte-exact (single trailing newline) when redirected to a host file. - Regression test that a failing config.json fetch leaves stdout a clean, parseable dotenv document with the warning on stderr only. - README documents the host-side redirect pattern (docker compose exec -T ... --output=env > env.3x) and notes that --file only makes sense on mounted volumes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…fields-to-id Changed filter to filter through IDs instead of name on Area and Faci…
- replace tautological test assertion with assertGreaterThan - warn that screen output contains secrets - cap config.json fetch at a 10s timeout
…v-to-3x-command # Conflicts: # CHANGELOG.md
…mand feat: add app:utils:convert-env-to-3x command
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 2.8.0.
Changes
app:utils:convert-env-to-3x, converting a running 2.x installation's loaded config (env vars + admin/clientconfig.json) to 3.x environment configuration, with screen, dotenv and compose output. This is the canonical path for the upcoming 2.x → 3.0 upgrade.områdeId/facilitetsIdinstead of names (BRND API v2.0 only; the fields are hidden for v1.0 sources).changed_idxindexes to<table>_changed_idxand quoted theusertable identifier for cross-platform portability, with a Postgres CI gate.Why
Cuts the 2.8.0 release from develop: finalises the CHANGELOG (
[Unreleased]→[2.8.0]) and ships the convert-env helper so 2.x installations can prepare their 3.0 upgrade while still on the 2.x line.