What we shipped.
Every release in the last ~6 months. No vapor announcements. If a feature isn't below, it isn't live. Items marked "parked" (Phase 28 Autopilot, Phase G Local SEO) intentionally don't appear here.
Performance leaderboard: champions + 11 badges shipped
Phase 38.3 closes the leaderboard arc. Workspace-level Champions widget (top output, top consistency, top quality, top collaboration), 7 individual achievement badges (streaks, first-time wins, recoveries), weekly cron firing every Sunday 23:00 IST.
- New/me/scoreboard now displays earned badges in a 'My badges' section.
- New/leaderboard/[deptId] rows include compact badge row next to each name.
- NewChampionsWidget surfaces this week's 4 champions per workspace.
- InfrastructureWeekly cron /api/cron/leaderboard-champions wired (needs scheduler hookup at cron-job.org).
Reminders v1 — multi-channel with two-way client negotiation
Phase 37 ships end-to-end. Account-level personal reminders + client-portal-initiated reminders with two-way date negotiation (counter-propose / accept-date). Multi-channel notifications: morning digest, day-of, overdue. Quiet hours + bell badge.
- New/reminders page with Today / Upcoming / Snoozed / Done / Overdue tabs.
- NewClient portal request form (every other todo tool requires owner-creates-only).
- NewCounter-propose modal — client can suggest alternative dates, owner accepts.
- NewSLA badges + Overdue filter chip on /reminders.
- InfrastructureHourly cron /api/cron/reminders-tick for digest + day-of + overdue email delivery.
Configurable HRMS — Phase 31 fully shipped
Every Blogrator HR policy now lives in HrPolicyConfig per-workspace. Ships with 5 starter packs (Indian agency, US salaried, etc.). 8 sub-phases including config wizard, punch system, personal calendar, HR oversight, leave with comp-off, workspace holidays, shifts + auto-close, overtime, HR reports with CSV.
- NewPhase 31.0 config wizard — 15-minute setup with starter-pack templates.
- NewPhase 31.1–31.2 punch + personal calendar.
- NewPhase 31.3 HR oversight + retroactive-add for HR-managed corrections.
- NewPhase 31.4 leave system with workflow + comp-off.
- NewPhase 31.5 workspace holidays with template import.
- NewPhase 31.6 shifts + nightly auto-close cron.
- NewPhase 31.7 overtime auto-detection + comp-off via OT credit.
- NewPhase 31.8 HR reports — monthly attendance grid + leave usage + OT with CSV export.
Project hierarchy: parent-as-aggregator (Phase 29)
Workspaces can now nest projects up to depth=1. Parent project aggregates child Tasks / Articles / Standups for reporting. Delete-refuse when children exist. Blogrator Web Service is now the parent of 45 child projects; 293 tasks aggregating.
- NewParent project list shows rolled-up child task counts + status chips.
- NewSettings card to add/remove child projects to/from a parent.
- ImprovedBulk-visibility scope corrected post-QA — parent-only managers no longer see siblings.
Annual billing — 2 months free toggle live
Phase B4 adds monthly/annual interval toggle to /pricing and /settings/billing. 24 new annual Stripe Prices loaded. 'Two months free' math surfaced as a savings badge. Default to annual selection.
- NewMonthly / Annual toggle on /pricing — annual default-selected.
- NewPer-tier 'save 2 months' badge with computed dollar amount.
- InfrastructureSTRIPE_PRICE_*_ANNUAL_USD/INR/CAD/EUR/GBP/AED env vars for all paid tiers.
Multi-currency billing live — 6 currencies end-to-end
Phase B3.5 ships USD/INR/CAD/EUR/GBP/AED with IP-detected default + manual override via ?currency=. All 48 Stripe Prices loaded. Stripe Tax gated behind STRIPE_TAX_ENABLED env var (India accounts can't enable it).
- NewCurrency picker on /pricing — small unobtrusive link row.
- NewIP-based default via Cloudflare cf-connecting-ip → ipapi.co → currency.
- InfrastructurestripeTaxFields() helper in lib/stripe.ts — only attaches tax fields when STRIPE_TAX_ENABLED=1.
Records: Notion-style tables with per-row history (Phase 36)
Typed tables with 7 column types (TEXT/NUMBER/DATE/DROPDOWN/CHECKBOX/PERSON/URL). Per-row revision history + 30-day soft-delete trash. No formulas in v1 (explicit design choice). Replaces the Google Sheets habit for arbitrary record-keeping.
- New/projects/[id]/records — list, create, edit, delete tables.
- NewPer-row revision viewer modal showing diff between versions.
- NewTrash page with restore + 30-day auto-purge cron.
- NewCSV export + import wizard (round-trip safe).
Hosted publishing live at slug.itzseo.com
Phase 5 publishing ships. Customers can publish content to slug.itzseo.com (Cloudflare-proxied) or attach a custom domain. Snapshots + rollback supported. WordPress + Shopify integrations remain for direct-to-CMS publish.
- NewPer-article publish to a customer microsite at slug.itzseo.com.
- NewCustom domain attachment with auto-DNS validation.
- NewSnapshot system — rollback to any previous published version.
- InfrastructureCloudflare Worker routing for wildcard *.itzseo.com.
Pages & Indexing — Phase E shipped
Google Search Console + sitemap parser + bounded crawler + auto-submit cron + URL Inspection recheck. Per-tier daily caps via lib/pages/quota.ts. IndexNow stubs for Bing/Yandex/Naver fire-and-forget.
- New/projects/[id]/pages — filter chips + table view + per-row Inspect.
- NewSitemap generator + crawler bounded by robots.txt.
- NewAuto-submit toggle — daily cron submits new URLs to GSC.
- NewWeekly URL Inspection recheck cron.
- ImprovedFailure-reason tooltip on Not-indexed pill.
Keyword Intelligence — F1 through F4
DataForSEO integration for volume + difficulty + CPC + intent + SERP features. ProjectCompetitor model for keyword gap analysis. Cannibalization detection from GSC page+query data. Claude-powered intent classification.
- NewInline enrichment on +Add keyword — DataForSEO populates metrics in seconds.
- NewFilter chips: Easy wins / High volume / SERP feature opportunities.
- NewKeyword Gap comparison view per competitor domain.
- NewCannibalization tab — surfaces 'two pages, one keyword' patterns.
- InfrastructureMonthly enrichment cron refreshes stale keyword data.
Voice-preserved import + AI SEO footer (Phase H)
New article import mode that keeps your body untouched — Claude only generates the SEO footer (FAQ + key takeaways + schema markup) and appends at the bottom. The article still ranks; your voice stays.
- NewVoice-preserved import modal in Content Studio.
- NewAI-generated SEO Footer block (FAQ + takeaways + JSON-LD schema).
- ImprovedPolish + safety rails preventing body modification.
Daily standups + activity signals (Phase 26)
Schema + API + composer + history shipped. /daily-report auto-prefills from yesterday's activity (commits, articles published, tasks moved). Activity-vs-hours signal for HR with quiet-day filter.
- NewComposer auto-prefills with yesterday's items — edit and submit.
- NewToday's strip on /dashboard showing who's submitted.
- NewFrom-standup → task conversion in one click.
Agency department layer + role gating (Phase 24)
Configurable departments with branch nesting. Per-department task visibility, SLA cron, partial-unique-index for null-branch. Engagement editability with pencil-edit modals + two-click confirm on Cancel/Complete.
- NewPer-department task scoping — managers see only their dept's work.
- NewEngagement detail/financials/deliverables editable inline.
- ImprovedTwo-click confirm for destructive actions (Cancel/Complete engagement).
Want release notes by email?
We don't have a newsletter yet. For now: bookmark this page, follow blogrator.com for our agency's perspective, or email hello@itzseo.com to be added to a notify-on-release list.