Skip to main content

Release Notes — October 2026

v8.4.2 (2026-10-30)​

Catalyst v8.4.2 — 2026-10-30

🚀 Features​

No new features in this release.

🐛 Bug Fixes​

  • 🐛 Removed the opacity transition from the chat widget’s copy button. #1783 (#Mahaveer1141)

✨ Improvements​

  • ✨ Updated OTP email rendering to use the shared branded template and styled code block used by other Catalyst email flows. #1782 (#BrijeshSajeev)

⚠️ Breaking Changes​

No breaking changes.

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.4.1 release notes. 215a313d2

v8.4.1 (2026-10-30)​

Catalyst v8.4.1 — 2026-10-30

⚠️ WARNING: Migration Required — Catalyst AI voice input adds the ct_bot_transcriptions table. Generate and run the migration:

rails generate cm_admin:add_bot_transcriptions
rails db:migrate

Fresh installs using Catalyst AI should first run rails generate cm_admin:add_bot_conversations, then the commands above. If your user model uses a table other than users, update the generated migration’s user foreign-key target before running rails db:migrate. Add CtBotTranscription to config.included_models after migrating.

🚀 Features​

  • 🎙️ Added voice input to the Catalyst AI chat widget, with recording controls and inline recording, transcription, and failure states. Transcribed text is added to the composer. #1776 (#Mahaveer1141)
  • 🗂️ Added Catalyst AI Transcriptions admin index and show pages, including audio playback and cost tracking; transcriptions can also be viewed from bot conversations and messages. #1776 (#Mahaveer1141)
  • 📋 Added a Copy as Markdown action for chat messages. #1776 (#Mahaveer1141)

🐛 Bug Fixes​

  • 🔊 Normalized transcription audio formats and shared the ActionCable consumer to improve transcription delivery. #1776 (#Mahaveer1141)

✨ Improvements​

  • 💰 Added background transcription processing, with transcription status and costs recorded and costs rolled up to the conversation. A new CT Bot Transcription Model platform setting configures the transcription model. #1776 (#Mahaveer1141)
  • 🧭 Made transcriptions visible in sidebar navigation and updated chat widget button tooltips and labels. #1776 (#Mahaveer1141)
  • 🧪 Removed root-level RSpec setup, its dependency, and Rake tasks; tests now live in feature-app/spec. The README points developers to the feature app for running tests. #1780 (#Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes.

📚 Documentation​

  • 📚 Added the v8.4.1 upgrade guide and add_bot_transcriptions generator documentation. Updated the Catalyst AI guide with voice input setup, model settings, transcription behavior, and admin views. #1776 (#Mahaveer1141)
  • 📝 Updated docs-site setup references to use npm instead of Yarn. #1780 (#Mahaveer1141)

v8.4.0 (2026-10-30)​

Catalyst v8.4.0 — 2026-10-30

⚠️ WARNING: Migration Required — Catalyst AI adds tables for conversations, messages, question artifacts, and cost tracking, and adds an AI opt-in flag to cm_roles. Generate and run the migrations:

rails generate cm_admin:add_bot_conversations
rails db:migrate

If your user model uses a table other than users, update the generated conversation migration’s foreign-key target before running rails db:migrate.

🚀 Features​

  • 🤖 Added Catalyst AI (CT Bot), an opt-in assistant available as a floating chat widget in the admin panel. It answers questions using read-only MCP tools scoped to the asking user’s permissions. #1746 (#Mahaveer1141)
  • 💬 Added conversation history, live ActionCable reply streaming, file attachments, unread badges, and interactive clarifying-question cards. #1746 (#Mahaveer1141)
  • 💰 Added per-request token and cost tracking, with totals available for messages and conversations. #1746 (#Mahaveer1141)

🐛 Bug Fixes​

  • 🧮 Fixed the MCP aggregate tool input schema so it omits the column field for models without numeric columns. #1746 (#Mahaveer1141)

✨ Improvements​

  • 📱 Improved the chat widget for mobile screens and added dynamic tooltips and clearer UI details. #1746 (#Mahaveer1141)
  • ⏱️ Added a completion timestamp for assistant messages to track when replies finish. #1746 (#Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Added a Catalyst AI guide covering setup, configuration, permissions, security, and admin views; documented the new generator and added v8.4.0 upgrade steps. #1746 (#Mahaveer1141)

v8.3.12 (2026-10-29)​

Catalyst v8.3.12 — 2026-10-29

🚀 Features​

  • 🔑 Enabled history tracking for API Tokens, so the History tab shows an audit trail of record changes and actions. #1760 (#anbublacky)
  • 📝 Added BlogPost and BlogCategory admin models and specs to the feature app. 61e0de384
  • 🏖️ Expanded the feature app’s leave-management example with leave requests, types, balances, compensatory credits, and holiday management. Leave records now belong directly to User, avoiding a separate Employee model. #1752 (#BrijeshSajeev)

🐛 Bug Fixes​

  • 🧭 Normalized breadcrumb-chain parameters when building new associated-record URLs, preventing malformed breadcrumb chains on subsequent pages. #1768 (#anbublacky)

✨ Improvements​

  • ⚙️ Added project-level Claude Code settings to remove attribution footers and session links from pull request descriptions. #1769 (#mikevic)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Added the v8.3.11 release notes to the October changelog and updated the release index. 34b2661e4

v8.3.11 (2026-10-28)​

Catalyst v8.3.11 — 2026-10-28

🚀 Features​

No new features in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Added the v8.3.10 release notes to the October changelog, documenting the initializer configuration change and related documentation updates. #1739 (#mikevic)
  • 📚 Updated the release index to include v8.3.10. 337421688

v8.3.10 (2026-10-27)​

Catalyst v8.3.10 — 2026-10-27

🚀 Features​

No new features in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • ✨ Removed the requirement to name the Catalyst initializer zcm_admin.rb. Configuration now runs after all app initializers have loaded, so it can reference models and other initializer-defined constants regardless of filename or load order. Configuration is reapplied on code reloads in development. #1739 (#mikevic)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the generator output and documentation to use config/initializers/cm_admin.rb as the default filename, and removed the old initializer naming guideline. #1739 (#mikevic)

