Repository navigation
cloud-sdk 1.1.0 #11
Closed
eldryoth
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
cloud-sdk 1.1.0 Release Notes
Status: security review accepted; final release qualification and GitHub acceptance required.
Release date: pending
Security-Review: PASS
Pentest: PASS
Publication: PENDING
Overview
Version
1.1.0adds a complete source-locked crates.io providerwhile preserving the stable Hetzner provider and provider-neutral execution
boundaries introduced in
1.0.0. All 22 implementation checkpoints are complete.The full-scope pentest and focused remediation retest are accepted at
96ae9a2cf90b1c5346a93585a5607cfe1351ce03; see thepermanent report.
The publication plan selects exactly six SDK packages at
1.1.0. Fuzzing,feature-unification fixtures, coverage tooling and the OVHcloud probe remain
unpublished. A clean release gate, GitHub CI/CodeQL and explicit maintainer
approval are still required before tagging and publishing.
Release Scope
Web API overlaps;
cloud-sdk-cratesioprovider crate with empty default features;ownership, trusted-publishing, download, and unified-client paths;
credential boundaries; and
fuzzing, platform evidence, pentest, CI, and CodeQL.
Package Versions
cloud-sdk1.0.01.1.0cloud-sdk-hetzner1.0.01.1.0cloud-sdk-reqwest1.0.01.1.0cloud-sdk-sanitization1.0.01.1.0cloud-sdk-testkit1.0.01.1.0cloud-sdk-cratesio1.1.0Exact change classifications and publication order are enforced by
release-crates.tomlandscripts/release_crates.py --check.Completed Checkpoints
Commit 22 - Scope Freeze And Accepted Full-Service Review
Commit 21 passed pentest/retest and GitHub at
cbcaf17f. The candidate retainsall 51 selected crates.io operations and their stable/experimental/deprecated
classifications. See the candidate qualification
for the complete gate, compatibility review and full-service pentest boundary.
filters/sorting, bounded source-complete responses and all three client modes.
Coverage increases to 209 active operations, including 140 Cloud methods.
existing assignment-coherence checks; reviews upcoming deprecations.
mismatched-artifact and incomplete-set regression coverage.
gate. Local success does not imply pentest acceptance or publication approval.
SemVer review; streaming/URI failures reuse existing errors while retaining
delivery phase and cleanup. Adds external-consumer compatibility witnesses.
errors and unwinding; system DNS jobs retain one of eight shared permits until
completion. Source-lock fetching uses a killable worker to enforce the total
retrieval deadline even during a slow buffered read. Regression tests cover
all four blocking request paths, cancellation, saturation, unwind and child
termination. Independent retest accepted both fixes without new findings.
the new provider and distinguishes an absent initial namespace from ownership
or network failures. Regression tests cover both pre-publication cases; the
release gate includes live governance and two-clone package/SBOM reproduction.
The new API is additive: existing exhaustive endpoint/query enums are unchanged.
The release remains untagged and unpublished until final local and GitHub checks
pass and the maintainer authorizes publication. The checkpoint history below
records intermediate statuses; the current summary and permanent report supersede
historical pending-review and drift statements.
Commit 1 - Source Lock And Finite Scope
document, stable Cargo Registry Web API contract, deployed data-access route,
and commit-pinned upstream OpenAPI and policy implementations.
upstream-deprecated operations as explicit rows.
Cargo's
/mebrowser instruction from API coverage.fingerprints, media types, statuses, and policy classifications.
regression tests for redirects, bounds, malformed evidence, unresolved
references, unknown authentication, and incomplete classification.
and path, bound committed inventories by SHA-256, and required live
reconstruction in the final release gate.
structures, and rejected TRACE explicitly rather than omitting it from
coverage.
Commit 1 passed its incremental pentest, remediation retest, and GitHub checks.
Commit 2 - Drift, Policy, And Compatibility Detection
operation, parameter, schema, authentication, content-type, response-status,
stability, Cargo-contract, and policy fingerprints.
provenance so rate, identifying
User-Agent, fallback, contact, andpreferred-data-source changes are visible.
changed requiredness and schemas, authentication changes, status/media
changes, and stable Cargo/OpenAPI conflicts.
and artifact before one non-overwriting atomic publication and never mutates
accepted repository evidence.
unavailable refresh, and candidate-overwrite rejection.
reconstruct every inventory, summary, observation, and provider lock during
verification, preventing circularly rewritten derivatives from being clean.
structures, preserving path-parameter identity and position while admitting
only operation-scoped reviewed aliases such as OpenAPI
{name}to Cargo{crate_name}.digest and typed policy, and require the current bytes to equal the policy at
the reviewed source commit before candidate verification succeeds.
path declaration; reject malformed, missing, extra, duplicate, misplaced,
optional, or referenced path-parameter evidence.
non-exploded, non-reserved, schema-based OpenAPI wire serialization.
Schema assertions even when the declared base type remains a string.
nested
$schemaboundaries before deriving Cargo compatibility.payload examples and model properties named
$schemaremain valid data.$dynamicRefuntil dynamic targets and scope can beresolved entirely from digest-bound reviewed evidence.
$refvalidation to Schema Objects and typed OpenAPIReference Object positions, preserving local resolution checks without
rejecting
$refproperties in arbitrary example payloads.$reftarget under its admitting OpenAPI type, boundreference cycles, and support strict percent-decoded RFC 6901 object and
array traversal so hidden external dependencies cannot bypass the source
lock and valid array pointers do not create false drift failures.
recursive content/header structures so adversarial nesting fails with a
controlled source-lock error instead of exhausting Python's call stack.
Commit 2 passed its incremental pentest and final remediation retest. The
accepted comparison baseline for Commit 3 is
17650825a067b0748399ddfbf8cb9f066bd6b66d; the complete1.1.0securityreview remains pending until every planned checkpoint and the final
full-service assessment are complete.
Commit 3 - Crate, Identity, And Module Boundaries
cloud-sdk-cratesioprovider crate with empty defaults and ano_stdbase.closed neutral-core enum.
trusted-publishing modules without claiming endpoint support early.
alloc,serde,std,blocking, andasyncfeatureownership while adding no network, TLS, runtime, filesystem, or clock
dependency.
platform, package-content, and release-governance checks.
identity test targets explicitly, and made the boundary gate reject build
scripts, dependency aliases, source substitutions, and unreviewed dependency
sections.
Commit 3 passed its incremental pentest, remediation, and final green retest.
The accepted implementation commit is
5b05e70732f5ffc62949617b22829a613c55388c; the complete1.1.0securityreview remains pending until every planned checkpoint and the final
full-service assessment are complete.
Commit 4 - Endpoint And Request-Target Safety
staging API, and anonymous static package-download authority.
/api/v1/requesttargets and query-free
/crates/{name}/{archive}.cratetargets.exact production download route and
static.crates.ioarchive destination.execution through the exact production-bound raw executor. The SDK owns the
bodyless
GET, empty request headers, and response policy before requiring302status, empty body, absent content type, one retainedLocation, andcaller-owned bounded target storage.
or local async dispatch, so unrelated generic crates.io API targets fail with
zero transport calls.
callers cannot combine an unrelated response with a separately verified
transport to assert production provenance.
and local async raw executors. The SDK supplies a bodyless
GETwith emptyheaders and exposes neither destination endpoint nor target components.
without the provider-neutral trusted-operator acknowledgement.
control-byte, encoded-separator, traversal, downgrade, redirect, archive,
and authority-confusion coverage.
Commit 4 passed its incremental pentest, remediation, and final green retest.
The accepted implementation commit is
b613b1a25b31a85a04b0d79b955364a8e2a65ee9; the complete1.1.0securityreview remains pending until every planned checkpoint and the final
full-service assessment are complete.
Commit 5 - Credentials And Authentication Contexts
alloc, withimmutable production/staging origins and source-locked operation contexts.
ownership transfer, local rotation and full caller-buffer cleanup.
through an explicit trusted adapter callback. No executable authenticated
client, token acquisition, remote revocation or automatic retry is claimed.
API-token route comparison with the source inventory. Default features stay
empty and no new third-party package is admitted.
Commit 5 passed its incremental pentest and remediation retest from accepted
checkpoint
3c9b2ad6c230f069b75b1138cbbebecbe350aba7through reviewed commite79273b7f4d4bafa0520e0b7105dd11012b782af. GitHub checks passed. The trainremains blocked from publication until all numbered checkpoints are accepted.
Commit 5 pentest remediation adds independent fixed-operation method/path
assertions at both constructor and emitted-material boundaries, including
temporary-token revocation. This closes a regression-test gap without changing
the currently correct runtime constructors. Both regression tests reject each
of ten isolated method/path mutations; the restored snapshot passes. The final
user-confirmed retest found no remaining issue.
Checkpoint qualification also corrected the isolated package-feature gate to
patch both unpublished local dependencies of
cloud-sdk-cratesio, matching themain check gate. A mock-Cargo regression test asserts the actual complete
package command. This changes only build verification, not SDK behavior.
Commit 6 - Wire, Error, Rate, And Response Foundations
base64-ng 2.0.4,sanitization 2.1.0, andrustls 0.23.44after the live freshness gate identified the newer releases.Existing feature selection and MSRV remain unchanged; the dependency digest
records archive checksums and optional TLS behavior changes.
cloud-sdk/alloc, retainingHetzner's existing public reexports and moving all parser regression tests
with the implementation. No new runtime third-party dependency is added.
lowered byte budgets, strict UTF-8 JSON media policy, complete duplicate-key
and structural validation, and Cargo error-envelope rejection even on 200.
bounded
Retry-Afterparsing through the existing neutral HTTP-date parser.a process-wide blocking adapter gate with a full one-second quiet period
after every attempt. No retries, sleeps, or network calls are implicit.
local parts above 64 bytes, and invalid or oversized DNS labels in email and
HTTPS contacts. Regression tests retain the exact 256-byte header boundary.
authenticated execution remain assigned to later checkpoints. This is an
implementation checkpoint, not a service release.
Commit 6 passed its incremental pentest and remediation retest at
d2a71050.The permanent report records the
reviewed range. GitHub CI and CodeQL passed at
f079a65c, the accepted baselinefor Commit 7.
Commit 7 - Identifiers, Queries, And Pagination
hierarchies, keywords, user/team logins, owners, numeric IDs and dates.
opaque seek state; reject duplicates, shadowed filters and page/seek conflicts.
repeated array pairs and complete operation-bound targets.
morecontinuation,preserving original filters and page sizes across exact official origins.
Transport transfer retains the core cleanup-owning link's dispatch checks.
all public query-name fixtures, with live verification in the final gate.
semver 1.0.28only as a dev-only independent grammar oracle;it adds no runtime/default dependency or change to existing provider APIs.
0.13.5, including its transitivebase64 0.23.1admission and narrowly scoped duplicate-line exception. The SDK's own
credential encoding remains on
base64-ng; transport is still opt-in.binding, cleanup and documentation examples. See the
request policy.
GitHub passed on
89910ad7; the user authorized advancing to Commit 8.The independent Hetzner drift detected on September 9 is resolved below.
Commit 8 - Taxonomy And Site Discovery
operations, including complete nested Crate and CrateLinks response fields.
numbered continuations, and required/nullable/unknown-field validation.
that contradict derived next/previous state. Category and keyword regression
matrices preserve completion, continuation and page-ceiling distinctions.
bounded models, calendar timestamps and redacted open-ended badge values.
All modes bind origin and identifying user-agent, enforce response policy
and clear caller storage, including cancelled and unpolled futures.
BoundUserAgentinspection trait and implementations forraw reqwest adapters. Transport-owned user-agent cannot be overridden by
ordinary headers; loopback tests compare configuration with wire bytes.
holding a mutex across await. Cancellation consumes admission; valid
Retry-After can only extend the quiet interval. No hidden retry or sleep.
required-field/limit/identity/parity tests and a compile-checked README example.
Existing
serde_jsonis a dev-only fixture oracle, not a runtime dependency.no endpoint/parameter inventory change; 730 response-field rows now cover
required nullable image deprecation, IP name bounds and all target-health
variants. Regenerated fixtures preserve the existing health cross-field rules.
deprecatedremoval announcement andaccept omission at only the six affected resource paths while retaining
validation for present values and required replacement fields. The September 9
Object Storage notice is outside current SDK scope.
Commit 8 passed incremental pentest and remediation retest for
89910ad7cab7a1549a67f16e7bea7556557c4f3e..2c0746982c927929f63a08ff034bd3d132f0a4d3,including the neutral transport and Hetzner maintenance changes. The
permanent report records the resolved
pagination finding and qualification evidence. GitHub CI and CodeQL must pass
on the evidence checkpoint before Commit 9 starts. The user subsequently
confirmed GitHub green on
71e3f972and authorized Commit 9.The discovery contract records limits
and verification commands. No tag or publication is authorized.
Commit 9 - Crate Search And Metadata
named metadata, and the literal
newlookup (never the publish PUT route).web records, including sort/filter/page policy and explicit include selectors.
protected forward-compatible version fields and default-version binding.
Numbered-page and relevance ceilings report
LimitReached, not false completion.exact wire admission, shared one-second rate gate and cancellation cleanup.
trusted-adapter callback. No Bearer conversion, cookie support, automatic
credentials, custom origin, retry or bulk traversal was added.
generator, regression tests and compile-checked examples. Dependencies and
default features are unchanged. Live crates.io and Hetzner drift checks were
clean on 2026-09-11.
The catalog contract records exact scope
and verification. Incremental pentest and remediation retest passed through
41fd2611, including the shared discovery runner and pagination helper.GitHub was confirmed green on evidence checkpoint
38d493a1; Commit 9 is accepted.Commit 9 pentest remediation bounds provider-requested delays to 24 hours and
rejects larger values without poisoning the shared gate, including the token
adapter. Schema generation rejects
oneOfsibling constraints and invalidbranch counts; runtime branch validation preserves allocation failures instead
of reporting them as limit errors. Regression tests reproduce all three
findings and verify bounded scheduling recovery, cleanup and error propagation.
The remediation record
and permanent pentest report record
the user-confirmed green retest with no open findings. The intentional bounded
24-hour process-wide pause remains an availability consideration, not a new
vulnerability. GitHub approval of the evidence checkpoint was confirmed.
No publication is authorized. Full-service security review and
pentest remain pending until the final planned checkpoint.
Commit 10 - Version Details
DiscoveryValue::visit_fieldsso consumers can enumerate dynamic feature names and release tracks.
External-consumer regression coverage checks enumeration, redaction,
empty/non-object handling, callback error propagation and buffer cleanup.
The independent retest closed F1 at
94c004b2with no new findings; see thecheckpoint report. GitHub approval
remains required before Commit 11.
location operations with blocking, local-async and Send-async parity.
reject identity/duplicate/checksum inconsistencies, and preserve unknown kinds.
static HTML. Requirements remain bounded metadata, not a resolver.
add source-derived projections, fixtures and controller byte locks.
runtime ownership scope or changing the request-rate admission policy.
The version contract records scope and
limits. Pentest must cover
38d493a1..HEAD. Stop before Commit 11; do not tag orpublish. The version surface adds no dependency. Maintenance also updates the
exact rustls pin from
0.23.44to0.23.45in all three affected lockfiles andregenerates their SBOMs. This fixes TLS 1.3 encryption-level message alignment
(GHSA-2mjx-qc3c-rqvc);
default features, TLS provider and native build policy are unchanged. The
transport security update is included in this checkpoint's pentest range.
Local qualification passed at implementation checkpoint
6db21a77; theverification record
lists repository, compiler/platform, packaging, fuzz and supply-chain evidence.
This is the implementation stop, not an independent pentest result.
Commit 11 - Downloads And Usage
windows and numbered reverse dependencies, with blocking/local/Send parity.
hooks, explicit bounds, transactional sink commit and cancellation cleanup.
A caller streaming adapter is required; the bundled raw reqwest executor is
still a buffered adapter. No hashing/transport dependency was added.
distinguish numbered continuation exhaustion from end-of-results.
controller implementations. Hetzner's newly detected network-members endpoint
remains unaccepted pending separate SDK coverage; live drift stays visible.
cargo addinstructions; preserve exact workspace dependency pins. Combine the Hetzner
provider row and remove the internal OVHcloud probe from the provider table.
The download contract records complete
boundaries and pending drift. The incremental pentest report
records no confirmed security findings for
51a7d946..03301ac5.The user confirmed GitHub green on
5c925018and authorized Commit 12.No tag or publication is authorized.
Commit 12 - Public Accounts And Ownership Reads
user-only and team-only owner lists with all three checked execution modes.
linked-account inclusion. Validate response identity, duplicate owners and
bounded lists without deriving mutation authority from a read snapshot.
generated response projections, source fixtures and fail-closed regressions.
the already detected Hetzner network-members coverage gap remains pending.
The account contract records the scope and
limits. The incremental pentest report
records no confirmed findings for
5c925018..7d98a087. The user confirmed GitHubgreen on
7d4c147band authorized Commit 13. No tag or publication is authorized.Commit 13 - Authenticated Personal Workflows
consumed permits, protected path tokens and a trusted blocking credential
adapter boundary. No automatic retries or custom credential destinations.
true acknowledgements; preserve provider errors, response bounds and the
process-wide admission gate. Clear all scratch on failure and unwinding.
operation can partially apply. Support the deprecated notification batch using
its pinned controller, which supplies the body missing from OpenAPI.
scoped-serialization tests. See the workflow policy.
and the fuzz nightly. Stable Rust remains 1.98.1 and checkout remains 7.0.1.
escaped root pin checks; update Saphyr and syn and remove the obsolete Base64
duplicate exception without changing the default provider graph.
and rendered-policy changes; the operation inventory and request-rate rules
remain unchanged. The Hetzner network-members coverage gap remains tracked.
Incremental pentest and GitHub passed at
9a1f2020after verification-controlremediation; see the report.
Commit 14 - API Token Inspection And Revocation
permits, fixed origins and single-attempt trusted blocking adapter execution.
known endpoint scopes, timestamps and local limits without granting authority.
no implicit retry, rotation, token creation or cookie-based listing.
controller evidence, adversarial tests, cleanup and compile-fail authorization
tests. No manifest, dependency, feature or lockfile changes.
in the token contract.
Pentest and GitHub passed after header-retention remediation at
fae5b5a1;see the report.
Commit 15 - Crate And Version Settings
permits, bounded JSON and single-attempt trusted blocking adapter execution.
and check returned crate/version identity, yank state and message.
ambiguous upstream mutation outcomes without promising CAS or automatic retry.
tests and compile-fail authorization coverage. No dependency/feature changes.
Pentest and GitHub passed at
42e534bdwith no findings;see the report.
Commit 16 - Ownership Mutations
namespaces, bounded batches and separate destructive removal confirmation.
snapshot authority, freshness or compare-and-swap semantics.
per-owner completion. No automatic retries or implicit mutation chaining.
lock, check OpenAPI/Cargo compatibility and add adversarial/gate regressions.
Commit 17 - Cargo Yank And Unyank
consumed, token-bound consent and no automatic retries.
intended state and a separately fetched, identity-checked version snapshot.
cleanup through the trusted blocking adapter. Bundled integration remains
Commit 20; no hidden polling or live mutation tests are introduced.
index propagation; add wire/schema, replay, stale-state and failure regressions.
baseline is
9fabe832; stop before Commit 18, without tagging or publishing.Commit 18 - Publish Metadata And Binary Framing
identities, feature syntax, cfg target syntax, SPDX expressions and Rust
versions within explicit local bounds. Do not inspect or build archives.
archive allocation, using caller-provided source, sink and bounded scratch.
PUT; retain shared admission, redaction, bounded responses and no retries.
source-locked crate identity and all warning arrays; no index-success claim.
spdx 0.13.5and promote the existingsemver 1.0.28parser tooptional runtime use behind
alloc; default dependency boundaries are unchanged.pentest baseline is
04f24c38; stop before Commit 19, without tagging orpublishing. Bundled/async authenticated streaming remains Commit 20.
Commit 19 - Trusted Publishing
clear-on-drop sanitization allocation; enforce an optimized 32 KiB stack
regression in both gates and test allocation failure. Duplicate-claim
rejection now has an otherwise valid control payload and exact JSON error.
revocation operations through consumed permits and the trusted blocking adapter.
contracts, reject duplicate configs and retain protected/redacted metadata.
mismatches, without claiming JWT authentication or signature verification.
deadline and intended-crate binding. Revocation consumes and clears it even
when the remote result is ambiguous; no automatic retry or renewal.
base64-ng 2.0.4pin behindalloc. Lock andSBOM evidence records the new optional edge; default dependencies are unchanged.
See the trusted publishing policy.
Commit 18 was accepted at
ddb12f74; that is the Commit 19 incremental pentestbaseline. Stop before Commit 20. Do not tag or publish.
Commit 20 Unified Client (Pentest Required)
Commit 20 has reached its implementation stop, pending incremental pentest and
GitHub acceptance. Its first working
increment adds destination-bound raw authorization contracts, a blocking
registry facade over existing checked operations, official bundled transport
constructors, live anonymous artifact sources, and opt-in SHA-256. It updates
platform-verifier to 0.7.1 and the Android helper to 0.2.0 without adding bundled
Android support. A follow-up adds guarded local/Send async execution for the
enabled read/permit families and explicit token catalog calls. Guards precede
future creation; cancellation clears scratch without authorizing replay.
Real Unix filesystem tests now qualify transactional artifact sinks against
checksum/length/I/O failures, non-overwriting commit collisions, and cancellation
at read/write/commit boundaries. This is a test reference sink, not a new
filesystem API, Windows qualification or crash/secure-erasure guarantee.
Bundled blocking/local/Send publication now streams Cargo framing through a
bounded, destination-bound upload adapter. Live loopback tests cover backpressure,
early responses, truncation, response policy and deadlines; no retries occur.
Cargo/51-operation evidence and final local qualification are recorded
in the implementation ledger.
Commit 19 was accepted at
f49b7712; no tag or publication is authorized.The facade now accepts consumed email-confirmation and invitation-token permits
in all three modes. Raw URI paths use sanitization-owned bytes, with separate
non-secret authority storage so origin keys cannot retain the token allocation.
Pinned URI ownership and loopback wire tests cover exact composition and cleanup
lifetimes. External HTTP/TLS buffers and access logs remain deployment boundaries.
Generated execution evidence now links successful three-mode facade fixtures to
the reviewed inventory: 51/51 rows now have three-mode execution witnesses.
Provider-neutral upload contracts connect the publication facade to both
bundled adapters and deterministic fixtures without a test-only endpoint bypass.
Both token schemes, exact Cargo bytes, partial writes and cleanup are covered.
The release gate rejects missing witnesses. Independent Cargo search evidence
and an owner-list characterization test distinguish website-schema coverage from
the separately selected authenticated/minimal Cargo owner profile. Its typed
request now executes through the unified blocking/local/Send client with explicit
raw API-token authorization and bounded protected response decoding. Website
validation and the generic token route allowlist remain unchanged. Commit 20
remains open for pentest and GitHub acceptance. The strict
publish response still requires the pinned crates.io
crate/warningsfields;generic Cargo minimal replies are not silently accepted.
Final local qualification passed the complete repository suite, all 12 supported
Rust versions (1.92.0 through 1.98.1), the ten-target portable/native platform
gate, live crates.io source checks, direct-pin/tool freshness, fresh RustSec and
cargo-deny checks, and all four SBOM graphs. Seven independent Cargo fixtures
cover exact request bytes, authorization and media types in all three modes.
No live registry mutation, tag or publication was performed. Stop before Commit 21.
Maintenance Evidence (Earlier Checkpoints)
1.98.1and the fuzz compiler tonightly-2026-09-04while retaining Rust1.92.0as the MSRV.every pinned Cargo security/SBOM/fuzz tool matches crates.io, and
actions/checkoutremains pinned to the exact latestv7.0.1commit.pin after confirming that
cargo outdatedresolves inside exactrequirements and can therefore miss newer crates.io releases.
aws-lc-rsto1.18.1, bundledaws-lc-systo0.45.0,base64-ngto2.0.3, andsanitizationto2.0.4. These patches retainthe existing features and MSRVs while adding fail-closed crypto contracts,
native-build hardening, high-assurance target gating, and protected-storage
continuity. FIPS remains excluded.
cc,find-msvc-tools,mio,smallvec,tinyvec, andtokio-rustls; the isolated reqwestfeature-unification fixture additionally advances its Hickory packages from
0.26.1to0.26.2. No default or published dependency capability expands.9ae7f769cea32f38ebc2ea9ec2ce455b47641511afterfind_usergained anoptional
includequery and optionallinked_accountsresponse data. Theoperation count, authentication, response statuses, media types, Cargo
compatibility, and data-access policy semantics remain unchanged.
digest changed without a new entry. The latest notice remains the reviewed
Debian 11 image deprecation, and the machine-readable Hetzner API still
reports no drift. No SDK behavior or model change is required.
Commit 21 Qualification (Pentest Required)
Commit 20 was accepted after user-confirmed pentest and GitHub green at
df5892e7. Commit 21 has reached its implementation stop, not release approval.allowlists, guarded stdin credentials, bounded buffers and ten real-entry-point
CI rejection tests. Normal CI has no registry mutation authority.
metadata/framing lengths, pagination and anonymous download redirects.
Shared deterministic tests verify actual seeds and boundary cases. All 39
repository targets passed bounded smoke campaigns; this is not exhaustive fuzzing.
validation. Provider archives matched across independent target directories;
all six package graphs passed Cargo verification.
transport checks, full repository tests/Clippy, advisory/license checks,
live crates.io source/drift checks, documentation and SBOM validation.
acknowledgement passed on one disposable crate. The operator confirmed manual
deletion. Invitation acceptance and other account mutations were not tested.
A scoped-token following read returned 403 and is not claimed as qualified.
scripts/check_cratesio_qualification.shto repeat credential-freelocal qualification. No production SDK API or dependency version changed.
versus locked 208, Network members and Primary IP assignee changes, and new
changelog notices. This supersedes earlier clean observations. Commit 22 must
reconcile this before release; fingerprints have not been blindly refreshed.
See the qualification ledger.
Stop for incremental pentest and GitHub acceptance; do not tag or publish.
This discussion was created from the release cloud-sdk 1.1.0.
All reactions