v1 readiness and stable scope¶
The owner accepted issue-driven v1 preparation on 2026-10-07. First published stable cohort: v1.0.0; earlier candidate: v1.0.0-rc.1. The owner explicitly authorized stable publication under #137; this record covers the published maintained subset and its compatibility commitment, not exhaustive parity. Track the full audit in #112. See version policy for the latest stable cohort and release history for later v1 publications.
Maintained scope¶
All 27 maintained public modules in tools/modules.json release at one version
with independent paths/dependencies and prefixed tags. The frozen tracer/xray
adapter and three development modules are excluded. An API freeze must cover the
whole maintained cohort.
Source baseline: Go 1.27, direct JSON v2 APIs, CGO disabled, provided.al2023 on Linux amd64 and arm64. SDK-owned invocation serialization follows aws-lambda-go; library JSON rules apply to its own operations. OpenTelemetry is maintained tracing. Root Commons stays dependency-free; utilities share one invocation identity.
FEATURE_PARITY.md and utility guides define the supported subset against TypeScript v2.35.0. Exhaustive JavaScript type, decorator and serialization equivalence is separate work.
Stable v1 compatibility commitment¶
Since v1.0.0 publication, preserve documented exported interfaces, configuration defaults, error categories, JSON/persistence formats and ownership/lifecycle contracts within v1. Additive optional features can ship in later minor versions. Fix incorrect behavior through reviewed changes and clear release notes; incompatible changes require a separately reviewed major/module-path plan.
| Family | Review before freezing |
|---|---|
| Commons/adapters | Shared invocation identity, cloning/merge ownership, precision, environment parsing and isolation |
| Logger/Metrics/Tracer | Invocation isolation, closure/late writes, cold start, output/errors, precedence and injected resource ownership |
| Parameters/Metadata | Cache lifetime/invalidation, transform/missing errors, cancellation and SDK/HTTP ownership |
| Batch/Idempotency | Failure order/FIFO, conditional acquisition, expiry/lease units, replay formats, errors and cache ownership |
| Parser/Validation/JMESPath | Exported schemas/functions, validation versus operational errors, cancellation, compiled reuse and strict JSON/numbers |
| HTTP/middleware | Event fields, routes, body ownership, streaming close/errors, encoding and scoped observability |
| AppSync/Bedrock | Envelopes, routing, authorization/errors, scalar/parameter conversion and output order |
| Kafka/codecs | Lazy decode errors, JSON/native modes, framing, schemas and callback ownership |
| Masking/KMS | Immutability, selection/order, provider concurrency/errors, authenticated context and uncached operation |
The public declaration inventory contains 35 packages and 823 declaration groups. The API scope review compares the v0.2.0 declarations, constructors/interfaces and documented contracts, reusing critical-path/regression evidence. Its contract decision was reviewed before stable publication; the accepted v1 commitment and release checks are recorded below.
Gates and evidence¶
| Gate | Tracking | Status |
|---|---|---|
| Go 1.27/JSON v2 | #110, PR #111 | Merged; full PR CI passed 31 modules/28 consumers, both builds and local runtime/service scope |
| First-party pointer cleanup | #107, PR #108 | Merged: 28 packaged modules/26 consumers and DynamoDB Local in hosted CI; local package builds on both architectures. Lambda ZIP/runtime gates were skipped for #108 and passed separately in the candidate/main Full regression; transitive unsafe capabilities remain separate |
| Stable API scope review | #112 | Declaration/constructor/interface and documented contract review recorded in V1_API_REVIEW.md; contract adopted by stable v1.0.0 publication under #137 |
| Performance baseline | #113, PR #125 | Eleven measured scenarios and six packaged modules/consumers accepted; Windows baseline and limits |
| Onboarding/version policy | #48, #49, #51 | Policy and isolated published-example verification |
| Sanitized service evidence | #114 | Recorded scope, historical artifacts only |
| Remaining service claims | #92 | Reuse evidence, focus acceptance or state unsupported boundary |
| Candidate preparation/acceptance | #115, #121, #129 | v1.0.0-rc.1 published after #135/main Full regression and all 27 fresh public consumers passed; public acceptance |
| Stable publication | #137, PR #138 | v1.0.0 published after exact PR/main Full regression and 27 fresh public consumers; stable acceptance |
| Browser presentation | DOC-06 | Owner verifies deployed homepage/Logger/quickstart at desktop/390px, search/navigation/themes/keyboard/code copy |
Recent cloud examples verified CloudWatch extraction, both Lambda architectures, DynamoDB claims/replay/Parameters, SSM and SigV4. Reuse these records. Remaining Batch service retries/checkpoints, hard-timeout/freeze, cloud HTTP streaming, real KMS and cache topology require focused acceptance or explicit support limits. Additional cloud tests require explicit authorization, local profile/account guards, ap-east-1, reviewed resources/cost scope and cleanup. #92 alone does not authorize cloud calls.
Post-v1 work¶
These extensions do not block the supported subset. Their planning issues have completed design acceptance; implementation and service acceptance remain open. See the opt-in AWS acceptance plan for #92's deferred suite.
- #116: optional KMS materials caching design.
- #117: additional Kafka registry wire modes.
- #118: additional Validation dialect/extensions.
- #119: Managed Instances lifecycle assessment.
- #120: platform durable execution design; existing DynamoDB Idempotency replay is implemented.
Keep frozen X-Ray regressions and its migration warning. Transitive deps.dev unsafe capability labels do not prove remaining first-party unsafe calls.
Candidate and final publication¶
Stable v1.0.0 is published from 7be51eb5523612495f1123d82de4a9ee93895b88 after
PR #138 and exact
merged-main Full regression passed. Publication run 37637432902
verified all 27 fresh public consumers and finalized one stable project Release.
The owner explicitly authorized publication and the documented API commitment.
See stable public acceptance. Browser presentation
and pkg.go.dev overview/API/example review remain separate owner checks.
The candidate history below retains its original identities.
Candidate v1.0.0-rc.1 is published from 7eefb62fbde95a4d85eec1aee484a47e590a7d00 after
PR #135 and exact merged-main
Full regression passed. Publication run 37630203444
verified all 27 fresh public consumers and finalized one project Release.
See public acceptance for identities and checksums.
Browser presentation/pkg.go.dev review remains separate. Stable publication was subsequently authorized and completed as recorded above.
The preparation and publication gates below also apply to later versions.
The published v1.0.0-rc.1 cohort was prepared after implementation/scope gates passed. Do not manually edit versions or reserve tags. Follow RELEASING.md: exact preparation/source identity, all modules/consumers, both Lambda builds, runtime simulation, DynamoDB Local, documentation and release-tooling success. Review notes and existing license/provenance checks.
The merged preparation #135 for #129
used --all --version v1.0.0-rc.1 --issue 129 without --auto-publish.
Its frozen plan shows auto_publish: false, publication_mode: project, all 27 maintained modules,
the exact source SHA and reviewed accumulated breaking/feature/fix notes.
The frozen adapter and development modules are not release components.
Preparation writes metadata and a reviewable PR; it creates no module tags.
Release metadata changes automatically select complete CI. Both the candidate PR and its exact merged main commit must have a successful Full regression marker, module/architecture artifacts, DynamoDB Local, runtime simulation, documentation and pinned release-tooling checks. A skipped Full regression marker or an earlier source SHA is insufficient. CI also checks all module licenses/notices; ordinary source PR acceptance is not candidate acceptance.
Publication then uses dependency order and fresh public proxy/checksum consumers,
with GOWORK=off, CGO_ENABLED=0 and no local proxy/replacement. Components
use independent tags at the same version and commit. One project Release and
consolidated notes remain draft until every consumer succeeds, then finalize
once. The publisher closes #129 only after that gate passes. These audited procedures complete
115's tooling/scope review, not publication acceptance.¶
For DOC-06, open the documentation site, Logger and Getting started. At desktop and 390px widths, verify search results, navigation, both themes, keyboard access and code copying. Record the result in #137; a strict site build does not verify browser presentation.
After publication, verify fresh public proxy/checksum consumers with GOWORK off.
For each maintained module, open https://pkg.go.dev/MODULE_PATH@v1.0.0 and
check its overview, API links and examples. The root package uses
github.com/rambow-cloud/powertools-lambda-go/commons@v1.0.0; Logger uses
github.com/rambow-cloud/powertools-lambda-go/logger@v1.0.0.
Browser review is separate from builds. Candidate and stable publication/public
consumers passed; browser review remains an owner check. Later versions receive
separate review; ordinary source merges do not publish modules.