Release Notes
Track what's new in Marcomm.
v0.036.007July 30, 2026
- New contact form — creating a contact now uses the same single-surface form as other create pages: sections in one card, actions in a fixed bar at the bottom (web).
- Consistent page headers — press kit pages and social monitoring now share the same title bar as the rest of the product, with actions always in the same place (web).
v0.036.006July 30, 2026
- Event page, one surface — a press event now reads like a record: identity and status up top, confirmed attendance, pending invitations and budget at a glance, and every tab with its own count (web).
- Edit in place — on a contact, change email, phone, title or tier right where you read it. Click the pencil, type, save; no round-trip to the edit page (web).
- Group page — contact groups get the same single-surface layout, with member counts up front (web).
- Cleaner create forms — new group and new PR plan pages share one form layout with a fixed action bar (web).
v0.036.005July 30, 2026
- One rhythm everywhere — every screen in the product now uses the same spacing scale: settings, files, monitoring, dashboards, billing, account, console. Screens built months apart finally read as one product (web).
- Media outlet profile — outlet pages get the same single-surface layout as contacts: identity, key numbers and sections in one card (web).
- Tighter dialogs — every dialog shares the same header, body and footer proportions (web).
v0.036.004July 29, 2026
- Contact profile — the contact page is now one surface: identity, key numbers, tabs and sections in a single card instead of a stack of boxes. Every tab and related list shows its record count, including an honest zero (web).
- Steady headers — a page title now sits at exactly the same height whether or not controls share its row (web).
v0.036.003July 29, 2026
- Table columns — every column now reads left-aligned on every table, with the sort control fixed at the right edge of the header. No more headers drifting between left, center and right from screen to screen (web).
- Card spacing — one card inset across the whole product, and each level of a page now has its own fixed gap. Screens built months apart finally sit on the same grid (web).
- Table footer — the pagination strip lines up exactly with the columns above it (web).
v0.036.002July 29, 2026
- PR Strategy — Set a quarterly, monthly or annual plan with three targets: releases published, share of positive coverage, and tier 1 pickup. Progress is tracked from your own releases and monitored coverage while the period runs, then frozen when you close it (web).
- Targets split across the team — Give each person a share of a KPI. The unassigned remainder stays visible so nothing is quietly left unowned (web).
- Strategy overview — One page showing where every open period stands (web).
v0.036.001July 29, 2026
- Press Events — Plan a press conference or launch in one place: run of show, who works it, invitations, budget, and the write-up afterwards. Everything assembles into a report you can save as PDF (web).
- RSVP without a login — Send invitations from your own sending address and journalists reply from a link in their email. Accepted, tentative and declined come from them; attendance is recorded by your team (web).
- Event budgets — Track planned against actual by category. A line you have not recorded yet reads as unrecorded rather than zero spent (web).
- Event calendar — Every event on a month grid (web).
v0.035.029July 29, 2026
- Press release language — Choose the language a release is written in from 32 options and see it as a column in the list. The picker searches by native or English name (web).
v0.035.028July 29, 2026
- Date range and category filters now apply — Narrowing the press release list by date or category changes the list itself. Previously the controls changed the page without changing the results (web).
- Sorting works — Clicking a column header reorders the list. Headers that cannot sort no longer show the control (web).
v0.035.027July 29, 2026
- Date picker no longer clipped — The calendar opens in full, and choosing a preset applies it and closes (web).
- Tidier list toolbars — Date range moved up beside the title; view, filters, search and the new-article button share the row below. Duplicate plus signs removed and column headers no longer truncate in any language (web).
v0.035.026July 27, 2026
- No more lunch math — Pricing copy drops the meal-price comparison in every language; the message is now simply the whole system at one flat price (web).
v0.035.025July 27, 2026
- New plan prices — Pro is now $49 a month and Team is $119, with the Cision comparison recomputed to 1/22 of the annual cost across all 14 languages (web).
- Japanese pricing headline — The pricing headline reads naturally in Japanese (web).
v0.035.024July 27, 2026
- Headlines that break well — Display headlines now balance their lines and short ones settle on a single line; leads wrap without orphan words, checked across all 14 languages (web).
v0.035.023July 27, 2026
- Every language wraps right — Japanese, Chinese, and Thai text now breaks naturally instead of overflowing its box; all 14 languages passed a full overflow audit (web).
v0.035.022July 27, 2026
- Make it a system — The closing headline now says it straight: turn your PR into a system, in all 14 languages (web).
- Less furniture — The weekly-changelog band and the talk-to-sales link are gone; the close is one headline and one action (web).
- Natural Korean — The press CRM card reads like it was written in Korean, because now it is (web).
v0.035.021July 27, 2026
- Menus without a caption — The header dropdowns drop their "Explore" label; the links stand on their own (web).
v0.035.020July 27, 2026
- Two blunt questions — The product chapter headline now asks, on two lines, why AI PR tools only help you write and why a small team would ever need a newswire (web).
v0.035.019July 27, 2026
- Press events on the map — A sixth product card announces press-event management for press conferences and media events, marked as coming soon (web).
- A newsroom that says so — The newsroom card now reads plainly: publish releases and press kits on your own domain, fully optimized for search engines (web).
- A value line — The changelog band now says what matters: the whole PR workflow gets better every week, in a larger frame (web).
v0.035.018July 27, 2026
- A sharper question — The product chapter now opens by asking why AI PR stops at writing and whether a small team ever needed a newswire, with a one-line answer beneath it, in all 14 languages (web).
v0.035.017July 27, 2026
- The scene follows again — The 3D hero reacts to your cursor once more, while the mouse wheel keeps scrolling the page; only the scene’s zoom stays off (web).
- Five tools, a real chapter — The product cards grew into a full numbered section with a large headline, lead line, and roomy cards; chapters renumber to product, story, report (web).
- Report title on top — The Monday-report section now leads with its numbered title across the full width, with the sample briefing and copy beneath it (web).
- A wider story — The story spread drops its second image; the text runs from the left edge with the About button beneath it, facing one large piece of brand art (web).
v0.035.016July 27, 2026
- Scroll flows again — The 3D hero no longer captures the mouse wheel; the scene is a pure backdrop and the page scrolls naturally (web).
- One-line wordmark — MARCOMM AI sits on a single line in the hero, with one clear action instead of two (web).
- A bigger read — Type steps up across the page: larger section headlines, a 16px body floor, and bigger cards, tables, and the plan menu (web).
- Dark bookends — The closing call to action matches the hero dark stage; purple is reserved for buttons and accents (web).
- A numbered chapter — The story section gains a numbered kicker, an oversized headline, and a three-column spread with two pieces of brand art and a rolling-label button (web).
- Footer, rearranged — Language sits under the logo, the copyright moved to the lower left, Brand Guide joined the Company column, and Careers left the navigation (web).
v0.035.015July 26, 2026
- A hero in three dimensions — The homepage opens on a dark stage with a live interactive 3D scene, the wordmark set large at the lower left, and two clear actions (web).
- Bigger body sections — Split sections now fill their halves: larger headlines, larger media, a roomier briefing card, and less text per section (web).
- One typeface — Labels, table headers, chips, and dates now share the site typeface; monospace remains only on the price-ratio figure (web).
- Pro is $59 — Pricing shows Marcomm Pro at $59 a month across the site, with the Cision comparison recomputed to 1/18 of the annual cost (web).
v0.035.014July 26, 2026
- A new front door — The homepage opens on a deep purple stage: a two-tone headline, one pair of actions, and five product cards that take you straight into each tool (web).
- The page moves — Sections rise into view as you scroll, the product cards cascade in on load, and cards and buttons answer with a lift on hover and a press on click (web).
- Brand art in the story — The story section pairs its argument with new brand artwork instead of a bare text column (web).
- Facing pages — The story and Monday-report sections alternate media sides, left then right, like a spread (web).
- One module list — The numbered module index merged into the hero cards; full detail lives on the product page (web).
v0.035.013July 26, 2026
- Pricing at a glance — The homepage plan list is now a compact three-row menu beside the 1/36 figure, replacing three wide near-empty boxes, and the fine print is set in the regular text face (web).
- One pricing story — The pricing page shows the same 1/36 figure as the homepage and drops the strikethrough on the competitor figure (web).
- Product rows you can click — On the product index, each module row is now a single link, without five repeated learn-more labels (web).
- No mid-word breaks — Korean, Japanese, and Chinese headlines across all public pages now wrap at word boundaries (web).
- Cleaner feature notes — Feature highlights are stacked label and description pairs instead of dash-joined lines, and trailing arrows are gone from links on every public page (web).
v0.035.012July 26, 2026
- Calmer AI panels — the AI writing and summary areas drop the gradient-and-sparkle treatment for a flat, consistent look, and long waits now show a simple spinner instead of a scripted progress bar (web).
- Consistent create buttons — every add and new action across lists and empty states now shares one plus-in-circle icon (web).
- Sturdier lists — an invalid date or an out-of-range page number can no longer break a list view, and a failed load now shows a message instead of a blank screen (web).
- Unified brand styling — brand color and motion are applied through shared tokens across the app chrome for a more cohesive surface (web).
- Security hardening — strengthened safeguards on file exports and uploads (web).
v0.035.011July 26, 2026
- One index, not three — The hero step list and the before/after cards are gone; the five stages of PR now appear in exactly one place, the numbered module index (web).
- A poster hero — The opening screen is now pure typography at poster scale on the brand purple, with the message and one action (web).
- Story as an essay — The story section reads as prose: headline, argument, pull line, and a single aside set on a rule, with no boxes or bullet lists (web).
v0.035.010July 26, 2026
- An honest hero — The simulated product window is gone; the hero now sets the five steps of the system as a typeset index, with no mock browser chrome or invented screenshots (web).
- Quieter surfaces — Decorative glow circles and grid textures were removed from the purple bands, and links no longer carry trailing arrows; they underline on hover instead (web).
- A sample that says so — The Monday report preview is now a plainly labeled sample briefing in text, replacing the illustrative chart (web).
- Pricing with a lead — Pro now opens the plan list as a full-width band, with Free and Team as quiet cards beside it, instead of three identical cards (web).
- Steadier headlines in Korean, Japanese, and Chinese — Display headlines no longer break in the middle of a word (web).
v0.035.009July 17, 2026
- One entry style — Every release note now reads the same way: a short bold title, a dash, and the change in plain words (web).
- Simpler timeline — The decorative icon bubbles are gone; each version now sits as a small dot on the timeline itself (web).
- Opens on the latest month — This page now starts on the most recent month of updates instead of the full history; use the sidebar to browse any earlier month or year (web).
v0.035.008July 24, 2026
- Split hero with a live product stage — The homepage hero now pairs the message on the left with the release-workflow stage on the right, and the stage shows real release prose instead of placeholder bars (web).
- A more direct voice — Homepage copy was rewritten end to end: tighter sentences, and the comparison and pricing sections now state plainly what each tool covers (web).
- Sharper section rhythm — Dropped the repeating small-caps labels above every section and the numbered step captions, so the page reads as sections rather than a template (web).
- Clearer comparison table — Feature coverage is shown with check marks instead of dots (web).
- New marketing typeface — Public pages now use Geist for a crisper display cut; the product app is unchanged (web).
- Refreshed in all 14 languages — The reworked homepage copy ships in every locale, not just English (web).
v0.035.007July 18, 2026
- A cleaner sign-in front door — If you're already signed in to Google in your browser, a one-tap account prompt now appears in the top-right corner so you can get in without typing anything (web).
- Last Used badge — The method you used last time is now marked with a "Last Used" badge, so returning to your usual way in is a single glance (web).
- Email sign-in tucked behind a "Continue with Email" button — The page now opens with just the Google, Microsoft, and email choices, and the email and password fields appear only when you pick email (web).
- Terms and Privacy links repositioned — Terms and Privacy Policy links now sit at the bottom of the sign-in and sign-up pages (web).
v0.035.006July 18, 2026
- Resizable, reorderable table columns — Drag a column edge to change its width, or drag a column header to reorder columns; every table remembers your layout (web).
- Evenly balanced columns — Table columns now share the available width evenly instead of one column swallowing the rest, and every column has a proper header label (web).
- Cleaner column headers — Header text sits on the left while the sort control is pinned to the right edge of each column, and clicking anywhere on a header sorts it (web).
- One exact corner-radius scale — Buttons, inputs, pickers, tooltips, badges, and dialogs now follow the design system's corner values to the letter across the whole app (web).
- Aligned toolbars and roomier table footers — View-mode tabs now match the primary button height, and the count/pagination footer finally has breathing room (web).
v0.035.005July 17, 2026
- List pages now read as one clean surface — Press Releases, Members, Contacts, Invoices, and every other list screen now frame the filters, title, and table as a single bordered card instead of loose, unevenly-spaced pieces (web).
- No more mistimed line breaks — "Created"/"Updated" timestamps in tables no longer wrap awkwardly onto a second line (web).
v0.035.004July 16, 2026
- Clearer date-range picker — Weekday labels in the date-range picker are easier to read, and the two-month calendar now matches the sizing used everywhere else in the app (web).
- More consistent tag chips — Email recipient chips now match the shape used by tags elsewhere in the app (web).
- Small consistency polish — A handful of small spacing and styling refinements across buttons, cards, dropdowns, and form fields, with no change in how any of them work (web).
v0.035.003July 16, 2026
- Request to join a workspace — If an admin shares a workspace's join link with you, you can now request access directly instead of waiting for an email invite — admins review and approve or decline from Settings → Members (web).
- Workspace deletion is now available — Workspace owners can permanently delete a workspace from Settings, with a name-confirmation step and password verification before anything is removed (web).
- Account deletion works again — Confirming account deletion was silently failing for every user; it now completes correctly (web).
- Accurate data-retention wording — The account-deletion screen and FAQ now correctly state the 30-day grace period, matching what actually happens to your data (web).
- Smoother press-release editor — Fixed an occasional crash when opening the rich-text editor while drafting or editing a press release (web).
v0.035.002July 16, 2026
- Snappier buttons, links, and navigation — Every clickable element now responds with the same quick, confident motion instead of a mix of generic and inconsistent transitions (web).
- Menus and dropdowns open from where you clicked — Dropdown menus, popovers, and selection menus now grow outward from the control you clicked instead of fading in from a fixed point (web).
- Selection menus animate in — Dropdown selection fields, which previously appeared instantly with no transition, now open with the same smooth motion as the rest of the app (web).
- Cleaner cards — Cards use a crisp border instead of a soft shadow, so pages read as more precise and less hazy (web).
- Numbers no longer jitter — Figures in tables and stat tiles are now fixed-width, so digits stay aligned as values update instead of shifting side to side (web).
- Smoother sidebar, progress bars, and expanders — Collapsing the sidebar, watching upload/storage progress, and opening FAQ or AI-generate panels now animate only the part that's actually changing, removing occasional stutter (web).
- Respects your motion settings — Press and hover effects are now toned down automatically for anyone with reduced-motion turned on at the system level (web).
- Consistent dropdown fields throughout the app — Member roles, currency, pagination page-size, approval routing, presskit executive details, media library filters, sender identity, and newsroom unsubscribe reason now use the same dropdown style as the rest of the app (web).
v0.035.001July 12, 2026
- A denser, more efficient workspace — Every list, table, and page header across the app is now noticeably more compact, so more of your data fits on screen without scrolling — closer to the tools professional teams already know (web).
- Cleaner, more restrained color — Purple now shows up only where it means something — links, primary buttons, the active tab, and the item you've selected — instead of tinting icons and card backgrounds throughout the app (web).
- Flush, edge-to-edge tables — Press Releases, Notifications, Contacts, and every other list now render as one continuous table with a small live item count and refresh control, instead of a table nested inside another card (web).
- Simpler page headers — Dozens of pages no longer repeat what the title and sidebar label already told you; where a page benefits from a short explanation, it's kept — everywhere else, it's gone (web).
- Contacts, Outlets, Members, and To-dos load reliably again — These pages were intermittently failing to load; they now render correctly every time (web).
- Appearance settings fixed — The newsroom template & layout page in Settings was failing to load; it now works correctly (web).
- Empty lists display correctly on phones — Empty tables (no press releases, no contacts, and similar) no longer render off-screen on narrow viewports (web).
v0.034.004July 7, 2026
- One consistent look across the whole workspace — Dashboard, credits, reports, newsroom, crisis center, and dozens of other screens now share the same page header, button, and card styling, so the app feels like one product as you move between sections (web).
- Full screen-reader support in every language — Breadcrumbs, pagination, dialogs, and other interface controls now announce themselves in your own language instead of defaulting to English, across all 14 supported languages (web).
- Member roles display correctly — Owner, Admin, Editor, and Viewer labels in Settings → Members now translate properly instead of always showing in English (web).
- Clearer error messages — Saving a report, loading your file library, creating a press release, and a few other actions that used to fail silently now show a clear message so you know something went wrong and can retry (web).
- Domain setup guide fixed — Registrar setup instructions in newsroom domain settings now show in your own language instead of always appearing in Korean (web).
- More reliable dialogs — Add-member, folder settings, file preview, and several other popups now open and close more predictably with full keyboard and screen-reader support (web).
v0.034.003July 6, 2026
- Press releases read like real articles — Raw formatting tags no longer leak into the preview, the newsroom, or emails; subtitles, lead paragraphs, quotes, headings, and lists written in the rich editor all display as clean text everywhere (web).
- Quotes lost the decorative box — No more purple bars, oversized quotation marks, italics, or avatar chips; a quote is now an ordinary body-sized sentence in curly quotes with a quiet speaker line underneath, the way actual news articles run them (web).
- Lead paragraph dropped its accent border — It now reads as the first, slightly heavier paragraph of the article, in the preview, the public newsroom, and distributed emails alike (web).
- About Company card removed — The company introduction now closes the article as a plain boilerplate paragraph after a hairline divider, matching how real press releases end (web).
v0.034.002July 4, 2026
- Editor image upload fixed — Opening the file picker's Upload tab showed "Organization not found" and uploads failed; picking from the library, uploading, previewing, renaming, and deleting files now all work regardless of how the workspace address is written in the URL (web).
v0.034.001July 4, 2026
- Team & clients in Settings — Members, roles, and permissions now live in one place under Settings, with Members, Permissions, and Notifications tabs and an inline invite flow — no more jumping to a separate console (web).
- Invite dialog rebuilt — Inviting someone now shows a live preview of exactly what the chosen role can do, a Team-vs-External choice for outside collaborators, and both an email invite and a shareable invite link (web).
- Clearer roles — Editors can now write, approve, and publish content; Admins add member and workspace management on top. External collaborators such as agencies can be Editors, not just view-only (web).
- Per-menu permissions — Owners can tune, menu by menu — press releases, content, media CRM, newsroom, monitoring, reports and more — what Team and External members can do; menus set to no access disappear from the sidebar and can no longer be reached by a direct link (web).
- Safety rails that can not be toggled off — Final approval, billing, member management, and exporting the journalist database always stay with internal members, no matter how permissions are configured (web).
v0.033.009July 6, 2026
- Content Hub canonical — The library page (the file browser at the heart of every workspace) now shares the same full-width shell, brand-primary tokens, and Button primitive as every other console page — folder navigation, drag-and-drop upload, marquee selection, per-folder settings, lightbox, and share dialog all preserved (web).
- Content Hub sibling pages — My files, recent, starred, storage, trash, and search all move onto the canonical shell. Storage now renders through the Statistic primitive and a Progress bar that flips to error state past 90%. Trash confirmations are AlertDialogs with a solid-danger button. Search uses the shared empty-state library (web).
- Report bulk generation flow — The bulk wizard advances through 4 canonical Steps, the progress board shows Statistic × 4 and a Progress bar tied to the run, and the agency dashboard renders Statistic + Card grid + tone badges — every wizard surface now looks like one product (web).
- Agency clients manager — The clients management surface now sits inside the canonical Detail shell with Dialog primitive and Button variants for edit / promote / suspend / remove flows (web).
v0.033.008July 6, 2026
- Newsroom overview unified — The workspace newsroom overview — one of the largest surfaces in the app — now shares the same full-width canonical shell as every other hub, with an 8-tab strip synced to the URL, Statistic × 4 KPIs (total / unique / 7d / 30d views), every tab pointing at the Button primitive, and every delete confirmation gated through AlertDialog + danger-solid Button (web).
- Dashboard and Hub pages canonicalized — Monitoring overview, monitoring social, reports hub, credits hub, and the primary dashboard all move onto the full-width shell with Statistic × 4 stat grids, Card sections, and tab navigation — the muscle memory that carries across list and detail pages now carries across every hub too (web).
- Crisis and market intelligence hubs — Crisis center and market intelligence overview render through the same canonical shell with brand-primary tokens; every purple accent flows through the --brand-primary CSS variable so an organization theme override propagates (web).
- Progress bar and Statistic everywhere on hubs — Credits, storage, delivery rates, and campaign KPIs now render through one shared Statistic primitive with locale-aware number formatting, and the Progress primitive picks up an error tone when a threshold is crossed (web).
v0.033.007July 4, 2026
- Settings sweep — Every settings page now shares the canonical shell (full-width, breadcrumb, header with icon tile, section-card sections, Save right-most): the settings hub, newsroom infra basics / domain / images / SEO / template, identity, appearance, AI defaults, email infrastructure, sending, storage, notifications, crisis, crisis templates, and report settings — every field group now looks like one product (web).
- Delegate forms all use primitives — Every `*-form.tsx` companion component that renders the actual fields has moved to Button, Switch, Badge, and 5-tone chips, so the sending, email infra, appearance, newsroom infra, and crisis edit surfaces no longer carry stray hex or ad-hoc toggles (web).
- Crisis detail surfaces canonicalized — Incident detail, manual list, and manual entry pages adopt the full-width shell with brand-primary tokens and 5-tone status; the underlying client components render inside the same canvas as list and detail pages (web).
- Zero brand hex in production markup — After this sweep the last stray `#7B2FF2` / `#6A1FE0` / `#A57DF8` literals across settings + delegate forms are gone; every purple accent flows through the `--brand-primary` CSS variable, so an org theme override propagates cleanly (web).
- Slate collapsed onto zinc — Every remaining `slate-*` utility in the settings + delegate form tree is now `zinc-*`, aligning with the neutral scale used by the list and detail pages so dark mode stays consistent (web).
v0.033.006July 4, 2026
- Eleven editor pages canonicalized — Create-contact, create-outlet, edit-outlet, create-press-release, edit-press-release, create-presskit, edit-presskit, create-email-campaign, create-media-group, report builder, and report onboarding — every form page now shares the same full-width shell, section-card layout, and canonical action order (Cancel / Save Draft / Save primary right-most) (web).
- Wizard flow with Steps — Email campaign compose now advances through Recipients → Content → Schedule → Send, and report onboarding through Choose Template → Configure → Confirm, both driven by the shared Steps primitive so the state indicator is identical everywhere (web).
- Form primitive across every editor — Every editor now routes fields through the Form / FormField / FormLabel required / FormControl / FormMessage stack, so validation errors surface with role=alert + aria-live=polite for screen readers and required stars are placed consistently (web).
- Section cards over free-form div stacks — Contact, outlet, presskit, email campaign, and group editors group their fields into clearly separated cards (basic info, contact points, media, tags, notes), so long forms scan cleanly and section anchors work (web).
- Destructive actions gate through AlertDialog — Delete, Discard, and Confirm-Remove buttons across every editor now open a canonical AlertDialog with a solid-danger confirm button — the browser confirm() call is gone (web).
- Tiptap toolbar tokenized — Press release compose and edit keep the rich editor but every toolbar button is now a Button primitive (ghost / icon), so brand purple flows through the CSS variable, hover states are consistent, and no stray hex remains (web).
v0.033.005July 4, 2026
- Twelve detail pages unified — Contact profile, media outlet profile, press release detail, email campaign detail, market intelligence stock, generated report, invoice, media group, outlet merge, user profile with activity and organizations tabs — every workspace detail page now shares one full-width shell, one header slot for actions, and the same section card style (web).
- Five-tone status everywhere — Draft, In Review, Scheduled, Published, Rejected — and every equivalent lifecycle tag across the app now speaks the same five colors (default, processing, success, warning, error), replacing the mixed yellow, green, red, and purple chips (web).
- Delete confirmations are now dialogs — Destructive actions across contacts, outlets, media groups, and market watchlists move from browser confirms to a proper alert dialog with a solid-danger button, so no accidental removals from a stray keyboard tap (web).
- Profile shell for every user — A shared profile header carries breadcrumb, avatar, role badge, and tab navigation across overview, activity, and organizations, so switching tabs is instant and the identity stays anchored (web).
- Statistics primitive on detail pages — Email campaigns, invoices, market intelligence, and reports render their key numbers through one canonical Statistic primitive with locale-aware formatting (web).
v0.033.004July 4, 2026
- Nine more list pages canonicalized — Media outlets, notifications, todos, invoices, crisis templates, team members, and the three monitoring boards (articles, competitors, media analysis) now all share the same four-region layout with the primary action pinned to the right-most header slot (web).
- Column widths land Ant Design canonical — Every table now uses uniform padding, first-text-column-fills-remaining, minimum widths tied to column type (numeric 80, status 100, text 140), and ellipsis with hover-reveal — so columns no longer jump around as you type in search (web).
- Sort on every column — Category and author on press releases, press release and delivery on email campaigns, category on media groups — every data column that lacked three-cycle sort now has it (web).
- Reset button removed — The redundant top-right Reset row is gone; each filter clears back to its 'All' option on its own, and the inline X in search clears the query (web).
- Auto-search debounce — The search field triggers a query on every keystroke with debounce, no separate submit button (web).
- Marcomm purple is the single source of truth — Every remaining `#7B2FF2` / `#6A1FE0` / `#A57DF8` literal across the migrated pages now resolves through the `--brand-primary` CSS variable, so organization theme overrides land uniformly (web).
- Fourteen locales fully native — 21 new common list keys plus report viewer, invoice, and crisis template strings landed in ko / en / ja / zh / zh-TW / vi / th / id / ms / fr / de / es / pt / ru — no English fallback (web).
v0.033.003July 4, 2026
- Design system foundation — Marcomm now ships 31 canonical primitives — Button, Badge, Dialog, AlertDialog, Progress, Switch, Spinner, Tour, DatePicker with presets, FloatingActions, CardMasonry, Steps, EmptyState, TagInput, ColorPicker, Timeline, Statistic, Result, Skeleton, Form, FormList, Table, CrudPage, Pagination, Popover, DropdownMenu, Command, Sheet, Tooltip — all built on our brand purple with dark mode, keyboard, and screen-reader support (web).
- Canonical CTA position — Every list page now places the primary action in the same right-most header slot, so the muscle memory carries across boards, campaigns, contacts, and every other console surface (web).
- Uniform four-region layout — Filter Bar, Header, Table, Pagination — one shape for every workspace list page; console pages now feel like one product instead of five different ones (web).
- Full-width working canvas — List pages are no longer choked by a narrow max-width; the working area now uses the full console viewport, restoring the horizontal room that dense tables and detail drawers need (web).
- Table interactions unified — Three-cycle column sort, funnel filter menus, five-tone status dots, inline link actions, kebab overflow, relative time with absolute-value tooltip, and virtualization past 100 rows — all consistent across every table (web).
- Form.List for repeat groups — Team invitations, categories, and any repeating field block now get one canonical toolbar (add, delete active, move to top, get one, get all) with a dashed add-row footer and a paired Reset / Submit (web).
- Empty state library — Six inline illustrations (inbox, search, data, error, image, people) each under 1 KB, ready to slot into any empty list with a title, description, and single action (web).
- Five pages migrated first — Press Releases, Presskits, Email Dispatch, Press CRM Contacts, and Press CRM Groups are the first pages to adopt the new template end-to-end (web).
v0.033.002July 3, 2026
- Faster subscriber links — Confirm, unsubscribe, and preferences links now resolve in a single indexed lookup, so a click that used to spin under load returns instantly, with the second layer of verification kept in place (web).
- Permanent unsubscribe token — Every unsubscribe link a reader has ever received keeps working forever; past emails no longer surface a dead link, restoring CAN-SPAM and Gmail bulk-sender compliance (web).
- Unified subscribe response — Success, already-subscribed, honeypot-tripped, and bad-address paths on the public subscribe form now return the same 200 body, so an attacker can no longer probe for who is on a list (web).
- Preferences payload validation — The unsubscribe form now rejects reserved keys, oversize category lists, and unsupported languages before touching the database; unsub reason and note are also first-class fields instead of being smuggled through the category filter (web).
- Agency PII isolation — Bulk subscriber CSV export is now scoped to the workspace itself; an agency parent can no longer read a managed client's list through the same route (web).
- Public token rate limit — Confirm, unsubscribe, and preferences endpoints now cap at ten requests per minute per source address, keyed to the last-hop IP so a spoofed forwarded header can not split the budget (web).
- Event uniqueness — Send, confirm, and unsubscribe events are idempotent at the database layer; a retried cron tick or a duplicate webhook can never write a doubled row or trigger a doubled email (web).
- Cross-workspace suppression respected — A reader who unsubscribed anywhere in the platform or whose address hard-bounced is now excluded from every workspace's next send, not just the workspace where the opt-out was recorded (web).
- JSON-LD server-rendered — The newsroom home, the press release detail page, and the category archive now emit Organization plus WebSite, NewsArticle, and CollectionPage structured data on first paint, so search engines pick them up on the first crawl (web).
- Newsroom subscribe UX overhaul — Every template now shows a category picker, the brand purple is drawn from the workspace's own theme, the editorial variant reads in a serif, CSV import is a proper drop zone with focus-trap, and the subscribers console gets three-stage column sort, kebab row actions, a detail drawer, country flag chips, and relative time labels — all localized in 14 languages (web).
v0.033.001July 3, 2026
- New homepage — The marketing homepage was rebuilt from the ground up around one idea, PR isn't writing, it's a system. The page carries a live product walkthrough, an honest tool-by-tool comparison, and clear pricing, all in Marcomm's own brand. Native in all 14 languages (web).
- Built for the PR team of one — The new page speaks to lean in-house comms teams: draft with AI, publish to a newsroom on your own domain, see which desks open it, catch coverage with sentiment, and watch the market react; the whole loop on one screen (web).
v0.032.076July 2, 2026
- Workspace admin crash fixed — A malformed label in the content-hub share dialog could stop People, Members, and sender-settings pages from loading in some languages; the label is corrected and a build-time check now blocks the whole class of mistake before it ships (web).
v0.032.075July 2, 2026
- Cleaner workspace switching — Moving between workspaces could briefly show the previous workspace's notifications in the bell while the new list was still loading; the header now discards late-arriving results from the workspace you just left (web).
v0.032.074July 2, 2026
- Articles now keep a version history — Every applied feedback suggestion, every undo, and every manual edit is recorded with who made it, and appears as a timeline entry in the feedback panel, in chronological order between the comments, so you can read feedback 1 → the change it caused → feedback 2 → its change (web).
- Compare view on every version entry — Each version entry has a "Compare" view showing exactly what changed between that version and the previous one, with title, subtitle, lead, body, and closing shown side by side as before and after (web).
- Feedback panel's eye button now filters internal comments — On shows every comment; off shows only what external collaborators would see. The same icon language applies everywhere: an open eye always means visible to everyone, a crossed-out eye always means internal, including the composer pill, which now reads "Everyone" or "Internal" to match (web).
- The hide-comment option is gone — comments are either visible or deleted, nothing lingers in a half-hidden state (web).
- Pasted markup stripped — Typing or pasting things like <p> tags into a suggestion or the editor used to leave them visible as literal text in the preview; they are now stripped everywhere, including in articles that already had them (web).
v0.032.073July 2, 2026
- Every list page now shares one layout — Press releases, press kits, email distribution, and both press CRM tabs open with the same single toolbar, search on the left, filters in the middle, and the create button at the right end, so moving between sections no longer means relearning where things live (web).
- Search always visible — The press-release list's magnifier icon that expanded into a box on click is gone; it's a full search field from the start, like everywhere else (web).
- Email distribution decluttered — The three summary tiles and the seven-button status row are gone; status filtering is now a compact dropdown next to the search field (web).
- Simpler press CRM tabs — The press CRM contact and outlet tabs lost their standalone header line; adding a contact or outlet now happens from the toolbar, and the filter controls match the rest of the app (web).
v0.032.072July 2, 2026
- Feedback panel's eye button does what you'd expect — It used to blank out the entire feedback feed; now it reveals or conceals just the hidden comments, and when revealed, each one appears dimmed in its original place in the conversation, so the history reads in order (web).
- The "hidden items" drawer is gone — The separate "hidden items" drawer at the bottom of the feedback feed is gone, and hidden comments now live inline with everything else, shown or tucked away by the eye button (web).
- Comment deletion is permanent — Previously a comment with replies or a decided suggestion was quietly kept as a hidden record when you deleted it; delete is now permanent (replies go with it), and hiding remains the option for keeping something around out of sight (web).
v0.032.071July 2, 2026
- Press kits page decluttered — The four summary tiles at the top, total press kits, published, downloads, and views, are gone, so the page opens straight into search and your press kit cards. Per-kit view and download counts still show on each card (web).
v0.032.070July 2, 2026
- Homepage headline restored — The redesigned landing hero had been showing internal label codes instead of its headline, trust line, and product preview cards in every language; all of that copy is now in place across the site's 14 languages (web).
- Email distribution filters fixed — The "pending approval" filter chip and status badge on the email distribution list were showing an internal label code instead of the words; both now display correctly in all 14 languages (web).
- Smaller label fixes — The copy button on file share links, the edit and delete buttons on report outlet settings, the member count on the workspace roles page, and one status badge on the account privacy page were all showing or at risk of showing internal codes; each now has proper wording in every language (web).
- Scheduling labels repaired — Scheduling labels on the new-distribution page were looked up from the wrong place and could break silently; they now point at the right source (web).
v0.032.069July 2, 2026
- Dashboard arrives pre-loaded — Opening a workspace used to paint a grey placeholder grid for about half a second while the stats, recent releases, activity, todos, and credit balance were fetched; the page now gathers all of that before it ships, so the first thing you see is your real dashboard (web).
- Less chatter behind every page — The header and sidebar each asked the server separately whether your workspace is an agency, three identical requests per visit; they now share one answer, which also means agency workspaces show the correct navigation instantly instead of flashing the standard menu first (web).
- Quieter notification checks — The bell used to re-check for notifications every 60 seconds even while closed; it now checks once when the page loads, refreshes when you open it, and catches up when you return to a tab that sat idle (web).
- Straight to your workspace — Users with a workspace used to pass through a brief loading screen while the app worked out where to send them; that decision now happens before anything is drawn, so the interim screen is gone (web).
- Faster pages in every language — The per-request work of assembling each language's copy is now done once and reused, trimming server time on every page for non-English visitors (web).
- Sign-in dead end fixed — Accounts blocked by a workspace sign-in policy could get caught in a redirect cycle and see a browser error instead of an explanation; they now land on the sign-in page with the policy message clearly shown (web).
v0.032.068July 1, 2026
- Scheduled jobs stay green after a rotated secret — Every hourly and daily automation, publishing scheduled press releases, verifying custom-domain CNAMEs, expiring subscriptions, purging deleted files, watching for crisis mentions, running compliance checks, now accepts both the old and new signing secret, so a routine credential rotation no longer silently pauses the queue.
- Accurate schema-drift checks — The hourly compliance check that compares production tables against the expected shape was falsely reporting drift on every one of the nine watched tables because the underlying diagnostic query couldn't decode Postgres's internal identifier type on the newer database driver. The query now casts identifiers explicitly, so the check reports actual drift and only actual drift.
- Bearer-token check hardened after cross-review — The signing-secret compare on every background-job route now runs in constant time and quietly ignores accidental trailing whitespace typed into environment variables, and the workspace health page recognizes both the old and new secret names, so a routine rotation no longer flips the app to a degraded status.
v0.032.063July 1, 2026
- Guest access auditing — Whenever a workspace guest attempts to reach billing, the media CRM, monitoring, newsroom publish, or a folder they don't have access to, the workspace audit log records the attempt so admins can spot patterns like the same guest probing multiple areas.
- Folder access list now respects guest boundaries — Guests can no longer view or change who has access to a folder they aren't invited to; both reading and editing the list are blocked, matching how the rest of the media CRM behaves.
- Six member-management cross-review blockers closed — Same day, earlier: closed six cross-review blockers from the member-management redesign, a role-swap path that could quietly promote a guest to admin, four API endpoints that were only blocking writes when they should have blocked reads too, a broken tab link on the People page, and consolidated the sidebar's guest-navigation filter into one shared source.
v0.032.061July 1, 2026
- Workspace member management redesigned around three tabs — Members, Roles & permissions, and Notifications. The member list gained a segmented filter for active, pending invites, and deactivated rows plus a workspace-wide search, and every member row shows the role plus a badge for anyone joined as a Guest.
- Invite dialog as one form — Paste multiple emails at once (comma or newline), pick Internal or Guest, and choose a role. Guest membership auto-locks the role to Viewer with an inline explanation, so a misconfigured invite is impossible.
- New Membership concept — Internal vs Guest. Guests are external collaborators (PR consultants, executive sponsors) with explicit-grant-only access. Regardless of role, guests are blocked from billing, media CRM, monitoring, newsroom publish, and the workspace member list — the sidebar hides those sections and every corresponding API returns 403 with a clear guest_blocked scope.
- Roles & permissions tab visualizes the four presets — Owner, Admin, Editor, Viewer — with each one's active member count and a read-only 4-by-8 capability matrix so the whole team can see who can do what.
- Owner-only Permissions page — A new Owner-only Settings → Permissions page lets the workspace owner customize the role-preset matrix, opt into per-user permission overrides, and review guest defaults. Every change is audit-logged with a per-cell diff.
- Per-workspace permissions and bulk-action APIs — Behind the scenes: a per-workspace permissions API (GET/PUT matrix), a bulk-action endpoint for changing role or membership on multiple members at once, and hardened membership↔role coupling on both the invite create path and the member update path; the API refuses any invalid combination up front.
- Fully localized — Everything in this update ships in all 14 supported languages.