Skip to content

Releases: boidwatch/cli

Release list

v1.1.0

Choose a tag to compare

@jessepcc jessepcc released this 30 Sep 11:03

Changelog

  • 3c1dae2ecf010248f334bd14cb56a7e57e0d1e4c Fix self-test workflow install on private repo (#32)
  • 75ce076a0d89979d1e2511b14316a7b45c6311e4 Fix share rail spacer width
  • 0baf4724ecdf3d74bc46c3c5866943e6b6183c5e Reserve layout space for the fixed share-rail so it can't cover the report
  • 6018e8ce91a63b8e063cd5daa30b065ea5e5d15f Route CLI billing through web app
  • 48d10f51b26b9be2b1ec296a0a6d305115fb7692 Sitemap: add blog article URL (best-usability-testing-tools-2026)
  • fa184e547ee3637c2e284ed3e4587aead2f076ac agent growth hack: richer llms.txt + agent-only CTA (30 free credits)
  • 44f7855d3df2ba09519aa243d09e1aa244e196e1 bd: init task tracking with bd CLI
  • 05018a1bb584db5cdeb5d583bb20498c758a1739 billing: show beta-pricing strikethrough on credit packages (#29)
  • 5e37d0c278567b37f1d7e7bcf467b66d2a26907b blog: add /blog route with first article (best usability testing tools 2026)
  • be7d957f1fd1848167412db694566d6b67ec958b blog: fix post routing + canonicals (chi.Mount prefix), app robots.txt AI-crawler allows, /blog redirects, homepage JSON-LD
  • 97e84fd08077fda05ff2704521d5893bb3750958 blog: rewrite best-usability-testing-tools guide (14 tools, evidence model, decision framework); date 2026-08-20
  • a972da4ac3e83988a9fd1122ba20dd03cc8e4f8d blog: serve /blog on the apex via Pages Function instead of 301 to the app
  • 6de057b2a428aab78981047714c449f3df978bc1 browserpool: raise Chrome container limits to 2GB / 2 CPU
  • 2fb5849fc9724805ccd4a30efd80674922be18f0 chore(growth): remove superseded outreach intermediates, keep learnings (#46)
  • 1e6d96b5a1f241c85fae9889f8872c344d6d8ec7 chrome pool: pin image default + correct docs (stop recommending :latest)
  • b5389c7e79a11aa5482882c84c2344cf2c0686c6 ci(api-types): compare DTO field names, not only type names
  • 059a53bf7e6f4a4b4e1a678170fcee8ab284b648 ci(deploy): run the Postgres-backed tests on the merge commit
  • 1f1f68698f9fd62051872c23d2328d02719de7d1 ci: automated, versioned deploy pipeline (replace manual on-box builds) (#25)
  • 3e61069715e5c5ead7229c42b281e2c3a792c79e ci: drop the MinIO container from the smoke and deploy test jobs
  • ba198cada144d8eede1dc11d1192a7ab694edec4 ci: move self-test specimen off the Bot-Fight-Mode zone; name the block cause
  • e006442c68a7a7acfcc9b1b0346091ed5ffed8fe ci: point pnpm/action-setup at web/package.json for the pnpm pin (#26)
  • dc8575d3148bcd66e350ade743fba21385fcbd99 de-slop OG + meta descriptions: cut 43%, kill AI verb lists and persuasion
  • be8121c601f2bdaf07bdf682c80de8ecead6aa69 docs(cli): GHCR public image is optional, not a launch blocker (#27)
  • ff9d7762a9987553a4af187019d7fc3758bd3030 docs(cli): pin example templates to the init scaffold's compact --json --quick form
  • 9301e05d43506c16cc1eb5140b065e829bad05b9 docs(cli): read entry_block where the CLI prints it; move cookbook recipes to --json
  • 5c2508257e3ba92546a2a55eed25f7a0cc48ba93 docs(growth): add end-to-end runbook overview, reconcile share-link flow (#24)
  • d781fad2e3746e29fddfdceebf24a0ce82172860 docs(growth): add reply playbook from live LinkedIn outreach results (#57)
  • 9b785de8decb9a1fe091c1f65db231a96dc78f1d docs(jobs): name every table retention cleanup deletes from
  • ea057068e3b63ebe11328fe44e3b141e1d41bc71 docs(llms): make the first call print JSON and name the real envelope fields
  • ce10ed109488e5b5ef0b8b3b687eb1d022b6df9a docs(llms): serve one canonical agent doc and parse its commands in CI
  • 1ce5e8626043b21314538008a765352dcae781cc docs(retro): add QA-survey findings — assertion-free self-test, untested review pkg (#49)
  • cd86c846c61993641c2f818d1b957698cac6a295 feat(action): composite GitHub Action for UX checks in CI
  • 652001aab9188d76b4ce0f0f7410324452647775 feat(activation): retryable failed runs + server-side founder alerts (#44)
  • df41fa0256f3c8d9e69999dfa22736cfb34f31f4 feat(agent): external-site links are out of scope; embed failures reported neutrally (#50)
  • ed6d79333c899eeccba316e36b66951cae758171 feat(analytics): PostHog event wiring + Telegram webhook bridge (Phase 1+2) (#38)
  • 21eb474c3be5e0f7e02629f4f19133e8ad3a231a feat(analytics): first-party PostHog reverse proxy at /ingest (#37)
  • 444c15e60be8459006c409a09e9335c8c392f80f feat(api): add apitypes.ExplorationSummary, the compact exploration view
  • d7e0b7e9135eda7d86e99f60ea370b4ca157e879 feat(api): agent-actionable 402 + url filter on run listing
  • 047081977a89f66005edc3b078db30d5dd9929c8 feat(api): serve apitypes.ExplorationSummary as format=summary for exploration runs
  • ecdc1960ae719c4b4ca33c5775cff1f7a689cb93 feat(cli): --quick preset, CI assertions, run deltas, and MCP server
  • e39f54e7d1d37f2a4b36c0ded59b1472fd01246f feat(cli): AI agent ergonomics — tools schema, json error hints, stdin input, agent-setup
  • e463c55b204168490cbf4aca123b42ec80fbc848 feat(llm): count LLM tokens, calls and latency per attempt
  • 47257582d4265def33dd55eccfb439cb6a4f5bbe feat(marketing): add Pricing nav links to topbar + footer
  • 8605458c96d1dbf83842baeac8fdffb21320cd55 feat(marketing): reposition landing for agencies/CRO + founding Agency tier (#45)
  • 0f6a4680a40d8a7ed5558a51bf172dd56b6b2040 feat(share): inject "Powered by Boidwatch" CTA at serve time on /r/:token (#28)
  • 7fccd62a954e40f3bd92fcbc050fcec7d95b5105 feat(share): viral share surface — conversion rail, OG Augury Card, SPA share panel (#41)
  • 14d10d6291d7d0bea1120fb94adb34459c24a2b0 feat(web): in-context checkout rail for blocked and low-balance users
  • 9b26d47b77c87e8ea407094149bdb208beb5bd59 feat: AI agent adoption — boidwatch init, docs, CI, scaffold examples
  • 424a46824080b2d15107f63ed0295de47186c1c8 feat: add /llms.txt endpoint for AI crawler discovery
  • e0baca516d5eaa4d0c51e2d472ffec06a2b9058e feat: add 5 missing stealth patches (webgl, vendor, codecs, chrome.app, outerdims)
  • 23e38c215e26bf7f81f982cf976001b21f943898 feat: add CHROME_PROXY_URL support for residential proxy routing
  • 968deaa6981353e5c54f6e9fecfbce9627c36102 feat: add Cloudflare anti-detection stealth layer for headless Chrome personas
  • 2d6187f367a308fd5cb13eaf9d9925746c868276 feat: add llms.txt to marketing site
  • 5fea8d5f7850faa376555f74c6010a067c35cc33 feat: beta analytics stack + 33% pricing strikethrough + doc alignment (#30)
  • ed7e0be1d87e9d061e88412b1867ef9dcc8b050e feat: direct Telegram alerts for runs, purchases, shares
  • 75c82f63c2b9c863ee5204d321d5cd2eaa2ad9ea feat: instrument sample-report activation funnel
  • d67d448a689d5d5a3f364ce635318f0a21146c80 feat: pre-seed sample report on dashboard to fix 50% activation cliff
  • 07c2a802ebc3b693feb6cfc9e12c51e4a271e787 feat: proxy auth via CDP Fetch.authRequired (Chrome can't inline HTTP proxy credentials)
  • f2a94046e4861d7cf9b56ce1ff10c6edcbfc7e94 feat: proxy relay for Webshare HTTP proxies (Chrome can't auth directly)
  • f12f7fd05aa2e3baa102d0acf70447cfec391556 feat: public run share links (GET /r/:token) for anonymous report sharing (#23)
  • 9bc573df6a7de0023eb311f31d5936773b0a6d2f feat: resolve /terms and /privacy on the app origin; consent at signup
  • 73aa413eaac2d73c87500e35c044ff3643dde213 feat: welcome email on signup (SendWelcome) for email-verify and OAuth paths
  • a43a91ace81672a9d365fe66f704b822dcec6db4 fix(action): download the GoReleaser archive and read the compact view
  • 6e35e1c563c6385a11a41f3091d7f8f4b617b137 fix(action): fail a run no persona got past or whose gap analysis failed
  • 8943b8c2d41d729b349759ef9fad1718e4c02295 fix(action): repair gate parsing and CI stubs
  • 6baf77ac8f346479b05ee00795c1ddd4df65a5d2 fix(agent): normalize gap severity at the LLM boundary, failing closed
  • e42dc9550eb8f44c2ec8e2f92c4e8ed48ed23a20 fix(agent): skip DOM snapshots and network capture when nothing reads them
  • 424b78709cb493543c18b38ca842176664612b16 fix(agent): stop misreporting new-tab links as broken (#48)
  • 927f8fd71ca953e7c8dcbd00b4b727f9fcbfb7b7 fix(agent): wait for a navigation slot before starting the agent clock
  • ec008b971e6e23e7af48c0e13bd20632ae77c5a8 fix(analytics): capture initial $pageview + $pageleave in PostHog (#31)
  • 75dad68bddaf450ab2593d3efced97a37ea4e2d8 fix(api): answer unknown /v1 routes with the error envelope
  • c703e86a595df94eb367f6268a56919eb06a5bb2 fix(api): bound the unknown-field warn log on run create
  • 9f92d91a5d3a05d52b00074f05ca171b925c706b fix(api): estimate run time from the agent timeout; throttle last_used_at
  • 361efc76fc01883e8560e3bcf18fab330a420681 fix(api): hide the synthesized sample run from API-key principals
  • d6a86031f0f63dc62cf294a6621efea535aab588 fix(api): make run cancel idempotent and never 500 on a terminal race
  • 16cd81bf2cab9a46a46a200241da391abca82154 fix(api): make the run create boundary safe for raw-HTTP agents
  • 6b21af573ea66004015e86793adb067af056edaa fix(api): never orphan an idempotency claim on panic or disconnect
  • ad5f82f57a8b5ffc7af9d4401f1891140199ba51 fix(api): write every error envelope through middleware.WriteError
  • 9618fd09fb8d1f12473293a9fdcd3bf48d4ecaad fix(browserpool): scale idle Chrome instances down from a real idle-since time
  • f0b4c422aaff46b01f7aec4c49629a941181ce4a fix(cli): bound --wait, back off, and poll through transient errors
  • 03c1c1d55cda5f869bac25ffea24178afdbc1adc fix(cli): exit 9 on an entry-blocked run with no --assert flag
  • e922097b3c9fb442774b7024c0dc2692300dea8b fix(cli): make boidwatch init scaffold a quick, bounded check that parses
  • 8ea31493e76061a375e6a650ba55ac59f22ff2cc fix(cli): name the run and a resume command in every failure after create
  • a12f1164f2e8dd1c6d27b99aa0ddda8bf05b124a fix(cli): name the run in every failure after create; add run results --wait
  • 47132f1aea02d733c1aca6cb5e4de1699e466265 fix(cli): one failure shape for every CLI error, found with errors.As
  • b75e5513f71f0ea54d01a46f531896342d8f4df5 fix(cli): point exit 7, 8 and 130 at the error's next command
  • 946230c8854ce0208089eb141efc156d37479237 fix(cli): read run create target-site auth from a file or the environment
  • 534969a8bf254f1c57a0d5265c823bf15cd7a592 fix(cli): read the server summary projection for checks in every mode
    ...
Read more

v1.0.0

Choose a tag to compare

@jessepcc jessepcc released this 26 May 19:06

Changelog

  • 9c674462a1a3581cdd0e9d64e2f252901eac2cef Disambiguate session terminology in exploration CLI summary (#12)
  • 52d89da031542466265f54eb32e68eaa5cfe832a Harden beta launch readiness
  • 9281fec5d618428357ad304298b70ab39bce5be0 Implement credit-based billing
  • 8f719074f7322539bafe44fd31b6783a86ac1e5d Merge remote-tracking branch 'origin/main' into fix/rate-limit-migration-pk-order
  • 144be00a0b4f33e138e93518cfd67deaf88910ff Merge: /v1/me, /v1/api-keys, /v1/feedback, /v1/auth handlers (100% func coverage on new files)
  • 05b3442d3a5495bb563668320a0031429e024f25 Merge: internal/webapp embed package (88.9% coverage)
  • 1ad2e9d02692ecf660095239355804f73042c047 Merge: internal/webapp embed package (88.9% coverage)
  • 1072d2c74069ad391a32dbbb244444b965ea015a Merge: web/ SPA scaffold (Vite 6 + React 19 + TanStack Router; 16 tests passing)
  • 4cbb973b414968889cf4e1e28415cfdd750b5dcd Scope public CLI to exploration-only and harden for agent use (#7)
  • f4106d53d17899cb004a8881505a7c6ac2f4c159 build(release): add Dockerfile.cli for GHCR publish
  • 40e5f2d167fe64d2a9ac43217edb9d1bda58e413 build(release): add GoReleaser config and release workflow for the public CLI
  • b533e9bf62c72296f9d3b18fee24d88cbf6c3f17 build(release): add install.sh with SHA-256 verification
  • 33df0fae19cd0fa5e5680dae7073508ccf9aeb44 build(release): wire Homebrew tap into GoReleaser (item 10/10)
  • 6edf0c4a067e9339fa60ed2fa710892af922ae6c build: add Makefile (web pipeline + go build/test/vet)
  • 8b9966c13513281103e77cbbdb89cabda0c9de6e chore(cli): write run reports under results/ instead of repo root
  • 620011f2429835e16190681f92773d38f8811c58 chore(config): switch default LLM to moonshotai/kimi-k2.6
  • a16aab9083eaa91c60c725e67fd5209fb910dd05 chore(dev): add MinIO + bucket init to docker-compose
  • 8302e8f62651ecb8fc5a1ff996e344c84ddc6481 chore(docs): rename doc/ to docs/ and reorganize structure
  • 9f608bac0c70ae00c607045f7148a698526834f3 ci: run MinIO as a container step, not a service
  • c96480683d093632fd45c0acd800db61ea431c84 ci: stub dist title to match webapp test expectation
  • 1c3c6f943717bde74233ca6f435926702783d60e ci: stub embedded SPA dist so Go jobs can build
  • 145ec0b671aac95cb3be07f275602a41d4d25807 ci: use pgvector/pgvector:pg16 for the smoke Postgres
  • 0ed57e9c2900ae8277cc45b18d870eb66955da5c copy(marketing): lean the landing into real Census-sampled personas
  • 7ed6924f1fd5e23e9e76ab9f338166020019c647 docs(checklist): finalize launch-readiness status (9/10 shipped)
  • 3fc97a5f99c118ce498a628623319acfb346927e docs(checklist): mark README quickstart shipped (item 9/10)
  • 87913da629f77814a5f9925c40dd6c0b66cb179f docs(comparison): document severityRank's full mapping
  • 077f064cfb0fcda88a96f3d051e85ceea331b01f docs(comparison): refresh CompareExploration doc comment
  • 7695ffedbcdd2a764a43e1152edb007299008524 docs(copy): align glossary on "persona" + add demographic credibility line
  • 998b77caf84a2b55ecd1bab3d7577ca8470848dd docs(deploy): add shared-VPS rebuild + dual-app deploy runbooks
  • e4fb532e7775f71b43fed6de781ab3422a345974 docs(deploy): firewall, sizing, systemd backup timer, Stripe/Resend setup
  • 253d77ddffbd91fabe92e522788c4acdc0a59d39 docs(design): seed PRODUCT.md and DESIGN.md for the Boidwatch direction
  • 6c744cda9e54e0d79f9e866fb2f7039d99d763c1 docs(plan): add implementation plan for PM-readable exploration report
  • 26c8bd9f32249c5e2d962d99138f573f0a8960cf docs(readme): lead with public CLI quickstart (sub-60-second flow)
  • 2b89389c3e58bc2eda247f35747205d7e901d1b9 docs(spec): add PM-readable exploration report summary design
  • 70f876e1ff52c747ac1a2c9252c9b77b74eb0194 docs(types): document RunSummary.TopGaps cap and ordering
  • cbd2b41436954199216c5062801855436d01dceb feat(agent): persist and render key-moment screenshots in exploration
  • 088d66ba94e95740ce526828a1a17ecad7408290 feat(api): add GET /v1/runs list endpoint
  • 64e797450791c657f924dfe3c913c35567a52c83 feat(api): add POST /v1/runs/preview for dry-run cost preview
  • 6b0bb44641f478756c10c6fab5e8d88925a066e9 feat(api): server-side Idempotency-Key dedup on mutating POSTs
  • cb5378ee044f9385b81c9930b0979f6c4537fb32 feat(api): support format=summary and format=html on run results
  • 3717c249e4c66a6028bff0a8712a917652f81450 feat(auth): Google + GitHub OAuth sign-in
  • e533123b8ee229497205f0df312785c07399dff1 feat(backend): auto-refund failed runs, account-deletion/logout-all endpoints, IP rate-limit auth routes
  • a06b7e244934fe3d2b3513858ac6dd980fbaf298 feat(billing): 2× credit multiplier for credentialed runs
  • 2a8e02daca9faa859548af77b69540368b61c95c feat(ci): add API DTO drift guard (check-api-types) — the spec's missing stopgap
  • fb9b97e15d3d7b39333cb354858d2c22ffe41602 feat(cli): split public HTTPS-only flockate CLI from flockate-server
  • 3d2543e230ba83b8bc4ba8cbb095e506afd73b9f feat(comparison): build run summary with top-gap selection
  • d1fe2344824b73993424b0a3daacf29850398de7 feat(comparison): enrich archetype breakdowns with persona context
  • fc2c8d8d181b154ffbf28ad327198aa5ada01ab9 feat(comparison): refine HTML report styling and use template renderer
  • 1710dfbed60889a055f5ce2cc41805f33d75cf28 feat(comparison): render PM summary and archetype context in exploration report
  • a1d0a05ad8311b8f6045c2878cffbc7cd65890cd feat(comparison): wire enrichment and summary into CompareExploration
  • d1c78526814f7c1d5f890c4637307f310b5788c6 feat(deploy): legal pages, SEO assets, and single-VPS deploy runbook
  • 07f294da03bca1ce57997122d9ac9cc04fbf8a92 feat(deploy): off-site R2 Postgres backups + monitoring guidance
  • ec3039baf581eda687720cef05d215ef6bee9e86 feat(exploration): add exploration eval mode with cognition capture and perception summaries
  • b5b5f206a2d14d0d87d75a5c6d66fb85bd19a6d2 feat(llm): add OpenRouter provider and per-run model override
  • e9fb1b2180314fc5d75e321251b4d364df7f1e00 feat(marketing): add real-report showcase, clarify cards, fix funnel labels
  • 8305768caee8860306bc7904238eeec51e667ac4 feat(marketing): re-skin the beta landing to the Boidwatch direction (Chunk 4b)
  • 3369f69c861c9710ea535a598296b9da63c35503 feat(marketing): real boid identity on the landing — flock, accents, persona funnel (Chunk 4d)
  • e928efcb6c6b6d6e5631a6432ab1cc0eda07abad feat(marketing): static beta landing page + SPA email hand-off
  • d8f53e2757f820a5b65d369241567862f70ed55c feat(orchestrator): load personas for exploration enrichment
  • d9b8f5b586c0c763fce2c71f03ed516514ae858d feat(persona): add curated archetype descriptions
  • 29b1058c8828624d3823e7a8ddbcf0a7e2f4f3f2 feat(runs): credentialed runs capture screenshots by default + portable HTML export
  • 49a89e7906e698ea9540e81ac65b82eb875db44a feat(server): Resend mailer, private metrics listener, model startup check
  • eeb4c287595269a9ca7b1435d76e20696845a070 feat(web): /v1/billing/transactions handler + user/session/api-key store methods
  • d380a8489d36467d62c97cf41a824376dc360901 feat(web): /v1/me, /v1/api-keys, /v1/feedback, /v1/auth/logout handlers + tests
  • 1393635112922c565ccae0770c85a7db7a45d3ad feat(web): SPA scaffold (Vite + React + TanStack Router + login)
  • 451cef586d7c7e00317ea0accb4b1626b318e314 feat(web): foundation for hosted web app (migrations + auth primitives + DTOs)
  • 745b6e75a05260dd82c2dcb27f1564af971165e2 feat(web): full SPA pages + cartography brand identity
  • 224407e93bc3b7fe7c8443b6f01f4a2ab4eb6d33 feat(web): internal/webapp embed + SPA history fallback + security headers
  • 9776903b49486e56262338e3121f3d1bcc7b158f feat(web): live BoidField backdrop on Login and Dashboard heroes (Chunk 2)
  • aa88cf5d8e03d0fae870475dd3e3a6f8addabf0b feat(web): magic-link signup + checkout session-only + auth regression tests
  • bfb94b1db21f4bd7f414fde68941762339484299 feat(web): one-click "Sign in as demo" (FLOCKATE_DEMO_MODE)
  • 180cc136b9a4140c7eb4722057f7b69bc37a03cb feat(web): open report screenshots in a host lightbox instead of new tab
  • b41f8c2a69a12730377f2f1869064b1006ad5760 feat(web): persona-count slider on dashboard exploration form
  • ed4a01a1d30cd97bd86a916216f3d9a7a48dffd0 feat(web): proxy report screenshots through API so iframe images render
  • 820498f1b1c8ca3a144bdf8ee9f43140e418f8f7 feat(web): re-skin to cool-light boid identity (Chunk 1)
  • 5863a67d26d8c8bf84cfd11ef2fdeb331ee9eb40 feat(web): reconcile run-state labels, add PostHog, wire account controls
  • 8419c8c20ec8504796711738c3a2dd26e60f10da feat(web): show signed-in user identity in the top rail
  • c3054cd9d60865463ba5bd058064b3d3f1d45696 feat(web): wire web frontend routes + SPA mount + AnyAuth/CSRF middleware
  • b76a7ef0ec8187aec0dbd03d40420cc05186c448 feat(web,marketing): add beta badges + light polish
  • 7dc8dda14269291f2986823a4c67124f0992947f feat: add session context and reviewer foundations
  • 091cff7fbdb43003d5b3403b0c3e6c97175f4095 feat: add session replay runner
  • 2e0eac59dc3868639ca002550d0a838e7c4e5869 feat: bootstrap flockgate backend runtime
  • 50b8408f75796831a86588d6e3ebdbcdbeded605 feat: complete autonoma graft — site profiles, replay, run-context
  • b6642ea27a0979abfc90bf4a2de8e2f1ad83117a fix(agent): cap browser actions at 15s so a stuck selector cannot stall the agent
  • 368334ab67a4faa01b5393deb33c47bddd2aa200 fix(agent): cap observation capture at 30s so a stuck CDP call cannot stall the agent
  • be07c73db95925562115c34bbc96de08137e8f62 fix(agent): enforce per-step timeout on observation and action
  • ee3d28faaffe57972405d89b06bfe968c65caaee fix(agent): repair credential injector — Evaluate type mismatch skipped every login
  • 9d9aeaa5cede5a74bacb49d58b539e0a0c31e150 fix(agent): tighten browser-crash detection and use stdlib
  • 2f08bf06c07a8d53a77d66717a3737456efbd8c8 fix(api): COALESCE nullable run columns so GetRun/ListRuns survive NULLs
  • a6557513b7014df8520558878e76a12c44583e18 fix(api): cap request body and header sizes
  • 8a757cfced04c102cc406b4808351ef10b632c54 fix(billing): auto-refund orchestrator timeouts; test account + IP-limit paths
  • 731f34008aa3e39414e3a71edb6b7dae3b4b5213 fix(billing): close auth-multiplier arbitrage for referenced site-pro...
Read more