Skip to content

Rebrand copilot-sdk-java from community SDK to official GitHub SDK#8

Merged
edburns merged 36 commits intomainfrom
edburns/dd-2785864-pre-public-non-code-changes
Mar 16, 2026
Merged

Rebrand copilot-sdk-java from community SDK to official GitHub SDK#8
edburns merged 36 commits intomainfrom
edburns/dd-2785864-pre-public-non-code-changes

Conversation

@edburns
Copy link
Collaborator

@edburns edburns commented Mar 16, 2026

Review work for this PR happened in public on PR 1.

This PR contains non-code changes to transition copilot-sdk-java from the
community-driven fork (copilot-community-sdk) to the official GitHub
repository (github/copilot-sdk-java). No source code logic is changed;
all modifications are to metadata, configuration, documentation, and CI
workflows.

Summary of changes (27 files)

Maven coordinates and versioning

  • groupId: io.github.copilot-community-sdkcom.github
  • artifactId: copilot-sdkcopilot-sdk-java
  • Version reset: 1.0.12-SNAPSHOT0.1.33-SNAPSHOT (latest release: 0.1.32)
  • Added <snapshotRepository> pointing to Maven Central Snapshots
  • Moved central-publishing-maven-plugin from release profile to default build

CI/CD workflows

  • publish-maven.yml: Updated groupId in GitHub Release step
  • publish-snapshot.yml: New workflow for publishing SNAPSHOT builds to Maven Central
  • deploy-site.yml: Updated repository URL for site generation

Repository metadata

  • CODEOWNERS: edburns@github.com@github/copilot-sdk-java
  • release.yml: Updated changelog link
  • copilot-instructions.md: Removed "community-driven" qualifier
  • SUPPORT.md: Removed "maintained by the community" language
  • .vscode/settings.json: Added java.configuration.updateBuildConfiguration
  • .gitignore: Updated

