From 6314584c855d33b736c95ee9228483bd3e87f251 Mon Sep 17 00:00:00 2001 From: pdparchitect Date: Mon, 22 Jun 2026 15:26:25 +0000 Subject: [PATCH 1/2] - feat(release): update release workflow to extract changelog and create release notes feat(changelog): add CHANGELOG.md for documenting notable changes chore(version): bump version to 0.2.0 - Refactor code structure for improved readability and maintainability - fix: update type aliases for conversation message roles and parameters --- .github/workflows/release.yml | 21 +- CHANGELOG.md | 32 + VERSION | 2 +- sdk/integration/integration.go | 3 + sdk/integration/skillserver.go | 77 + sdk/space.go | 72 + types/aliases.go | 10 +- types/types.go | 7575 ++++++++++++++++++++++++++++---- 8 files changed, 6961 insertions(+), 831 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 sdk/integration/skillserver.go diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 517d431..0e68aa9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,8 +2,9 @@ # # go-sdk is a library, not a binary - for a Go module the git tag *is* the # release (consumers fetch source via `go get`). This workflow therefore does -# not build or publish artifacts; it only creates a GitHub Release with -# auto-generated notes for the tag created by tag-release.yml. +# not build or publish artifacts; it only creates a GitHub Release. The release +# body is the matching section from CHANGELOG.md (curated notes), with the +# auto-generated commit/PR list appended below it. # # Triggered by tag-release.yml (workflow_dispatch at the new tag) or by a # manually pushed `v*` tag. @@ -27,7 +28,23 @@ jobs: with: fetch-depth: 0 + - name: Extract changelog section for this version + id: changelog + run: | + VERSION="${GITHUB_REF_NAME#v}" + if [ -f CHANGELOG.md ]; then + awk -v ver="$VERSION" ' + $0 ~ ("^## \\[" ver "\\]") { capture = 1; next } + capture && /^## \[/ { exit } + capture { print } + ' CHANGELOG.md > release-notes.md + fi + if [ ! -s release-notes.md ]; then + echo "Release v${VERSION}. See the full changelog in CHANGELOG.md." > release-notes.md + fi + - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: + body_path: release-notes.md generate_release_notes: true diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..003b6cc --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,32 @@ +# Changelog + +All notable changes to the ChatBotKit Go SDK are documented in this file. The +format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and +this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +For releases prior to `0.2.0`, see the auto-generated notes on the +[GitHub Releases](https://github.com/chatbotkit/go-sdk/releases) page. + +## [0.2.0] - 2026-06-22 + +### Added + +- `SkillServer` integration client (`client.Integration.SkillServer`) with + `List`, `Fetch`, `Create`, `Update`, and `Delete`. The Skill Server + integration exposes a skillset's abilities as a text-first HTTP API. +- `Site` client under `Space` (`client.Space.Site`) with `List`, `Fetch`, + `Create`, `Update`, and `Delete`, keyed by the parent space ID. A space site + binds a `