In development
Current
Changed
- Replace the old Rolino OpenAI plugin registration with a new review draft and explicit OAuth setup at OpenAI's request. Connect the isolated reviewer account, add the review recording, and submit the replacement for review. The listing remains unavailable pending approval.
- Use admin analytics access for Instagram permission setup instead of a separate review-brand setting. Collapse setup details and retain verified-account collection checks.
- Clarify Analytics account results with views, likes, comments, posts included, and a plain-language engagement rate explanation. Label platform totals with their metric and post count.
- Confirm Google's verified YouTube data access and record the separate limits for delayed reports and calculated metrics.
- Verify YouTube views, likes, comments, and seven-day reports on two connected channels; confirm account separation, measured zeros, private-video exclusion, and a new public video published with analytics access. Keep its missing report distinct from zero. Lifetime collection is enabled; delayed seven-day reports remain under review.
- Rework Analytics into Overview, Content, Publishing activity, and Data status. Show verified performance totals, publication-date charts, platform and format results, and separate account engagement rates. Keep missing results distinct from zero.
- Use the regular sidebar and top navigation on Internal approval, with approval settings beside the page heading.
- Select Blog internal links from a searchable page list. Add links to the article and remove them with confirmation while keeping their text.
- Identify branded client emails as “Agency name via Rolino” in the inbox while keeping the existing sending address.
- Give agency client reviews and invited sign-in a shared agency header and footer, with optional contact email and support link. Show the client brand clearly, use the agency name in review email subjects, and remove workspace promotions from the client flow.
- Show search page links immediately, keep them available while content loads, and search saved content only after text is entered. Opening search checks only previously opened records.
- Keep the Rolino tour in the account menu and command search, and remove the duplicate Help control from the header.
Fixed
- Let users cancel an interrupted YouTube upload from its delivery details, with confirmation and a provider check. Keep completed videos and other destinations unchanged.
- Keep approved uploads and delivery checks running after routine publishing status updates. Content edits and account changes still require valid approval.
- Update application and development dependencies to address published security issues. Require patched Node.js releases for local use, CI, and containers, and limit MCP tool input complexity to prevent excessive memory use.
- Limit deeply nested file patterns in development tools while the upstream library awaits a security release. Include the Astro workspace manifest in container dependency installation.
- Keep analytics fallbacks and publishing controls compatible with current React checks, and reject expired recovery times before schedule review.
- Expose separate agent tools for video attachment, video publication, analytics changes, and Blog connection changes. Keep exact confirmation and retry safeguards, and correct tool safety labels for draft replacement, website imports, and Blog rescheduling.
- Keep analytics collection recoverable when a provider is temporarily unavailable during deployment. Continue to remove data when its access cannot be verified.
- Bind Facebook setup to the browser and signed-in user who started it, including local HTTPS callbacks. Reject setup links copied from another browser.
- Require the latest YouTube analytics migration before reporting that the database is ready.
- Keep measured likes and comments in analytics totals when a post has no available view count.
- Keep Facebook connection tests signed in when the local app uses an HTTPS callback address. Return to the original app after authorization without a second sign-in.
- Keep network chart lines connected when All platforms adds dates from other networks. Preserve gaps for unavailable measurements on the same network.
Added
- Add owner payment alerts to Admin Billing, with a recipient email and on/off control. Email the owner for successful live first payments and renewals, save one alert per invoice, retry confirmed temporary delivery failures, and hold uncertain sends for review to prevent duplicates.
- Let workspace managers request Facebook analytics permissions from Analytics when admin access is enabled, including on the live site.
- Show saved Facebook post views, likes, and comments for approved Page connections. Keep unavailable video views separate from measured zero counts.
- Add a restricted local Facebook analytics connection test for insights and engagement permissions. Keep normal publishing permissions unchanged.
- Add restricted Instagram review access with an explicit insights connection action. Keep general customer collection closed until approval.
- Show saved Instagram views, likes, comments, and engagement in Analytics for approved connections. Refresh through the shared collection system, retain missing-post warnings, and hide the test panel after activation.
- Add an optional local Instagram analytics test for real post views, likes, comments, and engagement by views. Use the existing cfdev address for local connection testing. Keep test results separate from customer reports while account access and Meta review are checked.
- Collect YouTube Lifetime views, likes, and comments automatically for connected public videos. Keep delayed seven-day reports separate, check source access, and exclude YouTube from calculated rates and averages.
- Run the local scheduler in analytics-only mode to refresh reports without starting other scheduled jobs.
- Show separate colored network lines in Analytics, a What changed card with supporting results, and visual comparisons for content formats.
- Show a live count of posts that need internal approval beside the brand's Internal approval menu item, including the collapsed sidebar and mobile menu.
- Add custom URLs to Blog article text and edit a call to action as a text link or button.
Removed
- Removed the legacy single-call Blog generator and temporary tester-brand controls.
- Removed the limited LinkedIn mention option. Typing @ now enters plain text; bold styling remains available.
- Removed the fixed `rolino-codex` OAuth client and callback. Hosted MCP authentication now uses the standard discovery and client-identification flow without a host-specific server configuration.
- The custom interactive CLI authorization pages, exchange and revoke routes, credential format, compatibility readers, and `CliAuthorizationGrant` database model have been removed.
- The Rolino CLI now supports exact Blog image generation and local-file upload, image review, confirmed exact-bundle approval, future scheduling, and schedule cancellation while keeping `blog:write`, `blog:approve`, and `blog:publish` independent.
- The Rolino SDK now supports exact Blog image generation and upload, image review, confirmed article approval, confirmed scheduling or rescheduling, and confirmed schedule cancellation with Blog-specific typed contracts.
- Authorized agents can now generate, upload, and review exact Blog article images with `blog:write`, and preview or execute one confirmed exact approval bundle with the independent `blog:approve` capability. These API operations cannot publish and do not widen existing credentials.
- Blog images now use shared exact-revision generation, Blog-specific direct uploads, checksum and type validation, optimistic review, idempotent completion, and approval invalidation without widening post-media access.
- Blog revision approval now binds one canonical content, approved-image, and live-link bundle, records user or agent provenance, rejects stale concurrent approvals, and clears approval when a selected image changes.
- Blog articles and images now have additive approval, checksum, upload-source, concurrency, and upload-intent fields that preserve existing human approvals and generated images while preparing exact image-bundle safety.
- Agent credentials can now opt into an independent `blog:approve` capability for exact Blog article and image-bundle approval without granting draft writing or publication, while existing credentials remain unchanged.
- The landing-page footer now links to `llms.txt` and includes a discovery hint for AI agents.
In progress
- Social analytics and performance reporting
- Additional publishing providers
- Team collaboration and playbook automation