Skip to content

v2.70.0

Brinda Sasikumar edited this page Apr 27, 2026 · 3 revisions

Release v2.70.0

Date: 2026-04-14 Tag: v2.70.0 Version type: Minor bump (biweekly default)


⚠️ GraphQL Schema Changes

No BREAKING changes. Additions and deprecations only.

Type Change
🟡 DANGEROUS Community.developmentPrograms marked @deprecated → use associatedDevelopmentPrograms
🟡 DANGEROUS DevelopmentProgram.community marked @deprecated → use associatedCommunities
🟢 NEW Community.informationUrl, Community.contactEmail
🟢 NEW Community.communityDevelopmentPrograms, Community.associatedDevelopmentPrograms
🟢 NEW DevelopmentProgram.communityDevelopmentPrograms, DevelopmentProgram.associatedCommunities
🟢 NEW Type CommunityDevelopmentProgram
🟢 SCOPE poolBookmarks now requires @guard + authorizedToView

Migration Rollback Safety

Referenced by the Rollback Procedure during incidents. Check this before running migrate:rollback.

Migration Safe to rollback? Notes
2026_04_07_174344_create_additional_community_development_program_pivots ✅ Yes Drops two pivot tables
2026_04_02_184012_preset_dimissible_announcement ✅ Yes Removes updatedAt and isDismissible from settings JSON
2026_03_30_200030_create_community_development_program_pivot ⚠️ Caution Reverses community_id to non-nullable — will fail if any rows have a null value
2026_03_30_190143_add_community_contact_email ✅ Yes Drops column
2026_03_30_183810_add_community_information_url ✅ Yes Drops column
2026_03_24_133218_drop_legacy_candidate_status_columns ❌ Do not rollback down() repopulates from lossy mapping — use database restore instead
2026_03_01_024542_add_referral_pause_columns_to_pool_candidates ✅ Yes Drops three columns

🚚 Deployment Steps

Deployment order

1. Set OAUTH_POST_LOGIN_REGISTRATION_REDIRECT in IAC  ← before deploy
2. Take a full database backup                        ← before migrate
3. Deploy artifact
4. php artisan migrate
5. php artisan db:seed --class=RolesAndPermissionsSeeder

Pre-flight check — backup required

drop_legacy_candidate_status_columns drops 4 columns from pool_candidates and cannot be safely rolled backdown() uses a lossy data mapping. A full database backup must be taken before running migrations on each environment.

PR #16313 — Development program new tables

Source: #16313 Label: deployment

php artisan db:seed --class=RolesAndPermissionsSeeder

PR #16219 — CanadaLogin registration flow ⚠️ deployment label was missing

Source: #16219

New IAC env var required per environment:

OAUTH_POST_LOGIN_REGISTRATION_REDIRECT
  dev:  https://dev-talentcloud.tbs-sct.gc.ca/registration/account
  uat:  https://uat-talentcloud.tbs-sct.gc.ca/registration/account
  prod: https://talent.canada.ca/registration/account

🧪 Test Plan

Deployment verification

  • 7 migrations applied cleanly
  • pool_candidate_status column no longer exists in pool_candidates
  • CommunityDevelopmentProgram permissions exist after seeder
  • OAUTH_POST_LOGIN_REGISTRATION_REDIRECT env var set

CanadaLogin flow

  • New user via CanadaLogin redirected to /registration/account
  • New user with gov email skips work email verification
  • New user with non-gov email prompted for work email verification
  • Existing user via CanadaLogin skips registration
  • Language preferences preset on first login
  • Language preset notice shows on dashboard, clears after opening form
  • Citizenship and veteran status sections appear on applicant profile

Referral / pool candidate changes

  • Paused referral search requests hidden from table
  • Indeterminate referral can be paused
  • Referral status resets correctly on placement change

Development programs

  • Each existing dev program has a community_development_program pivot row
  • associatedDevelopmentPrograms query works on Community
  • Deprecated developmentPrograms field still returns data

Community model

  • informationUrl and contactEmail editable in admin
  • mandateAuthority required on community create/edit

Dismissible announcements

  • Non-dismissible announcement cannot be dismissed
  • Dismissible announcement can be dismissed
  • Updating announcement content makes it reappear
  • Disabled announcement not visible

Pool bookmarks auth

  • Unauthenticated user cannot access poolBookmarks
  • Authenticated user can access their own pool bookmarks

Regression

  • Application submission flow end-to-end
  • Admin pool management (create, publish, close)
  • Talent nomination flow
  • Search request table loads

Clone this wiki locally