Releases
v0.1.1
Compare
Sorry, something went wrong.
No results found
0.1.1 (2026-06-26)
Features
accounts: card redesign + editable display name (cb1e56c )
add reach curve to dashboard and follower counter to analytics (fc11d47 )
admin: add repair endpoint for future posted posts (b9349e4 )
admin: log component filter and health-first status dashboard (8a7f354 ), closes #68 #69
admin: provider-aware Providers tab with instance health (#98 ) (b97d22d )
admin: reorganize admin into tabbed status and settings views (38aa853 )
agent: context-driven composer revision + confirm-card E2E (f152f9b )
agent: expose follower growth + metric history tools (d21e363 )
agent: shared tool registry for MCP + in-app chat, view awareness (a3af2ff )
agent: unify chat write tools with confirmation flow (5caf4e1 )
ai-chat: account-scoped composer revisions and robust overrides (784235c )
ai-profile: editable writing rules and clean URL knowledge fetch (f6b5a33 )
ai-service: add ProfileAnalysisWorker with LLM style extraction (84f1003 )
ai-service: add provider-agnostic LLM adapter (c668320 )
ai-service: implement Proactive Triggers with cron and RSS (97f443e )
ai-service: implement Team Voice Engine and Campaign Auto-Pilot (2a2cf0a )
ai-service: scaffold FastAPI service with health endpoint (a32c1b9 )
ai-service: scaffold FastAPI service with LLM adapter and prompt builder (f533fc8 )
ai-studio: modernize wizard UI with stepper, toggles, and pills (45c963d )
ai: add cancel endpoint for stuck AI jobs (6cc334c )
ai: add profile_analysis job type to Go models and TS types (9b977ed )
ai: campaign formats and explicit source fields in generator (7597560 )
ai: composer refine, generate edit, personal AI settings (17ea247 )
ai: context-aware AI chat tied to the open composer (#96 ) (a1577df )
ai: emit per-call token/latency audit metrics (e0f7e7f )
ai: flexible brand profile, anti-AI defaults, AI-assisted setup (d09a026 )
ai: harden prompts against source prompt-injection (4ba1d6f )
ai: improve profile review, campaigns, and generation (1dbd5a8 )
aijobs: log AI job lifecycle so AI activity is captured (5711cde )
ai: native Go AI engine and global chat assistant (7fffc5b )
ai: per-feed RSS prompts with accounts and tonality (256c123 )
ai: redact PII from user requests before model calls (c8a2caf )
analytics: admin metrics sync board and fix engagement pull (59f26d0 )
analytics: hashtag insights cards and heatmap on accounts tab (d39bca6 )
analytics: hashtag intelligence, activity heatmap and Bluesky rich text (b48bbfb )
analytics: multi-select account filter with dimmed deselected cards (7718972 ), closes #80
analytics: redesign account cards with social-media metrics (ce077fe )
api: add discovery endpoint for AI agent compatibility (037d4a1 )
api: auto-fetch page content for AI generator URLs (5ed259d )
api: expand discovery for per-account post versions (1c52902 )
api: partial PATCH for posts preserves versions on reschedule (2017771 )
audit: per-team audit log attributing actions to member or API key (e20267f )
audit: record team-scoped API key revocation (0b74dc3 )
auth: add API token scopes and AI feature flag middleware (8946492 )
auth: granular API token scopes, team binding, and a token modal (75284b0 ), closes #81
auth: HttpOnly cookie sessions for the web UI (93b8f8a )
auth: OIDC-first login, dev-only backend override, identify web session (8d9bae6 )
automation: RSS import in Go and review queue inbox (e91b1c5 )
automation: unified UI, recurring AI, remove proactive (3873ac5 )
chat: /clear new session + mute transient tool errors (ad1efcc )
ci: add Playwright E2E tests and Forgejo pipeline job (143447d )
composer: redesign composer UI and prepare Pixelfed support (e6b61f5 )
composer: slimmer mobile composer header and destinations (1b6b819 )
configurable automation titles and AI-generated post titles (0684ba2 )
deploy: add ai-service to docker-compose-traefik (f42fef3 )
frontend: add AI TypeScript types and OpenAPI skeleton (3b2f661 )
i18n: add shared locales and migrate UI to i18next (bae78dc )
i18n: load locales dynamically so new languages need no code change (741e1bf )
import external posts for team analytics monitoring (2e63b0f )
improve dashboard and analytics with growth trends and tabbed view (a2b41b9 )
logging: add log persistence and admin log viewer (92072a6 )
mcp: add MCP server for AI agent integration (7784dca )
mcp: audit + info logging for agent actions (9d99860 )
mcp: get_analytics_timeslots tool for best-time-to-post analysis (051d215 ), closes #82
media: rename, search, and lightbox preview in the media library (f0cf41f ), closes #84
optimize RAM usage with AIContext limits, slice pre-allocation, and pagination (8e0ac11 )
posts: require an explicit title, centralized in CreatePostInput.Validate (ce6bbe9 )
provider: add rate-limit aware retry with exponential backoff (9649e56 )
provider: revoke OAuth token on the instance when disconnecting an account (5dd8935 )
recurring: add {main_counter} for announcement posts (704f720 )
recurring: add announcement post templates (f8e1d5c )
recurring: add edit flow, counter start, and AI controls (28da0bf )
recurring: add monthly_ordinal_weekday + template var expansion (418e58e )
recurring: add regenerate for occurrence and horizon (084f607 )
recurring: replace JSON textarea with visual recurrence form (3f37c55 )
recurring: show human-readable schedule summary in template list (da84307 )
recurring: support mixed ordinal weekday occurrence rows (c0b670a )
recurring: support multiple monthly ordinal weekdays (4089ee9 )
release: version embedding + automated SemVer releases (9b04fea )
review: show nav badge when review queue has items (15dbd13 )
rss: AI enhancement in Go scheduler, remove proactive RSS (9154745 )
store: extend Store interface with AI method stubs (1056d4b )
store: implement AI entity CRUD for postgres and sqlite (cb2ca83 )
ui: 3-column composer layout, analytics sidebar nav, team settings cleanup (2975ff9 )
ui: add AI agent configuration at user, team and admin level (40f0dc6 )
ui: add AI chat and frontend refactoring plans, fix traefik compose and brand color support (5c9d661 )
ui: add AI service URL configuration to Team Settings (155e5aa )
ui: add AI toggle, token management and profile analysis trigger to TeamProfileView (cf69a89 )
ui: add mobile post preview with modal overlay (fcbe026 )
ui: add swipe-to-dismiss gesture to mobile more-drawer (1089e27 )
ui: business design refresh with collapsible sidebar, user menu and team brand color (a60dcb0 )
ui: complete mobile UI overhaul with swipe-to-delete and simplified cards (bab004f )
ui: complete PWA-first UI/UX redesign (2026) (1be3b5a )
ui: direct preview on click, edit button in modal, and swipe-to-dismiss gesture (be71a90 )
ui: move AI nav items into dedicated sidebar section (437f7cc )
ui: open preview modal from dashboard upcoming posts (17017e9 )
ui: proper sidebar styling, unified buttons, split AI Studio (67969fe )
ui: pull-to-refresh on mobile content views (86d395e )
ui: remove eye icon from calendar, horizontal dashboard cards, relative time (cf5cbd6 )
ui: share AI Studio primitives across views (077a340 )
website: rebuild marketing site with Bold-Dark design, Redoc API docs, MCP guide (8fdf8ed )
Bug Fixes
add missing .avatar and .avatar__img styles to fix oversized profile images (b0bc9af )
Add missing icons to icons.tsx and fix build failure (c92c330 )
agent: never echo card text; lead-in before card tools (23a7976 )
agent: stop composer revise loop; fetch GitHub READMEs (0876b1a )
ai-service: align Docker COPY path with Python 3.14 image (ae22997 )
ai-service: coerce invalid account_content_override from LLM (5c81210 )
ai-service: fit AI optimize output to account char limits (30e4d9b )
ai-service: resolve job dispatch, JSON parsing, and config bugs (8bc7a78 )
ai-service: use 'python -m uvicorn' in Dockerfile CMD (11263c7 )
ai: adaptive per-model token budget on truncation (#78 ) (f6c0ad3 )
ai: add publication plan for recurring announcement vs event (85eb0a9 )
ai: distinguish recurring announcement vs main event dates (9609e48 )
ai: don't write the scheduled posting time into recurring posts (#79 ) (03a59a3 )
ai: drop unsupported temperature for newer OpenAI models (1f1c95a )
ai: enforce JSON output and stop failing on truncation (f7778aa )
ai: flatten prompt sections for clearer hierarchy (3228ecb )
ai: generic recurring grounding with editorial flexibility (507288a )
ai: generic RSS prompts, hashtags in post text (86e5659 )
ai: ground episode posts in RSS show notes (76d94ac )
ai: maximize primary post length for multi-account generation (4cb277f )
ai: recurring jobs no longer fail on missing title (6a778f1 )
ai: reinforce brand voice in task prompt and preview UI (b1d6197 )
ai: rewrite recurring posts for variation not template polish (24f09c8 )
ai: stop recurring posts inventing episode topics (60ecf76 )
ai: stop recurring regenerate falling back to template (2b1daf2 )
ai: use embedded context from job payload, prevent silent callback failures (143b0f7 )
ai: use rendered recurring template as timing source (68a9060 )
analytics: fill chart series through today (41da281 )
analytics: filterable heatmap, account cards as filter, stop hashtag flicker (79e65dd )
analytics: rename misleading reach metric to network size (issue #16 ) (5ef72dd )
analytics: restore post metrics in preview and analytics posts tab (c866b37 )
analytics: sync post metrics sooner and expand inline (a00e48d )
analytics: year in post dates, stop metrics flicker, link to platform (6515375 )
api: add profile_analysis to isValidAIJobType (0fe6fd6 )
api: decode PATCH post JSON with snake_case field tags (c3b78fd )
auth: return 500 (not 401) when session lookup fails on a backend error (25b3023 )
bluesky: parse getPosts postView for engagement metrics (65fa57c )
calendar: add delete button to desktop live preview (c853bd1 )
ci: build image on go 1.26.4 to satisfy go.mod toolchain (019e4a0 )
ci: pin pnpm version and avoid corepack registry lookup (3378dc1 )
composer: make mobile create post usable (3000779 )
composer: open fullscreen view and restore prior section (b8c06ce )
composer: per-account limit checks respect content overrides (2117a5a )
dashboard: Network Trend shows the day's growth again, not network size (3142075 )
dashboard: show daily deltas in performance sparklines (de4e58d )
dashboard: stop graph flicker and show real network growth (#100 , #101 ) (079b59d )
dashboard: use cumulative metrics in performance sparklines (4ffea8b )
db: migrate post_templates announcement columns on existing DBs (d8704e9 )
deps: add missing runtime dependencies (f963167 )
deps: pin typescript-eslint to 8.60.1 for supply-chain policy (79d38d9 )
deps: update dependency lucide-react to ^1.16.0 (4d3293f )
deps: update module github.com/coreos/go-oidc/v3 to v3.19.0 (a2ada0a )
deps: update module github.com/jackc/pgx/v5 to v5.10.0 (95f1746 )
deps: update module github.com/puerkitobio/goquery to v1.12.0 (a35775c )
deps: update module modernc.org/sqlite to v1.50.1 (31d525c )
deps: update module modernc.org/sqlite to v1.52.0 (16a94d7 )
deps: update module modernc.org/sqlite to v1.53.0 (#2 ) (eb791ce )
deps: update tanstack-query monorepo to ^5.100.10 (7277f71 )
dispatch to /api/v1/jobs, fix profile analysis write-back, add job visibility (7d93b7a )
docker: align pnpm version with packageManager field (2aa61b4 )
docker: copy locale catalogs into frontend build stage (2d0b144 )
docker: embed locale catalogs in frontend build stage (a44d28b )
docker: fail fast when locale JSON missing in build context (d28816e )
docker: harden frontend-builder for Dockhand (0634778 )
docker: purge stale ProactiveTriggersView before frontend build (964b4af )
docker: restore single-stage frontend build for Dockhand (03ff00d )
e2e test locators + form accessibility (b91e347 )
e2e: add level:1 to heading locator to avoid strict-mode violation (de09d55 )
e2e: align AI specs with redesigned generate and campaign UI (6b39ba2 )
e2e: stabilize review queue nav after badge (3f5414d )
e2e: target composer message field, not content scope tablist (f8a6438 )
e2e: target recurring add-template button by test id (d878592 )
ensure PostComposer uses sidebar preview on desktop and suppress modal logic (e63aeea )
frontend: clear eslint errors blocking the CI lint gate (ffba1e6 )
frontend: map ai-trigger job_id for composer optimize (d1e3be1 )
frontend: open post preview in sidebar on desktop (6371e29 )
frontend: post card badges and recurring template modal (5a3455e )
frontend: remove locales symlink breaking Dockhand deploy (84ee80f )
frontend: sync pnpm lockfile for typescript-eslint 8.60.1 (95217c5 )
go tests + playwright test + CI cache proposal (333e04d )
harden ResolvePostStatusOnUpdate to prevent accidental immediate posting of future-dated updates (eaa4abe )
implement ListAllPostVersionsForTeam in postgres and mockStore for build/test parity (70ff219 )
import: dedupe goloom posts by mastodon id and uri (231424e )
import: paginate old posts import and add loading spinner (2d8507b )
mcp: every tool call failed unauthorized; owners were locked out (e809d5b )
mcp: run Streamable HTTP stateless so follow-up calls don't fail handshake (82cf40c )
mcp: switch to Streamable HTTP transport, fix AddTool panic causing 502 (83d131f )
mcp: validate post tools — char limits, cross-team targets, overrides (2b76f0b )
metrics: record imported post metrics on post date, not import date (f52988b )
mobile responsiveness for analytics view and accounts tab (830d65f )
post: ensure future posts are not marked as posted via API (b25e4ad )
postgres: stop narrowing scheduled_posts source on startup (a5b0b90 )
posts: require a team for mutations, persist resolved team (review) (9500f31 )
posts: scope stale versions on target-shrink; validate AI-draft targets (review) (577b0c1 )
proactive: honor cron schedule and RSS first-check modes (3e23043 )
recurring: clarify announcement UX and allow converting back (9a24bb4 )
recurring: stop announcement migration from deleting orphan templates. (3491106 )
refactor composer logic to use section-based routing on desktop and modal on mobile (close #24 ) (4e992f0 )
remove HTML sanitization from post content and link avatars in archive (4ca863a )
resolve reported AI generation and preview UI bugs (fe944ee ), closes #70 #67 #66 #65 #27
resolve syntax error in http.go after refactoring (2086aeb )
rss: repair Postgres active feed query for scheduler (9cc28e3 )
scheduler: add missing log stub methods to mockStore (ae55b5b )
scheduler: declare expandedTitle before AI enhancement path (2d94c0c )
scheduler: implement job locking to prevent race conditions in distributed setups (issue #23 ) (8f0305a )
scheduler: keep {counter} placeholders until publish time (37c3eea )
security: bump Go toolchain to 1.26.4 on main (7427173 )
settings: clean up expired web sessions in API token list (4056130 )
store: add missing audit_events table to the postgres runtime schema (bd6e234 )
store: add missing template columns in GetScheduledPostByID, add regression test (2fd22b5 )
store: detect web session tokens as OIDC kind to bypass scope checks (fc89d61 )
store: postgres schema breaks on fresh databases (38f1310 )
teams: enable external post monitor on personal workspace (3a03a47 )
ui: add confirmation dialogs for destructive admin/settings actions (issue #22 ) (ff0bfe8 )
ui: enable post editing on mobile calendar list view (7a08731 )
ui: fix header icons, card width, and toggle placement (438c8c1 )
ui: improve recurring template cards layout and readability (8666452 )
ui: improve UI/UX consistency across views (e381479 )
ui: inline icons in headers, use stack layout for lists (75b95ee )
ui: make workspace menus readable and add installable app icons (a8205d4 )
ui: mobile nav order Home-Calendar-Post-Media-More, drawer item backgrounds (3c515ca )
ui: move AI toggle and token management back to Team Settings (9014a05 )
ui: resolve all ESLint and type issues (1c327a7 )
ui: resolve build errors after redesign (ab5a326 )
ui: resolve transparent dropdown/drawer backgrounds, refactor composer to 3-column layout (b3dbbd3 )
ui: restore frontend build by wiring composer preview prop (a0b2240 )
ui: restructure Automation header with SectionCard and Zap icon (0a71729 )
ui: show post overrides in previews and refresh data periodically (465d287 )
ui: unify RSS Feed and Recurring template card design (a648d7a )
ui: use correct dialog CSS classes for ImportOldPostsDialog (0bc0e45 )
website: upgrade to Astro 6 and Starlight 0.40 (combined) (#73 ) (4ec3d8b )
Performance Improvements
store: add legacy migration for idx_post_targets_metrics_sync (584d0cc )
You can’t perform that action at this time.