Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 3 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
PACKAGE_NAME=$(node -p "require('./package.json').name")
PACKAGE_VERSION=$(node -p "require('./package.json').version")
if npm view "cad-discord@$PACKAGE_VERSION" version >/dev/null 2>&1; then
echo "cad-discord@$PACKAGE_VERSION is already published; skipping npm publish."
if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version >/dev/null 2>&1; then
echo "$PACKAGE_NAME@$PACKAGE_VERSION is already published; skipping npm publish."
else
npm publish --access public
fi
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ dist/
release/
.dev.vars
.wrangler/
to-do.md
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,44 @@

All notable changes to this project are documented here.

## [1.1.0] - 2026-09-29

### Changed

- Renamed from `cad-discord` to `ctrlaltbot`. The package is now a library that operators install through the template repository; the manual register command is `ctrlaltbot-register`.
- Settings storage is created automatically on deploy; `wrangler.jsonc` no longer needs a KV namespace ID.
- Server colour settings are only read from storage for commands that display an embed.

### Added

- Deploy to Cloudflare button and an operator template (`template/`) that receives updates through Dependabot, with automatic merging of minor and patch versions.
- The Worker registers its own slash commands when their definitions change, checked on the first interaction after a deploy and hourly, so updates need no manual registration. Requires the `DISCORD_TOKEN` secret.
- `/ask <question>` command for natural-language searches.
- Autocomplete on search queries, keeping the typed text as the first choice.
- Search results link to the best-matching heading when CAD provides one, and show that section's text.
- A menu of up to ten matching pages replaces the "Also matching" links; choosing one switches the result in place.
- Automated tests for search result formatting and autocomplete choices.

### Fixed

- Slow documentation servers no longer make commands fail with "The application did not respond": replies are deferred after 2.5 seconds and completed when CAD responds.
- `/docs page … header:` now shows the selected section's text instead of a placeholder, stops at the next heading, keeps code blocks and formatting, and shows up to 1,500 characters instead of 200.
- Missing pages report "Page not found" instead of a generic server error.
- Unknown commands and missing options get an explanatory ephemeral reply instead of failing the interaction.
- Autocomplete responses respect Discord's 25-choice and 100-character limits.

### Removed

- `discord.js` and `dotenv` dependencies.
- The `cad-discord` binary, which started the Worker as a Node process.

## [1.0.7] - 2026-09-26

### Fixed

- Point the packaged Wrangler deployment at the included compiled `dist/index.js` entrypoint.
- Document the build step required when deploying directly from source.

## [1.0.6] - 2026-09-26

### Fixed
Expand Down
Loading
Loading