Skip to content

Releases

v0.1.6 - fix Gitea Release creation

Choose a tag to compare

@Sycada Sycada released this 13 Oct 08:13

Fixed

  • Gitea/Forgejo: forge_tag_create reported a Release it never created. The adapter
    nested a release object inside the POST /tags body, but Gitea's CreateTagOption is
    {tag_name, target, message} — the extra key is not part of that schema, so the server
    dropped it silently and still answered 201, and the tool then echoed release: true
    off the request it had sent rather than off anything the server did. Verified against
    Gitea 1.27.0 through its own /swagger.v1.json. A Release is now its own
    POST /releases call, and the returned flag reflects what the server actually created.

Added

  • forge_tag_create reports releaseUrl (Gitea/Forgejo), so a caller gets the Release
    address rather than having to guess it from the tag name.

Notes

  • The regression test was itself the reason this survived: the Gitea mock read release
    off the POST /tags body, mirroring the adapter's assumption instead of the server's
    behaviour, so the false positive sailed through a green suite. The mock now models the
    real API and the assertion checks the separate call rather than the reported flag.

v0.1.5 — tag support & server-side branch tools

Choose a tag to compare

@Sycada Sycada released this 13 Oct 08:00

Tag support

  • git_tag — list, create (annotated or lightweight), push, and remote (read origin's tags over the git transport).
  • git_tag_verify — confirm origin really holds a tag after publishing it, by reading the remote rather than trusting the push's exit code.
  • forge_tag_list / forge_tag_create — create the tag through the forge API, the reliable path when pushing refs/tags fails authentication.

Server-side branch management

  • forge_branch_create / forge_branch_delete — create or remove a branch without a local work copy.

Changed

  • The system-prompt section now states the connector is the default path for every git and forge operation.
  • Tag creation is deliberately not gated by the force-push flags — tags are immutable release markers.

Fixed

  • git_tag's tags field now always means tag records; a push reports targets under pushedNames.
  • Tag names are validated with git check-ref-format instead of a hand-rolled pattern.