Skip to content

v2.74.0

Brinda Sasikumar edited this page Jun 18, 2026 · 8 revisions

Release v2.74.0

Date: 2026-06-05 Tag: v2.74.0 Commits since v2.73.1: 40 Version type: Minor bump (biweekly) — contains BREAKING schema changes


⚠️ GraphQL Breaking Changes

This release renames the closedDetails field on PoolCandidateSearchRequest and the UpdatePoolCandidateSearchRequestStatusInput to completionDetails, reflecting the status rename from closedcomplete. Any client query or mutation using these fields will error after deploy.

Field / Type Change
PoolCandidateSearchRequest.closedDetails RenamedcompletionDetails (type changed from LocalizedTalentRequestClosedDetail to LocalizedTalentRequestCompletionDetail)
UpdatePoolCandidateSearchRequestStatusInput.closedDetails RenamedcompletionDetails (type changed from TalentRequestClosedDetail to TalentRequestCompletionDetail)

Migration Rollback Safety

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

Migration Safe to rollback? Notes
2026_05_26_133943_rename_closed_to_complete_in_talent_request_status ✅ Yes Reversal is non-destructive
2026_05_26_140000_create_talent_requests_table ✅ Yes Drops newly created table — no pre-existing data affected
2026_05_28_183615_add_placed_start_and_end_date_to_pool_candidates_table ✅ Yes Drops nullable column(s) added by this migration — safe if rolled back before data is written
2026_06_03_114126_create_talent_request_tracked_users_table ✅ Yes Drops newly created table — no pre-existing data affected
2026_06_03_162804_add_index_for_experience_skill ✅ Yes Reversal is non-destructive

🚚 Deployment Steps

PR #16924 — Large file generation

Source: #16924

Add the following ENV var — must be unique per slot. Agreed naming convention:

Environment Value
Dev primary dev
Dev pilot slot dev-pilot
UAT primary uat
UAT pilot slot uat-pilot
Production primary prd
Production pilot slot prd-pilot
DEPLOYMENT_SLOT_NAME=<value from table above>

QUEUE_RETRY_AFTER is also new and must exceed the longest job timeout (currently GenerateUserFile at 300s):

QUEUE_RETRY_AFTER=400

PR #16866 — Allow department admin to update published

Source: #16866

Run the roles and permissions seeder.


PR #16971 — Speed up slow query

Source: #16971

When logged into the DB server, run before or after deploy:

  1. Dump the current pg_stat_statements table:
psql -d gctalent -c "\copy (select * from public.pg_stat_statements) to '/backups/pg_stat_statements_2026_06_03.csv' csv header"
  1. Reset the table:
psql -d gctalent -c "select pg_stat_statements_reset();"

Manual — Canada Login release prep (2026-06-18, Production only)

Not tied to a PR. Added directly in IaC as prerequisite for the upcoming Canada Login migration.

OAUTH_MIGRATION_TOOL_CALLBACK="https://api.migration.login-connexion.canada.ca/v1/auth/legacy/callback"

⚠️ PRs with deployment label but no deployment instructions written

PR Title
#16972 Talent request tabs UI

FEATURE_TALENT_REQUESTS=false was added to apps/web/.env.example in this PR. Set in IaC before deploy.


🧪 Test Plan

Pre-deploy checklist

  • DEPLOYMENT_SLOT_NAME set to a unique value on each deployment slot
  • QUEUE_RETRY_AFTER=400 set in IaC
  • FEATURE_TALENT_REQUESTS=false set in IaC
  • OAUTH_MIGRATION_TOOL_CALLBACK set in IaC (Production only — Canada Login release prep)

Deployment verification

  • php artisan migrate — 5 migration(s) applied cleanly
  • 2026_05_26_133943_rename_closed_to_complete_in_talent_request_status ran without errors
  • 2026_05_26_140000_create_talent_requests_table ran without errors
  • 2026_05_28_183615_add_placed_start_and_end_date_to_pool_candidates_table ran without errors
  • 2026_06_03_114126_create_talent_request_tracked_users_table ran without errors
  • 2026_06_03_162804_add_index_for_experience_skill ran without errors

