- Credential eligibility check endpoint (
GET /api/learning_credentials/v1/eligibility/<learning_context_key>/) with detailed progress information.
- Processor functions now return
dict[int, dict[str, Any]]with detailed eligibility information instead oflist[int]of eligible user IDs. - Processor functions now accept an optional
user_idparameter for single-user eligibility checks.
- Credential validation and invalidation system with
INVALIDATEDstatus. verify_uuidfield on credentials — a separate UUID used for third-party verification, distinct from the primary key.invalidated_attimestamp andinvalidation_reasonfields on theCredentialmodel.learning_context_namecached field on credentials for use in validation display.- Public API endpoint (
/api/learning_credentials/v1/metadata/<uuid>/) to retrieve credential metadata by verification UUID. - "Reissue credential" admin action that invalidates the current credential and generates a new one.
{verify_uuid}placeholder support in PDF text elements.- Admin test suite (
test_admin.py) and included it in test coverage.
- Replaced
user_id(IntegerField) with auserForeignKey to the User model. - Added
configurationForeignKey onCredentiallinking toCredentialConfiguration, replacingcredential_typeandlearning_context_keylookups. - Simplified
generate_pdf_credential()signature to accept aCredentialobject instead of separate parameters. - Changed the PDF output directory from hardcoded
external_certificates/to the configurableLEARNING_CREDENTIALS_OUTPUT_DIRsetting. - Credential issue date on PDFs now uses the credential's creation date instead of the current time.
get_localized_credential_date()now accepts an explicitdatetimeparameter.- Disabled add and delete permissions for credentials in the Django admin.
- New
text_elementsformat for PDF credential generation with flexible text positioning and placeholder support. - Support for custom text elements with
{name},{context_name}, and{issue_date}placeholders. - Global
defaultsconfiguration for font, color, and character spacing.
- Migrated generator options from flat format (
name_y,context_name_color, etc.) to structuredtext_elementsformat.
- Support for defining the course name using the
cert_name_longfield (in Studio's Advanced Settings). - Support for specifying individual fonts for PDF text elements.
- Support for n in learning context names in PDF certificates.
- Options for uppercase name and issue date in PDF certificates.
- Option for defining character spacing for issue date in PDF certificates.
- Option for defining the horizontal offset of the issue date from its centered position (
issue_date_x).
- Replaced
template_two_lineswithtemplate_multiline.
- REST API endpoint to check if credentials are configured for a learning context.
0.2.4 - 2025-09-07
- Option to customize the learner's name size on the PDF certificate.
0.2.3 - 2025-08-18
- Certificate email template wording.
0.2.2 - 2025-08-05
- Step-specific options support for Learning Path credentials.
- Legacy openedx_certificates app.
- Check enrollment status before issuing Learning Path credentials.
- Learning Paths support.
- Initial implementation of the certificates app.