Changelog
All notable changes to this project are documented here. Release ranges link to the GitHub compare view. Tag names follow the repository (v1.0.x through v1.0.3, then 1.1.0 onward).
1.2.20 — 2026-05-27
Changes since 1.2.19…1.2.20.
Feature
Issue and pull request templates:
get_templatemethods for fetching issue and pull request templates now acceptencoding(default to"utf-8") and optionaldecoding_kwargsforwarded tobytes.decode, so non-UTF-8 template files can be read with the codec and error handling of your choice!
Fix
Async client method signatures: several async methods that previously took a catch-all
**paramsor**payloadas input now use the same keyword arguments as their sync counterparts.
GitHub Action
check-code: new workflow that runs on push & PR, checks code style (via
ruff) and ensure all unit tests pass.
1.2.19 — 2026-05-18
Changes since 1.2.18…1.2.19.
Feature
Issue and pull request templates (for GitHub mirror repos):
list_templatesmethod now also walk each candidate repository’s.github/directory as well, so we can support GitHub-mirrored projects that keepISSUE_TEMPLATE*andPULL_REQUEST_TEMPLATE*files under.github/instead of.gitcode/.
Refactor
gitcode_api.constants: move
GITCODE_ISSUE_TEMPLATE_PATH_REandGITCODE_PULL_REQUEST_TEMPLATE_PATH_REtogitcode_api.constants, and addGITCODE_TEMPLATE_REPO; path patterns match both.gitcode/and.github/template locations.
Docs
SDK client API: Template resolution notes describe
.github/support for GitHub-mirrored repositories.
1.2.18 — 2026-05-18
Changes since 1.2.17…1.2.18.
Feature
Decrypt at request headers construction: Provided GitCode API token is now decrypted at request headers contruction instead of at client constructor due to security concerns, constructor will merely validate it produces a
stras output.Version metadata (source checkout): Improved logic for resolving
__version__and__build_hash__in local development environment.
Fix
Typing:
py.typedis now an empty PEP 561 marker as one would expect.
Examples
examples/sync_github_release_to_gitcode.py: Filters release assets by filename pattern, adds tqdm descriptions and clearer status output for create/skip/upload paths.
1.2.17 — 2026-05-15
Changes since 1.2.16…1.2.17.
Feature
Version metadata:
__version__is taken from the installed distribution (importlib.metadata), and a new__build_hash__value is exposed for telling builds apart.gitcode-api --versionand the no-argument welcome banner include the build id; the banner also prints Home Page and Docs links (homepage URL comes from package Project-URL metadata when present).gitcode_api.constants: New documented module with the default API base URL, HTTP timeout, and the
GITCODE_ACCESS_TOKEN/GITCODE_CA_BUNDLEenvironment names used by the client.
Fix
Packaging: Wheel/sdist installs now ship
py.typedvia setuptoolspackage-data, so type checkers can honor inline typing for the package.
Docs
SDK reference HTML: After each docs build,
scripts/docs_rename_resource_methods.pyrewrites generated autosummary method labels on the client API page so grouped resource methods read with clearer names; Read the Docs runs this step in its build.
Examples
examples/sync_github_release_to_gitcode.py: Reworked for clearer flow and alignment with current release upload behavior.
1.2.16 — 2026-05-13
Changes since 1.2.15…1.2.16.
Feature
Default CA Bundle: When the internal
GitCodeclient builds its ownhttpxclient (you do not passhttp_client=), verification uses the path fromGITCODE_CA_BUNDLEif set, otherwiseREQUESTS_CA_BUNDLEif set (same convention as many Python HTTP stacks), otherwise the default CA bundle is used. Applies to bothGitCodeandAsyncGitCode.
1.2.15 — 2026-05-13
Changes since 1.2.14…1.2.15.
Typing
openJiuwen adapter (
gitcode_api.llm.jiuwen): Silence mypyimport-untypedon theTYPE_CHECKINGimport ofLocalFunctionfrom optionalopenjiuwen(no runtime or public API change). Now we fully passmypychecks!
1.2.14 — 2026-05-13
Changes since 1.2.13…1.2.14.
Feature
Issue and pull request templates:
client.issues/client.pulls(and async counterparts) now exposelist_templatesandget_templatefor GitCode’s.gitcode/issue and PR template files on the default branch, including metadata (RepositoryGitCodeTemplatewith path, SHA, and resolvedtemplate_owner/template_repo). GitCode does not expose this as a dedicated REST “list/get templates” API, so the SDK composes the behavior from repository content calls with custom resolution logic (active template paths, default branch, and upstream template sources). The CLI picks these up automatically asissues list-templates,issues get-template,pulls list-templates, andpulls get-template.as_dict: Top-level helper to turn one
APIObject(or a list of them) into plaindictvalues viato_dict, with an optionaldeep_copyflag for isolated mappings.Repository model: Responses can include a
parentfield describing the upstream source repository when the API returns it.
Refactor
Models: Dropped unused legacy
TypedDictdefinitions fromgitcode_api._models(no public API change).
Docs
Homepage and REST API index: added a short “Why this project” section and clarified that the REST mirror is based on GitCode Help material but manually corrected and extended in this repo.
README and SDK docs updated for template listing/fetching; runnable examples under
examples/for issue and pull request templates.
1.2.13 — 2026-05-12
Changes since 1.2.12…1.2.13.
Feature
Releases (
client.releases/ async parity): Reworked to match the current GitCode API —create, tag-basedupdate,listwithdirection/page/per_page,get/get_by_tag/get_latestwith documented query options,get_upload_urlandupload(input bytes or local file path) for attachments, anddownload_attachmentfor raw bytes.Models:
Releasenow exposesassetsandrelease_status; upload URL responses useReleaseUploadURL.
Breaking Change
GitCode.releases.update: Targets a release by tag in the URL path (
tag=…) instead ofrelease_id; the JSON body isname,body, and optionalrelease_statusonly (notag_namein the payload). Update any code that still passedrelease_idor relied on the old request shape.
Docs
REST API mirror: release create/upload and related pages, missing release topics, and table cleanup; SDK release documentation updated for the new methods and parameters.
Added example
examples/sync_github_release_to_gitcode.py.
1.2.12 — 2026-05-11
Changes since 1.2.11…1.2.12.
Feature
CLI:
-e/--escapetakes a string of\-style escape sequences (for example"\n\t") to un-escape, which makes multiline payloads easier for human users (e.g.gitcode-api pulls create ... --body 'Line1\nLine2' -e '\n').CLI: The shared cli argument parser no longer passes
--owner/--repointo theGitCodeclient constructor. Use each method’s own flags so defaults match the SDK method signatures.CLI (
gitcode-api serve):--show-banner/-bacceptstrueorfalseand forwards to FastMCP’srun(show_banner=…); omit it to keep the library default.CLI (
gitcode-api serve):--transportis validated againststdio,http, andsse.
Docs
Added a homepage for this project: https://hugohuang.com/gitcode-api
README, SDK CLI page (
docs/sdk/cli.rst),install_mcp_server.md, and PyPI homepage links updated for the new CLI and MCP options.Download stat & PyPI version badges now are mutated automatically per-release to suit GitCode’s image-caching strategy for
README.md.
1.2.11 — 2026-05-07
Changes since 1.2.10…1.2.11.
Feature
gitcode_api.llm:
GitCodeLLMToolis eagerly imported and exposed in namespace, easier for custom adapters, MCP wiring, and static analysis.LLM adapters (OpenAI, openJiuwen):
GitCodeOpenAITool,create_openjiuwen_gitcode_api_tool, and the openJiuwen binding use explicit keyword parameters for GitCode clients (client,async_client,api_key,base_url,timeout,decrypt,owner,repo) instead of a**kwargscatch-all — clearer signatures, better editor hints, and the same ordering asGitCodeLLMTool.
Docs
README and SDK LLM guide use consistent “unified tool” wording for
gitcode_api_tool.Changelog section titles point at GitHub release pages; markdown structure cleaned up.
File Layout Improvement
PyInstaller spec moved to
scripts/gitcode-api.spec;make binaryand the release-binaries workflow call that path (repo root stays simpler).scripts/build_manifest.pyemits a transient.mcpbignorefor MCP bundle packing; tracked top-level.mcpbignorewas removed —make mcpbstill removes generated artifacts afterward.
1.2.10 — 2026-05-07
Changes since 1.2.9…1.2.10.
Feature
OpenAI tool (
GitCodeOpenAITool): Invocation results are now JSON strings (str) fromjson.dumpswithensure_ascii=False, so payloads fit Chat Completions tool messagecontentwithout extra serialization.indentcontrols formatting (default2; passNonefor compact single-line JSON).OpenAI tool constructor:
async_modedefaults toFalse. Useasync_mode=Trueandawaitthe coroutine returned from the instance — theasynckeyword alias for async mode is no longer accepted onGitCodeOpenAITool.
Docs
README (English and Chinese), SDK LLM guide, and new runnable example
examples/openai_tool_call.pyupdated for string tool results and a multi-turn Chat Completions loop.
1.2.9 — 2026-05-07
Changes since 1.2.8…1.2.9.
Feature
LLM tools: Optional openJiuwen integration — install
openjiuwen(Python 3.11+), then usecreate_openjiuwen_gitcode_api_toolfromgitcode_api.llmwith the same GitCode tool contract as the OpenAI and MCP adapters.
Docs
README (English and Chinese), SDK LLM guide, and PyPI description updated for openJiuwen.
1.2.8 — 2026-05-07
Changes since 1.2.7…1.2.8.
Feature
Claude Desktop: Install the GitCode MCP server as an MCPB bundle; each GitHub Release ships a matching
gitcode-<version>.mcpbyou can add in Claude Desktop.
Docs
README, MCP install notes, and the SDK LLM guide link to Anthropic’s MCPB guide for the
.mcpbflow.To build the same bundle yourself, run
make mcpbwith the officialmcpbCLI on yourPATH.
Contributing
GitHub issue templates for bug reports and feature requests.
1.2.7 — 2026-05-06
Changes since 1.2.6…1.2.7.
Feature
MCP server: Built-in instructions and help responses so clients can learn how to use the tool before any GitCode API call.
Fix
MCP / LLM tools: Help and discovery responses work even when no API key is configured yet.
Docs
MCP setup notes for common IDEs and agents (including VS Code and Cursor).
1.2.6 — 2026-05-06
Fix
Standalone CLI (
make binary): PyInstaller builds again bundle FastMCP correctly on Python 3.10+, so the frozengitcode-apibinary can run MCP-related code paths when you use that workflow.
1.2.5 — 2026-05-06
Changes since 1.2.4…1.2.5.
Feature
LLM tools: Optional OpenAI-style tool (
GitCodeOpenAITool) and MCP server helpers for agents — install withpip install 'gitcode-api[mcp]'(FastMCP requires Python 3.10+). Optional LLM pieces stay off the import path until you use them.
Docs
README and FAQ cover MCP and OpenAI tool usage; new SDK page documents both, shared tool behavior, and TLS notes. PyPI description highlights the CLI and LLM/MCP options.
The docs build also publishes EPUB and single-page HTML alongside the main HTML site, for offline or single-file reading.
PyPI project links include this changelog.
1.2.4 — 2026-05-01
Fix
GitHub Release zips: Each platform zip contains the standalone CLI, the bundled
.claude/skill, and the root English and Chinese READMEs — no longer a strayexamples/README.mdinside the archive.
1.2.3 — 2026-05-01
Feature
GitHub Releases: CLI binaries ship as versioned zips per platform (
gitcode-api-<version>-<platform>.zip) with predictable Linux, Windows, and macOS (Apple Silicon) builds (Python 3.12), each bundling the CLI, skill tree, and root READMEs.
1.2.2 — 2026-05-01
Changes since 1.2.1…1.2.2.
Feature
Standalone CLI: Build a single-file
gitcode-apiexecutable withmake binary(output underdist/), using the documented PyInstaller setup.GitHub Releases: Published releases automatically attach matching CLI builds for Linux (x86_64), Windows (x86_64), and macOS (Apple Silicon).
Docs
Documentation explains how to build the standalone CLI and what each GitHub Release download contains.
1.2.1 — 2026-05-01
Changes since 1.2.0…1.2.1.
Feature
AGENTS.md: In-repo guidance for AI-assisted work on this SDK.Bundled skill: Clearer GitCode API workflows for Cursor and similar tools; improved helper script for skill-driven CLI use.
Docs
Expanded CLI chapter in the docs; README quickstarts use simpler
with GitCode(...)examples without extratry/finallynoise.
1.2.0 — 2026-05-01
Changes since 1.1.3…1.2.0.
Feature
Discovery: Resource namespaces expose
methods(list callable API operations) andmethod_signature(inspect parameters and returns) for runtime introspection.Example:
examples/inspect_resource_group_methods.pyshows how to use those helpers.
Fix
Client lifecycle: Closing the SDK client and tearing down resource groups behaves consistently whether you rely on garbage collection or explicit shutdown.
Docs
CLI usage documented in the main docs site; REST “quickstart” page removed in favor of SDK-first navigation.
pulls.create: Docstring clarified for fork-based pull requests.Terminology: Docs and bundled skill use resource group consistently.
1.1.3 — 2026-04-18
Feature
gitcode-api CLI(experimental): command-line access to SDK operations.
Docs
Installation examples use
pip install -Ufor upgrades.
1.1.2 — 2026-04-16
Feature
Bundled skill for Cursor and other agents to follow GitCode API workflows from the editor.
Tokens: Optional support for encrypted GitCode access tokens.
Fix
Clients:
GitCode/AsyncGitCodealways shut down the underlying HTTP client on close, including when you pass a customhttpxclient.
Docs
Token encryption documented alongside the skill; docs site lists more project links.
1.1.1 — 2026-04-16
Feature
Typing: Richer annotations on response models and clients for better editor hints and static checking.
Fix
Docs mirror: Corrected the Organizations page in the mirrored REST reference.
Style
Examples favor straightforward attribute access on response objects.
1.1.0 — 2026-04-16
Changes since v1.0.3…1.1.0.
Feature
Examples: Refreshed;
python-dotenvis no longer a required dependency of the package (load env in your own app or examples as you prefer).
Style
Broader docstring coverage; consistent formatting with Ruff.
Docs
Documentation refresh; context manager usage for clients called out explicitly.
1.0.3 — 2026-04-16
Chore
PyPI metadata only: redundant license classifier removed.
1.0.2 — 2026-04-16
Fix
Read the Docs: Hosted documentation builds install and import
gitcode-apicorrectly so API pages render as intended.
1.0.1 — 2026-04-16
Fix
Example: Commit-listing sample corrected.
Compatibility: Python 3.9 support restored where it had broken.
Docs
README updates with the patch release.
1.0.0 — 2026-04-15
Initial published release on PyPI.
Feature
gitcode-api: First public Python SDK for the GitCode REST API, built on HTTPX with sync and async clients.
Docs
README and publishing metadata for the launch.