Repository navigation
v2.0.0-rc.3: release hardening for develop - #1421
Merged
Merged
Conversation
Fixes, tests and decisions for everything in develop that is not yet in main (team access, lineup and homepage sections, settings redesign, saved widgets, first day of week, SSO, API keys, enterprise SSO in ee), plus the app bugs found while auditing the help center. Security - Homepage previews only accept settings from the app's own parent frame and can't be framed by other sites; frame protection matches any letter case or URL encoding of the protected paths. - Changing an enterprise SSO connection's issuer, client or endpoints needs a new client secret, so the stored one is never sent to a new provider. - Stopping impersonation invalidates the impersonation token. - SSO-enforced members are refused before the 2FA prompt; platform superadmins can't link, sign in through or confirm identity with an account's company SSO. - Saved widgets reject newly submitted ids that aren't on the event. - Offline payment instructions need Manage payments and a session to change. Money and capacity - Webhook payloads keep full prices whoever triggers them. - A second partial Stripe refund of the same amount goes through; a pending refund stays Refund pending instead of failed; the refund email is sent once Stripe confirms success. - Reactivating a cancelled attendee checks ticket, shared and date capacity. - Struck "was" prices use per-date overrides and the tax-inclusive figure; the cart total rounds per line like checkout. - The marked-as-paid email attaches the paid invoice. Product decisions - Version 2.0.0-rc.3. - Date-only picks in end and expiry fields default to 23:59. - SSO_BUTTONS_VISIBLE removed. - Active members, the owner included, can link the account's enterprise connection; Require SSO no longer signs out or revokes keys of members the connection can't sign in. - Licence lapse copy and ee/LICENCE describe what keeps working. - The legacy attendee check_in API endpoint is deprecated. Messaging, webhooks and config - "Send as test" only ever emails the sender and sends immediately. - Webhook deliveries are queued and retried; payloads too large to queue are sent inline once. - Queue batching and failed jobs default to pgsql; APP_CDN_URL is read via config; the organizer attendee self-service default saves. Plus lineup, schedule, homepage section, widget, settings and accessibility fixes, a valid OpenAPI 3.1 reference, and translations for every locale. Backend tests go from 3,259 to 3,553 and E2E tests from 601 to 784.
|
This PR was not deployed automatically as @max-1-max does not have access to the Railway project. In order to get automatic PR deploys, please add @max-1-max to your workspace on Railway. |
Contributor
✅ E2E smoke tests: Everything passed.
|
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What this does
Gets develop ready to release as v2.0.0-rc.3. It covers everything in develop that isn't in main yet (team access, lineup and homepage sections, settings redesign, saved widgets, first day of week, social and enterprise SSO, API keys) and the app bugs found while checking every help-center article against the code.
Version files are bumped to
2.0.0-rc.3(VERSION,backend/VERSION,composer.json,package.json).Changes by area
Security
Money and capacity
Product decisions in this PR
SSO_BUTTONS_VISIBLEis removed.ee/LICENCEsay exactly what keeps working after a lapse.POST /events/{id}/attendees/{public_id}/check_inis marked deprecated in the API reference. Its behaviour is unchanged, except that a check-out of a never-checked-in attendee returns 409 instead of 500.Messaging and webhooks
Operators and config
pgsqlconnection, which fixes 500s on the all-in-one image. The all-in-one compose passesDB_CONNECTIONandAPP_API_RATE_LIMIT_PER_MINUTE.APP_CDN_URLis read through config, so it works withconfig:cache.backend/VERSIONis kept in sync byscripts/set-version.sh.Product areas
aff/promo_code/utm_*parameters./widget/*sendsX-Robots-Tag: noindex.IntegrationApiReferenceTestguards against duplicate operationIds and invalid tuple schemas.API and behaviour changes to note in the release
offline_payment_instructionschanges need Manage payments and a session: API keys and Organizer-role members get a 422 when the value would change.check_inendpoint is deprecated.event_type, the payload id andevent_sent_at./auth/sso/providersno longer returnsbuttons_visible.price_before_discount_including_taxes_and_feeson public product pricesschedule_dayson public lineup entries (recurring events only)is_checked_inon attendees in the public order payloadmeta.linkable_connectionsonGET /users/me/sso-identitiesHow it was tested
npx tsc --noEmit: 36 errors, the same set as develop, none new.pint --testpasses on every changed PHP file.api-reference:exportandscramble:analyzeare clean, and Redocly lint reports 0 errors.