Documentation and site (17 files)

  • README.md: Updated all badge URLs, Maven coordinates, clone URL,
    JBang URL, documentation links, star-history chart. Added snapshot
    builds section. Changed disclaimer from "unofficial, community-driven"
    to "tracks the pre-GA GitHub Copilot SDKs".
  • jbang-example.java: Updated dependency coordinates and version
  • src/site/markdown/index.md: Updated URLs and coordinates
  • src/site/markdown/getting-started.md: Updated URLs
  • src/site/markdown/advanced.md: Updated URLs
  • src/site/markdown/documentation.md: Updated URLs
  • src/site/markdown/hooks.md: Updated URLs
  • src/site/markdown/cookbook/*.md (5 files): Updated dependency coordinates
  • src/site/site.xml: Updated site URLs
  • .github/templates/index.html: Updated URLs
  • .github/workflows/notes.template: Updated URLs

Source files

  • src/main/java/com/github/copilot/sdk/package-info.java: Updated package Javadoc
  • src/test/prompts/PROMPT-smoke-test.md: Updated references

What is NOT changed

  • No Java source code logic changes
  • No test logic changes
  • No dependency version changes
  • No changes to test snapshots

Testing

All existing tests continue to pass (mvn clean verify → BUILD SUCCESS).
These are purely non-code changes (URLs, coordinates, documentation text)
so functional behavior is unaffected.

edburns and others added 30 commits March 5, 2026 19:05
modified:   .github/release.yml
modified:   .github/templates/index.html
modified:   .github/workflows/deploy-site.yml
modified:   .github/workflows/notes.template
modified:   .github/workflows/publish-maven.yml
modified:   README.md
modified:   jbang-example.java
modified:   pom.xml
modified:   src/main/java/com/github/copilot/sdk/package-info.java
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md
modified:   src/site/markdown/getting-started.md
modified:   src/site/markdown/index.md
modified:   src/site/site.xml

On branch edburns/dd-2785864-pre-public-non-code-changes
modified:   .github/release.yml
modified:   .github/templates/index.html
modified:   .github/workflows/deploy-site.yml
modified:   .github/workflows/notes.template
modified:   .github/workflows/publish-maven.yml
modified:   README.md
modified:   jbang-example.java
modified:   pom.xml
modified:   src/main/java/com/github/copilot/sdk/package-info.java
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md
modified:   src/site/markdown/getting-started.md
modified:   src/site/markdown/index.md
modified:   src/site/site.xml

Signed-off-by: Ed Burns <edburns@microsoft.com>
…this to be the official SDK, not a community SDK.

modified:   .github/copilot-instructions.md
modified:   .github/templates/index.html
modified:   .github/workflows/notes.template
modified:   README.md
modified:   SUPPORT.md
modified:   pom.xml
modified:   src/site/markdown/advanced.md
modified:   src/site/markdown/documentation.md
modified:   src/site/markdown/hooks.md
modified:   src/site/markdown/index.md
modified:   src/site/site.xml

Signed-off-by: Ed Burns <edburns@microsoft.com>
modified:   README.md
modified:   jbang-example.java
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md

Fixed comment from @brunoborges:

> The pin snapshot version is 0.1.30, therefore all places that reference a version that is supposed to be on Maven Central, must be 0.1.29 (as if it was there already).
new file:   .github/workflows/publish-snapshot.yml

- New workflow, to publish `-SNAPSHOT` build.

modified:   .vscode/settings.json

- Always reload.

modified:   README.md

- Document `-SNAPSHOT` build.

modified:   pom.xml

- Use correct `artifactId`.

- Add `<distributionManagement />` section.
…pl is at 0.1.32.

modified:   README.md
modified:   jbang-example.java
modified:   pom.xml
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md

no changes added to commit (use "git add" and/or "git commit -a")
…785864-pre-public-non-code-changes

# Conflicts:
#	README.md
#	jbang-example.java
#	pom.xml
…napshots to maven central instead of GitHub packages

modified:   .github/workflows/publish-snapshot.ym
modified:   README.md
modified:   pom.xml

- Publish to snapshots to maven central instead of GitHub packages

no changes added to commit (use "git add" and/or "git commit -a")
modified:   .github/copilot-instructions.md
modified:   README.md
modified:   src/site/markdown/advanced.md
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md
modified:   src/site/markdown/documentation.md
modified:   src/site/markdown/getting-started.md
modified:   src/site/markdown/hooks.md
modified:   src/site/markdown/index.md
modified:   src/site/markdown/mcp.md

When the accessor style changed
Commit f5e9662 — February 10, 2026, authored by Bruno Borges.

"Refactor data access methods in tests to use new naming conventions"

Updated test assertions … to reflect changes in data access methods from getX() to x().

This was a massive breaking change across all 40+ event data types in com.github.copilot.sdk.events. Every public static class FooData with JavaBean getters/setters was converted to a public record FooData(...). This removed all getX() / setX() methods and replaced them with record component accessors (x()).

The commit was merged via PR #117 (feat/records-for-data-types) and shipped in v1.0.9 (the first release tag that contains it, alongside v1.0.10 and v1.0.11).

Timeline summary:

Before f5e9662: AssistantMessageData was a mutable static class with getContent(), setContent(), etc.
After f5e9662 (v1.0.9+): all event data types became Java records — content(), currentTokens(), tokenLimit(), messagesLength(), etc.
The README's Quick Start code was never updated to match — it still showed getContent() / getCurrentTokens() etc. until the fix applied in our current session.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…-getter-discrepancy

On branch edburns/dd-2824425-fix-record-vs-getter-discrepancy
Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
…tic-module-name

Set Automatic-Module-Name: com.github.copilot.sdk.java in JAR manifest
… and execute a smoke test based on the most recently published snapshot release as documented in the top level README.

new file:   src/test/prompts/PROMPT-smoke-test.md
Execute this prompt to create and execute a smoke test
Your branch is up to date with 'origin/edburns/dd-2785864-pre-public-non-code-changes'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   src/main/java/com/github/copilot/sdk/package-info.java

no changes added to commit (use "git add" and/or "git commit -a")
…ntDownLatch

The testShouldTriggerCompactionWithLowThresholdAndEmitEvents test was failing
with compactionCompleteCount == 0 because the SessionCompactionCompleteEvent
may arrive slightly after sendAndWait returns due to async event delivery from
the Copilot CLI. Added a CountDownLatch that waits up to 10 seconds for the
event after the third sendAndWait call completes, making the test resilient to
minor timing differences across CI environments.

Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
…Id in jbang dependency lines like //DEPS should point to copilot-sdk-java

modified:   jbang-example.java
modified:   src/site/markdown/cookbook/error-handling.md
modified:   src/site/markdown/cookbook/managing-local-files.md
modified:   src/site/markdown/cookbook/multiple-sessions.md
modified:   src/site/markdown/cookbook/persisting-sessions.md
modified:   src/site/markdown/cookbook/pr-visualization.md
modified:   src/site/markdown/getting-started.md
modified:   src/site/markdown/index.md

@brunoborges wrote:

> The artifactId in jbang dependency lines like //DEPS should point to copilot-sdk-java
modified:   src/site/markdown/getting-started.md

@brunoborges wrote:

> Fix artifactId
edburns added 6 commits March 14, 2026 17:26
modified:   .github/workflows/publish-maven.yml
modified:   src/site/markdown/index.md

@brunoborges wrote:

> Fix artifactId
…sion policy.

modified:   .github/templates/index.html
docs/adr/adr-002-maven-version-and-reference-implementation-tracking.md
…nd versioning.

modified:   .github/templates/index.html
modified:   .github/workflows/notes.template
…to specific SHA per request from @karianna

modified:   .github/workflows/build-test.yml
modified:   .github/workflows/copilot-setup-steps.yml
modified:   .github/workflows/deploy-site.yml
modified:   .github/workflows/publish-maven.yml
modified:   .github/workflows/publish-snapshot.yml
modified:   .github/workflows/weekly-upstream-sync.yml

> prefer #commmit versions e.g., actions/checkout@#4s9df7sdf98d7f8s9df7sd9f87ds #v6.0.0
modified:   src/site/markdown/advanced.md

> I think we can word that differently as we are the official SDK.
modified:   src/site/markdown/advanced.md
modified:   src/site/markdown/documentation.md
modified:   src/site/markdown/hooks.md
modified:   src/site/markdown/index.md

> OK yeah let's kill the excess dislcaimers
Copilot AI review requested due to automatic review settings March 16, 2026 18:57
@edburns
Copy link
Collaborator Author

edburns commented Mar 16, 2026

On teams: @brunoborges wrote:

Ed Burns I think we are good to go. I can draft a blog post for tomorrow, and do a quick slide for Patrick to consider in the keynote. BUt we need to publish to Maven Central today by EOD

@edburns edburns self-assigned this Mar 16, 2026
@edburns edburns merged commit 68b8e0b into main Mar 16, 2026
20 of 21 checks passed
@edburns edburns deleted the edburns/dd-2785864-pre-public-non-code-changes branch March 16, 2026 19:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR rebrands the project from the community fork to the official github/copilot-sdk-java repository, updating Maven coordinates, documentation/site URLs, and CI/CD publishing workflows to match the new identity and release process.

Changes:

  • Update Maven coordinates (GAV), SCM metadata, and publishing configuration for Maven Central + snapshots.
  • Refresh documentation and site content to use the new repository/coordinates and record-based accessors (content(), etc.).
  • Adjust CI workflows (publishing, site deployment, upstream sync) including pinned action SHAs and a new snapshot publishing workflow.

Reviewed changes

Copilot reviewed 33 out of 34 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
src/test/prompts/PROMPT-smoke-test.md Adds a smoke-test prompt to validate snapshot consumption and runtime execution via java -jar.
src/test/java/com/github/copilot/sdk/CompactionTest.java Makes compaction E2E test more deterministic by waiting for a compaction-complete event.
src/site/site.xml Updates site branding and GitHub projectId to the official repo.
src/site/markdown/mcp.md Updates example accessor usage to record-style (content()).
src/site/markdown/index.md Updates disclaimer and Maven coordinates/links for the official SDK.
src/site/markdown/hooks.md Removes community disclaimer and updates example accessor usage.
src/site/markdown/getting-started.md Updates install snippets (new GAV) and example accessor usage.
src/site/markdown/documentation.md Updates examples for record accessors and refreshed tool event fields.
src/site/markdown/cookbook/pr-visualization.md Updates JBang dependency coordinates and record accessor usage in examples.
src/site/markdown/cookbook/persisting-sessions.md Updates JBang dependency coordinates and record accessor usage in examples.
src/site/markdown/cookbook/multiple-sessions.md Updates JBang dependency coordinates and record accessor usage in examples.
src/site/markdown/cookbook/managing-local-files.md Updates JBang dependency coordinates and tool event accessor usage in examples.
src/site/markdown/cookbook/error-handling.md Updates JBang dependency coordinates and record accessor usage in examples.
src/site/markdown/advanced.md Removes community disclaimer and updates compaction/example accessors to records.
src/main/java/com/github/copilot/sdk/package-info.java Updates package Javadoc link to the official repository.
pom.xml Renames GAV, resets version, adds snapshot distributionManagement, and moves publishing plugin into default build.
jbang-example.java Updates dependency coordinates/version strategy for the JBang example.
docs/adr/adr-002-maven-version-and-reference-implementation-tracking.md Adds ADR describing Maven versioning strategy relative to upstream releases.
SUPPORT.md Updates support language to remove “community maintained” phrasing.
README.md Rebrands badges/links/coordinates, adds snapshot usage instructions, and updates Quick Start code for record accessors.
.vscode/settings.json Enables automatic Maven build configuration refresh in VS Code.
.gitignore Ignores smoke-test directory.
.github/workflows/weekly-upstream-sync.yml Pins actions/checkout to a specific commit SHA.
.github/workflows/weekly-upstream-sync.lock.yml Updates pinned SHAs for artifact download steps.
.github/workflows/publish-snapshot.yml Adds workflow to publish SNAPSHOTs to Maven Central snapshots.
.github/workflows/publish-maven.yml Updates release workflow for new coordinates and pinned setup-java, plus doc/version update patterns.
.github/workflows/notes.template Rebrands release notes template and updates documentation URLs.
.github/workflows/deploy-site.yml Pins action SHAs and updates repo URL used during site generation.
.github/workflows/copilot-setup-steps.yml Pins action SHAs for checkout/setup steps.
.github/workflows/build-test.yml Pins action SHAs for CI and artifact upload.
.github/templates/index.html Rebrands the GitHub Pages version index landing page and links.
.github/release.yml Updates changelog link to the official repo.
.github/copilot-instructions.md Removes “community-driven” phrasing and updates record accessor usage in examples.
.github/CODEOWNERS Transfers ownership to @github/copilot-sdk-java.
Comments suppressed due to low confidence (1)

.github/templates/index.html:27

  • The Maven Central link still points to com.github/copilot-sdk, but the artifactId in this PR is copilot-sdk-java. Update the URL to point at the new coordinates so the button doesn’t 404 / show the wrong artifact.
        <a href="https://central.sonatype.com/artifact/com.github/copilot-sdk" class="btn btn-maven">
          <svg height="20" width="20" viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
          View on Maven Central

You can also share your feedback on Copilot code review. Take the survey.

<div class="alert alert-warning">
⚠️ <strong>Disclaimer:</strong> This is an <strong>unofficial, community-driven SDK</strong> and is <strong>not supported or endorsed by GitHub</strong>. Use at your own risk.
<div class="alert alert-warning">
⚠️ <strong>Disclaimer:</strong> This is the official Java SDK for GitHub Copilot. This repository treats the official .NET and nodejs SDKs for GitHub Copilot as reference implementations. These SDKS are all officially supported as GitHub open source projects. The Java implementation follows the backward compatibility guarantees offered by the reference implementations. As such this implementation may introduce breaking changes, according to the policy declared by the reference implementations. Use at your own risk.
VERSION="${{ needs.publish-maven.outputs.version }}"
GROUP_ID="io.github.copilot-community-sdk"
GROUP_ID="com.github"
ARTIFACT_ID="copilot-sdk"
> ⚠️ **Disclaimer:** This is an **unofficial, community-driven SDK** and is **not supported or endorsed by GitHub**. Use at your own risk.
⚠️ **Disclaimer:** This is the official Java SDK for GitHub Copilot. This repository treats the official .NET and nodejs SDKs for GitHub Copilot as reference implementations. These SDKS are all officially supported as GitHub open source projects. The Java implementation follows the backward compatibility guarantees offered by the reference implementations. As such this implementation may introduce breaking changes, according to the policy declared by the reference implementations. Use at your own risk.

⚠️ **Artifact versioning plan:** Releases of this implementation track releases of the reference implementation. For each release of the reference implementation, there may follow a corresponding relase of this implementation with the same number as the reference implementation. Release identifiers of the reference implementation are in the form `vMaj.Min.Micro`. For example v0.1.32. The corresponding maven version for the release will be `Maj.Min.Micro-java.N`, where `Maj`, `Min` and `Micro` are the corresponding numbers for the reference impementation release, and `N` is a monotonically increasing sequence number starting with 0 for each release. See the corrseponding architectural decision record for more information in the `docs/adr` directory of the source code.
> ⚠️ **Disclaimer:** This is an **unofficial, community-driven SDK** and is **not supported or endorsed by GitHub**. Use at your own risk.
⚠️ **Disclaimer:** This is the official Java SDK for GitHub Copilot. This repository treats the official .NET and nodejs SDKs for GitHub Copilot as reference implementations. These SDKS are all officially supported as GitHub open source projects. The Java implementation follows the backward compatibility guarantees offered by the reference implementations. As such this implementation may introduce breaking changes, according to the policy declared by the reference implementations. Use at your own risk.

⚠️ **Artifact versioning plan:** Releases of this implementation track releases of the reference implementation. For each release of the reference implementation, there may follow a corresponding relase of this implementation with the same number as the reference implementation. Release identifiers of the reference implementation are in the form `vMaj.Min.Micro`. For example v0.1.32. The corresponding maven version for the release will be `Maj.Min.Micro-java.N`, where `Maj`, `Min` and `Micro` are the corresponding numbers for the reference impementation release, and `N` is a monotonically increasing sequence number starting with 0 for each release. See the corrseponding architectural decision record for more information in the `docs/adr` directory of the source code.

- Simple number qualifier (0.1.32-0, 0.1.32-1, ...) fails on a subtle but important point: 0.1.32-0 is treated identically to 0.1.32 by Maven (trailing zeros are normalized away), and bare numeric qualifiers are pre-release semantics. Your "first release" would sort before the upstream bare version.

- Java and number in the qualifier (0.1.32-java.N
> ⚠️ **Disclaimer:** This is an **unofficial, community-driven SDK** and is **not supported or endorsed by GitHub**. Use at your own risk.
⚠️ **Disclaimer:** This is the official Java SDK for GitHub Copilot. This repository treats the official .NET and nodejs SDKs for GitHub Copilot as reference implementations. These SDKS are all officially supported as GitHub open source projects. The Java implementation follows the backward compatibility guarantees offered by the reference implementations. As such this implementation may introduce breaking changes, according to the policy declared by the reference implementations. Use at your own risk.

⚠️ **Artifact versioning plan:** Releases of this implementation track releases of the reference implementation. For each release of the reference implementation, there may follow a corresponding relase of this implementation with the same number as the reference implementation. Release identifiers of the reference implementation are in the form `vMaj.Min.Micro`. For example v0.1.32. The corresponding maven version for the release will be `Maj.Min.Micro-java.N`, where `Maj`, `Min` and `Micro` are the corresponding numbers for the reference impementation release, and `N` is a monotonically increasing sequence number starting with 0 for each release. See the corrseponding architectural decision record for more information in the `docs/adr` directory of the source code.

## Context and Problem Statement

Releases of this implementation track releases of the reference implementation. For each release of the reference implementation, there may follow a corresponding relase of this implementation with the same number as the reference implementation, allowing for additional metadata to version multiple releases of this implementation that track the same release of the reference implementation.
Comment on lines 130 to +134
### Quick Links

- [Getting Started](https://copilot-community-sdk.github.io/copilot-sdk-java/latest/documentation.html)
- [Javadoc API Reference](https://copilot-community-sdk.github.io/copilot-sdk-java/latest/apidocs/)
- [MCP Servers Integration](https://copilot-community-sdk.github.io/copilot-sdk-java/latest/mcp.html)
- [Getting Started](https://github.github.io/copilot-sdk-java/documentation.html)
- [Javadoc API Reference](https://github.github.io/copilot-sdk-java/apidocs/)
- [MCP Servers Integration](https://github.github.io/copilot-sdk-java/mcp.html)
# Copilot SDK for Java

> ⚠️ **Disclaimer:** This is an **unofficial, community-driven SDK** and is **not supported or endorsed by GitHub**. Use at your own risk.
> ⚠️ **Disclaimer:** This is the official Java SDK for GitHub Copilot. This repository treats the official .NET and nodejs SDKs for GitHub Copilot as reference implementations. These SDKS are all officially supported as GitHub open source projects. The Java implementation follows the backward compatibility guarantees offered by the reference implementations. As such this implementation may introduce breaking changes, according to the policy declared by the reference implementations. Use at your own risk.

//DEPS io.github.copilot-community-sdk:copilot-sdk:1.0.11
!
//DEPS com.github:copilot-sdk-java:${project.version}
Copy link
Contributor

Copilot AI commented Mar 16, 2026

Warning

This is an internal experiment to assess Copilot's ability to auto-approve PRs. Please 👍 this comment if the assessment below is correct and 👎 if not. Feedback in #f-ccr-auto-approve is appreciated!

Copilot thinks this PR is not ready to merge — see review comments for details.

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