Guildwise HQ

← All releases

Guildwise HQ 1.2.0

Runner 0.1.62 (unchanged). Release posts, per-network hashtags and the YouTube video worker; migrations 2720 and 2730. Videos stay off until a YouTube channel is connected and video posts are switched on.

Full changelog

Added

  • Blog: hashtags per social network (Facebook up to 3, LinkedIn 3 to 5, X and Bluesky 1 to 2), stored without # in social.hashtags of a post. The post editor shows a caption editor per network with a hashtag chip input, a live counter and the exact text that will be posted. X keeps its hashtags (the caption is cut first); Bluesky hashtags are clickable #tag facets. Caption limits live in one place (SOCIAL_LIMITS). Posts written before this keep their inline hashtags.
  • Blog: release announcements. Platform > Blog > Releases lists each release from CHANGELOG.md with a post that you write (or, on a hosted installation, a drafter proposes), edit and approve; it is shared once per connected network and never without your approval. New public pages /releases and /releases/<version> (What's New plus the changelog, in the sitemap) are the link target. Optional release: in What's New entries pins an entry to a release. Migration 2720 (social_posts, social_shares.source).
  • Blog writer setting releasePosts (on by default): whether a drafter creates a release post for each new release.
  • YouTube push (docs/BLOG-API.md "YouTube"): Platform > Blog > Videos turns articles, releases and tutorials into narrated, faceless videos and uploads the ones you approve. One review gate on the rendered video (player with captions, script, title, description, tags, hashtags and privacy, edits render again, at most 3 renders), a Short per video approved separately, a YouTube channel in Social sharing (paste a refresh token; AOM_YOUTUBE_CLIENT_ID, AOM_YOUTUBE_CLIENT_SECRET), at most one upload a day at 10:00 Johannesburg time, a "kept private" warning when YouTube locks an unaudited API project, a Library import of the existing help videos, a Video topics list for new showcase videos, an optional cross-post of a tutorial, and YouTube embeds on /blog/<slug> and /releases/<version>. A separate video-worker container (compose profile video) renders and uploads. Off by default and a no-op without a connected channel. Migration 2730 (video_posts, video_renders, video_topics, social_shares.detail).
  • Video renderer (@aom/video, docs/VIDEO-RENDERER.md): turns a script into a narrated 1920x1080 video or a 1080x1920 Short with captions, thumbnail and YouTube description, using the help videos' voice and clips of the help videos. Run from the command line with node dist/video-worker.mjs --render script.json --out dir; not used by the app yet.

Changed

  • Bluesky posts no longer repeat the link in the text: the link card carries it.
  • LinkedIn posts use API version 202610 (202509 was sunset) and Facebook posts Graph API v26.0 (v21.0 ends 2027-01-21). LinkedIn captions are escaped for LinkedIn's text format.
  • The X caption limit is 256 characters with its hashtags (the link is added and counts 23); Bluesky 300 characters. Before, the limits were 250 and 270 and differed between the editor and the server.
  • Connecting LinkedIn: a pasted urn:li:organization:<id> is cut down to the id. The Social sharing panel is at the bottom of Platform > Blog (Posts tab).
Many hands. One master.

Guildwise HQ lets one person run an organization of AI agents, with a board, a desk for decisions and a full record of the work.

See how Guildwise HQ works