Rock Product Planning Roadmap: Upcoming Deprecations Through v21 Published Mar 16, 2026 As Rock continues to mature, we periodically groom the platform to ensure it remains secure, sustainable and focused on the tools churches actively use. This includes retiring legacy blocks, integrations and features that have modern replacements or are no longer widely adopted. The items listed below outline planned deprecations and removals across upcoming releases. In most cases, these changes reflect long standing transitions that have been communicated over time, with extended opportunities for churches to migrate to newer and better options. We know every organization uses Rock a little differently. If any of the items below would create an unexpected or significant impact for your ministry, we want to hear from you. While we cannot guarantee changes to the roadmap, we are open to feedback and committed to helping you identify alternative solutions where needed. These plans are informed by community usage research and ongoing conversations with churches across the Rock ecosystem. If you want to hear directly from the team about how product grooming strengthens the ecosystem, listen to this Rock Cast episode: Version 19 (Expected Release First Half of 2026) The following features will be removed: Removal of Event Registration Webforms Block - The legacy Event Registration Webforms block will be removed. As part of this transition, it will be automatically replaced with the new Obsidian block, implemented in v14, to ensure existing pages continue to function without disruption. SignNow Integration - We recommend moving to Rockʼs built-in signature signing capability introduced in v14. DotLiquid - We will be removing the code assemblies for DotLiquid. Support for DotLiquid was removed in v17. This change should only impact plugins that have yet to recompile or update. Turnstile Captcha - Rock has a new built in captcha system that is replacing the CloudFlare Turnstile solution. Dynamic Heat Map - The library used for this has been removed from Google Maps API. System Email - This was replaced in v10 by the System Communications feature, which enables system SMS messaging. It was originally scheduled for removal in v17, but has been moved to v19. We will be deprecating the following features: Campus Service Times - This is a feature on campuses that allows you to provide a unstructured list of services times. We are encouraging organizations to move to the new Campus Schedules. Your currently configured service times will still work and be editable, but we are urging the community to move to the new solution. Version 20 (Expected Release Second Half of 2026) The following features will be removed: Removal of the Old Rock Internal Theme - We will remove the old internal theme that was replaced in v18. Delete v1 Profile Pages - We will delete the pages that were a part of the v1 person profile. These pages were replaced in v14. This will include deleting the related obsoleted blocks below: Person Profile Removal of the Protect My Ministry (PMM) v1.0 Interface - PMM has released two newer versions as a plugin since itʼs original inclusion in core. This integration will now be fully implemented as a plugin. Legacy Block Transitions - The following legacy blocks will be removed and replaced with their corresponding Obsidian blocks: Workflow Entry ⭐ Contribution Statement Lava ⭐ Communication Entry Wizard ⭐ Group Attendance Detail Contribution Statement Lava Note Batch List Apple TV Page List Version 21 (Expected Release First Half of 2027) Remove Campus Service Times - This feature was deprecated in v19 (see above). Deprecate Lava Execute - We will be removing the undocumented Lava execute tag. We will be providing new Lava filters to print to ZPL and Base64 encode strings as this command was sometimes used for those activities. Remove FontAwesome - Rock moved to the Tabler icon set in v18. We will be dropping core support for FontAwesome, but organizations are welcome to implement it themselves. Webforms Check-in - We will be removing the legacy webforms/workflow based check-in. Organizations must use the new NextGen check-in that was introduced in v17. Wi-Fi Captive Portal - Core features that are a part of the Wi-Fi Presence features will be removed. The Wi-Fi Presence service from Ministry Dynamics is no longer using these features. Legacy Block Transitions - The following legacy blocks will be removed and replaced with their corresponding Obsidian blocks: Group Scheduler ⭐ Dynamic Data ⭐ Page Parameter Filter ⭐ Group Placement Connection Request Detail - This will be replaced by the Connection Request List block that will auto-open to the request details. Blocks Removed With No Replacement - The following blocks will be fully removed from Rock with no replacement. This cleanup supports our ongoing transition to Obsidian and helps reduce long term maintenance of legacy functionality. Community surveys and usage research indicate these blocks are rarely used. To help you validate impact in your own environment, we have included a SQL statement below that you can run to identify whether any of these blocks are currently in use. Group Member Link Package Detail Lava Groups Context Setter Person Transaction Links Related Entity Connect Related Entity List Rock Modal Gallery ViewState Viewer Sample Linq Report RSS Feed RSS Feed Item Person Context Setter Account Detail (Security) Date Range Context Setter Defined Value List Lava Connection Request List Lava Prayer Request List Lava Link List Lava Tags (not the feature, this is a specific very rarely used block) Content Channel Item Personal List Lava Dashboard Blocks - These blocks were created in the early days of Rock. We recommend transitioning to Lava using the Chart shortcode. PieChartDashboardWidget BarChartDashboardWidget LineChartDashboardWidget LiquidDashboardWidget Dynamic Chart Campus Schedule Context Setter Package Rating Person Attribute Forms Check-in Manager Person Location Activate Workflow Stark Detail Stark List Captive Portal The ⭐highlights items of importance. Below is a SQL statement that we formulated to help you know if you're using any of the proposed blocks to be removed. It will tell you if the block is on a page in your instance and if so how many times that page has been visited in the last 30 and 90 days. SELECT CASE WHEN [PageCount] = 0 THEN 'GREEN' WHEN [PageViewsInLast90Days] = 0 THEN 'GREEN' WHEN [PageViewsInLast30Days] < 50 THEN 'YELLOW' ELSE 'RED' END AS [Status] , [Name] AS [BlockName] , [Category] , CASE WHEN [PageCount] = 0 THEN 'You are not using this block.' WHEN [PageViewsInLast90Days] = 0 THEN 'This block is on a page, but there are no page views in the last 90 days.' WHEN [PageViewsInLast30Days] < 50 THEN 'This block is on a page, but has less than 50 page views in the last 30 days.' ELSE 'This block is on a page and is getting more than 50 page views in the last 30 days.' END AS [Message] , [PageCount] AS [Number of Pages With This Block Type] , [PageViewsInLast30Days] , [PageViewsInLast90Days] FROM ( SELECT bt.[Name] , bt.[Guid] , bt.[Path] , bt.[Category] , (SELECT COUNT(*) FROM [Page] p INNER JOIN [Block] b ON b.[PageId] = p.[Id] WHERE b.[BlockTypeId] = bt.[Id] ) AS [PageCount] , (SELECT COUNT(*) FROM [Page] p INNER JOIN [Block] b ON b.[PageId] = p.[Id] INNER JOIN [InteractionComponent] ic ON ic.[EntityId] = p.[Id] INNER JOIN [Interaction] i ON i.[InteractionComponentId] = ic.[Id] INNER JOIN [InteractionChannel] ich ON ich.[Id] = ic.[InteractionChannelId] INNER JOIN [DefinedValue] mdv ON mdv.[Id] = ich.[ChannelTypeMediumValueId] WHERE b.[BlockTypeId] = bt.[Id] AND mdv.[Guid] = 'e503e77d-cf35-e09f-41a2-b213184f48e8' AND i.[InteractionDateTime] >= DATEADD( day, -30, GETDATE()) ) AS [PageViewsInLast30Days] , (SELECT COUNT(*) FROM [Page] p INNER JOIN [Block] b ON b.[PageId] = p.[Id] INNER JOIN [InteractionComponent] ic ON ic.[EntityId] = p.[Id] INNER JOIN [Interaction] i ON i.[InteractionComponentId] = ic.[Id] INNER JOIN [InteractionChannel] ich ON ich.[Id] = ic.[InteractionChannelId] INNER JOIN [DefinedValue] mdv ON mdv.[Id] = ich.[ChannelTypeMediumValueId] WHERE b.[BlockTypeId] = bt.[Id] AND mdv.[Guid] = 'e503e77d-cf35-e09f-41a2-b213184f48e8' AND i.[InteractionDateTime] >= DATEADD( day, -90, GETDATE()) ) AS [PageViewsInLast90Days] FROM [BlockType] bt LEFT OUTER JOIN [Block] b ON b.[BlockTypeId] = bt.[Id] WHERE bt.[Guid] IN ( 'FAFBB883-D0B4-498E-91EE-CAC5652E5095', '9AAA967C-D0B0-4E42-89DE-2AE6AAFC17EF', '62F749F7-67DF-4A84-B7DD-84CA8E10E205', '9EC29D0F-7EE7-434B-A30F-6C36A81B0DEB', '62F749F7-67DF-4A84-B7DD-84CA8E10E205', '2BB707AC-F29A-44DF-A103-7454077509B4', '5F40F4FD-338A-4711-87F7-980ED1FAE615', '28516B18-7423-4A97-9223-B97537BD0F79', 'CDDE32B6-CDC2-4869-AA39-35DB97D3A59F', '268F9F11-BC74-4E86-A72D-6AA668BF470D', 'E98E0584-0D87-4DC6-9085-DC93F17AFB7F', '2760F435-3E89-4016-85D9-13C019D0C58F', 'F7898E47-8496-4D70-9594-4D1F616928F5', 'EA33088D-7B18-46A7-ADFA-B9DA9512B4A4', 'B37DC24D-9DE4-4E94-B8E1-9BCB03A835F1', 'ABC4A04E-6FA8-4817-8113-A653251A16B3', 'C4ADDDFA-DF16-467E-9285-B1FF0FC066ED', 'E6BAA42C-D799-4189-ABC9-4A8CA1B91D5A', '341AAD88-47E0-4F25-B4F2-0EBCE5A96A1D', '4E3A95C6-AB63-4920-9EA6-FA5F882B13AD', '0ADBF632-D54D-42D5-A8A1-517E95DDFDB1', 'AC19A4F3-2E88-487E-8E88-377C1C20DBD5', '7BCCBFB0-26A5-4376-B1F3-DC6ADD7C3723', 'A0405364-C722-495B-879C-C57B5BC5E213', '9EC29D0F-7EE7-434B-A30F-6C36A81B0DEB', '5A7C11C2-4E9F-4AF6-8149-CB2093CE9727', '5464f6b3-e0e4-4f9f-8fba-44a18db83f44', '00fc1dea-fe34-41e3-bc0a-2ee9138091ec', '83cb0c72-4f0a-44a7-98d0-260ce33788e9', 'a7961c9c-2ef5-44df-bea5-c334b42a90e2', 'af0b20c3-b969-4246-81cd-76cc443cfdeb', 'bba9210e-80e1-486a-822d-f8842fe09f99', '13e4d4b5-0929-4ed6-9e59-05a6d511fa06', '351004ff-c2d6-4169-978f-5888beff982f', 'ccfcd227-c8f9-4952-8ac5-e427d519ee47' ) GROUP BY bt.[Name], bt.[Guid], bt.[Path], bt.[Category], bt.[Id] ) x