Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 22:49
5433b66

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)