Keep unreleased ChatGPT plugin promotion out of production Redline pages while preserving developer comparison tools.
Changed
- ChatGPT plugin preview promotion remains limited to development and Test. Existing comparison APIs and hosted viewer access remain available.
- repo
- bookcicle/ui
Cleaner developer discovery and documentation metadata.
Improved
- Exclude dashboard and API-key routes from the public sitemap.
- Use one iframe-demo URL and one public pricing URL.
- Share policy canonical ownership with the customer site and retain specific page descriptions.
- repo
- bookcicle/ui
Automatically mint and refresh 15-minute Redline-scoped browser JWTs (`POST /token/scope/redline`) for developer playground comparisons, usage polling, and API key management.
Added
- Added automatic 15-minute Redline browser token minting and background refresh 2 minutes before expiry, on tab visibility/focus, and after subscription plan changes.
Changed
- Updated developer playground comparisons, usage telemetry, and API key management (`RedlineApiKeysView.jsx`) to authenticate with Redline-scoped short-lived browser JWTs.
- repo
- bookcicle/ui
Migrate Redline developer API credentials to locally verified EdDSA JWTs (`bc_live_jwt_...`) with user-selectable expiration (90, 180, 365, or custom 1–365 days), granular endpoint scopes, 14-day expiration warnings, and one-click rotation.
Added
- Added user-selectable expiration duration (90 days, 180 days, 365 days default, and custom 1–365 days) and scope selection (`redline:compare`, `redline:documents`, `redline:exports`, `redline:usage:read`) to the Developer API Keys dashboard.
- Added 14-day expiration warning banners, per-credential `Expiring soon` badges, and one-click `Rotate` action (`POST /v1/redline/api-keys/{keyId}/rotate`) with one-time replacement JWT reveal.
Changed
- Updated the Developer API Keys inventory table to display credential scopes, expiration dates, and token status across JWT and legacy opaque credentials.
- repo
- bookcicle/ui
Enforce Redline per-plan rate limits with short-duration burst allowances and scope anonymous browser rate limits on the Developer Playground by session ID cookie (SID) with IP fallback.
Added
- Added short-duration burst allowances (20% over the per-minute plan limit within a 10-second burst window) across Anonymous (10/min + 2 burst), Basic (100/min + 20 burst), Creator (120/min + 24 burst), and Creator Pro (300/min + 60 burst) plans.
- Added automatic browser `/session` (`sid`) cookie bootstrap before Developer Playground and document comparisons so browser users are rate-limited per session ID with client IP fallback.
Changed
- Aligned HTML and document comparison rate-limit caps up to 300 req/min (+60 burst) for Creator Pro accounts and added end-to-end rate-limit and unit-cap smoke coverage.
- repo
- bookcicle/ui
Enforce Redline per-plan rate limits with short-duration burst allowances and scope anonymous browser rate limits on the Developer Playground by session ID cookie (SID) with IP fallback.
Added
- Added short-duration burst allowances (20% over the per-minute plan limit within a 10-second burst window) across Anonymous (10/min + 2 burst), Basic (100/min + 20 burst), Creator (120/min + 24 burst), and Creator Pro (300/min + 60 burst) plans.
- Added automatic browser `/session` (`sid`) cookie bootstrap before Developer Playground and document comparisons so browser users are rate-limited per session ID with client IP fallback.
Changed
- Aligned HTML and document comparison rate-limit caps up to 300 req/min (+60 burst) for Creator Pro accounts and added end-to-end rate-limit and unit-cap smoke coverage.
- repo
- bookcicle/ui
Move Sync pages into the Comparison tools gear dropdown on page render views (enabled by default) and always use automatic diff mode in the Developer Playground.
Changed
- Moved the Sync pages option into the Comparison tools gear menu on page render views and enabled it by default.
- Removed the manual Mode selector from the Developer Playground toolbar and standardized on auto diff mode.
- repo
- bookcicle/ui
Move Sync pages into the Comparison tools gear dropdown on page render views (enabled by default) and always use automatic diff mode in the Developer Playground.
Changed
- Moved the Sync pages option into the Comparison tools gear menu on page render views and enabled it by default.
- Removed the manual Mode selector from the Developer Playground toolbar and standardized on auto diff mode.
- repo
- bookcicle/ui
Optionally keep original and revised page selectors in sync.
Added
- Enable Sync pages to navigate both document sides together, with shorter documents staying on their last page.
- Keep page navigation independent when synchronization is off.
- repo
- bookcicle/ui
Optionally keep original and revised page selectors in sync.
Added
- Enable Sync pages to navigate both document sides together, with shorter documents staying on their last page.
- Keep page navigation independent when synchronization is off.
- repo
- bookcicle/ui
Source, revised and alignment models combine with strengthened viewer, account and usage protections.
Improved
- JSON comparisons include structured source, revised and alignment models.
- Viewer content, private messages, API key management and credential rejection have stronger security boundaries.
- Public pages render quickly and use a strict script policy.
- Monthly allowances support active complimentary and administrative access.
- Acknowledged failures before charging can retry safely; retained results recover finalization outages without duplicate work.
- Uncertain operations remain blocked against duplicate charges and jobs.
- Pricing and legal pages are served from their complete prerendered HTML.
- First programmatic file selections initialize comparison tools and preserve both chosen files.
- Production viewer security is strengthened independently for each surface while public pages remain indexable.
- Returning signed-in visitors regain verified account navigation before starting a comparison; expired sessions hide account actions.
- Comparison owners can explicitly authorize one host for iframe controls and review callbacks; other origins stay blocked.
- Production developer documentation remains crawlable while TEST environments continue to block indexing.
- repo
- bookcicle/ui
The profile menu keeps its appearance before and after opening Account.
Improved
- The account dropdown uses consistent Redline styling from its first appearance.
- Get Code offers HTML only, JSON only, or both outputs, and formats non-stream JSON responses for reading and copying.
- Production release checks require successful warm small-snippet performance validation on TEST.
- repo
- bookcicle/ui
The profile menu keeps its appearance before and after opening Account.
Improved
- The account dropdown uses consistent Redline styling from its first appearance.
- Get Code offers HTML only, JSON only, or both outputs, and formats non-stream JSON responses for reading and copying.
- Production release checks require successful warm small-snippet performance validation on TEST.
- repo
- bookcicle/ui
Streaming comparisons work while signed out, including after an expired sign-in.
Fixed
- Signed-out playground comparisons use the anonymous allowance without submitting an old sign-in cookie.
- Release smoke checks cover signed-in and signed-out streaming, normal JSON responses, and expired-cookie recovery.
- repo
- bookcicle/ui
Streaming comparisons work while signed out, including after an expired sign-in.
Fixed
- Signed-out playground comparisons use the anonymous allowance without submitting an old sign-in cookie.
- Release smoke checks cover signed-in and signed-out streaming, normal JSON responses, and expired-cookie recovery.
- repo
- bookcicle/ui
Rendered document pages stream the first two pages first and upgrade in place as remaining pages arrive.
Improved
- When page rendering is enabled, the first two pages arrive in an initial chunk so the viewer paints immediately while remaining pages stream in the background.
- Page viewers upgrade in place as later chunks and the full PDF finish, preserving your active page and zoom level.
- The interactive playground renders its default sample text and character counts immediately on initial page load.
- repo
- bookcicle/ui
Rendered document pages stream the first two pages first and upgrade in place as remaining pages arrive.
Improved
- When page rendering is enabled, the first two pages arrive in an initial chunk so the viewer paints immediately while remaining pages stream in the background.
- Page viewers upgrade in place as later chunks and the full PDF finish, preserving your active page and zoom level.
- The interactive playground renders its default sample text and character counts immediately on initial page load.
- repo
- bookcicle/ui
Release validation covers every output choice in published integration examples.
Improved
- Code examples are tested with HTML only, JSON only, and both outputs.
- Comparison checks validate the expected original and revised content in each output separately.
- Performance checks cover more warm comparisons before production release.
- repo
- bookcicle/ui
Release validation covers every output choice in published integration examples.
Improved
- Code examples are tested with HTML only, JSON only, and both outputs.
- Comparison checks validate the expected original and revised content in each output separately.
- Performance checks cover more warm comparisons before production release.
- repo
- bookcicle/ui
Valid document responses are preserved when network delivery takes more than three seconds. Server execution limits still apply.
Improved
- Valid document responses are preserved when network delivery takes more than three seconds. Server execution limits still apply.
- Page previews show clearer dark-mode highlights.
- repo
- bookcicle/ui