Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
953669d
Configure mise
eugencowie Jun 11, 2026
89faa7f
Add lock file
eugencowie Jun 11, 2026
8426cd0
Configure openspec
eugencowie Jun 11, 2026
3b3c8bf
Implement generic client
eugencowie Jun 11, 2026
3013e13
Tidy up changes
eugencowie Jun 12, 2026
5faf175
feat: Generic Rust SDK for Aptabase (#1)
eugencowie Jun 17, 2026
1053255
Add AI disclosure
eugencowie Jun 22, 2026
f72dd6b
Configure Dependabot
eugencowie Jun 22, 2026
3fe41a2
Configure CI workflow
eugencowie Jun 22, 2026
9fe211f
Configure release workflow
eugencowie Jun 22, 2026
20ae243
ci: Configure release workflow (#2)
eugencowie Jun 22, 2026
8a3e01c
Update readme
eugencowie Jun 22, 2026
aa22723
Fix changelog
eugencowie Jun 22, 2026
1bd8cc4
docs: Update readme (#4)
eugencowie Jun 22, 2026
1db10f5
chore(release): Release 0.1.0
eugencowie Jun 22, 2026
e4237ea
chore(release): Release 0.1.0 (#3)
eugencowie Jun 22, 2026
bba2e9a
Fix release workflow
eugencowie Jun 22, 2026
83eab90
Update readme
eugencowie Jun 22, 2026
78a0f52
ci: Fix release workflow (#5)
eugencowie Jun 22, 2026
8ec1972
chore(release): Release 0.1.1
eugencowie Jun 22, 2026
fe744f3
chore(release): Release 0.1.1 (#6)
eugencowie Jun 22, 2026
043a788
Fix build error in example
eugencowie Jun 22, 2026
27b07b4
fix: Fix build error in example (#7)
eugencowie Jun 22, 2026
eb3d50e
Tidy up readme
eugencowie Jun 22, 2026
0c6a03b
docs: Tidy up readme (#9)
eugencowie Jun 22, 2026
acad9fd
chore(release): Release 0.1.2
eugencowie Jun 22, 2026
107446a
chore(release): Release 0.1.2 (#8)
eugencowie Jun 23, 2026
0dd0427
Add custom session ID support
eugencowie Jun 25, 2026
5ee8904
Fix failing test
eugencowie Jun 25, 2026
eb2043d
feat: Add custom session ID support (#10)
eugencowie Jun 25, 2026
2bc435c
chore(release): Release 0.2.0
eugencowie Jun 25, 2026
8af0c8a
chore(release): Release 0.2.0 (#11)
eugencowie Jun 25, 2026
4791370
Run CI and releases from main
eugencowie Jul 29, 2026
1e7cd30
Update development environment
eugencowie Jul 29, 2026
5e2f22f
Set up project skills integration
eugencowie Jul 29, 2026
0669c26
Update release task wording
eugencowie Jul 29, 2026
3bc2d5a
ci: Run CI and releases from main (#12)
eugencowie Jul 29, 2026
3697ff9
Remove OpenSpec files and skills integration
eugencowie Oct 4, 2026
532bdbb
Clarify package description and README intro
eugencowie Oct 4, 2026
2ceb195
Restructure CI workflow and bump checkout to v7
eugencowie Oct 4, 2026
8fa0da8
docs: Remove specs and skills from repo (#14)
eugencowie Oct 4, 2026
0297c03
Merge upstream/main into main
eugencowie Oct 4, 2026
ec3707a
Keep reqwest's non-TLS default features
eugencowie Oct 4, 2026
36b3e33
chore: Merge upstream changes (#15)
eugencowie Oct 4, 2026
9f8ec5a
Add guidance on citing upstream PRs and issues
eugencowie Oct 4, 2026
7c632eb
Keep upstream commits and tags out of the changelog
eugencowie Oct 4, 2026
2a86765
Fix example's dependency on the SDK
eugencowie Oct 4, 2026
cd65338
Check TLS feature sets and the example in CI
eugencowie Oct 4, 2026
841d40f
Document TLS backend features
eugencowie Oct 4, 2026
38cc868
Use the official plugin's title in README intro
eugencowie Oct 4, 2026
03f8849
Keep upstream commits out of release PR changelogs
eugencowie Oct 4, 2026
6efb6d5
Let release bumps through the example job
eugencowie Oct 4, 2026
c3033da
Move TLS backends section below delivery behavior
eugencowie Oct 5, 2026
8e1ef39
feat!: Switch default TLS backend to rustls (#16)
eugencowie Oct 5, 2026
abd6a26
chore(deps): bump actions/checkout from 6 to 7
dependabot[bot] Oct 5, 2026
a56c8d1
chore(deps): bump log from 0.4.33 to 0.4.34
dependabot[bot] Oct 5, 2026
a338a3b
chore(deps): bump time from 0.3.54 to 0.3.55
dependabot[bot] Oct 5, 2026
8f739cb
chore(deps): bump futures from 0.3.33 to 0.3.34
dependabot[bot] Oct 5, 2026
6a20631
chore(deps): bump actions/checkout from 6 to 7 (#17)
eugencowie Oct 5, 2026
4612fbc
chore(deps): bump log from 0.4.33 to 0.4.34 (#18)
eugencowie Oct 5, 2026
d9b23db
chore(deps): bump time from 0.3.54 to 0.3.55 (#19)
eugencowie Oct 5, 2026
813f12e
chore(deps): bump futures from 0.3.33 to 0.3.34 (#20)
eugencowie Oct 5, 2026
e6b2889
chore(release): Release 0.3.0
eugencowie Oct 5, 2026
63b29e1
chore(release): Release 0.3.0 (#13)
eugencowie Oct 5, 2026
23607f6
Update rustls to 0.23.45
eugencowie Oct 5, 2026
5802cec
Stop tracking the example's lockfile
eugencowie Oct 5, 2026
60f0a54
chore(deps): Update rustls to 0.23.45 (#22)
eugencowie Oct 5, 2026
a23d70d
chore: Stop tracking the example's lockfile (#23)
eugencowie Oct 5, 2026
8986d73
Match upstream's Rust edition
eugencowie Oct 5, 2026
2591068
Allow a clippy lint that restyles shared files
eugencowie Oct 5, 2026
6c48154
Declare a minimum supported Rust version of 1.88
eugencowie Oct 5, 2026
3091bca
Run CI and local checks on the MSRV toolchain
eugencowie Oct 5, 2026
18382d2
Use flow-style mappings for single-key action inputs in CI
eugencowie Oct 5, 2026
accbf64
Reorder Cargo.toml package fields and drop resolver to match upstream
eugencowie Oct 5, 2026
ee4d1f6
chore: Match upstream's Rust edition and require Rust 1.88 (#21)
eugencowie Oct 5, 2026
bd328ff
Move fork-only builder methods to a separate module
eugencowie Jul 29, 2026
574802d
Concentrate custom session ID behind a child-module seam
eugencowie Jul 29, 2026
0d4ea9c
refactor: Move fork-only code out of upstream-shared files (#25)
eugencowie Oct 5, 2026
7d1568f
Stop mise run installing unused tools in CI
eugencowie Oct 5, 2026
6d9c797
ci: Stop mise run from installing unused tools in CI (#26)
eugencowie Oct 5, 2026
9759ab7
Pin release-plz and git-cliff to mise.lock versions in CI
eugencowie Oct 6, 2026
9599615
Use block style for mise-action inputs in release-plz workflow
eugencowie Oct 6, 2026
7706111
ci: Pin release-plz and git-cliff to mise.lock versions (#27)
eugencowie Oct 6, 2026
a42256e
Declare the tokio features the crate uses
eugencowie Oct 8, 2026
3224b16
Add a glossary of the SDK's domain terms
eugencowie Oct 8, 2026
94effdc
Test delivery against a local stand-in server
eugencowie Oct 8, 2026
e148bae
test: Test event delivery against a local stand-in server (#28)
eugencowie Oct 10, 2026
4599b02
Switch from actionlint to jactionlint
eugencowie Oct 11, 2026
2790d6e
Drop the CI feature matrix
eugencowie Oct 11, 2026
b5490a5
Rename the workflows and jobs
eugencowie Oct 11, 2026
fbf6391
Harden workflows against jactionlint's security checks
eugencowie Oct 11, 2026
1ac4d35
Cancel superseded CI runs and queue release runs
eugencowie Oct 11, 2026
0a9395f
Add mise tasks for the example
eugencowie Oct 11, 2026
8d59184
Move the toolchain guard into its own task
eugencowie Oct 11, 2026
9cdc1a6
Share the changelog ignore list with the release workflow
eugencowie Oct 11, 2026
38795fc
Lint workflows in mise run check
eugencowie Oct 11, 2026
35e4862
Install shellcheck for the workflow lint in CI
eugencowie Oct 11, 2026
dd07676
ci: Switch to jactionlint and harden the workflows (#29)
eugencowie Oct 11, 2026
5e27090
chore(deps): bump tokio from 1.53.1 to 1.53.2
dependabot[bot] Oct 11, 2026
29ae0c7
chore(deps): bump tokio from 1.53.1 to 1.53.2 (#30)
eugencowie Oct 11, 2026
8b71e97
Cache Rust builds with mbx
eugencowie Oct 11, 2026
d089c55
Cache CI builds with mr-boxington-action
eugencowie Oct 11, 2026
541369a
ci: Cache builds with mbx (#31)
eugencowie Oct 11, 2026
da7f65b
Install mbx up front in release jobs
eugencowie Oct 11, 2026
26255d2
ci: Install mbx for release jobs (#32)
eugencowie Oct 11, 2026
4b3b49c
Make one release:prepare task for CI and local releases
eugencowie Oct 11, 2026
8d027d9
Run mise's release-plz directly instead of release-plz/action
eugencowie Oct 11, 2026
4cb75c1
Add the changelog to release PR and GitHub release bodies
eugencowie Oct 11, 2026
0c26d47
ci: Add the changelog to release PR and GitHub release bodies (#33)
eugencowie Oct 12, 2026
381d5d8
chore(release): Release 0.3.1
eugencowie Oct 12, 2026
1498b91
chore(release): Release 0.3.1 (#24)
eugencowie Oct 12, 2026
c751fd7
Install only the tools each release job uses
eugencowie Oct 12, 2026
7ce623d
ci: Install only the tools each release job uses (#34)
eugencowie Oct 12, 2026
2f7d5b8
Name workflow steps and write them in block style
eugencowie Oct 12, 2026
c912704
ci: Standardise workflow formatting (#36)
eugencowie Oct 12, 2026
a900ec6
Regenerate mise.lock in lockfile format v3
eugencowie Oct 12, 2026
9dfabdd
chore: Regenerate mise.lock in lockfile format v3 (#37)
eugencowie Oct 12, 2026
2b13a05
Drop personal-environment patterns from .gitignore
eugencowie Oct 12, 2026
51c23e4
chore: Drop personal-environment patterns from .gitignore (#38)
eugencowie Oct 12, 2026
600ffa9
Standardise cliff.toml
eugencowie Oct 12, 2026
cda059f
chore: Standardise changelog generation (#39)
eugencowie Oct 13, 2026
5a332a1
Fix repo link
eugencowie Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: 2

updates:
- package-ecosystem: cargo
directory: /
schedule:
interval: weekly
cooldown:
default-days: 7
commit-message:
prefix: chore
include: scope
labels: [chore]

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
cooldown:
default-days: 7
commit-message:
prefix: chore
include: scope
labels: [chore]
57 changes: 44 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,58 @@ on:
branches: [main]
pull_request:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
MISE_TASK_RUN_AUTO_INSTALL: false

jobs:
check:
name: Build & Check
name: Check
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v7
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install tools
uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1
with:
install_args: rust mr-boxington jactionlint shellcheck

- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libglib2.0-dev
- name: Set up build cache
uses: jdx/mr-boxington-action@47ce49b32025d93a7a2f4570815afaa2b7092240 # v1.7.2

- uses: dtolnay/rust-toolchain@stable
- name: Run checks
run: mise run check

- uses: actions/setup-node@v7
check-example:
name: Check example
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
node-version: 20
persist-credentials: false

- name: Install JS deps
run: npm install
- name: Install tools
uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1
with:
install_args: rust mr-boxington

- name: Build JS
run: npm run build
- name: Set up build cache
uses: jdx/mr-boxington-action@47ce49b32025d93a7a2f4570815afaa2b7092240 # v1.7.2
with:
working-directory: examples/helloworld
cache-generation: example-v1

- name: Check Rust
run: cargo check
- name: Run checks
run: mise run example:check
40 changes: 40 additions & 0 deletions .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release notes

on:
release:
types: [published]

concurrency:
group: ${{ github.workflow }}-${{ github.event.release.tag_name }}
cancel-in-progress: false

env:
MISE_TASK_RUN_AUTO_INSTALL: false

jobs:
release-notes:
if: ${{ github.repository_owner == 'eugencowie' }}
name: Release notes
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install tools
uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1
with:
install_args: gh
cache: false

- name: Set release notes
run: |
notes=$(mise run release:notes "${TAG#v}")
gh release edit "$TAG" --notes "$notes"
env:
GH_TOKEN: ${{ github.token }}
TAG: ${{ github.event.release.tag_name }}
88 changes: 69 additions & 19 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,86 @@
name: Release

on:
release:
types: [published]
push:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

env:
MISE_TASK_RUN_AUTO_INSTALL: false

jobs:
publish-crates:
name: Publish to crates.io
prepare-release:
if: ${{ github.repository_owner == 'eugencowie' }}
name: Prepare release
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v7
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: true
token: ${{ secrets.RELEASE_PLZ_TOKEN }}

- uses: dtolnay/rust-toolchain@stable
- name: Install tools
uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1
with:
install_args: rust mr-boxington release-plz git-cliff gh

- name: Publish
run: cargo publish
- name: Configure git
uses: release-plz/git-config@59144859caf016f8b817a2ac9b051578729173c4 # v0.1.2
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}

- name: Update changelog and version
run: mise run release:prepare

publish-npm:
name: Publish to npm
- name: Create or update release PR
run: |
out=$(release-plz release-pr -o json)
pr=$(jq -r '.prs[0].number // empty' <<< "$out")
[ -n "$pr" ] || exit 0
body=$(gh pr view "$pr" --json body --jq .body)
end='</p></details>'
if [[ "$body" != *"$end"* ]]; then
echo "::error::PR body has no $end to put the changelog before"
exit 1
fi
version=$(jq -r '.prs[0].releases[0].version' <<< "$out")
notes=$(mise run release:notes "$version")
gh pr edit "$pr" --body "${body/"$end"/"$notes"$'\n\n'"$end"}"
env:
GIT_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}
GH_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}

release:
if: ${{ github.repository_owner == 'eugencowie' }}
name: Release
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write
steps:
- uses: actions/checkout@v7

- uses: actions/setup-node@v7
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
node-version: 20
registry-url: https://registry.npmjs.org
fetch-depth: 0
persist-credentials: true
token: ${{ secrets.RELEASE_PLZ_TOKEN }}

- run: npm install
- name: Install tools
uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1
with:
install_args: rust mr-boxington release-plz

- run: npm publish
- name: Publish release
run: release-plz release
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GIT_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
58 changes: 43 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,43 @@
/.vs
.DS_Store
.Thumbs.db
*.sublime*
.idea/
debug.log
package-lock.json
.vscode/settings.json
yarn.lock

/.tauri
/target
Cargo.lock
node_modules/
webview-dist/rollup.config.d.ts
#
# https://github.com/github/gitignore/blob/main/Rust.gitignore
#

# Generated by Cargo
# will have compiled files and executables
debug
target

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# Generated by cargo mutants
# Contains mutation testing data
**/mutants.out*/

# rustc will dump stack traces when hitting an internal compiler error to PWD
rustc-ice-*.txt

#
# https://www.toptal.com/developers/gitignore/api/dotenv
#

### dotenv ###
.env

#
# Examples
#

# Each example builds against the local crate, so a committed lockfile
# only goes stale whenever the crate's version changes
examples/*/Cargo.lock

#
# git-cliff
#

# Generated by `mise run release:prepare`
.cliffignore
14 changes: 14 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Agent Instructions

## Development environment

This project uses mise to manage the development environment.

- Run `mise tasks` to see the available tasks.
- Use `mise run <task>` for standard operations.
- Run `mise ls -l` to see the managed tools.
- When invoking a managed tool directly, use `mise exec -- <command> [args]` rather than invoking the tool by its bare name.

## Upstream references

This repo is a fork of `aptabase/tauri-plugin-aptabase`. In commit messages, PR descriptions and comments, upstream PRs and issues should be cited as plain text by title or commit SHA. Avoid links and `#123` shorthand: GitHub cross-references those, which spams the upstream project with irrelevant notifications.
Loading