v8.3.9 (2026-10-27)​

Catalyst v8.3.9 — 2026-10-27

⚠️ WARNING: Migration Required — The install generator now includes the CtFileImport improvement migration. Existing apps missing the import columns must generate and run it. The migration checks for existing columns before adding them.

rails g cm_admin:file_import_improvement && rails db:migrate

🚀 Features​

  • 🚀 Added PR review apps: eligible pull requests to main get a deployed feature-app instance, with its own database and file storage, which is removed when the PR closes. #1721 (#mikevic)
  • 🌐 Review apps now have Commutatus-branded URLs at https://pr-<number>.catalyst.platforms.commutatus.com; the existing fly.dev URL remains available. #1725 (#mikevic)

🐛 Bug Fixes​

  • 🐛 Fixed record history pages crashing when loading a record. The history action now fetches the record through the model’s policy scope, matching the show action’s visibility rules. #1750 (#BrijeshSajeev)
  • 🐛 Fixed the install generator omitting the migration that adds required import columns to ct_file_imports, which could break file import forms and pages. #1741 (#mikevic)
  • 🐛 Fixed migration checking to detect .tt migration templates rather than looking for .rb files. #1747 (#Kishore-Girivasan) Migration template checker
  • 🐛 Fixed Postmark and generated policy constant warnings by using the current Postmark error class and replacing generated constants before redefining them. #1738 (#BrijeshSajeev)
  • 🐛 Removed an Rswag UI deprecation warning by switching to openapi_endpoint, without changing the API documentation URL or label. #1730 (#mikevic)

✨ Improvements​

  • ✨ Models can now declare enums after including a CmAdmin concern. Enum filters and DSL references are initialized after the model class body has finished loading. #1740 (#mikevic)
  • ⚡️ Improved role-permission factory setup to save permissions in bulk, reducing the queries used when creating test admin users. #1742 (#mikevic)
  • 🛠️ Asset precompilation and other asset tasks can now boot without a database connection; platform settings sync is skipped for db: and assets: tasks. #1716 (#mikevic)
  • 🔧 Review app deployment now runs after tests pass, and review app workflows skip Dependabot PRs and docs-site-only changes. #1735 (#mikevic) #1733 (#mikevic)
  • 🧰 Tests, linters, and security checks now run on GitHub-hosted runners. CI dependency installation was also streamlined, and the project added StandardRB linting. #1720 (#mikevic) #1722 (#mikevic) #1736 (#BrijeshSajeev)

⚠️ Breaking Changes​

  • ✅ No breaking changes in this release.

📚 Documentation​

  • 📚 Added a PR Review Apps guide covering how review apps are deployed and removed, how to access them, their architecture and configuration, and troubleshooting. Added a link to the guide from the Deployment index. #1737 (#mikevic)
  • 📚 Removed the enum declaration order rule from the introduction because it is no longer required. #1740 (#mikevic)

v8.3.8 (2026-10-23)​

Catalyst v8.3.8 — 2026-10-23

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🐛 Fixed export failures for columns where the configured id field uses field_type: :association. Synthesized export ID columns now use a safe field type and preserve the configured export_method, so exports return the associated record’s ID as declared. #1711 (#Kishore-Girivasan)

✨ Improvements​

  • No additional improvements in this release.

⚠️ Breaking Changes​

  • No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the October 2026 changelog and release listing with the v8.3.7 release notes. b160e7172

v8.3.7 (2026-10-23)​

Catalyst v8.3.7 — 2026-10-23

🚀 Features​

  • 🚀 Added lazy loading for row action dropdowns in index, kanban, and associated table views. Actions are fetched when a dropdown is first opened and cached for subsequent opens, reducing the work performed during initial page loads. #1578 (#austinjb32)

    Lazy-loaded row action dropdown

🐛 Bug Fixes​

  • No bug fixes in this release.

✨ Improvements​

  • No additional improvements in this release.

⚠️ Breaking Changes​

  • No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the October 2026 changelog and release listing with v8.3.6 release notes. 6d912bfff

v8.3.6 (2026-10-23)​

Catalyst v8.3.6 — 2026-10-23

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🐛 Fixed OTP resend integration, expired OTP scope resolution, and password-reset token expiry handling. Added regression coverage for OTP generation, verification, expiry, throttling, sign-in, and password reset. Feature-app OTP delivery remains email-only. #1713 (#BrijeshSajeev)

✨ Improvements​

  • ✨ Routed MCP requests through a controller so Scout APM can record them, and gave transactions distinct names based on the MCP method and tool. Apps without Scout are unaffected. #1703 (#mikevic)
  • ✨ Cached Ruby test dependencies in CI to speed up test runs. 680b968a2

⚠️ Breaking Changes​

  • No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the MCP server guide with the controller architecture and Scout APM transaction naming details. #1703 (#mikevic)
  • 📚 Updated the October 2026 changelog and release listing. 5d2e906d3

v8.3.5 (2026-10-23)​

Catalyst v8.3.5 — 2026-10-23

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🐛 Webhook events now display the recipient email from the payload when the associated recipient record is missing, instead of showing “—”. #1707 (#Kishore-Girivasan)
  • 🐛 Fixed exports that failed when an ID column was typed as an association. 9a22abc61

✨ Improvements​

  • ✨ Extracted webhook recipient resolution into the CmWebhookEvent model. e1cec013b

⚠️ Breaking Changes​

  • No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.3.4 release notes and updated the docs-site release listing. a86031ad8

v8.3.4 (2026-10-23)​

Catalyst v8.3.4 — 2026-10-23

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🐛 Form validation now checks date fields, handles required selects with no selected value safely, and keeps nested-field validation scoped to the submitted form. #1675 (#anbublacky)
  • 🧭 When validation fails, the page now scrolls to the first invalid field instead of jumping back to the top. #1675 (#anbublacky)
  • 🔁 Fixed the eventually test helper so it retries expectations until they pass or the wait time expires. #1693 (#mikevic)

