Skip to content

Merge 2.5.0 to main - #77

Closed
indrora wants to merge 29 commits into
mainfrom
release-2.5
Closed

indrora wants to merge 29 commits into
mainfrom
release-2.5

Conversation

@indrora

@indrora indrora commented Sep 23, 2026

Copy link
Copy Markdown
Member

Merge release-2.5 to main - Automated PR

dgaley and others added 29 commits October 8, 2025 11:29
change default start sync date for first incremental sync
removing caching of product type list
change default incremental sync range
shorten incremental sync if it is too long
* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
* improve BouncyCastle parsing

* add duplicate support

* Update generated docs

* Merge 2.2.0 to main

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* feat: release v2.2.0

* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

* Merge 2.2.1 to main (#49)

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* feat: release v2.2.0

* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

* Dev 2.2 (#47)

* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* Merge  to main (#48)

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* Update CHANGELOG.md (#50)

* add option for kdc/smartcardlogon eku, fix template validation

* Update generated docs

* changelog

---------

Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
* add product ID filter to sync

* Update generated docs

* add Intel vPro EKU support

* Update generated docs

* fix for renewal of smime certs

* validation for intel vpro eku

* fix for template validation

* changelog

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
* add product ID filter to sync

* Update generated docs

* add Intel vPro EKU support

* Update generated docs

* fix for renewal of smime certs

* validation for intel vpro eku

* fix for template validation

* changelog

* check for existance of template parameter fields

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
* add product ID filter to sync

* Update generated docs

* add Intel vPro EKU support

* Update generated docs

* fix for renewal of smime certs

* validation for intel vpro eku

* fix for template validation

* changelog

* check for existance of template parameter fields

* Merge 2.4.1 to main (#61)

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* feat: release v2.2.0

* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

* Dev 2.2 (#47)

* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

* Dev 2.3 (#54)

* improve BouncyCastle parsing

* add duplicate support

* Update generated docs

* Merge 2.2.0 to main

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* feat: release v2.2.0

* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

* Merge 2.2.1 to main (#49)

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* feat: release v2.2.0

* add duplicate support

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

* Dev 2.2 (#47)

* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* Merge  to main (#48)

* fix for smime profile type

* template parameter to include client auth eku

* Update generated docs

* changelog and logging

* check for duplicate PEMs

* change default start sync date for first incremental sync

* removing caching of product type list

* change default incremental sync range

* version

* changelog

* shorten incremental sync if it is too long

* add duplicate support

* Update generated docs

* treat needs_approval the same as pending on enrollments and don't return failure code

* Update generated docs

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* Update CHANGELOG.md (#50)

* add option for kdc/smartcardlogon eku, fix template validation

* Update generated docs

* changelog

---------

Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>

* Dev 2.4 (#57)

* add product ID filter to sync

* Update generated docs

* add Intel vPro EKU support

* Update generated docs

* fix for renewal of smime certs

* validation for intel vpro eku

* fix for template validation

* changelog

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

* Dev 2.4 (#60)

* add product ID filter to sync

* Update generated docs

* add Intel vPro EKU support

* Update generated docs

* fix for renewal of smime certs

* validation for intel vpro eku

* fix for template validation

* changelog

* check for existance of template parameter fields

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>

---------

Co-authored-by: David Galey <dgaley@keyfactor.com>
Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Dave Galey <89407235+dgaley@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>

* Update digicert-certcentral-caplugin.csproj

* properly check if cert is DV to ignore org check

* avoid duplicate API calls on sync

* error handling on sync to catch bad certs

* rate limit handling

* improved API error handling

* add ToString to Error class

* sync filter fixes

* incremental sync fix

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Sean <1661003+spbsoluble@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 23, 2026 22:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Three moderate issues remain regarding product-details failures, retry-count handling, and release version metadata.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 Medium severity

Open (3)
What changed in this PR

Merges release 2.5.0 into main, improving DigiCert error handling, retries, enrollment validation, and synchronization.

Changes:

  • Adds structured API error parsing and rate-limit handling.
  • Updates DV product checks, EKU parsing, and synchronization behavior.
  • Documents the 2.5.0 release and modifies version metadata.
File Summary
digicert-certcentral-caplugin/​Models/​Error.cs Adds readable error formatting.
digicert-certcentral-caplugin/​digicert-certcentral-caplugin.csproj Removes explicit version metadata; release versioning requires correction.
digicert-certcentral-caplugin/​Client/​CertCentralClient.cs Adds status tracking, error parsing, and rate-limit retries; retry counting requires correction.
digicert-certcentral-caplugin/​CertCentralCAPlugin.cs Updates enrollment and synchronization logic; failed product-details responses require handling.
CHANGELOG.md Documents the 2.5.0 release changes.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +188 to +191
CertificateTypeDetailsResponse details = client.GetCertificateTypeDetails(detailsRequest);

// Only do org check if the product type is NOT the group dv_ssl_certificate (https://dev.digicert.com/certcentral-apis/services-api/glossary.html#product-identifiers)
if (!string.Equals(details.GroupName, CertCentralConstants.ProductTypes.DV_SSL_CERT, StringComparison.OrdinalIgnoreCase))
// DigiCert's documented limits are 1000 requests / 3 minutes AND 100 requests / 5 seconds,
// rolling, per API key.
// Guidance is exponential backoff with a default maximum of 3 retries.
if (attempt >= MaxRateLimitRetries)
@@ -6,8 +6,6 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<AssemblyName>DigicertCAPlugin</AssemblyName>
@indrora indrora closed this Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants