Releases
v0.2.2
Compare
Sorry, something went wrong.
No results found
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 )
You can’t perform that action at this time.