✨ Improvements​

  • ⚡ Parallelized feature-app specs, replaced fixed sleeps with condition checks, disabled animations in system specs, and limited screenshots to failures by default to speed up test runs. #1693 (#mikevic)
  • 🧪 Updated the Tests workflow to install JavaScript dependencies with npm ci and use the existing cache for faster, lockfile-based installs. #1705 (#mikevic)
  • 📦 Updated the docs-site dependencies follow-redirects to 1.16.1 and launch-editor to 2.14.2. #1694 (#app/dependabot) #1696 (#app/dependabot)

⚠️ Breaking Changes​

  • No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.3.3 release notes and updated the docs-site release listing. fbd4391d4

v8.3.3 (2026-10-23)​

Catalyst v8.3.3 — 2026-10-23

⚠️ WARNING: Breaking Changes — status_helper_icon was renamed to cm_info_tooltip. Applications that call status_helper_icon directly must update those calls.

🔄 WARNING: Migration Required — Existing installs need new cm_webhook_events recipient and clicked-link columns for per-recipient tracking. Fresh installs do not need this extra generator.

Run on existing installs:

rails generate cm_admin:add_webhook_event_recipient
rails db:migrate

🚀 Features​

  • 📬 Added per-recipient email open and click tracking to the Postmark webhook pipeline. Events are linked to matching recipients, and clicked URLs are stored for reporting. CC/BCC events remain unattributed to the To recipient. #1670 (#Kishore-Girivasan)
  • 📊 Expanded the Email Log page with recipient open and click counts, first-open timestamps, click details with click rates, and an Events tab. #1670 (#Kishore-Girivasan)
  • 🟣 Added a clicked recipient status after opened, including status-transition rules and badge styling. #1670 (#Kishore-Girivasan)

🐛 Bug Fixes​

  • No bug fixes in this release.

✨ Improvements​

  • 🔁 Identical Postmark webhook redeliveries now resolve to the original event, preventing duplicate open and click counts. The full supported webhook payload is also stored. #1670 (#Kishore-Girivasan)
  • 💡 Renamed the status_helper_icon view helper to cm_info_tooltip and set its Bootstrap tooltip container to body so tooltips render correctly inside scrollable containers. #1670 (#Kishore-Girivasan)

⚠️ Breaking Changes​

  • ⚠️ Applications that call status_helper_icon directly must change those calls to cm_info_tooltip. #1670 (#Kishore-Girivasan)

📚 Documentation​

  • 📚 Added the v8.3.3 upgrade guide and documented webhook recipient attribution, clicked-link storage, and the new generator. The upgrade guide explains migration steps, fresh-install behavior, and that historical events are not backfilled. #1670 (#Kishore-Girivasan)
  • 📝 Updated the October 2026 changelog with v8.3.2 release notes. 0b8fc45a1

v8.3.2 (2026-10-22)​

Catalyst v8.3.2 — 2026-10-22

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🛡️ Fixed authorization for member custom actions under the index page. These actions now load the target record through the policy scope and authorize it before running, preventing users from invoking an action on records they cannot access. #1704 (#Kishore-Girivasan)

✨ Improvements​

  • No other improvements in this release.

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Updated the October 2026 changelog and release index with the v8.3.1 release notes. 1a2ba4104

v8.3.1 (2026-10-22)​

Catalyst v8.3.1 — 2026-10-22

