Release-Notes
Was ausgeliefert wurde,wann und warum.
Jedes Release, nach Version gruppiert. Features oben, Fixes darunter, jeder Punkt verlinkt auf den Commit, der ihn eingeführt hat. Automatisch aus dem Repository generiert — kein Marketing-Spin, keine fehlenden Einträge.
Diff auf GitHub ansehen
v1.76.0
Features
Fixes
- onboardinghydrate visuals over a pristine stale draft + make Exit stick 4ac5397
v1.75.1
Fixes
- onboardingrestore Step 1 logo + hydrate Step 4 visuals from the bound preset 2f9065d
v1.75.0
Features
Fixes
- contentnormalize slug/keyphrase/heading/anchors before publish 757356a
- growthdrop undefined click ids before the attribution set 106a17b
- scope site positioning + seoIntel to the activation, not the workspace ca10450
- stockrun the repetition guard on batch-generated posts e97bcd0
- webcommit public prod env so PostHog can't drop out of a build 0e12243
- webPostHog opt-state from consent at init, not a post-load flip d229230
v1.74.0
Features
- seoAI fallback for competitors + honest 'AI-guess' notices 0d8f189
v1.73.0
v1.72.1
Fixes
- onboardingcorrect a test cast that broke the release build fcedb22
v1.72.0
Features
- campaignsshow creation date on the campaign overview 3eb7c76
- onboardingauto-start the wizard on every activation, including free/none fcec255
- onboardingfree/none get real Site/AI/Visuals/Personas steps; only SEO locked; hide campaign CTA for none f30dafb
- onboardingPro-gate format encoding + optimize-on-upload in the wizard Visuals step a516732
Fixes
v1.71.0
Features
- campaignsinherit SEO inputs from global settings; drop Competitors step fc38540
- campaignsprominent keyword chips + prefill-from-site note 8358d1a
- generationground post synthesis in brand positioning (tier-gated) 50c0566
- growthdedicated growth Telegram bot + Send-test, separate from ops alerts 3119887
- growthGROWTH_TELEGRAM_CHAT_ID accepts a comma-separated recipient list 08bf644
- onboardinglogo→Step 1, unified magic loader, multi-persona, Step 6 CTA finish 887dda8
- onboardingrestart-wizard on Site→Settings, drop stale moved-widget, logo to top of Step 1 5090917
- seopromote authority domains to a global workspace setting + fix dropped fields 0e55882
- sitere-run AI keyword suggestions on the Keywords tab d056e1d
- sitesurface + edit positioning on Site → Info with magic re-draft 81e9f6e
- sitesurface target keywords on the Keywords tab 3849009
- stockpositioning-aware stock pre-generation (parity with live synthesis) 3a56df4
- uiFileUpload drag-and-drop component; use it for the wizard logo 384a525
Fixes
- ai-enginedialogs unusable inside onboarding wizard + auto-default sole provider aafdc65
- growthsurface Telegram rejection reason in Send-test + consistent button cf76820
- onboardingblock Finish until complete instead of jumping to a step f861cea
- onboardingconnect wizard personas to the shared library + prefill logo from custom_logo 4c415e0
- onboardingFinish setup dead-ended after reload — persist validity + route to gaps d4b260b
- onboardingmodals invisible, loader spacing, empty visual draft, step-5-submit flow bd03fde
- onboardingpositioning/keyword AI-draft truncated — cap thinking budget, raise output cap 5155513
- onboardingReact [#310](https://github.com/yuriy-vasilyev/structura-core/issues/310) — finishedRef useRef called after loading early return cabd532
- onboardingwiden the wizard container on the Personas step 144dd4d
- onboardingwizard logo stacked vertically — variant-swap classes clobbered LogoFull's flex 1811a02
- personaskeep New/Templates buttons in the Personas page header 8b511de
Performance
- authoritycap Gemini thinking + tighten liveness checks to fit the sync request budget cd787e0
v1.70.0
Features
- onboardingpolish round — clickable stepper, favicon competitor chips, Step 6 redesign, title relocation, Continue spinner 4b3dab3
- onboardingW-A wizard skeleton — routes, persistence, steps 1+6 5213569
- onboardingW-A.1 — auto-redirect, dashboard resume tile, step 1 inline edit 687765a
- onboardingW-B — step 2 AI engine + blocking connection test b3c1746
- onboardingW-C — step 3 SEO intelligence (positioning + competitors + keywords) 7ced91e
- onboardingW-D — steps 4 (Visuals) + 5 (Persona) f681627
- onboardingW-E — tier-change reaction + campaign-side gate c18b41e
- onboardingwizard restart endpoint + Step 6 button + ?restart=1 URL trick f065aba
Fixes
- onboardingContinue stuck post-restart + full wordmark + centered title in header 9fc4e04
- onboardingcritical wizard bugs — back button, dropdowns, cache merge, finish, headings 1ccf9d9
- onboardinghoist OnboardingPage hooks above the loading-state early return 8070751
- onboardingportal wizard out of wp-admin chrome, mirror dark class to body 4c7d796
- onboardingseven issues from in-browser test — logo, exit color, footer gap, navigation model ab759cd
- onboardinguse icon logo variant in wizard header, mono ink for dark 7779f20
- seo-intelhide numeric category IDs from Site Intelligence niche display f2d642a
v1.69.1
Fixes
- seo-intelreal DFS response shapes — categories objects, organic-footprint authority, ETV sort d9a978a
v1.69.0
v1.68.0
Features
- aiinternal-link picker — surface workspace's ranking URLs in prompts ebfb6ff
- aiwire SEO intel provider into post-synthesis research + prompt 8a07d3d
- campaignsadd Competitors wizard step; rename 'Excluded Domains' 3abf2b4
- campaignsdata-source badge — Live data vs AI estimate 60625c6
- campaignspersist wizard competitor URLs to workspace; thread to keyword discovery d2e8617
- channelsroute LinkedIn org connections through a second OAuth app 968dd4d
- seo-inteladd monthly refresh cron + workspace notices 2ec5188
- seo-intelextend campaign + workspace schemas; add updateWorkspaceSeoSettings ef9b37b
- seo-intelhourly balance watch with Telegram critical alerts 473ba1f
- seo-intelimplement DataForSEO OnPage client; wire analyzeCompetitorPages end-to-end 547f826
- seo-intelreal discoverKeywords impl with gap analysis c6c4d79
- seo-intelscaffold DataForSEO provider foundation 772843c
- seo-intelwire keyword-discovery through the provider 2b4de26
- seo-intelworkspace activation hook — warm /site cache on first activate b67d7b1
- siteadd /site route with 5 tabs; relocate Headless Mode toggle 6e683bd
- siteAuthority tab — real backlinks-driven authority metrics 3f1decf
- sitemanual analyze trigger — real DataForSEO impls + Keywords/Info tabs 36e7721
Fixes
- seo-intelbind DATAFORSEO_SECRETS to TEXT_GENERATION_SECRETS 909114a
- seo-intelconvert dynamic imports to static (.js extension) ad23d38
- siteempty-result UX, niche fallback, real Competitors/Settings data 5167222
- siteLockedPanel overlay overflows when preview is shorter 1ffc248
- sitereset heading + paragraph margins against wp-admin globals 6fe9194
v1.67.0
Features
Fixes
v1.66.1
Fixes
- pluginsync WP header Version with release-please (was stuck at 1.59.0) e3377ed
v1.66.0
Features
- aisingle source of truth for language→geo, extend to ~55 languages 4ee55c5
- personasground Magic Suggest on the site's own voice b6e5b58
- progresssurface competitor-analysis and authority research steps e7b5258
- seofallback /llms.txt that defers to Yoast/Rank Math 8e70093
- uimonochrome logo variant for colored backgrounds d730715
- websplit-screen login, Overview dashboard, system-pref theme d2fd320
- wwwStructura vs. Outrank comparison page 91247d7
- wwwsurface multi-channel distribution + GEO on the homepage 8bbb750
Fixes
v1.65.0
Features
Fixes
v1.64.0
Features
Fixes
- i18ntranslate the bare "Upgrade" string for es/fr e3eaad3
v1.63.0
Features
- adminanalytics dashboard, workspace drill-down, and shell parity e2666a0
- adminmake signups KPI 'today' (viewer-local) instead of rolling 24h e2e380d
- campaignscap Free tier to one post per week 5f57dd2
- channels/promptstune LinkedIn + X social copy for subtle conversion 7185ef1
- consentenv-gated opt-out default for US-only launch ec422ee
- noticessurface generation failures + retire in-app System Logs strings 7162298
- personasblock campaign and single-post creation when no personas exist 30c5d24
- usersworkspace-aware account deletion with guard rails cc198a3
- web/accountmake delete dialog role-aware 9807397
- web/accountrestyle danger zone and make delete dialog descriptive 4a02ca0
Fixes
- channels/xdrop ungrantable media.write scope so X OAuth can connect 8994311
- channelsstop LinkedIn truncation + strip AI-tell em-dashes fe3735e
- client/channelsstop /channels/* redirect from racing the entitlement heartbeat 14bb0bd
- client/licenseinvalidate entire query cache on connect/disconnect 7f0d36b
- plugin/licensere-seed default persona after reconnecting to a new workspace 2186723
- progressreflect stock-served progress instead of freezing at 25% 111ae53
Reverts
- channels/promptsrestore original LinkedIn + X social prompts 153c87c
v1.62.0
Features
Fixes
v1.61.1
v1.61.0
Features
- personasPhase 2b — per-activation binding becomes the canonical author-attribution path 7905c71
Fixes
- personas/pagealways render the personas grid when the editor is open fb2b38c
- plugin/campaigns,cloud/typespreserve nanoid string in personaId end-to-end c0f7f1d
- pluginwp.org Plugin Check security pass — escape output, sanitize input ab5192b
- scheduler/plugin,types/clouddefensive sweep — preserve persona nanoids in remaining (int) casts 0a5a495
- schedulerwrite the resolved nanoid persona id on generation docs f9abe16
v1.60.1
v1.60.0
Features
- channelsper-connection "attach featured image" toggle (default on) 478ea8c
- notices,client,pluginPhase 3a — wp-admin Notices page d5e0117
- notices,clientbell + popover, shared utils, translations, indexes 8ad98a5
- notices,plugin,clientPhase 3b — retire local logs surface 77318cf
- notices,plugin,clientplugin-health diagnostics button fb039f7
- notices,webportal NoticesBell 17ac427
- noticesPhase 1 — cloud-side Notification Center f13bdf1
- noticesPhase 1.1b — wire remaining audit-gap error branches 4cc3669
- noticesPhase 2 — portal Notice Center page 5d4b055
Fixes
- channels,schedulerforce OAuth landing on #/channels/connections; stamp link_validation milestone on paid-tier always-on runs 3693950
- hook ordering, webhook timeout, link_validation milestone, timeline rail b2804bd
- notices,webportal page theming + missing Firestore index 25500bc
- progress/timelineper-tier image-row matrix (None tier-locks both; Free tier-locks body only) b3662e4
v1.59.0
Features
- progresssplit image gen into per-slot milestones (featured + body) 38d4e81
Fixes
- ai/geminidisable reasoning on schema-constrained calls + breadcrumb the image phase 788d390
- generate-postblock sync generation when no visual preset is bound 0c064d8
- progress/timelinedefault to SHOWING the images row unless explicitly disabled 415bade
- schedulerbound webhook delivery + inline image gen with wall-clock deadlines b74cc8c
Reverts
- ai/geminidrop thinkingBudget: 0 — Gemini 3.x Pro rejects it e42d906
v1.58.1
Fixes
- channels/dispatchergive adapt 30s and degrade timeout to title-only aa584c5
- channelsmount the BYOK + provider master keys on channelsPostPublished 28bd2fb
- progress/timelinerescue render when currentStep was filtered out of the visible order 5dd73dc
- schedulergive synthesis 30 min instead of 9, log terminal completion 452e283
- stock/text-batchgive blueprint requests 64k output to survive reasoning models 979fab9
v1.58.0
Features
- analyticswire PostHog across www, web, and plugin SPA 563433e
v1.57.0
Features
Fixes
- wwwmobile-friendly layouts for comparison + agency-volume tables 1406874
v1.56.0
Features
Fixes
- channels/oauthland users on the real SPA route after OAuth, not a phantom admin slug 198e484
- channels/oauthwrite OAuth secret doc under the workspace, not the license 329dd37
- settingskill the headless+inherit contradiction end-to-end b13ceb0
- stockcron refills only when buffer fully drained (matches consume trigger + spec) 1c8a2e6
v1.55.0
v1.54.2
Fixes
- channelsforwarder reliability + honest "skipped" chip + de/es/fr i18n f2dc492
v1.54.1
Fixes
- client/billingrebind cycle quota banner to token-based usage view cf05a62
v1.54.0
Features
- progressmark bypassed steps as Skipped and add a Channels tail step 6928c8e
v1.53.1
v1.53.0
Features
- billingmake per-tier campaign cap a per-license Stripe field 781292a
v1.52.4
Fixes
- billing/catalog-synctolerate restricted keys without meter-read permission db08f10
v1.52.3
v1.52.2
Fixes
- billingrollup cron resolves planId/maxSites from the bound License ffe20ea
- client,functionsaudience-aware plan labels in the wp-admin SPA da315aa
- i18nwire audienceMissingOrInvalid in the contracts source 57898a2
- subscriptionsrequire explicit audience on Stripe plan products a700664
- web/billingsingle Stripe-portal funnel + audience-aware plan label 210622b
v1.52.1
Fixes
- channels,billingOAuth redirect_uri + launch chrome + channels load race ([#97](https://github.com/yuriy-vasilyev/structura-core/issues/97)) ee4955b
v1.52.0
Features
- clientuse website favicons on workspace-keys provider chips d957ed1
v1.51.1
Fixes
- clientper-row binding state on workspace keys + brand chips + reorder 3e191f7
v1.51.0
v1.50.1
Fixes
- clientdrop the duplicate sync spinner on the Posts tab toolbar eceb189
v1.50.0
Features
- channelsgate save+dispatch on entitlements; fix client agency conflation 94ef6e6
v1.49.9
Fixes
- client,plugindrop fabricated "up to 5,000 words" claim 9e1dccd
v1.49.8
Fixes
- clientmove 500-word help text below the post-length grid 68a8b5d
v1.49.7
Fixes
- aidowngrade non-active licenses to anonymous tier so None→Free→None keeps working d9d5a0b
v1.49.6
Fixes
- campaignshelp-text under 500-word cap + honest engine-ready gate for None/Free 1e7f492
v1.49.5
Fixes
- campaignscap postLength input + form default at 500 for None tier (matches Free) 65895f1
v1.49.4
Fixes
- schedulerswap persona block to picked persona's fields for random campaigns 044cf8f
v1.49.3
Fixes
- schedulerresolve random persona to a workspace persona so post_author lands correctly 84d5a6c
v1.49.2
Fixes
- progresslocalise milestone subtext + filter Free-tier no-op steps from timeline 7c0ebd2
v1.49.1
Fixes
- atomic cloud-side bump of campaign.postsPublished to close the read-then-write race 3db09d9
v1.49.0
v1.48.0
Features
- aistrip always-on SEO rules for anonymous (None) tier 121070f
v1.47.0
Features
Fixes
- client,webpolish free-tier keyword/authority teasers and route unlock intents to /billing a0c3c5c
- close Free-tier value leaks in meta prompts, internal-link injection, and image format b1df889
- drop pregen rollout banner, retire cadence-sync flag gate, hide Free-tier cap warning 8a23995
- pluginmint progress runId for Free tier so Run-now lights up the strip without reload d92c426
v1.46.0
v1.45.0
Features
- client,webcontext-aware upgrade flow with wizard resume links 60b4fd3
v1.44.1
Fixes
- billing,functions,clientmeter stock-served runs + retire usage_logs b14a543
v1.44.0
v1.43.1
v1.43.0
Features
- clientuseLicense().hasWorkspace + flip 7 hook gates + AI Engine cap restrictions (Phase 1.8 PR7b) ff93817
- functionsbootstrapAnonymousInstall endpoint + anonymous-bootstrap rate limiter (Phase 1.8 PR6) e89ba78
- functionsflip free + none tiers to BYOK-only; flatten anti-abuse cap to 100/site/mo d9bd190
- functionsPhase 1.8 foundation — Workspace + AnonymousInstall types, anonymous-aware bearer middleware, endpoint classification 93b1f95
- plugin,client,functionssuppress fresh-install banners and add "Forget this site" flow d650c49
- plugin,functionsanonymous-install bootstrap + claim flow + structuraConfig surface (Phase 1.8 PR7a) 8f67d8b
Fixes
v1.42.0
Features
- ui,webadd CodeBlock component and use it for the activation key 62c28f0
v1.41.0
v1.40.1
v1.40.0
v1.39.1
Performance
- plugin,clientbootstrap settings on page load to skip first-paint roundtrip 5cc10f9
v1.39.0
Features
- clientpersist new-campaign draft across navigation cce0b1b
- freeze plugin → cloud surface for wp.org submission 9ca6c4b
- functionsPhase 4.5 follow-up — auto-attach metered overage item on subscribe 301375b
- functionsprovider fallback for interview/suggestion calls 75e4f72
- plugin,clienthumanize provider error toasts in suggestion flow cd3be77
Fixes
- ciwporg-zip workflow — replace multi-line sed with head/tail splice e2dd5b3
- clientpreselect recommended model in provider setup wizard cf2e7be
- clientwrap multi-pick answers as chips in interview review d4108f1
- firestoreadd COLLECTION_GROUP index override for members.userId 3ebae4e
- functionsroute add-on assignment funnel reads/writes through workspaces (Phase 3.3 leftover) 1f5a809
- functionsroute stock refill through canonical resolver to support BYOK 5feaa6a
- pluginbump cloud-discovery cURL timeouts from 120s to 240s e5e0a00
v1.38.0
Features
- functions,webPhase 4.4c — portal cycle-usage widget 4d74a13
v1.37.0
v1.36.0
Features
- client,functionsPhase 3.7 — wp-admin "this site is part of workspace X" c14509e
- client,plugincycle-quota site-wide banner + delete legacy Campaign_Repository 359f94e
- clientPhase 4.4b — wp-admin Cycle Usage widget 86e1845
- functionsPhase 3.4 — hoist personas to workspace root 4dcc0f2
- functionsPhase 3.4 — hoist visualSettings to workspace root 2134bfa
- functionsPhase 4.1 — per-tier × audience quota config 096c18a
- functionsPhase 4.2 — per-generation usage metering + nightly rollup 4405e39
- functionsPhase 4.3 — Stripe metered overage reporting cron a0f3111
- functionsPhase 4.3a — metered prices + Stripe Meters in the catalog f26a959
- functionsPhase 4.4a — cycle usage view + getUsageAnalytics extension 963aa1a
- plugin,functionsPhase 1.0h — retire AS image chain across both surfaces 7e8bef5
Fixes
v1.35.0
Features
- plugin,functionscloud-only generation Phases 3-6 — retire BYOK adapters 7e30fd7
v1.34.1
v1.34.0
Features
- wwwadd "Why not Koala/SEOWriting AI?" sibling comparison on home de1dcac
- wwwexpose the "20+ point SEO protocol" as a real disclosure list 4c2f2da
- wwwGDPR/EU trust strip in footer 7d09198
- wwwoutcome-framed pricing CTAs + box SERP claim against autobloggers 8d5dd32
- wwwsticky mobile CTA on pricing page 05720e2
Fixes
v1.33.3
Fixes
- functionsmake keyword + authority discovery work end-to-end c0d06fc
v1.33.2
Fixes
- functionsmount BYOK_MASTER_KEY on every function that resolves BYOK keys 7f9b3d0
v1.33.1
v1.33.0
v1.32.0
v1.31.0
Features
- ai,billingcloud-only-gen Phase 2 — resolver + rate limit 48e5c78
- aicloud-only-gen Phase 2 — wire resolver into text engine 523de4b
- plugin,licensescloud-only-gen Phase 3 — gated plugin cutover e639dec
- schedulercloud-only-gen Phase 2 — image path + dispatcher catch 194c5b0
- workspacescloud-only-gen Phase 1 — workspace credentials store a5e2e1e
Fixes
- licenses,plugin,clientactivation cycle no longer self-deactivates 5ad36d1
v1.30.0
Features
- emails,spectier+audience in over-cap warning + retire pricing-v2 §4.5 1703691
- workspaces,channels,pluginPhase 3.3 — UUID activation + surface discriminator 2273539
- workspaces,permissionsPhase 3.1 + 3.2 — workspace tenant root + RBAC 644ed56
- workspaces,pluginPhase 3.5 — API tokens + Bearer auth middleware 8b32563
- workspaces,webPhase 3.7 Pass A — member role + remove a900388
- workspaces,webPhase 3.7 Pass B — invite-by-email + acceptance route 4e8f958
- workspaces,webPhase 3.7 walking skeleton — workspace settings page 8c772f9
- wwwimprove mobile menu bece2b8
- wwwrefine pricing toggle layout + recommend BYOK for agencies ad9b400
v1.29.0
Features
- catalog,web,i18nlock Cloud Pro Individual + BYOK Agency + Cloud Agency prices 3293f07
- functions,client,pluginper-tier campaign-count cap (BYOK abuse prevention) 16694c5
- functions,clienttier policy — auto-pause on "none" + per-tier provider gating 6bd81fc
- functionsPhase 1.0j — UUID-keyed activations + read-path cutover afe6879
- pluginadd model switch when regenerating images 25dbe29
- web,www,packages/ui,i18ntwo-grid pricing UI + JustThePluginSection 2-column refactor 0733c8b
Fixes
v1.28.1
Fixes
- pluginbody image regeneration 889f90c
v1.28.0
v1.27.4
Fixes
- pluginimage generation bade807
v1.27.3
v1.27.2
Fixes
- pluginpersona ID da5e59d
v1.27.1
Fixes
- pluginsingle post generation 8e2059c
v1.27.0
Features
- pluginconnect generations and posts 3376d59
v1.26.2
Fixes
- plugincampaign ID in post meta aa744a3
v1.26.1
Fixes
- plugintask runner 4c3769b
v1.26.0
v1.25.0
v1.24.0
v1.23.2
v1.23.1
Fixes
- build scripts 4363f61
v1.23.0
Features
- add resend for sending emails 78d81b0
- cloud pre-generation pipeline 87e7caa
- cloud pre-generation pipeline, part 2 31ff5c7
- docsadd missing languages support da4d48b
- docsadd sitemap.xml and robots.txt for indexability 0205708
- pluginadd stock logic ab97fd9
- pluginmove image generation to cloud + buckets 81057e3
v1.22.0
Features
Fixes
v1.21.5
Fixes
- strip content bug 244dde9
v1.21.4
Fixes
- add debug lines 7ed59f2
v1.21.3
Fixes
- add debug lines 1e6dbef
v1.21.2
Fixes
- anthropic models for managed tiers cb9865b
v1.21.1
Fixes
- pluginsplit content insertion into 2 phases e49de7c
v1.21.0
Features
- pluginadd page builders support ffdbfcd
v1.20.0
Features
- functions,plugin,clientprogress-stream — CampaignRun writer, status API, drawer UI 82d95f9
- functions,webadmin-log-triage — incidents store, listIncidents endpoint, /admin/incidents dashboard 9c7f25a
- plugin,clientplugin-quiet-mode — Debug_Mode gate, Dashboard widget, legacy Logs surfaces retired 3738e9d
- pluginadd campaign runs d9594bc
- wwwadd favicon from LogoIcon mark 1bff0ec
- wwwadd support page 06943dd
- wwwsharded sitemap, blog taxonomy, and post-page polish 6d90afb
- wwwsupport form with mail + rate limiting 16f0746
Fixes
- wwwopen per-page locale gates so /de /es /fr render eb6be46
v1.19.0
v1.18.0
v1.17.0
v1.16.0
v1.15.0
Features
- aiextract brand palette and route logo images through multimodal Gemini 4bcbc8a
Fixes
- docs links 70f1850
- image visual style f2060ba
- plugindrop data-howto-name from action-step <ol> to satisfy Gutenberg 1c0a3a6
- render naked URLs as clickable anchor tags in post body 451afed
- wwwpin @exodus/bytes <1.15 to unbreak blog route on Vercel 5f41b0f
- wwwswap isomorphic-dompurify for sanitize-html to fix Vercel ERR_REQUIRE_ESM 8c1b1ee
v1.14.0
Features
Fixes
- openai blocks schema 833029d
- openai blocks schema 657caa6
- plugin,functionsrequire explicit text/image provider + fix OpenAI image 400 3e00670
- www,uipricing page light-mode polish + live currency in matrix e6c831c
- wwwawait params in every App Router route (Next.js 15) 44c874c
- wwwpremium cta button color on hover 65c2bf7
v1.13.0
Features
- add comparison pages 8916ac0
- plugin,wwwmark FAQ + HowTo sections for headless extraction 00159e6
- wwwadd /vs/koala-ai comparison page (EN) 3d5c3ac
- wwwadd auto-generated /changelog page from release-please CHANGELOG.md 6964ddf
- wwwadd reusable FaqSection + HowTo JSON-LD schema 8a4127e
- wwwport persona switcher demo to /features 10ff6d1
- wwwrestore SEO protocol and approach comparison composites on /features 191b89f
Fixes
v1.12.3
Fixes
- post model and openai schema cd4c59a
v1.12.2
v1.12.1
Fixes
- ciunblock release pipeline on release-please merges 6ff9b6b
v1.12.0
Features
Fixes
v1.11.0
Features
- add agency tier; introduce www project 4a60f72
- aiper-plan default models for managed tiers 3a45ea4
- billingdeclarative Stripe catalog sync tool 93b7488
- billingsynthesize bundled add-on entitlements from plan metadata 77dd8c2
- clientAgency tier feature gates and per-post model picker 34f1d3a
- uilift pricing composites to @structura/ui/pricing d8906e9
- web4-tier pricing UI with currency toggle and Agency volume strip 3d00c69
- wwwbuild real homepage + pricing pages for /en 6e43949
- wwwscaffold Next.js marketing site workspace 22250f4
Fixes
v1.10.0
v1.9.0
v1.8.0
Features
Fixes
- licensesrepair checkActivationLimits cron (spec §11.5.4) ea0d0a0
v1.7.1
Fixes
- magic link login 8502269
v1.7.0
v1.6.0
v1.5.0
Features
- adjust translations 3fda50c
v1.4.0
v1.3.0
Features
- change create campaign flow 66629cf
v1.2.2
Fixes
- keywords and domains discovery eb4b980
v1.2.1
Fixes
- keywords/sources exploration language 1c9d147
v1.2.0
Features
- add more langs, translate customer portal cbe975d
v1.1.0
Features
- add German (de_DE + de_AT) translations for plugin c1cdd74
v1.0.13
Fixes
- release workflows 9acdaab
v1.0.12
Fixes
- merge release workflows to fix GITHUB_TOKEN trigger limitation eff7711
v1.0.11
Fixes
- update lockfile after firecrawl-js removal d30b02e