Repository navigation
Releases: PookieSoft/BongBot
Release list
Release v5.0.1
docs: add CONTRIBUTING.md (#163)
CONTRIBUTING.md was written on the Booru branch (6d2b050) but pushed
after #161 was squash-merged, so it never landed on main. This brings
the commit across unchanged.
It points at the existing branch-and-PR workflow in the README and adds
rules for AI-assisted contributions: the contributor owns what they
submit, AI use is disclosed in the PR description, PRs implement agreed
changes rather than floating new ones, and one PR carries one concern.
AI use
Claude cherry-picked the original commit and wrote this description. The
file's contents are unchanged from 6d2b050 — no new prose in this PR.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Vac3uRQkYxtD2wE8QdTVSr
Co-authored-by: Claude Opus 5 noreply@anthropic.com
Release v5.0.0
Replace Google image search with BongBot-Booru (#161)
Closes #82
Google is closing the Custom Search JSON API, so the image commands
needed a new source. Image search now comes from the new @pookiesoft/bongbot-booru package, which ships its own commands and a swappable provider (Safebooru by default, Gelbooru with credentials).
What changed
- Added
@pookiesoft/bongbot-booru, bumped@pookiesoft/bongbot-coreto^1.7.0. buildCommandsnow appends the Booru commands, wiring them with aRetryingCaller, a provider fromcreateProvider, andHttpImageDownloader.- Added an
interactionCreatelistener inindex.tsfor autocomplete, since Core only routes slash commands and the Booru tag options need it. - Removed
/fox(fubuki.ts),/clown(polka.ts),helpers/googleSearch.ts, theGOOGLE_API_KEY/GOOGLE_CXconfig, and their tests. - Docs: rewrote the README setup and environment tables to match what's actually installed, and rebuilt
.env.examplearound the current integrations.
Also in this branch, from work that ran alongside it: the Dockerfile moves to the Distroless nonroot user with host-owned bind mounts, and CONTRIBUTING.md was added.
Breaking
/fox and /clown are gone, replaced by the Booru commands.
GOOGLE_API_KEY and GOOGLE_CX can be dropped from any existing .env. The image build now needs NODE_AUTH_TOKEN for GitHub Packages; the published images don't.
AI use
ChatGPT 6 did the initial implementation of the Booru swap and the removal of the Google commands. Claude was used for the documentation passes (README, .env.example, ARCHITECTURE.md). I've read the diff and the wiring in buildCommands.ts and index.ts myself.
Testing
npm test is green: 36 suites, 318 tests, 100% statement coverage. New tests cover the autocomplete routing (dispatch, no-autocomplete commands, and error logging) and the updated command registration.
Release v4.9.0
fix(build): move to better-sqlite3 v13 (#151)
Root cause
better-sqlite3 v13 changed how the native binary is delivered.
| v12.x | v13.x | |
|---|---|---|
| install script | prebuild-install || node-gyp rebuild --release |
|
none — npm falls back to its implicit node-gyp rebuild because |
||
binding.gyp is present |
||
| deps | bindings, prebuild-install |
node-addon-api |
| binary after install | build/Release/better_sqlite3.node |
|
prebuilds/<platform>-<arch>.node, shipped in the tarball |
node_modules/better-sqlite3/build/Release/better_sqlite3.node no
longer exists after install. Two things break:
1. npm ci fails in the builder image. node:24-slim has no Python
or C++ toolchain, and v13's implicit node-gyp rebuild needs them just
to configure — even though binding.gyp compiles nothing when a
prebuild is present (type: none):
npm error path /app/node_modules/better-sqlite3
npm error command sh -c node-gyp rebuild
npm error gyp ERR! find Python
That's the failure on run
30742632184
and every other better-sqlite3 Dependabot PR here.
2. The hardcoded build/Release paths break. Both
copyNativeBindings() and the release-stage COPY point at a file that
no longer exists. The same code took down BongBot-Quote's release
workflow (run
31736066008).
Changes
- Resolve the native binding from
prebuilds/<platform>-<arch>.node. - Copy it to
build/Release/better_sqlite3.nodeat the project
root, notdist/build/Release. That's the path the bundle actually
probes: better-sqlite3 resolves relative to its own__dirname, which
esbuild collapses into the bundle's directory, so the runtime lookup is
<dist>/../build/Release/…. The Dockerfile now copies that directory
rather than reaching intonode_modules— same final image layout as
before. - Builder on
node:24instead ofnode:24-slimso node-gyp can
configure. Builder stage only — the release stage is still distroless
and unchanged in size. better-sqlite3→^13.0.3,@pookiesoft/bongbot-core→
^1.6.43.
The resolver conflict, and the bridge
Bumping alone doesn't install — CI caught this:
npm error code ERESOLVE
npm error Found: better-sqlite3@13.0.3
npm error better-sqlite3@"^13.0.2" from @pookiesoft/bongbot-core@1.6.43
npm error Could not resolve dependency:
npm error peer better-sqlite3@"^12.9.0" from @pookiesoft/bongbot-ptero@1.4.11
Published @pookiesoft/bongbot-ptero@1.4.13 declares a better-sqlite3
peer of ^12.9.0, while @pookiesoft/bongbot-core@1.6.43 requires
^13.0.2. Mutually unsatisfiable.
The durable fix is PookieSoft/BongBot-Ptero#60, which moves that peer to
^13.0.0 — but it isn't released yet, and staying on v12 in the
meantime means running an unmaintained line that no longer gets security
fixes. So this bridges with an npm override:
"overrides": {
"@pookiesoft/bongbot-ptero": {
"better-sqlite3": "$better-sqlite3"
}
}$better-sqlite3 references this project's own dependency spec rather
than a literal version, so the override tracks future Dependabot bumps
instead of freezing anything. A _overrides_note field records the
removal condition, following the _postinstall_note convention already
used in bongbot-core.
This is safe, not just a resolver silencer: the two majors are
API-compatible — only the native binding layout moved — and Ptero#60's
CI (157 tests plus a container smoke test) proves its source works
against v13.
Verification
Docker isn't available in the environment this was written in, so the
image build is left to this PR's own CI (build-docker + smoke-test).
Locally:
npm ciresolves cleanly with the override, to exactly one
better-sqlite3at 13.0.3 ✅- Build resolves
prebuilds/darwin-arm64.nodeand writes
build/Release/better_sqlite3.node✅ - Zero v12
bindingspath-search strings left indist/index.js✅ npm test— 325 passed across 39 suites, 100% lines ✅
Follow-up
Once bongbot-ptero releases with the widened peer, drop the overrides
block and _overrides_note, and bump @pookiesoft/bongbot-ptero.
Related
- PookieSoft/BongBot-Quote#78 — same upstream cause, publish job
- PookieSoft/BongBot-Ptero#60 — the peer-range fix this bridges
🤖 Generated with Claude Code
Co-authored-by: Claude Opus 5 noreply@anthropic.com
Release v4.8.13
Bump undici from 6.24.1 to 6.28.0 in the npm_and_yarn group across 1 directory (#147)
Release v4.8.12
Bump @pookiesoft/bongbot-quote from 2.1.36 to 2.1.42 (#140)
Bumps @pookiesoft/bongbot-quote from 2.1.36 to 2.1.42.
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Release v4.8.11
Bump @pookiesoft/bongbot-quote from 2.1.28 to 2.1.36 (#135)
Bumps @pookiesoft/bongbot-quote from 2.1.28 to 2.1.36.
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Release v4.8.10
Bump prettier from 3.8.3 to 3.8.4 (#133)
Bumps prettier from 3.8.3 to
3.8.4.
Release notes
Sourced from prettier's releases.
3.8.4
- Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (prettier/prettier#17746 by
@byplayer)
Changelog
Sourced from prettier's changelog.
3.8.4
Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (#17746 by
@byplayer)Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning.
<!-- Input --> - a b c d <!-- Prettier 3.8.3 --> a b c d <!-- Prettier 3.8.4 --> a b c d
Commits
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Release v4.8.9
Bump @pookiesoft/bongbot-ptero from 1.4.8 to 1.4.9 (#130)
Bumps @pookiesoft/bongbot-ptero from 1.4.8 to 1.4.9.
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Release v4.8.8
Bump @pookiesoft/bongbot-ptero from 1.4.7 to 1.4.8 (#125)
Bumps @pookiesoft/bongbot-ptero from 1.4.7 to 1.4.8.
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Release v4.8.7
Bump @pookiesoft/bongbot-core from 1.6.18 to 1.6.22 (#124)
Bumps @pookiesoft/bongbot-core from 1.6.18 to 1.6.22.
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>