🚀 Features​

  • ✨ Added an optional header icon button next to the page title, configurable with an icon, URL, tooltip, and visibility condition. (#1659) (#Kishore-Girivasan)
  • ✨ Upgraded page descriptions to sanitized rich text, shown on pages with the top navbar and truncated with a View more / View less toggle. (#1659) (#Kishore-Girivasan)

🐛 Bug Fixes​

  • 🐛 Improved page-description toggle positioning and tooltip offset, with better ellipsis alignment. (5cc84656e)
  • 🐛 Adjusted page-description toggle positioning and ellipsis alignment for a cleaner truncated layout. (5b620bb72)

✨ Improvements​

  • 📦 Changed gem packaging to an allow list so releases include runtime files, deployment configuration, and Markdown documentation without unnecessary development files. (#1689) (#mikevic)

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Expanded the DSL reference with page-description rich-text behavior and examples, plus the title-icon options and usage example. (#1659) (#Kishore-Girivasan)

v8.3.0 (2026-10-22)​

Catalyst v8.3.0 — 2026-10-22

🚀 Features​

  • No new user-facing features in this release.

🐛 Bug Fixes​

  • 🛡️ Hardened custom action modal handling with constantization safety, a nil guard, and action-name validation to address a Brakeman-reported remote code execution risk. (#1673) (#austinjb32)
  • 🐛 Fixed filter display text for collections with a single option. (#1673) (#austinjb32)

✨ Improvements​

  • ✨ Refactored resource actions into dedicated services and moved exports and page-view helpers to the service layer, leaving controllers thinner without changing behavior. (#1673) (#austinjb32)
  • ✨ Converted form validation to a Stimulus controller while preserving validation, discard-button, unsaved-change tracking, and leave-page guard behavior. (#1673) (#austinjb32)
  • ✨ Cleaned up JavaScript controllers and vendored styling, and aligned feature-app schemas and specs with existing behavior. (#1673) (#austinjb32)

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • No documentation changes for this release.

v8.2.18 (2026-10-22)​

Catalyst v8.2.18 — 2026-10-22

⚠️ WARNING: Breaking Changes — API token description is replaced by name. The legacy description generator is removed, and existing description values are not copied to the new field.

🔄 WARNING: Migration Required — Generate and run the API token name migration. It adds and backfills name, then drops description if present:

rails generate cm_admin:add_name_to_api_token
rails db:migrate

🚀 Features​

  • 🚀 API tokens now have a human-readable name, shown in the index and token details. The index supports searching by name, and tokens can be renamed from a new edit page. (#1697) (#anbublacky)
  • 🚀 Markdown documentation is bundled with the gem so coding agents can access documentation that matches the installed version. (#1695) (#mikevic)

🐛 Bug Fixes​

  • No bug fixes in this release.

✨ Improvements​

  • ✨ The documentation site now publishes /llms.txt, /llms-full.txt, and Markdown versions of its pages for coding agents. (#1695) (#mikevic)

⚠️ Breaking Changes​

  • ⚠️ API tokens replace the v8.2.14 description field with name. The name is limited to 100 characters and is required for personal access tokens. The old cm_admin:add_description_to_api_token generator has been removed; the new migration backfills existing tokens with Unnamed Token and drops description without carrying its values over. Add a name wherever your application creates tokens directly. (#1697) (#anbublacky)

📚 Documentation​

  • 📚 Added a v8.2.18 upgrade guide with migration steps and compatibility notes; updated the generator reference and MCP token example for the new name field. (#1697) (#anbublacky)
  • 📚 Updated the documentation introduction with guidance for AI coding agents, including how to find the gem-bundled Markdown docs and the website’s LLM-friendly files. (#1695) (#mikevic)

v8.2.17 (2026-10-20)​

Catalyst v8.2.17 — 2026-10-20

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • No bug fixes in this release.

✨ Improvements​

  • ✨ Updated the gemspec to accurately require Rails 8.0.2 or later, clarifying the minimum version supported by Catalyst’s dependencies. (#1688) (#mikevic)
  • ✨ Streamlined release automation: version and lockfile updates are committed together, and tests are skipped for the docs-only changelog commit. (#1690) (#mikevic)
  • ✨ Updated the gemspec’s author list and email addresses. (#1687) (#mikevic)

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Updated the DSL reference to list valid field types and use supported cm-badge-* classes in examples. The status badge guide now documents the :badge and badge_class names, includes a usage example, and clarifies that the former :tag name and legacy badge classes are no longer supported. (#1691) (#mikevic)
  • 📚 Corrected the column method’s YARD comment to match the field types accepted by the code. (#1692) (#mikevic)

v8.2.16 (2026-10-19)​

Catalyst v8.2.16 — 2026-10-19

🚀 Features​

  • No new features in this release.

🐛 Bug Fixes​

  • 🐛 Fixed the default datetime display format to show a consistent 12-hour time with AM/PM, matching the flatpickr time picker. (#1686) (#austinjb32)

✨ Improvements​

  • No other improvements in this release.

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.2.15 release notes and refreshed the releases index. (604b1306b)

v8.2.15 (2026-10-19)​

Catalyst v8.2.15 — 2026-10-19

🚀 Features​

  • 🚀 Added the card_title: true column option to choose the title displayed in card and kanban views. If none is configured, the first displayable column is used; remaining columns appear as subtitles. (#1685) (#austinjb32)

🐛 Bug Fixes​

  • 🐛 Fixed the index toolbar so view_type: :kanban correctly enables the kanban view toggle. (#1685) (#austinjb32)

✨ Improvements​

  • No other improvements in this release.

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Documented the card_title option in the column DSL reference, including its default behavior when no title column is configured. (#1685) (#austinjb32)

v8.2.14 (2026-10-19)​

Catalyst v8.2.14 — 2026-10-19

🔄 WARNING: Migration Required — This release adds a description column to API tokens. Generate and run the migration before using the new field:

rails generate cm_admin:add_description_to_api_token
rails db:migrate

⚠️ Superseded in a later release: the description column was replaced by a mandatory name column, and the cm_admin:add_description_to_api_token generator was removed. If you are upgrading past v8.2.14, run rails generate cm_admin:add_name_to_api_token instead — its migration adds name and drops description.

🚀 Features​

  • 🚀 API tokens can now have a human-readable description, displayed on the token show page and available on the new-token form. (#1684) (#anbublacky)

🐛 Bug Fixes​

  • No user-facing bug fixes in this release.

✨ Improvements​

  • ✨ Restored the automated test suite and improved CI reliability, including independent Rails-version jobs and a longer test timeout. (#1677) (#mikevic)

⚠️ Breaking Changes​

  • No breaking changes.

📚 Documentation​

  • 📚 Added the API-token description generator to the generator reference, including its command, purpose, and migration step. (#1684) (#anbublacky)
  • 📚 Updated the October 2026 changelog and release registry with v8.2.13 release information. (4fd0459fd)

v8.2.13 (2026-10-19)​

Catalyst v8.2.13 — 2026-10-19

🚀 Features​

  • 🚀 Advanced filters now apply when the dropdown closes—whether by clicking outside, pressing Esc, or selecting Apply—so configured filters take effect without requiring a separate Apply click. (#1681) @Mahaveer1141

✨ Improvements​

  • ✨ Improved saved-view buttons on smaller screens: below the 991px breakpoint, the button shows a view-type icon instead of the name and label. View-name width now scales responsively, and buttons have a consistent minimum height. (#1681) @Mahaveer1141

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.2.12 release notes and added that release to the releases registry. (4fd0459fd)

v8.2.12 (2026-10-19)​

Catalyst v8.2.12 — 2026-10-19

🐛 Bug Fixes​

  • 🐛 Fixed built-in filter_with scopes that raised an ArgumentError because they received an unexpected second argument. (#1676) @mikevic
  • 🐛 Fixed partial range filters so a range such as 30 to matches values at or above 30, rather than only values equal to 30. (#1676) @mikevic
  • 🐛 Fixed single-option select filter chips to show the option label instead of its raw ID. (#1676) @mikevic
  • 🐛 Fixed sorting with an unknown column to fall back to the default sort, and made malformed sort parameters safely ignored. (#1676) @mikevic
  • 🐛 Fixed multi-word search so every search term must match, rather than allowing results that match only one term. (#1676) @mikevic

📚 Documentation​

  • 📚 Updated the October 2026 changelog with the v8.2.11 release entry and added that release to the releases registry. (629689839)

v8.2.11 (2026-10-19)​

Catalyst v8.2.11 — 2026-10-19

⚠️ WARNING: Breaking Changes — Deployment notifications no longer use the webhook URL embedded in the Hatchbox config. Set SLACK_WEBHOOK_URL in your Hatchbox environment to continue receiving notifications. No database migration or rake task is required.

🚀 Features​

  • ✅ Added a (Select All) option to standard and advanced multi_select filters. It toggles all options, including (Empty), and can be disabled with allow_select_all_option: false. The control is UI-only; only selected filter values are submitted. (#1663) @Mahaveer1141

🐛 Bug Fixes​

  • 🐛 Fixed handling of an unset Hatchbox Slack webhook: the scripts now warn that SLACK_WEBHOOK_URL is missing and safely skip sending a notification. (#1678) @austinjb32

✨ Improvements​

  • 🛡️ Removed the hardcoded Slack webhook secret and the config-unavailable alert and related code. Deployment notifications now use only the SLACK_WEBHOOK_URL environment variable. (#1678) @austinjb32

⚠️ Breaking Changes​

  • ⚠️ Hatchbox deployments that relied on the embedded webhook URL must now set SLACK_WEBHOOK_URL; without it, notifications are skipped. No database migration or rake task is required. (#1678) @austinjb32

📚 Documentation​

  • 📚 Updated the filter DSL reference with the allow_select_all_option parameter and an example. (#1663) @Mahaveer1141
  • 📚 Updated Hatchbox deployment documentation to describe environment-only webhook configuration and remove obsolete config-alert and environment-variable details. (#1678) @austinjb32
  • 📚 Updated the October 2026 changelog with the v8.2.10 release entry. (9f12e37ef)

v8.2.10 (2026-10-16)​

  • Merge pull request #1671 from commutatus/fix/CT-324-papertrail-argument-error (acfe25f2d)

  • docs: update changelog for v8.2.9 (07bcc2cc6)

  • fix(papertrail): support positional options in has_paper_trail wrapper (f8344d812)

v8.2.9 (2026-10-16)​

  • Merge pull request #1669 from commutatus/fix/release-notes-context (a071e5794)

  • feat(release): render Slack highlights as bullet points (216aa59c2)

  • feat(release): credit PR contributors in generated release notes (45f250d06)

  • fix(release): anchor docs insertion to page title and exclude prerelease tags (8ac94ebf7)

  • docs(changelog): correct October 2026 release entries (e804aa376)

  • fix(release): scope PR context to tag range and pass release date to notes prompt (2ed87033d)

  • docs: update changelog for v8.2.8 (9151b4959)

v8.2.8 (2026-10-15)​

Catalyst v8.2.8 — October 15, 2026

🐛 Bug Fixes​

  • 📤 Export modals are now limited to the appropriate relationship pages. On has_one tabs, neither export modal is rendered; index and associated export modals are mutually exclusive. #1668 (@anbublacky)

✨ Improvements​

No improvements in this release.

📚 Documentation​

No documentation changes in this release.

v8.2.7 (2026-10-15)​

Catalyst v8.2.7 — October 15, 2026

🐛 Bug Fixes​

  • 🐛 Skip rendering the associated export modal on has_one tab pages, where there is no export trigger and the modal could show an invalid column list. The index and associated export modals are now mutually exclusive. #1667 (@anbublacky)

📚 Documentation​

  • 📝 Updated the changelog and release listing with the v8.2.6 release notes. 5922e34f3

v8.2.6 (2026-10-15)​

Catalyst v8.2.6 — October 15, 2026

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

📚 Documentation​

  • 📝 Updated the changelog and release listing. 4139554ec

v8.2.5 (2026-10-15)​

Catalyst v8.2.5 — October 15, 2026

🚀 Features​

  • 📜 Associated record history — Record history pages can now show the version history of nested and associated records together with the parent record's changes, so all related activity appears in one place. To enable it, include CmAdmin::PaperTrailAssociations in ApplicationRecord and declare the associations to track on each model:

    has_paper_trail
    paper_trail_associations :po_items, :po_parts, :attachments

    History entries render each record's display name, and unattributed changes are credited to "System user" instead of "Anonymous". Works with has_many and has_many :through associations, and falls back to the previous behaviour when all_versions_including_associations is unavailable. #1087 (@anbublacky)

    Watch the walkthrough

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Associated record history guide — Added AssociatedRecordHistory.md covering CmAdmin::PaperTrailAssociations and paper_trail_associations setup. #1087 (@anbublacky)
  • 📝 Updated the changelog and release listing with the v8.2.4 release notes. dd6769432

v8.2.4 (2026-10-15)​

Catalyst v8.2.4 — October 15, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🔐 Respect record access when rendering links: Association fields and exported “Record ID” values now render as plain text when the user cannot access the associated record. The access check also accounts for record-level policy scopes and fails closed if policy resolution encounters an error. #1646 (@anbublacky)

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📝 Updated the v8.2.3 changelog. 9fc6c7064

v8.2.3 (2026-10-14)​

Catalyst v8.2.3 — October 14, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 💬 Hatchbox deployment notifications: Restored a compact Slack layout with a status title, one-line message, and action buttons. Added fallback notification text for mobile previews; failure notifications retain their visual emphasis. #1658 (@austinjb32)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Updated the HatchboxScripts guide to describe the compact Slack notification format and renamed “View on Hatchbox” button. #1658 (@austinjb32)

v8.2.2 (2026-10-13)​

Catalyst v8.2.2

Date: October 13, 2026

🚀 Features​

  • 🔐 Redesigned OTP verification with six individual digit boxes, paste and autofill support, keyboard navigation, and a resend countdown for sign-in and password-reset flows. #1656 (@Mahaveer1141)

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • ⌨️ OTP entry supports SMS one-time-code autofill, paste across digit boxes, and keyboard navigation. #1656 (@Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the changelog with the v8.2.1 release notes. f33ebeb82

v8.2.1 (2026-10-13)​

Catalyst v8.2.1

Date: October 13, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🧱 Fixed show-page card-info grids overflowing when descriptions contain long, unbreakable content such as URLs or long IDs. Descriptions now wrap, and embedded images scale to fit their container. #1657 (@BrijeshSajeev)

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the changelog with the v8.2.0 release notes. 98c9c7937

v8.2.0 (2026-10-13)​

Catalyst v8.2.0

Date: October 13, 2026

⚠️ WARNING: Breaking Changes — filter_with scopes for :single_select, :multi_select, :date, and :range filters now receive (value, condition). Update these scopes to accept the new arguments; date and range scopes now receive the raw value string instead of separate from and to values. Upgrade guide

🔄 WARNING: Migration Required — Saved Views replace Index Preferences. Generate and run the migration to create ct_page_views; it drops cm_index_preferences without migrating its data. Back up that table first if you need to retain its data.

rails generate cm_admin:ct_page_view
rails db:migrate

🚀 Features​

  • 🔎 Advanced Filters: Build nested condition groups using AND/OR logic and field-specific operators such as is_not, greater_than, and is_empty. Advanced conditions work with supported select, date, and range filters. #1637 (@Mahaveer1141)
  • 💾 Saved Views: Save and reuse per-user index configurations, including filters, sort order, visible columns, page size, and view type. Views can be duplicated, set as defaults, and shared through links. This replaces Index Preferences. #1637 (@Mahaveer1141)

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🔗 Filter parameters are now compressed in URLs using zlib and base64url-encoded JSON. Existing nested filter hashes and plain JSON remain supported; use CmAdmin::Utils.decode_filter_params when reading filter parameters in application code. #1637 (@Mahaveer1141)
  • 🎛️ Advanced filters support serialized and restorable filter state, dynamic operator options, and preservation of URL parameters when saved views are applied or cleared. #1637 (@Mahaveer1141)

⚠️ Breaking Changes​

  • 🛠️ filter_with scope signatures changed: Select, date, and range filter scopes now receive (value, condition = nil). Date and range scopes receive the raw value string (for example, "18 to 30") instead of separate from and to arguments. Update lambda scopes to accept the new signature; strict-arity lambdas can raise ArgumentError otherwise. Search scopes are unchanged. #1637 (@Mahaveer1141)
  • 🗂️ Index Preferences were removed: CmIndexPreference and cm_index_preferences are replaced by Saved Views and CtPageView. The generated migration drops the old table, and its data is not migrated. #1637 (@Mahaveer1141)

📚 Documentation​

  • 📚 Added guides for Advanced Filters and Saved Views, expanded custom filter scope documentation, documented the ct_page_view generator, and added a v8.2.0 upgrade guide covering breaking changes, migration steps, and filter URL handling. c58bc0fcd

v8.1.15 (2026-10-13)​

Catalyst v8.1.15

Date: October 13, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🔎 Single- and multi-select filters now respect allow_empty_option: false. Single-option filters also display the selected option’s label in the chip instead of its raw value. #1650 (@austinjb32)

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the monthly changelog and release metadata with the v8.1.14 release notes. e301a8196

v8.1.14 (2026-10-13)​

Catalyst v8.1.14

Date: October 13, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🥧 Pie charts now show labels by default, with a formatter displaying each slice’s name, value, and percentage. #1655 (@Kishore-Girivasan)

    Pie chart with labels Pie chart label details

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📚 Updated the monthly changelog and release metadata with v8.1.13 release notes. 9929c567a

v8.1.13 (2026-10-13)​

Catalyst v8.1.13

Date: October 13, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🧭 Custom button and link actions in dropdown and popup options now navigate outside Turbo Frames, ensuring navigation loads the full page. #1654 (@Kishore-Girivasan)

✨ Improvements​

No improvements in this release.

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

No documentation changes in this release.

v8.1.12 (2026-10-09)​

Catalyst v8.1.12 — October 9, 2026

🚀 Features​

  • 🔎 Global search now includes configured sidebar links, including nested links. Sidebar labels and model names remain searchable, and matching suggestions use configured labels and icons without duplicate URLs. #1643 (@anbublacky)

    Watch the video explanation

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 📦 Consolidated 16 dependency updates across the gem, feature app, docs site, and root npm workspace. This includes Devise 4.9.4 → 5.0.4, a major-version upgrade, along with Ruby and JavaScript dependency updates. #1651 (@anbublacky)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

v8.1.11 (2026-10-09)​

Catalyst v8.1.11 — October 9, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🐛 Updated the dashboard table widget layout so descriptions wrap beneath the heading at full width, while the sort and export buttons remain aligned beside the title. This prevents long descriptions from being clipped or crowding the action buttons. #1647 (@Kishore-Girivasan)

    Before Dashboard table header before the layout change

    After Dashboard table header after the layout change

✨ Improvements​

  • ✨ Updated the Lexxy rich text editor dependency to stable version 1.0.0, moving Catalyst from the 0.x beta series. Existing Action Text integration remains compatible. #1649 (@barath46)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

No documentation changes in this release.

v8.1.10 (2026-10-09)​

Catalyst v8.1.10

Date: October 9, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🎨 Navigation icons — Updated the CmRole and CmCronJob icons so they are defined consistently in the models’ admin configuration. #1645 (@venky-21509)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Changelog — Updated the documentation changelog with the v8.1.9 release notes, covering that release’s improvements and documentation updates. 05f3e912b

v8.1.9 (2026-10-08)​

Catalyst v8.1.9

Date: October 8, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🧾 MCP field schemas and serialization — Improve enum handling, include nil for nullable enum values, and add explicit string casting and type conversion for field values. #1644 (@Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Changelog — Added the v8.1.8 release notes to the documentation changelog, summarizing that release’s features, fixes, improvements, and documentation updates. af79b70ee

v8.1.8 (2026-10-08)​

Catalyst v8.1.8

Date: October 8, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🧮 MCP decimal serialization — Normalize BigDecimal field values to floats for JSON compatibility, including values returned through the serializable_hash fallback. #1642 (@Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

No documentation changes in this release.

v8.1.7 (2026-10-08)​

Catalyst v8.1.7

Date: October 8, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🧩 MCP field serialization — Normalized BigDecimal field values to floats for JSON compatibility, including values returned through the serializable_hash fallback. #1641 (@Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Changelog — Added the v8.1.6 release notes to the documentation changelog, including summaries of that release’s features, fixes, improvements, and documentation updates. 1317b17d3

v8.1.6 (2026-10-08)​

Catalyst v8.1.6

Date: October 8, 2026

🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🧩 MCP field schemas — Improved enum handling by mapping explicit enum fields to strings and using enum values in the schema. Field schemas now consistently support nullable types. #1640 (@Mahaveer1141)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📖 Changelog — Added v8.1.5 release notes to the documentation changelog, covering its features, bug fixes, improvements, and webhook setup details. be3427d6d

v8.1.5 (2026-10-08)​

Catalyst v8.1.5

Date: October 8, 2026

🐛 Bug Fixes​

No bug fixes in this release.

✨ Improvements​

  • 🎫 Support-ticket validation and migration templates — Scoped platform_ticket_id uniqueness validation to the Catalyst installation, improved type checking and code consistency, and changed foreign key columns in the migration template from integer to bigint. The template change applies to migrations generated in the future; no database migration is required for this release. #1639 (@Mahaveer1141)

📚 Documentation​

  • 📖 Changelog — Added the v8.1.4 release notes to the documentation changelog, including feature, bug-fix, improvement, and webhook setup details. baad7e483

⚠️ Breaking Changes​

No breaking changes in this release.

v8.1.4 (2026-10-08)​

Catalyst v8.1.4

Released: October 8, 2026

🚀 Features​

  • 🪝 Webhook event logging and Postmark delivery tracking — Added a webhook logging system with asynchronous processing, an admin UI for inspecting events, and Postmark delivery tracking with recipient-level statuses. Webhook payloads are stored through ActiveStorage, and events can be associated with records for debugging and auditing. #1507 (@Kishore-Girivasan)

    Email log delivery tracking Email log recipient statuses Social beat email log Email log attachment Email log attachment

  • 📝 Page descriptions in the index navbar — Index pages can now display a page description in the top navbar, with styling for secondary text and links. #1632 (@Kishore-Girivasan)

    Index page description in the navbar

🐛 Bug Fixes​

  • 🛠️ Release workflow SIGPIPE failures — Fixed release context collection failing when git log output was piped through head. The workflow now passes context using file paths, avoiding command-line size limits and allowing larger docs diffs. #1638 (@austinjb32)

✨ Improvements​

  • ⚙️ Devise OTP initialization — Register Devise modules through config.to_prepare, add an autoload for CmAdminAuthenticatable, and avoid OTP checks when a custom authentication method is configured. #1633 (@Mahaveer1141)
  • ✉️ Email log display titles — Email log pages now use a display title in the [id] subject format. #1630 (@Kishore-Girivasan)
  • 🪝 Webhook processing and event records — Webhook handling now uses a generic router and service-based processing, with payload attachments, UUIDs, and event associations. #1507 (@Kishore-Girivasan)

📚 Documentation​

  • 📖 Webhook setup and generator guides — Added a webhook logging guide covering configuration, controller overrides, routing, processing, and the admin UI. Updated the generator reference with cm_admin:add_webhook_events, its migration details, and the ActiveStorage setup requirement. #1636 (@Kishore-Girivasan)
  • 🧾 Release documentation — Updated the release changelog documentation with the current default notes-generation model. #1638 (@austinjb32)

⚠️ Breaking Changes​

No breaking changes in this release.

Optional webhook setup: To enable webhook event logging, generate the table and run the migration. Webhook payload storage also requires ActiveStorage to be installed and configured.

rails generate cm_admin:add_webhook_events
rails db:migrate
rails active_storage:install

v8.0.16 (2026-10-05)​

v8.0.16

Released: October 5, 2026


✨ Improvements​

  • ♻️ OTP generation and verification logic consolidated — The OTP flow has been refactored into a single, self-contained path on OtpRequest, removing the previous dependency on a user object. This makes OTP handling easier to reason about and reuse across email- and non-email-based delivery. — #1626 (@Mahaveer1141)

    • 🧮 New OTP_EXPIRY_IN_MINUTES constant — Extracted the expiry window into a single constant, now used by both the timed_out and active scopes so expiry logic can't drift between them.
    • 🏗️ New OtpRequest.generate! class method — Handles OTP creation end-to-end, including automatic cleanup of expired and active requests before generating a new one.
    • ✅ New OtpRequest.verify? class method — Validates a submitted OTP and updates the relevant statuses in one call.
    • 📨 deliver_otp simplified — Now always calls send_otp instead of branching on whether a user or a raw email was supplied.
    • ✉️ deliver_via_email signature updated — Accepts the email address directly as a parameter rather than resolving it from a user.

    ℹ️ These are internal API changes. If your application overrides or calls deliver_otp / deliver_via_email directly, update the call sites to pass the email explicitly.

📚 Documentation​

  • 📝 Changelog updated for v8.0.15 — Added the v8.0.15 entry to docs-site/docs/Changelog/2026-10.md, covering the lazy-loaded dashboard widgets, the nested-forms view-toggle fix, and the env-driven Hatchbox deploy scripts (including the deployment_alerts breaking change and the deploy_config:sync migration steps). — dc6bad29f
  • 🗂️ Release metadata refreshed — docs-site/static/releases.json updated so the new changelog entry is picked up by the docs site. — dc6bad29f

v8.0.15 (2026-10-01)​

v8.0.15

Released: October 1, 2026


🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🩹 Nested forms now initialize and toggle the configured view correctly — The active state is kept in sync between the nested table and grid view controls, and nested forms initialize in grid mode when default_view_type is configured as :grid. Previously the selected grid icon did not match the rendered table layout, and switching views left the previous control active. Fixed by adding the selector attribute expected by the Stimulus view-toggle handler to both controls and applying the grid-table class during server-side rendering when grid is the configured default. — #1623 (@anbublacky)

✨ Improvements​

  • 🔄 Project workflow rules and lockfile platform entries synced — Refreshed the project's AI workflow rules and yarn.lock platform-specific optional package entries. — #1623 (@anbublacky)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📝 Changelog and release metadata — Added the 2026-10 changelog entry, updated the changelog index, and refreshed static/releases.json. — fad7db117

v8.0.14 (2026-10-01)​

v8.0.14

Released: October 1, 2026


⚠️ WARNING: Breaking Changes

The deployment_alerts cm-admin config accessor has been removed. Hatchbox deployment notifications are now controlled by the DEPLOYMENT_ALERTS environment variable. Any initializer that sets config.deployment_alerts will raise NoMethodError and must be updated.

🔄 WARNING: Migration Required

The .hatchbox deploy scripts are now fully environment-driven, so the deploy-config/ directory checksum has changed. Sync the updated config and set the new environment variables before your next deploy.

bash bundle update cm-admin rake cm_admin:deploy_config:sync

Then commit the updated deploy-config/ folder before deploying — Hatchbox picks it up from git, not from a boot-time copy. Also set APP_NAME and APP_URL (and optionally DEPLOYMENT_ALERTS=false) in your Hatchbox environment variables.


🚀 Features​

No feature changes in this release.

🐛 Bug Fixes​

  • 🩹 Misconfigured environments no longer send broken deploy notifications — Previously a missing app name or URL produced a Slack notification with a blank app name and broken buttons. The scripts now detect blank required values (APP_NAME, APP_URL, SLACK_WEBHOOK_URL) as soon as the config loads and post a single, explicit "config not available" notice naming the Hatchbox app, environment, and server, then exit cleanly. — #1608 (@austinjb32)

✨ Improvements​

  • 🔧 Hatchbox deploy scripts are now fully env-driven — app_name, app_url, env_name, slack_webhook, deployment_alerts?, and the new server_name are read from environment variables instead of CmAdmin.config, Rails.env, or app credentials. This decouples the copied .hatchbox scripts from gem internals and removes their dependency on values like the be_url credential and project_name. — #1608 (@austinjb32)
  • 🐚 Deploy hooks run under plain ruby — Hook scripts no longer boot Rails, and they source ~/.asdf-vars when present so HATCHBOX_SERVER_NAME / HATCHBOX_SERVER_ID are available per Hatchbox docs. — #1608 (@austinjb32)
  • ⏱️ HTTP timeouts on the Slack POST — Open/read timeouts were added so a hung webhook can no longer stall a deploy step. — #1608 (@austinjb32)
  • 💬 Clearer config-unavailable notification — The notice now includes environment and server lines plus an Environment Variables button that deep-links to the app's Hatchbox env-vars page (https://hatchbox.io/apps/<APP_ID>/env_vars). — #1608 (@austinjb32)
  • 🪵 Simplified notification script error handling and logging — Reduced branching and clearer log output in hatchbox_notification.rb. — #1608 (@austinjb32)
  • 🧹 Removed duplicate deployment config directory — Cleaned up a redundant deploy-config/ copy in the gem source. — #1608 (@austinjb32)

⚠️ Breaking Changes​

  • 💥 CmAdmin.config.deployment_alerts removed — The toggle is now the DEPLOYMENT_ALERTS environment variable. Remove the accessor from your initializer:

    ruby

    config/initializers/cm_admin.rb — DELETE THIS

    CmAdmin.configure do |config| config.deployment_alerts = false end

    and instead set it in your Hatchbox environment variables:

    DEPLOYMENT_ALERTS=false

    — #1608 (@austinjb32)

📚 Documentation​

  • 📘 4. Deployment/HatchboxScripts.md rewritten — Documents the new environment-variable table (APP_NAME, APP_URL, SLACK_WEBHOOK_URL, HATCHBOX_APP_ID + LOG_ID, HATCHBOX_SERVER_NAME, RAILS_ENV, DEPLOYMENT_ALERTS), the env-driven lib/config.rb, the Config Not Available flow, the updated ruby-based file layout, and how to skip notifications via DEPLOYMENT_ALERTS=false. — #1608 (@austinjb32)
  • 📘 3. Features/CmAdminConfiguration.md updated — Removed the deployment_alerts config row and its section, replacing it with a pointer to the DEPLOYMENT_ALERTS environment variable. — #1608 (@austinjb32)
  • 📝 Changelog and release metadata — Added the 2026-10 changelog entry, updated the changelog index, and refreshed static/releases.json. — d5b1f948d

v8.0.13 (2026-10-01)​

Catalyst v8.0.13 — October 1, 2026

🚀 Features​

  • ⚡ Lazy-loaded dashboard widgets via Turbo Frames — Dashboard pages now render instantly with skeleton placeholders, and each widget (chart, metric card, table) fetches its content asynchronously from a dedicated endpoint (GET /:dashboard_name/widget/:widget_index). Adds a cm_dashboard_widget controller action, collect_dashboard_widgets / collect_section_widgets / widget_name view helpers, a new _dashboard_widget partial, and a .cm-dashboard-skeleton pulse animation. Section widgets on show pages remain backward compatible. #1579 (@austinjb32)

    Dashboard widgets loading with skeleton placeholders

🐛 Bug Fixes​

  • 🧾 Release-notes generation — Raised the OpenRouter output budget and capped per-section prompt input (git log, PR bodies, docs diff) so large releases no longer truncate the JSON response and silently fall back to the raw git log. #1620 (@austinjb32)

✨ Improvements​

  • 💬 Slack release notifications — Restructured the release announcement into a Block Kit layout: a ✨ Highlights paragraph, an always-present ⚠️ Breaking Changes section, a 📋 Details bullet list with PR links, renamed action buttons, and a release-date footer. #1622 (@austinjb32)

⚠️ Breaking Changes​

No breaking changes in this release.

📚 Documentation​

  • 📝 Updated the changelog with the v8.0.12 release notes. 02a809040