Features

  • Talent request tabs UI (#16972)
  • TalentRequestTable story (#16974)
  • Add tracked user model (#16968)
  • Placement start and end date (#16933)
  • Talent requests backend (#16916)
  • Updates message for new job posted notification (#16889)
  • Adds i18n strings for error codes (#16920)
  • Community admin gains permissions (activity log and nominations) (#16823)
  • in app migration query (#16815)
  • Edge cursors in cursor pagination (#16881)
  • Updates community pages, forms (#16753)
  • Add centralized permission checker (#16864)

Talent requests

  • Admin can view talent requests table with status tabs
  • Talent request status tabs filter correctly (all, in-progress, complete)
  • Talent request tracked users appear with referral/selection decision controls
  • completionDetails field replaces closedDetails on requests — no GraphQL errors

Pool candidates — placement dates

  • Placing a candidate accepts placedStartDate and placedEndDate
  • Placement start/end dates display correctly on candidate profiles

Classification display

  • groupAndLevel (e.g. IT-03) displays correctly wherever used
  • displayName on Classification renders without errors

Permissions

  • Community admin can access activity log (#16823)
  • Community admin can access nominations (#16823)
  • Centralized permission checker returns correct results for all roles (#16864)
  • Role page shows permissions list (#16864)

Regression

  • Application submission flow end-to-end
  • Talent nomination form submits correctly
  • Pool listings load correctly
  • Search request table loads

📋 What's Changed

Features

  • [Feat] Talent request tabs UI (#16972)
  • [Feature] TalentRequestTable story (#16974)
  • [Feat] Add tracked user model (#16968)
  • [Feature] Placement start and end date (#16933)
  • [Feat] Talent requests backend (#16916)
  • [Feature] Updates message for new job posted notification (#16889)
  • [Feature] Adds i18n strings for error codes (#16920)
  • [Feature] Community admin gains permissions (activity log and nominations) (#16823)
  • [Feature] in app migration query (#16815)
  • [Feature] Edge cursors in cursor pagination (#16881)
  • [Feature] Updates community pages, forms (#16753)
  • [Feat] Add centralized permission checker (#16864)

Refactor / Debt

  • [Refactor] Remove Scalars usage (#16965)
  • [Refactor] No more Maybe or InputMaybe usage (without unintended | undefined widening) (#16943)
  • [Refactor] Classification groupAndLevel and displayName (#16859)
  • [Debt] Add migration for talent requests (#16880)
  • [Refactor] Community interest form visual updates (#16764)

Bug Fixes

  • [Fix] Large file generation (#16924)
  • [Bug] Speed up slow query (#16971)
  • [Fix] CSP reporting (#16846)
  • [Fix] Excel user input crashing generation (#16951)
  • [Fix] Enable static react components eslint rule (#16934)
  • [Fix] React hooks refs (#16947)
  • [Bug] Fix accordion open on second click (#16843)
  • fix column removal ordering (#16942)
  • [Bug] Referral status filter (#16917)
  • [Bug] Fix search page card layout (#16922)
  • [Bug] Allow department admin to update published (#16866)
  • [Fix] Rename closed to complete for talent request status (#16884)

Other

  • Replace condition with expect (#17003)
  • adds a talent request sync script (#16932)
  • Replace ProcessPreviw with ProcessPreview (#16967)
  • Upgrade activity log with with bulk sql instead of one row at time (#16960)
  • Guard currentPage against going below 1 when navigating to previous candidate (#16638)
  • fix: clarify Freshdesk contact error logs in create/update paths (#16810)
  • update site background colour (#16914)
  • set to 500 (#16918)
  • regenerate lockfile (#16913)
  • Try removing limit five from user builder (#16872)
  • [Test] e2e code coverage (#16867)