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.14 — 2026-05-13

Changes since 1.2.131.2.14.

Feature

  • Issue and pull request templates: client.issues / client.pulls (and async counterparts) now expose list_templates and get_template for GitCode’s .gitcode/ issue and PR template files on the default branch, including metadata (RepositoryGitCodeTemplate with path, SHA, and resolved template_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 as issues list-templates, issues get-template, pulls list-templates, and pulls get-template.

  • as_dict: Top-level helper to turn one APIObject (or a list of them) into plain dict values via to_dict, with an optional deep_copy flag for isolated mappings.

  • Repository model: Responses can include a parent field describing the upstream source repository when the API returns it.

Refactor

  • Models: Dropped unused legacy TypedDict definitions from gitcode_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.121.2.13.

Feature

  • Releases (client.releases / async parity): Reworked to match the current GitCode API — create, tag-based update, list with direction / page / per_page, get / get_by_tag / get_latest with documented query options, get_upload_url and upload (input bytes or local file path) for attachments, and download_attachment for raw bytes.

  • Models: Release now exposes assets and release_status; upload URL responses use ReleaseUploadURL.

Breaking Change

  • GitCode.releases.update: Targets a release by tag in the URL path (tag=…) instead of release_id; the JSON body is name, body, and optional release_status only (no tag_name in the payload). Update any code that still passed release_id or 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.111.2.12.

Feature

  • CLI: -e / --escape takes 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 / --repo into the GitCode client constructor. Use each method’s own flags so defaults match the SDK method signatures.

  • CLI (gitcode-api serve): --show-banner / -b accepts true or false and forwards to FastMCP’s run(show_banner=…); omit it to keep the library default.

  • CLI (gitcode-api serve): --transport is validated against stdio, http, and sse.

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.101.2.11.

Feature

  • gitcode_api.llm: GitCodeLLMTool is 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 **kwargs catch-all — clearer signatures, better editor hints, and the same ordering as GitCodeLLMTool.

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 binary and the release-binaries workflow call that path (repo root stays simpler).

  • scripts/build_manifest.py emits a transient .mcpbignore for MCP bundle packing; tracked top-level .mcpbignore was removed — make mcpb still removes generated artifacts afterward.


1.2.10 — 2026-05-07

Changes since 1.2.91.2.10.

Feature

  • OpenAI tool (GitCodeOpenAITool): Invocation results are now JSON strings (str) from json.dumps with ensure_ascii=False, so payloads fit Chat Completions tool message content without extra serialization. indent controls formatting (default 2; pass None for compact single-line JSON).

  • OpenAI tool constructor: async_mode defaults to False. Use async_mode=True and await the coroutine returned from the instance — the async keyword alias for async mode is no longer accepted on GitCodeOpenAITool.

Docs

  • README (English and Chinese), SDK LLM guide, and new runnable example examples/openai_tool_call.py updated for string tool results and a multi-turn Chat Completions loop.


1.2.9 — 2026-05-07

Changes since 1.2.81.2.9.

Feature

  • LLM tools: Optional openJiuwen integration — install openjiuwen (Python 3.11+), then use create_openjiuwen_gitcode_api_tool from gitcode_api.llm with 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.71.2.8.

Feature

  • Claude Desktop: Install the GitCode MCP server as an MCPB bundle; each GitHub Release ships a matching gitcode-<version>.mcpb you can add in Claude Desktop.

Docs

  • README, MCP install notes, and the SDK LLM guide link to Anthropic’s MCPB guide for the .mcpb flow.

  • To build the same bundle yourself, run make mcpb with the official mcpb CLI on your PATH.

Contributing

  • GitHub issue templates for bug reports and feature requests.


1.2.7 — 2026-05-06

Changes since 1.2.61.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 frozen gitcode-api binary can run MCP-related code paths when you use that workflow.


1.2.5 — 2026-05-06

Changes since 1.2.41.2.5.

Feature

  • LLM tools: Optional OpenAI-style tool (GitCodeOpenAITool) and MCP server helpers for agents — install with pip 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 stray examples/README.md inside 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.11.2.2.

Feature

  • Standalone CLI: Build a single-file gitcode-api executable with make binary (output under dist/), 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.01.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 extra try/finally noise.


1.2.0 — 2026-05-01

Changes since 1.1.31.2.0.

Feature

  • Discovery: Resource namespaces expose methods (list callable API operations) and method_signature (inspect parameters and returns) for runtime introspection.

  • Example: examples/inspect_resource_group_methods.py shows 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 -U for 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 / AsyncGitCode always shut down the underlying HTTP client on close, including when you pass a custom httpx client.

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.31.1.0.

Feature

  • Examples: Refreshed; python-dotenv is 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-api correctly 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.