New Features
User Guides
Helpful TC user guides:
- Talent Catalog API on Redoc
- Employer Access User Guide
- TC Chats Explainer Doc
- CASI (Candidate Assistance Services Interface) -- Developer Guide
Framework Updates
General Improvements
- Improved use and display of candidate properties
- Support for versioned privacy agreements and automated approval processes. New Candidate Registration process to support new agreements. Support for separate candidate agreements with each managing source partner (not just TBB)
- New GDPR compatible candidate privacy agreement
- Display date that privacy terms were accepted by candidate
- Warning to candidate about CV related content could be made publicly viewable.
- Hotfix 2.3.0 Added WhatsApp number to the export feature of searches
- New Candidate Status: RelocatedIndependently
- Added WhatsApp numbers to candidate quick search by phone
- Added country code to phone number inputs on admin portal
- Removal of candidate.migration_nationality from TC database and entities
- Update CASI header misleading name
Data Improvements
- Integrates with standard skills from sources including ESCO and ONet
- Slovakia added to TC countries
- Email alert for failing scheduled background batch operations
- Support for CEFR levels in candidate language skills - i.e. A1, A2, B1, B2, C1, C2
UI / UX Enhancements
- Implemented phase 1 of the Talent Catalog re-design
- Prioritized Matching: Results of user text searches can be sorted with best matches first
- Automatically extracts standard skills from job description and generates search for candidates with those skills.
- Shows search matches found in uploaded CVs
- Functionality to automate travel doc upload and data entry
- Functionality to automate RSD evidence and refugee ID upload and data entry
- Functionality to automate relocating family member RSD evidence and refugee ID upload and data entry
Other UI / UX Enhancements
- New search filter request: max education level
- Additional search filters for campaigns, sources, and mediums
- Manually Update Max Education Level from Admin Panel
- Can now import lists from candidate publicIds as well as candidate numbers.
- Ability of TC admin user to find candidate by public ID
- Display candidate Exam results in admin portal candidate profile
TC API Enhancements
The TC API was introduced in release 2.3.0 to provide programmatic access to Talent Catalog anonymised data and functionality. The API was envisioned by TBB’s Global Leadership Team in Canada, October 2023, as a key component for enabling interoperability between Talent Catalog and other third-party systems.
This release includes several enhancements to the TC API, including:
- New API endpoints for triggering data migrations
- Ability to manage data anonymisation migrations via TC admin console
- Full “Try it out” functionality in the online API docs available for all environments
- Auxiliary batch jobs to support selective data migrations for Mongo or Aurora anonymised databases
- Browse, stop and restart data migration jobs from TC admin portal
- Support replay of candidate data anonymisation from any TC list
- API batch management commands, and other useful TC admin commands, documented in TC admin console
- TC admin console commands now clickable for easy execution
- API data migrations will no longer auto-trigger when the service starts up
- Support for CEFR levels in candidate language skills via TC API - i.e. A1, A2, B1, B2, C1, C2
- Python scripts to fetch anonymous candidate data from TC API for a given TC list for easy export to third-parties (e.g. Beamery)
- New API endpoints for anonymous data retrieval by TC public list IDs - will extend to searches and ‘tags’ functionality in future updates
- Map legacy SurveyType data onto HowHeardAboutUs enum in TC API models
- Enhancements to support University of Hawaii API integration
- Addition of ‘includeEmployed’ filter on API candidate searches to include/exclude currently employed candidates
- API Key authentication uses in-memory caching (using Caffeine) to reduce DB and service load
Security Fixes
- Discontinue TC->SF all-candidates sync
- Implements HTTP interceptors for JWT auth expiration handling in the admin portal, preserving the target URL when authentication expires and users are redirected to login page
- Apply all Elasticache security patches and updates recommended by AWS
Bug Fixes
- Possible fix of memory leak as side effect of this issue. Protecting against memory loss due to not closing streams.
- Fixing answers not displaying properly in Candidate Portal profile
- Candidate Portal registration: English ability and professional certification questions marked as required but not actually required to proceed
- CV Generation Fails Due to Invalid Characters in Contact Info
- Source partners should not be able to change the opportunity stage of opps they are not responsible for
- Unable to Identify Duolingo Coupon Redemption
- Hide Send Duolingo Test task from Tasks list
- Search by survey type not working as expected
- Add “HowHeardAboutUs” enum & update candidate source options in Talent Catalog
- Can clear a phone number field when using international phone input on admin portal
- Fix partner and role logic which was hiding certain fields from partners (e.g. UNHCR)
- New search functionality SQL references deleted ‘major_id’ field
- Clickable tooltip in Update Candidate Opp modal not working
- New search functionality SQL incorrectly references potential duplicates field
- Same-value logging emissions from chat subscriptions
- Publish Job sets Salesforce counterpart to wrong stage
- Candidate TC created date incorrectly translated to SF Contact record
- List publish error
- Erroneous Next Step automated chat post
- environment.staging.ts was not being utilised
- Default Next Step for newly created Candidate Opp not reflected in SF
- Education Level (minimum) filter was not working
- Remove null characters from Link Previews
- Duplicate audit stamp and default Next Step for newly created Job not saving to TC DB
- Job Opp Next Step not updating
- Download of autogenerated CV not working for candidate 289669 on production
- Potential bug: candidate note records change to ‘pending’ status but status still ‘draft
- Candidate Portal registration: English ability and professional certification questions marked as required but not actually required to proceed
- Error accessing unknown fields on JPA entity during active session
- API key sanitization to prevent leading/trailing spaces causing authentication failures from Postman and Redoc “Try it out” feature
- Fixed codec date mapping issue causing errors when reading certain date fields from MongoDB
- Publishing a list that exceeds google sheets api row limit will inform the user instead of failing silently
Developer Notes
Test Coverage
- Create DuolingoExamServiceImplTest.java
- Create DuolingoExtraFieldsServiceImplTest.java
- Write Unit Tests for Duolingo Coupon Service
- Enhance Tests for Low-Coverage Components in Admin Portal
- Improve Test Coverage for Admin Portal Directives
- Testing: GoogleFileSystemServiceImpl
- Enhance Test Coverage for org.tctalent.server.api.admin Package
- Extensive per-resource test data
- GDPR process verification
- Testing: DuolingoApiServiceImpl
Code Refactoring
- Introduced Candidate Forms and Form Tasks framework
- Introduced CASI (Candidate Assistance Services Interface) framework
- Introduced Postgres text search which will allow us to retire Elasticsearch in future
- Criteria API specifications will be retired in future releases
- All DTO BuilderSelectors are now injected Spring Beans for better testability and autowiring
Continuous Integration & Deployment
- Setup integration tests with Docker Testcontainers
- Support for integration test DB Dump in CI/CD
- Added GitHub Actions workflow for building and deploying the TC API
- Added GitHub Actions workflow for building and deploying the new Skills Extraction Service
- Added Terraform workflow for deploying Skills Extraction Service infrastructure to AWS
- tc-api, tc-api-spec, and tc-skills-extraction-service are all monitored in Slack
Cloud Enhancements
This release includes several backend and infrastructure updates aimed at improving scalability, maintainability, and service integration across the Talent Catalog.
🔧 New AI-Powered Skills Extraction Service
A new microservice, tc-skills-extraction, has been deployed to AWS and added to our cloud
infrastructure. This service powers the automated extraction of relevant skills from job descriptions,
supporting the improved matching workflow and integration with global skills frameworks (ESCO and O*NET).
The codebase is now available in its own Git repository, enabling independent development and future reuse in other parts of the platform.
💡 This modular approach will support faster iteration, easier scaling, and better fault isolation for future AI-driven services.
New Tools and Standards
- Introduced Candidate Forms and Form Tasks framework
- Simply configured Spring Batch based solution for processing candidates in a list or search
- Spring Batch version of old BackgroundProcessor which adapts batch processing depending on how busy system is.
- Additional reporting via Preset dashboard on candidate UTMs and params for TBB comms
- Introduced requirement to obtain 2 PR reviews/approvals from core engineering team members before merging new changes
- Upgraded to a paid Redoc tier to support enhanced API documentation features, such as “Try It Out”
- Renamed a few remaining configuration properties to the TC naming standard for consistency
- Registered talentcatalog.net Sonatype account and Maven namespace for publishing shared artifacts
- Deployed new shared Maven artifact: org.tctalent.tc-api-spec, for API schema reuse across TC microservices and third-party integrations
- Upgraded to RDS PostgresDB version 17 for improved performance, text search capabilities, and vector search support for future AI enhancements
- Standardise DNS names for RDS Aurora instances - aurora.db.tctalent.org and test.aurora.db.tctalent.org
- Clarify project Readme: we require Docker Compose v2 not v1
Thank you for using Talent Catalog! Your feedback and support are invaluable to us. If you encounter any issues or have suggestions for improvement, please don’t hesitate to contact us or open an issue on GitHub.