Changelog
New features, improvements, and fixes shipped to myHERALD.
Create skills by hand, and switch them off
Skills are no longer something only the agent writes. A new skill-creation modal gives you the full set of editor fields, so you can author a skill from scratch and bind it to the platforms, content types, and tags it should apply to.
Every skill now has an enable/disable toggle on its detail page. Switch a skill off to take it out of the agent's loop without deleting it, then flip it back on when you need it again.
Onboarding goals and email updates
First-run onboarding now asks what you're trying to achieve, so HERALD starts with your goals in mind instead of a blank slate.
HERALD will also email you when it needs you. You get a note when content is ready for review, and when an agent run hits an error, so you can step away from the dashboard and still stay in the loop.
Create and edit posts by hand
You no longer have to go through chat to get a post into the pipeline. Create a post directly from the Kanban board or the calendar, pick its platform target inline, and start writing.
The editor is now WYSIWYG: a markdown toolbar for formatting and a live, platform-aware preview so you see how a post will look on each destination before it ships. On the review page, title, target, body, and rationale are all editable in place, and formatting renders properly in view mode instead of showing raw markdown.
A faster dashboard and steadier publishing
The dashboard is lighter on its feet. Polling pauses when a tab isn't visible, and a middleware cache plus realtime updates cut redundant requests, so pages feel quicker and the app does less work in the background.
Publishing got more dependable too. Scheduled posts notify you when they go out, the publish and rollback paths are unified so a failed publish cleans up after itself, and status stays in sync with the scheduled date. If a chat session loses its connection, HERALD recovers and replays the prior transcript instead of dropping your conversation.
Step-by-step setup guides for every integration
Connecting a platform no longer means guessing. Each integration now has its own setup guide, linked straight from Settings, that walks you through exactly what's required. LinkedIn, Twitter/X, Bluesky, WordPress, Google Docs, and webhooks each get a page covering credentials, permissions, and the steps to get from disconnected to publishing.
Publish to WordPress, Google Docs, and webhooks
WordPress is now a first-class publishing target. Connect any self-hosted WordPress site with an Application Password, and HERALD turns approved markdown into a clean WordPress post (title, body HTML, excerpt, and featured image), saved as a draft for review or pushed live from the publish dialog.
Google Docs publishing is fully wired: pick a folder in My Drive or any shared drive, and approved content lands there with native heading, list, and link rendering. There is also a "save a copy to Drive" toggle so any LinkedIn, Twitter, or Reddit publish can archive itself as a Doc automatically.
Webhooks are now generally available with multiple targets per workspace, custom auth schemes, and JSON payload templates. They are a clean escape hatch for routing approved content into your own systems.
Smarter Knowledge Hub
The Knowledge Hub now handles long-form sources properly. PDFs are read page by page so even hundred-page reports stay searchable. Excel and CSV uploads render as readable markdown tables in the detail view. Bulk delete clears multiple entries at once.
Knowledge entries extracted from a research report now keep a link back to the original report. Open any statistic and you can trace it back to the report (and the URL) that produced it. Source citations on automatic extractions are now full markdown links, not just publisher names.
Review page polish and an audit trail
Every action taken on a content item now lives in an activity log on the review page: who edited, who approved, who published, with timestamps. Once a piece is published, the body is locked to prevent accidental overwrites. Unlock with a single click if you need to edit. The action bar got a tighter layout so the primary actions stay above the fold on smaller screens.
Approval gating is now consistent across every platform. An item must be explicitly approved before any publish target (LinkedIn, Twitter, Reddit, Bluesky, WordPress, Ghost, Google Docs, or webhook) will accept it.
Tell us what's broken (or missing)
Two new buttons in the sidebar: report a bug, request a feature. Both open a small in-app form, drop a confirmation email in your inbox, and create a tracked issue we can act on. No more "I'll email Fabian later". The next time something looks off, click the button.
Viewers see what's blocked, integrations have a home
Workspace viewers used to hit silent 403s on actions they couldn't perform. Now the UI is upfront: buttons disable with a clear "viewers can't do this" hint, and admin-only sections explain why instead of just refusing.
The new /integrations page lays out every supported destination: what it does, what's required to connect, and what's still on the way. Each entry has its logo, a capability list, and a direct link into Settings, useful when you're deciding which platforms to wire up first.
Media library, GIF support, and faster orchestration
The Image Library is now Media: GIFs, PDFs, and videos sit alongside images, with a built-in PDF viewer and inline video previews. GIFs are frozen as they move through the pipeline. Twitter Premium tier is auto-detected. OAuth tokens refresh proactively. Sonnet and Opus orchestrators gained tool search for cheaper, faster runs.
Video publishing on LinkedIn, plus OAuth groundwork for X and Reddit
Video upload and preview are now first-class, including LinkedIn video publishing. Platform-specific media validation runs across the UI, API, and agent. Twitter/X (OAuth 2.0 PKCE) and Reddit (OAuth 2.0) landed as internal POCs to validate the auth flows, but publishing on those platforms is not production-ready yet.
LinkedIn carousels, multi-image, and posting targets
Multi-image posts and PDF carousels are now supported, with image management on the review page. LinkedIn OAuth moved to server-side credentials with selectable posting targets (personal or organization). Settings lists every connected publishing account with enable and disable toggles.
Brand avatars in chat
Chat now uses a Herald avatar for the agent and a user avatar (photo or initials) for you, with refreshed bubble colors. Gemini-generated images carry an explicit AI flag for transparency.
Kanban sorting and an archived flow
The kanban gained per-column sort menus and a dedicated archived flow. Scheduled tasks now recalculate their next fire time when you change the cron expression.
EU compliance, SEO, and a stack of small fixes
A focused pre-launch sweep: EU compliance audit fixes (GDPR, AI Act, DSA), SEO fixes across the marketing site, a stricter reviewer that enforces a full re-review and tighter em-dash rules, and a manual publish option. Plus Google OAuth redirect and post-login redirect fixes.
SDK skills are part of the agent loop
Skills defined through the SDK are now wired directly into agent runs, so the full skills catalog is available without extra glue.
Marketing consent edge cases
A round of careful fixes around marketing consent: middleware lets the confirm-marketing route through, re-consent upserts behave, redirects use the correct host, and Loops only writes consent fields when consent is actively given.
Plain-text formatting rules and atomic publish
The writer follows plain-text formatting rules tuned for LinkedIn and X, with a publish safety net that catches stragglers. Trial limits raised to 10 content pieces, 3 research reports, and 10 images. Calendar and timestamps are now timezone-aware.
Tighter legal pages and consent plumbing
Privacy and T&C strengthened with AI IP disclaimers, indemnification language, and an updated sub-processor list. The Silktide consent manager now gates GA4 and PostHog cookies properly.
Waitlist mode and Loops email
A waitlist mode swaps every signup CTA for a waitlist modal with GDPR consent. Marketing consent moved to a normalized table that both the waitlist and user profiles reference. Loops handles welcome emails and unsubscribe sync.
New site, blog, changelog, and analytics
The marketing site was rebuilt with new navigation, pricing, contact, and about pages. Blog and Changelog infrastructure landed with tag filtering and search. Full analytics tracking wired up across PostHog, GA4, and Supabase.
Stripe billing live, plus usage tracking
Stripe billing is wired end to end: checkout, customer portal, webhooks, and a trial banner. Usage tracking landed for content, images, and research. New: avatar upload, default workspace per account, and a restructured data export flow.
Plan and Billing rebuilt
Plan and Billing reordered (manage, billing period, usage, then plans) with cleaner cards and founding-price highlighting on the active plan. Workspace deletion now cleans up all storage files.
Pricing tiers, founding offer, and EU compliance
Pricing tiers go live with usage limits, a feature comparison page, and a live founding-member counter. Landing page copy was rewritten for clarity. GDPR and EU AI Act compliance pieces ship: AI disclaimers, badges, data export, refreshed terms. Connected platforms now have a per-tier limit, and API Credentials was renamed Integrations.
No more double posts
Publishing now uses an atomic status claim, which prevents the same post from being published twice when retries or race conditions kick in.
Auto-publish overdue posts
Approved posts that miss their slot can now auto-publish, with overdue items highlighted on the kanban. Drafts started in chat persist across navigation, and the kanban gained a hide-empty toggle.
UI polish and a sturdier review flow
A wide pass of UI polish, scheduler stability, and an overhaul of the review experience.
C2PA Content Credentials and Brave Search
Uploaded images are now scanned for C2PA Content Credentials, with AI metadata tooltips so you can see at a glance what was generated. Brave Search is selectable as an alternative to WebSearch. The chat composer is centered Claude-style, and the stop button reflects state instantly.
Knowledge Base chunking and an in-process scheduler
The Knowledge Base now chunks long entries with a markdown-aware splitter, so retrieval pulls multiple relevant chunks per source. Research reports can be indexed into the KB with one toggle. Tasks gained a scheduler that works locally without pg_cron.
Tasks wizard and a richer research taxonomy
The Tasks area got a multi-step wizard and per-task toggles for KB, skills, and notify. One-time scheduling joins recurring tasks. Research now spans 12 types across 4 categories.
Scheduled tasks, version history, and a live calendar
Three big pieces drop together:
- Scheduled Tasks with cron and a Run Now action.
- Calendar with an unscheduled sidebar and live updates over Supabase Realtime.
- Content versioning with auto-rework, history, and a side-by-side diff view.
Faster, cheaper agent runs
Consolidated 41 MCP tools down to 11 and trimmed the system prompt. Fewer tokens per turn, faster responses, lower cost.
Image Library and per-agent toggles
The Image Library lands. Browse, upload, generate, and reuse every image across content. Plus a server-side stop button with a message queue (so you can keep typing while the agent is thinking), per-agent toggles, and command palette search across six entity types.
Native image vision and persistent chat sessions
Image vision now runs natively through the SDK. Chat sessions persist their session ID to the database, so conversations survive server restarts.
Drag and drop file upload in chat
Drop files directly into chat to attach them. Messages now show timestamps so threads are easier to scan.
Steadier cost tracking
Fixed a race condition in agent usage tracking and tidied the cost page so the numbers you see are reliable.
Hybrid agent mode and 1M-token context
Hybrid mode lets the orchestrator delegate research and review to subagents while keeping the conversation flowing. Research reports gain real source citations, copy buttons, PDF export, and richer formatting. Context window expanded to 1M tokens.
Voice input, taxonomies, and research from chat
Voice input lands in chat via OpenAI's transcription model. A flexible taxonomy system lets each workspace define its own platforms, content types, and tags. Research workflows can now be triggered straight from chat, with notifications and rich markdown output. Cost breakdown charts arrive on the dashboard.
Herald begins
The first week of Herald: dashboard, agent, workspaces and team management, the VERBULA design system, and a chat-first homepage with a multi-step onboarding wizard. Foundations in place.