Skip to content

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 00:31
07e8d99

0.2.2 - 2026-10-05

Features

  • mcp: brand the Genfeed server identity in agent clients (#6135)
  • mcp: render the content calendar, post previews and media players in MCP Apps (#6138)
  • library: organize the Library with tags (#6123)
  • library: show model, prompt and file details in the asset inspector (#6178)
  • library: give references their own shelf and tidy the inspector prompt (#6182)
  • admin: tab platform settings and group flags into module cards (#6219)
  • website: reposition marketing copy around the content agent (#6221)
  • onboarding: scan_brand_url, save_onboarding_answers and button-only question cards (#6222) (#6243)
  • oauth: sign in or sign up on the MCP consent page (#6273)
  • mcp: onboard new users inside their own agent (#6269)
  • onboarding: deliver agent-first brand conversation and guarded routing (#6222) (#6286)
  • add skills install and local-agent setup prompts (#6294)
  • enforce Claude content connector and Studio handoff (#6296)

Fixes

  • ci: delegate the learning runtime specs out of shared API E2E Full (#6124)
  • members: run access discovery as an explicit cross-org read (production login outage) (#6132)
  • personas: admit shared avatars on image edit and require PersonasService in Crun quotes (#6126)
  • workers: keep per-tenant trend health incidents separate while global refresh is healthy (#6129)
  • brands: scope brand deletion by organization and re-read revoked grants under lock (#6122)
  • crun: scope model deactivation to the affected organization (#6137)
  • mcp: show connected agents and animate connection success (#6133)
  • crun: compensate partial image and video dispatch failures (#6139)
  • oauth: accept MCP resource values that carry ?profile= or ?toolsets= (#6142)
  • system-events: persist an explicit failed state when an event hits the lease cap (#6131)
  • prisma: run lazy Prisma queries inside the crossOrgUnsafe scope (#6146)
  • tenancy: make every handler query pass the CLOUD tenant guard (#6120) (#6152)
  • discovery: give Trends and Trend Turnover the shared page chrome (#6181)
  • seed: keep the model catalog reconcile past a failing entry and fix the FLUX.3 Edit endpoint collision (#6180)
  • organizations: name-only org creation with shared schema and brand scan (#6177)
  • llm: keep valid items when one structured-output item is malformed (#6165)
  • onboarding: light COST-priority first-run image and translated org-switcher loading text (#6159)
  • credits: never release a credit hold when HeyGen status is unknown (#6160)
  • extension: save only extension-written posts and keep the token on-device (#6161)
  • brands: release brand-from-url credit holds on every failure and cap scraped HTML (#6162)
  • ci: redact credential values in acceptance evidence, single-pass sqlTokens (#6163)
  • autopilot: reset credit windows at fixed UTC boundaries (#6167)
  • learning: fence credential and brand patches per organization (#6170)
  • votes: idempotent add, explicit remove, unique active vote per user and entity (#6171)
  • votes: prove vote lookups tenant-scoped with platformOrTenantScope (#6183)
  • restore master static checks after the audit merges (#6184)
  • pricing: stop refusing never-reviewed models over a synced pending contract (#6179)
  • desktop: build integrations for qa:release and resolve the Electron webServer cwd (#6190)
  • desktop: load sanitize-html under Bun with a CommonJS htmlparser2 (#6189)
  • credits: back off unknown-status hold recovery so it cannot starve other holds (#6188)
  • desktop: green Desktop QA with cloud and local Electron acceptance tests (#6193)
  • reddit: skip native trends without app credentials and use the Apify fallback (#6215)
  • apify: remove app-side run caps and per-run charge ceiling (#6211)
  • apify: replace dead Pinterest and X trends actors (#6213)
  • linkedin: read trend posts from logged-out activity card commentary (#6218)
  • harness: keep copywriting rules out of media generation prompts (#6201)
  • notifications: default the Resend sender to the verified send.genfeed.ai domain (#6210) (#6225)
  • trends: build Instagram trends from post hashtags and save rows independently (#6212)
  • onboarding: unblock the brand step scan, member role and signup prefill (#6216) (#6223)
  • autopilot: route auto-publish through the shared publish policy (#6226)
  • e2e: realign Playwright full-tier specs and mocks with current contracts (#5768) (#6235)
  • studio: show the server admission quote as the Studio estimate (#6208)
  • shell: mount mobile nav drawer only while open; restore inspector details action (#5768) (#6233)
  • email: align system email with app UI; stop blank /onboarding for signed-out clicks (#6228)
  • e2e: resolve workspace utils in API full and dedicated acceptance (#6239)
  • test: support scoped proactive execution fixture reads (#6246)
  • ci: record scheduled learning runtime recovery (#6238)
  • tenancy: honor the pinned superadmin tenant on list and path-param reads (#6176) (#6240)
  • library: keep previews on tag change, add tag colors, fix inspector layout (#6250)
  • ci: count distinct scheduled greens for recovery (#6248)
  • signup-prefill: use the shared readString helper instead of a local copy (#6267)
  • pricing: refresh provider rates instead of expiring them and alert on price changes (#6196, part 1) (#6217)
  • ci: clear the contracts import cycle and the marketplace serializer-drift error (#6283)
  • e2e: repair retained-route duplicates, admission-quote mock, referrals mock and instant-navigation URL (#5768) (#6277)
  • desktop: return to the page that started a browser sign-in (#6280)
  • e2e: address #6233/#6235 review follow-ups (#5768) (#6278)
  • mcp: validate brand generation and improve image delivery and previews (#6251)
  • pricing: resolve Replicate variant tiers from dispatched inputs (#6271)
  • ingredients: restore Library bulk delete and metadata operations (#6272)
  • inbox: add read controls and consistent unread dots (#6275)
  • tasks: recover workspace rollup after terminal executions (#6265) (#6285)
  • desktop: avoid loading sanitizer for provider sleep (#6290)
  • ci: refresh proactive acceptance fixture identity (#6299)
  • desktop: avoid repeating the translation catalog in prerenders (#6301)
  • visual: retry raw-query serialization aborts (#6300)

Performance

  • content-learning: batch the dependency graph walk per level (#6140)
  • dataset: restore the 100k consented snapshot under the 60s budget (#6187)
  • dataset: 75s consented 100k budget and cheaper projection copy (#6209)
  • app: prerender studio page shells for instant navigation (#6227) (#6229)
  • app: convert params-only pages to client routes under static shells (#6227) (#6281)

Refactoring

  • content-learning: split LearningRunService.reconcileDispatch (#6130)
  • agent: per-thread run records and transitionRun in the chat store (#6143)
  • agent: stream runtime writes run state through transitionRun (#6145)
  • share stableStringify and sha256Hex for integrity hashes (#6144)
  • crun: share quote input, DTO and endpoint logic between image and video (#6151)
  • agent: remove the global run fields; run state lives only in runsByThread (#6166)
  • crun: share preview-quote and generation dispatch lifecycles (#6186)
  • api: consolidate local isRecord/readString/readRecord copies (#5909, slice 1) (#6185)
  • consolidate remaining local isRecord/readString/readRecord copies (#5909, slice 2) (#6207)
  • migrate workflow contentHash and logical-write key to shared stableStringify (#6202)
  • crun: derive DTO model enums from one model-key tuple (#6214)

Tests

  • actions: lock the list_assets characterIds schema (#6121)
  • ingredients: pass BaseQueryDto instances in relationships controller spec (#6173)
  • billing: defer optional Postgres fixtures until suite hooks (#6288)
  • repair master media and onboarding race fixtures (#6292)

Build and CI

  • statically check changed migrations for deploy-time safety (#6125)
  • run runtime-acceptance contract tests in executable contracts (#6169)
  • run the server image PR guard on every PR so it can be a required check (#6194)
  • run learning runtime acceptance nightly as its own group (#6200)

Other

  • "fix(desktop): load sanitize-html under Bun with a CommonJS htmlparser2" (#6189) (#6192)