Skip to content

Develop - #46

Merged
alexis- merged 3 commits into
mainfrom
develop
Sep 20, 2026
Merged

alexis- merged 3 commits into
mainfrom
develop

Conversation

@alexis-

@alexis- alexis- commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

No description provided.

CustomDomainResponse gains a fourth positional member, SslStatus, carrying
the nested status.ssl value the R2 custom domain GET endpoint returns beside
status.ownership. The converter previously deserialized the nested object and
kept only the ownership value, so a caller polling GetCustomDomainStatusAsync
could see "active" while the hostname still had no certificate and served no
traffic. Status keeps its name and meaning (the ownership value on GET, the
plain string on POST and PUT) and its "pending_validation" default when the
field is absent, and the new member defaults to null, so every existing
constructor call compiles unchanged.

SslStatus is null rather than a guessed value whenever the response carried
no nested status object, which is the case for the attach (POST) and update
(PUT) responses: "pending" is a value Cloudflare actually reports, and
inventing it would tell a poller the certificate is in progress when the API
said nothing. The converter's Write path emits ssl_status only when the value
is present, mirroring how it already treats the edge hostname.

Unit tests cover the documented GET shape yielding both members, the missing
and plain-string status shapes leaving SslStatus null while preserving the
existing default, unknown properties being skipped, and the serialized shape.
The live custom domain lifecycle test asserts the certificate status is one
of the documented values.

Removes the explicit Microsoft.SourceLink.GitHub 8.0.0 reference from
Directory.Build.props. Its dependency Microsoft.Build.Tasks.Git 8.0.0 carries
advisory GHSA-23fw-v26w-5fgq (CVE-2026-62900) with no patched 8.x release,
and the NuGet audit fails the build under TreatWarningsAsErrors. The .NET 8+
SDK bundles Source Link for GitHub, and a Release pack was verified to still
embed the repository commit and the raw.githubusercontent.com source URL.

Bumps Cloudflare.NET.Api to 3.7.0. Cloudflare.NET.R2 is unchanged.
…elay

The KV list index is eventually consistent: a key written moments earlier
can be absent from the first list response, which failed the single-key
prefix assertion in CI on 2026-08-27 with an empty list. The three list
tests (prefix filter, list-all enumeration, single-key prefix) now repeat
the list call every 5 seconds until the expected keys appear or 120
seconds elapse, then assert as before, mirroring the propagation polling
already used by BulkDeleteAsync_CanDeleteMultipleKeys.
Cloudflare returned error 7003 "Could not route to ..." as 400 Bad Request
until at least 2026-08-27 and as 404 Not Found from 2026-09-20, which failed
the four integration tests asserting 400 exactly (account token get and list,
account audit logs, zone subscription). The tests now accept either status
and pin the routing failure; the three named ThrowsBadRequest are renamed
ThrowsRoutingError. Malformed sub-resource ids (a DNS record id under a valid
zone) still return 400 and those tests are unchanged.
@alexis-
alexis- merged commit dd11a74 into main Sep 20, 2026
4 checks passed
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.

1 participant