-
Notifications
You must be signed in to change notification settings - Fork 14
v2.71.0
Date: 2026-04-28 Tag: v2.71.0 Commits since v2.70.0: 64 Version type: Minor bump (biweekly) — contains BREAKING schema changes
This release removes fields that were deprecated in v2.70.0 and restructures development program inputs. Any client query using the fields below will error after deploy.
| Field / Type | Change |
|---|---|
AssessmentStep.assessmentResults |
Removed |
Community.pools |
Removed |
Community.developmentPrograms |
Removed (deprecated v2.70.0) |
DevelopmentProgram.community |
Removed (deprecated v2.70.0) |
DevelopmentProgram.name |
Nullable → non-null |
DevelopmentProgram.descriptionForProfile |
Nullable → non-null |
CreateCommunityInterestInput |
userId + community: CommunityBelongsTo! → communityId: UUID!
|
CreateCommunityInterestInput.interestInDevelopmentPrograms |
Removed |
UpdateCommunityInterestInput.interestInDevelopmentPrograms |
Removed |
CreateDevelopmentProgramInterestInput |
Deleted |
UpdateDevelopmentProgramInterestInput |
Deleted |
CreateDevelopmentProgramInterestHasMany |
Deleted |
UpdateDevelopmentProgramInterestHasMany |
Deleted |
Deprecations (non-breaking):
-
CommunityInterest.interestInDevelopmentPrograms→ useuser.developmentProgramUserRecords -
DevelopmentProgram.descriptionForNominations→ replaced by pivot field oncommunity_development_program_talent_nomination_event
Referenced by the Rollback Procedure during incidents. Check this before running
migrate:rollback.
| Migration | Safe to rollback? | Notes |
|---|---|---|
2026_04_16_165303_create_development_program_user |
✅ Yes | Drops development_program_user table — no user-facing data loss |
2026_04_10_162756_update_development_program_nullable |
✅ Yes | Makes columns nullable again — safe |
2026_04_10_141222_add_development_program_abbreviation |
✅ Yes | Drops column — data loss only if abbreviations were entered |
2026_04_10_141210_add_development_program_information_url |
✅ Yes | Drops column — data loss only if URLs were entered |
2026_04_10_171836_add_last_sign_in_iss |
✅ Yes | Drops column — non-critical data |
2026_04_08_180346_update_development_program_interests |
Drops community_development_program_id — any data written to it after deploy is permanently lost on rollback |
1. Set Reverb env vars in IAC ← before deploy
2. Deploy artifact
3. Run pre-flight SQL check ← see below
4. php artisan migrate
5. php artisan db:seed --class=RolesAndPermissionsSeeder
6. Start / restart Reverb service
update_development_program_nullable will fail if any development_programs row has a null name or description_for_profile. Run this first:
SELECT id, name, description_for_profile
FROM development_programs
WHERE name IS NULL OR description_for_profile IS NULL;Must return 0 rows. If rows are returned, fix the data before migrating.
Source: #16438
Label: deployment
php artisan db:seed --class=RolesAndPermissionsSeederSource: #16290
Label: deployment
New WebSocket infrastructure — Reverb service must be running post-deploy.
New env vars required in IAC for each environment:
REVERB_APP_ID=gcdt
REVERB_APP_KEY=gcdt
REVERB_APP_SECRET=<generate random string per environment>
REVERB_HOST=<environment hostname>
REVERB_PORT=6001
REVERB_SCHEME=http
REVERB_SERVER_HOST=0.0.0.0
REVERB_SERVER_PORT=6001
VITE_REVERB_APP_KEY=gcdt
PUSHER_APP_CLUSTER=mt1Note: PR #16290 used
:truck:text shortcode instead of the🚚emoji in the deployment section header. The auto-labeler would miss this pattern — thedeploymentlabel was applied manually. Update thedeployment-labeler.ymlregex to handle both formats.
- Null check passed —
development_programshas no nullnameordescription_for_profile - Reverb env vars set in UAT IAC
- Reverb service configured to start post-deploy
-
php artisan migrate— 6 migrations applied cleanly -
update_development_program_nullableran without errors -
RolesAndPermissionsSeederran — new development program permissions exist - Reverb WebSocket service is running and reachable on port 6001
- Admin can create a development program (name, description, abbreviation, information URL)
- Admin can update a development program
- Development programs table lists all programs
-
associatedDevelopmentProgramsonCommunityreturns correct programs - Old
developmentProgramsfield onCommunityis gone — verify no active queries depend on it - Old
communityfield onDevelopmentProgramis gone - User development program records accessible via
developmentProgramUserRecords
-
CreateCommunityInterestmutation works with newcommunityIdinput -
UpdateCommunityInterestmutation works -
interestInDevelopmentProgramsdeprecated field still returns data during transition period
- WebSocket connection established in browser (Network tab → WS)
- Subscription events fire in real time
- No Reverb/Pusher console errors on load
- Account settings page loads and saves for CanadaLogin users
- Government info form removed — no broken links or 404s
- IAP sign-in/sign-up pages removed — redirects to default correctly
- Inactivity dialog appears after idle period and logs user out
- Auth health check endpoint responds
-
last_sign_in_isscolumn populated on user login
- Next / previous candidate links work in candidate review view
- Navigation preserves pool and filter context
- Application submission flow end-to-end
- Talent nomination form submits correctly
- Assessment plan visible on pool (verify
assessmentResultsremoval has no visible regression) - Pool listings still work (verify
Community.poolsremoval has no visible regression) - Search request table loads
- [Feature] Professionalization component (#16566)
- [Feature] Inactivity dialog (#16539)
- [Feature] Auth health checks (#16563)
- [Feature] CanadaLogin Account Settings Page (#16526)
- [Feature] Verification steps on employee profile (#16443)
- [Feature] Updates nomination form fields (#16468)
- [Feature] Continued development program refactor (#16396)
- [Feature] Adds development program create, update, view, table (#16438)
- [Feature] Store last sign in ISS (#16439)
- [Feature] Remove customized IAP signin/signup pages (#16588)
- [Feature] Update sign in page (#16477)
- [Feat] Implement graphql subscriptions (#16290)
- [Feat] Full next/prev candidates links (#16587)
- [Feat] Replace meta app url on post deploy (#16430)
- [Feat] Updates to application success page (#16543)
- [Feat] Manage CL link opens in new tab (#16611)
- [Refactor] Change how user's development programs work (#16523)
- [Refactor] Remove government info form (#16557)
- [Debt] Reduce can root usage (#16533)
- [Debt] Vite 8 upgrade (#16429)
- [Dep] TypeScript v6 upgrade (continued)
- [Fix] Localized subfields in error summary (#16561)
- [Fix] ResponsiveTable search param race condition (#16532)
- [Fix] Skill breadcrumb text (#16487)
- [Bug] Update register page FAQ headings (#16593)
- [Bug] Make taken emails valid for API (#16442)
- [Copy] Update sign-up/sign-in troubleshooting copy (#16562)
- [Copy] Update sign out message (#16522)