[DO NOT MERGE until 1.0 ships] Bump adk-docs to adk-kotlin 1.0.0 - #2152
Open
happyhuman wants to merge 4 commits into
Open
[DO NOT MERGE until 1.0 ships] Bump adk-docs to adk-kotlin 1.0.0#2152happyhuman wants to merge 4 commits into
happyhuman wants to merge 4 commits into
Conversation
KT-23. adk-docs compiles its Kotlin snippets against the pinned SDK, so no 1.0
feature can be documented until this pin moves. Prerequisite only - no snippets,
no prose about 1.0 features.
Moves the examples pin (core, webserver, processor, a2a) and the install
instructions readers copy from, which track the pin for the same reason they did
at 0.8.0: leaving them behind hands newcomers an SDK older than the snippets on
the same page.
THIS DOES NOT BUILD YET, and cannot until the artifacts are published:
> Could not find com.google.adk:google-adk-kotlin-core:1.0.0.
> Could not find com.google.adk:google-adk-kotlin-webserver:1.0.0.
> Could not find com.google.adk:google-adk-kotlin-a2a:1.0.0.
Maven Central carries 0.8.0 as the newest release for every artifact today, and
google/adk-kotlin has no v1.0.0 tag. The PR is a draft until the release lands.
Two comments that pinned third-party versions against adk-kotlin 0.8.0's
catalog - Ktor 2.3.13 and a2a-java-sdk-client 1.0.0.Final - now say the match
was made against 0.8.0 and needs re-checking, rather than restating it as though
it still held. A major release is exactly where a transitive version moves.
Also note the version string is assumed to be `1.0.0`. If the release is cut as
`1.0.0-rc.1` or similar, these five coordinates need to match it.
✅ Deploy Preview for adk-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Missed on the first pass, and the reason is worth recording: the sweep used `google-adk-kotlin[a-z-]*:0\.8\.0`, whose character class has no digits, so it silently skipped `google-adk-kotlin-a2a` - the one artifact with a digit in its name. Every other coordinate matched, so the search looked exhaustive and was not. The corrected pattern is `google-adk-kotlin[a-z0-9-]*:[0-9]+\.[0-9]+\.[0-9]+`. Run repo-wide it now finds five live coordinates in the examples build file and seventeen in the docs, all at 1.0.0, and nothing left below it.
# Conflicts: # docs/a2a/quickstart-consuming-kotlin.md # docs/agents/models/litert-lm.md # docs/get-started/installation.md # docs/get-started/kotlin.md # examples/kotlin/build.gradle.kts
main moved to 0.9.0 (#2191) after this branch was cut, so the merge above took main wholesale and this re-applies the 1.0 pin on top. Two coordinates are new since the branch was opened and were never in the original bump: - `google-adk-kotlin-litertlm` in `docs/agents/models/litert-lm.md` - `google-adk-kotlin-integrations` in `docs/integrations/bigquery-agent-analytics.md` (arrived with #2147, the reconciliation the original PR description flagged as owed) Also bumps the two tag-pinned `adk-kotlin/blob/v0.8.0` source links in `docs/agents/llm-agents.md`. Those point at `SchemaUtils` and `LlmAgent` to back a claim about how Kotlin validates output schemas; pinned to a tag five releases behind, they document what 0.8 did, not what a reader on 1.0 runs. 19 coordinates and 2 permalinks. No `com.google.adk:google-adk-kotlin-*` coordinate below 1.0.0 remains anywhere in the repo. Deliberately untouched, because they record history rather than a pin: the ~42 `Kotlin vX.Y.Z` support badges (bumping them would assert that e.g. artifacts first shipped in Kotlin 1.0), and the "added in adk-kotlin 0.8.0" / "Since adk-kotlin 0.7.0" comments in CapitalAgent.kt and CountInvocationPlugin.kt. Still unbuildable and still a draft: Maven Central's newest google-adk-kotlin-core is 0.9.0 and google/adk-kotlin's newest tag is v0.9.0, so there is no 1.0.0 to resolve. `verify_snippets.py --fast` passes L3, L5 and L6 and refuses L0 for exactly that reason -- no grounding source exists at the target version. The bundled Dokka API reference under docs/api-reference/kotlin still renders 0.5.0 across 1,674 files and cannot be regenerated until the tag exists; it remains on the pre-merge checklist.
happyhuman
marked this pull request as ready for review
September 4, 2026 17:59
happyhuman
marked this pull request as draft
September 4, 2026 18:05
happyhuman
marked this pull request as ready for review
September 4, 2026 18:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Warning
Do not merge before adk-kotlin 1.0 is published. This PR pins versions that
do not exist yet, so the Kotlin examples project cannot resolve its
dependencies until the release lands. Opened as a draft deliberately.
Summary
KT-23, the prerequisite that unblocks every 1.0 feature. adk-docs compiles its
Kotlin snippets against the pinned SDK, so nothing new can be documented until
this moves. No snippets and no 1.0 prose here — just the pin, so the review is
small and the risky part is the verification that has to happen after the
release.
Every
com.google.adk:google-adk-kotlin-*coordinate in the repo is now1.0.0, and nothing below it remains.Rebased onto main, which moved to 0.9.0 underneath this branch
This branch was cut when main was on 0.8.0. Since then #2191 upgraded the docs
to 0.9.0 and moved them off
AdkWebServer, and the branch fell 27 commitsbehind. The merge here takes main wholesale on all five conflicting files, then
re-applies the pin on top — so the diff against main is only the version
strings, with none of #2191's structural work reverted.
What changed
19 coordinates, in
examples/kotlin/build.gradle.ktsand the installinstructions readers copy:
docs/get-started/kotlin.md,docs/get-started/installation.md,docs/agents/models/litert-lm.md,docs/a2a/quickstart-consuming-kotlin.md,docs/integrations/bigquery-agent-analytics.md.Two of those artifacts did not exist on this branch when it was opened, and the
original sweep therefore could not have found them:
google-adk-kotlin-litertlmon the LiteRT-LM page.google-adk-kotlin-integrations, which arrived with Document the BigQuery agent analytics plugin for Kotlin #2147 — thereconciliation this PR's original description flagged as owed to whichever
side merged second. It is done here.
2 tag-pinned permalinks in
docs/agents/llm-agents.md. Both point intoadk-kotlin/blob/v0.8.0to back a claim about how Kotlin validates outputschemas (
SchemaUtils,LlmAgent). Pinned five releases back, they documentwhat 0.8 did rather than what a reader on 1.0 runs, so they track the pin.
What is deliberately not bumped
Kotlin vX.Y.Zsupport badges. These are since-version markerssitting alongside
Python v1.21.0andJava v1.5.0, recording the release afeature landed in. Bumping them would assert that e.g. artifacts first
shipped in Kotlin 1.0. Same reasoning for the "added in adk-kotlin 0.8.0" and
"Since adk-kotlin 0.7.0" comments in
CapitalAgent.ktandCountInvocationPlugin.kt.The API reference has to ship with this, and still cannot be built
docs/api-reference/kotlin/is generated Dokka output. Its index renders0.5.0 and 1,674 files carry that string — now six releases behind, not five.
Leaving it means "adk-docs is on 1.0" would be false the moment this merges, so
it belongs in this PR.
It cannot be produced today, for the same reason the pin cannot be compiled:
tools/kotlin-api-docs/generate.shdoesgit clone --branch v1.0.0, and thattag does not exist. The generator also needs
ANDROID_HOMEwithplatforms;android-34, because adk-kotlin hasandroidMainsource sets.This does not build yet, and that is expected
git ls-remote --tags https://github.com/google/adk-kotlinreturns v0.9.0as the newest tag, and
maven-metadata.xmlforgoogle-adk-kotlin-corelists<release>0.9.0</release>. Nothing is wrong with the change; the artifactssimply are not there.
Note that CI will go green anyway, and that is not evidence. The
kotlin-snippets-pr-checkjob only builds.ktfiles changed in the PR, andthis PR changes none — so it will compile nothing at all. Exactly the gap that
let the 0.8.0 bump (#2143) merge with a snippet that no longer compiled.
Verification
verify_snippets.py --fastis the most that can run today:The L0 failure is the correct outcome, not a defect in this change: there is no
adk-kotlin 1.0.0 anywhere to check symbols against, and the tool refuses to fall
back to the 0.5.0 Dokka bundle rather than validate against a stale API. L1, L2
and L4 need a JVM and a resolvable dependency, so they are unrunnable until the
release lands.
Pre-merge checklist
Once
1.0.0is on Maven Central, before merging:1.0.0and not1.0.0-rc.1or similar — 19 coordinates and 2 permalinks assume it.
JAVA_HOME=<jdk17> ./tools/kotlin-snippets/runner.sh build— the fullregression, not the changed-files subset.
JAVA_HOME=<jdk17> ./tools/kotlin-snippets/runner.sh lint.verify_snippets.pywith no--fast, so L0/L1/L2/L4 actually execute.2.3.13anda2a-java-sdk-client:1.0.0.Final. A major release is where atransitive version moves.
snippets survive. At 0.8.0,
BaseTool.runwidened itsargsfromMap<String, Any>toMap<String, Any?>and brokeMultiAgentExample.kt;a major release is likelier to carry more.
bash tools/kotlin-api-docs/generate.sh 1.0.0(needs JDK 17 andANDROID_HOMEwithplatforms;android-34). Confirm afterwards thatdocs/api-reference/kotlin/index.htmlrenders1.0.0, not0.5.0.adk-kotlin/blob/v1.0.0/...permalinks indocs/agents/llm-agents.mdresolve — the paths are assumed unmoved fromv0.8.0.
Process note on sweeping for versions
Two patterns have now each missed a real coordinate at a bump:
google-adk-kotlin[a-z-]*:0\.8\.0excludes digits, so it skippedgoogle-adk-kotlin-a2awhile matching everything else — which made the searchlook complete. Fixed in
c0a56767.branch was cut, which is how
litertlmandintegrationswere nearly left at0.9.0 here.
What works is matching the coordinate with any version and asserting the
complement is empty:
com\.google\.adk:google-adk-kotlin[a-z0-9-]*:[0-9]+\.[0-9]+\.[0-9]+, thenfiltering out the target. Worth reusing at the next bump.