v17.0 Release Notes

  • Core: Fixed an issue with the Obsidian Address Control where validation was not functioning correctly to identify which address fields were required.

  • Core: Fixed issue of "Remote Host Closed Connection" error that would appear, related to Rock avatars (GetAvatar handler).

  • Core: Fixed issue with the Person Link Control where tooltips would not automatically hide.

  • Group: Modified the Security Role delete process to correctly remove all associated audit entries.

  • Core: Updated styles to remove color overrides of btn-danger style, except when the button is a column command (delete, archive, etc) on a Rock Grid.

  • Lava: Fixed Lava Webhook to support all HTTP verbs, such as PUT and PATCH.

  • Core: Fixed the Phone Number Field Type to correctly handle non-default country codes.

  • Communication: Updated email communications to allow special characters, like fancy quotes and em dashes, in emails. These were originally stripped out to prevent older email clients, servers and code from having issues with their Unicode characters.

  • Event: Fixed issue where the Obsidian Event Registration Next/Previous buttons would not always trigger the page to scroll to the top.

  • Lava: Fixed a variable scoping issue inside some Lava command blocks.

  • Core: Added system metrics to the Observability Platform.

  • Check-in: Updated Aero theme to inset navigation buttons when using the windows check-in client.

  • Core: Fixed an issue where the Obsidian MetricItemPicker was using incorrect GUIDs.

  • Core: Fixed issue where the Obsidian Page Picker control could not open the route picker.

  • Reporting: Fixed empty DateTime and Integer attributes values incorrectly being included in LessThan and LessThanOrEqualTo data view filters.

  • Check-in: Added an Area filter to the Schedule Builder block to make it easier to edit schedules for particular check-in areas.

  • Lava: Updated entity commands "count" parameter to take into account groupby, select, selectmany and securityenabled when performing count.

  • Communication: Added the Adaptive Message feature.

  • Core: Improved block setting configuration to make it easier to distinguish settings between different categories.

  • Check-in: Updated Live Metrics to handle if a group had a non-checkin parent group.

  • Finance: Fixed an issue where Transaction List block timed out for large data sets.

  • Core: Fixed group tree error with inactive items and their descendants were incorrectly shown as inactive.

  • CMS: Improved time to save changes on large Personalization Segments.

  • Lava: Fixed the PluralizeForQuantity filter to follow grammar rules when deciding what is pluralized. Instead of treating all numbers greater than one as plural, it treats all numbers as plural except for 1 and -1.

  • Connection: Improved Connection Types by allowing attribute values to be set when editing the type. Entity Attributes must be added to the Connection Type first.

  • Reporting: Fixed an issue with Attendance Analytics where data is sometimes grouped by day even when group by week is selected.

  • Finance: Added Account GL Code to Batch Detail block, when present.

  • Finance: Added an option for hiding Account Totals section in the Financial Batch Detail block.

  • CMS: Updated the default and fallback fav icon.

  • CMS: Added the ability to refresh Persisted Datasets on a schedule (instead of only regular interval).

  • Lava: Added a new Lava filter, PersonByPersonActionIdentifier that takes an encrypted person action identifier and provides the person and action.

  • Check-in: Added the ability to change the terms "Adult" and "Child" on the Family Pre-Registration block.

  • Check-in: Updated the logic that opens/closes room (locations) to write the changes to history.

  • CMS: Added "PrimarySlug" and "ItemGlobalKey" properties of Content Channel Item to Lava fields.

  • CMS: Fixed an issue where indexable attributes were not searchable by Lucene search component.

  • CMS: Improved Universal Search to use ASCII-Folding when creating an index. ASCII-Folding ensures that search results are more accurate and inclusive by considering variations like accents or special characters. This means you'll get better search results, even if you don't type everything perfectly.

  • Communication: Updated to allow deleting Communication Lists that are tied to a communication record.

  • Check-in: Added ability to copy which locations are enabled for a check-in configuration from one schedule to another.

  • CMS: Updated to allow deleting content channels that have existing content channel items.

  • Lava: Added a GuidToId filter to convert an entity Guid to an Id for the specified entity type.

  • CMS: Added styling helper classes for CSS grid and fixed aspect ratio elements.

  • CRM: Fixed the Data Automation job to not include family members of people in dataviews when reactivating them.

  • Finance: Fixed an issue with Transaction List block where it only showed total amounts for the current page.

  • Core: Fixed an issue where data in key value lists did not save.

  • Core: Added user function ROCKGETDATE() to return the current organization date/time in SQL Server.

  • Group: Fixed a formatting issue in the section header for Group History.

  • Finance: Added new report that provides a tithing overview by campus.

  • CMS: Added new PageSearch block that displays subpages and allows searching.

  • Lava: Added a Weeks (w) option to the DateDiff Lava filter. Adds Weekly test methods for DateDiff filter.

  • Core: Improved IP Address Geocoding to save Interaction Session Locations on page load while no longer relying on a paid service.

  • Group: Updated the clean-up job to help keep group member inactive and archive dates accurate when changed outside of the normal business logic.

  • CMS: Updated Rock ShortLinks to make setting UTM values easier.

  • CRM: Added new option to Request Filters to filter by GeoLocation (Country Code, Region Code, City, Postal Code) when available.

  • Core: Fixed an issue with 'name' search on Android mobile browsers not working correctly.

  • Communication: Added the new Communication Entry (Obsidian) block, featuring an enhanced user interface and additional functionalities for streamlined, simple communications.

  • Finance: Fixed an issue where refreshing one-time scheduled transactions past their payment date would display a message that the transaction was inactive but not save the refreshed value.

  • Core: Fixed Family Analytics Attendance and Family Analytics Giving procedures to update attributes during execution by inserting new records and updating existing records.

  • Core: Adjusted the existing Open AI Provider.

  • Core: Reorganized a few items under the Admin Tools menu for improved usability. The new combined 'Settings' page offers a more streamlined experience. Additionally, several items previously located under 'CMS Configuration', such as Content Channels, Websites, Mobile Applications, etc., are now prominently featured in a new section called 'Digital Tools' under Admin Tools.

  • Communication: Fixed an issue in Obsidian Communication Entry block where removed communication list recipients were re-added when sent.

  • Core: Added the ability to pass a foreground and/or background color (RGBA) to the QR Code generator.

  • Communication: Updated Communication Entry and Communication Entry Wizard to allow excluding duplicate recipient addresses.

  • CRM: Added a new feature to Prayer which will optionally run several pre-configured AI completions on saved prayer requests. If you plan on using this feature, read the Tech Bulletin item on this topic.

  • Core: Updated Obsidian date picker to use the native date input on small devices to ensure better experience. Also made the Obsidian Control Gallery more mobile friendly.

  • Event: Event Registration Templates now inherit permissions from their assigned category. Event Registration Templates will automatically adopt the security settings of their parent category, streamlining permissions management.

  • CRM: Added an indicator icon next to the mobile phone number on a person’s profile when they have opted out of SMS messaging using a "stop" keyword.

  • Communication: Update the SMS Pipeline's "Reply" action to allow for setting an optional attachment.

  • Finance: Fixed issue of Transaction Details View not showing the Attributes in the Transaction List block.

  • Core: Fixed an issue where the Obsidian Dynamic Data block lacked a reliable unique key, resulting in duplicate rows appearing during sorting.

  • Finance: Added a new "Enable End Date" block setting to the the UtilityPaymentEntry and TransactionEntryV2 blocks.

  • Lava: Fixed an issue where the Obsidian Lava Shortcode Detail block did not allow the code editor option to be toggled.

  • CRM: Fixed issue with Person Merge sometimes removing persons from groups.

  • Lava: Fixed issue with 'CalendarEvents' and 'EventScheduledInstance' lava commands returning data when not enabled.

  • Communication: Added opt out keyword detection to the SMS Pipeline processor to disable the messaging flag for phone numbers when any of the following messages is received: STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT.

  • Event: Fixed issue with Registration Entry not saving costs for people on waitlist.

  • Event: Fixed issue with Registration Template Detail block being unresponsive when adding a large number of registration attributes.

  • Finance: Fixed an issue where the Obsidian Financial Batch Detail block was not handling dates correctly.

  • Workflow: Fixed an issue where the "Schedule Add" Workflow Action ignores duration for schedules starting at midnight.

  • Group: Fixed an issue that could cause Check-in Configuration to overwrite the inherited group type setting.

  • Event: Fixed Inactive audience type to get excluded from the dropdown.

  • Reporting: Fixed an issue with Metric Value Detail block failing to save metric values with campus partitions when on a single campus instance.

  • Core: Updated Birthday Picker labels to a standardized 'Birth Date' value.

  • Group: Added an optional data view setting to the Send Groups Attendance Reminders job to allow certain groups to be excluded from receiving attendance reminders.

  • Core: Fixed an issue with Registration Template picker not showing selected child templates under nested categories.

  • Lava: Fixed an issue with the SortByAttribute Lava Filter so that it properly handles null values.

  • Event: Fixed an issue that would cause an exception to be silently logged when a registration form field was required but inactive.

  • Finance: Fixed an issue with Financial Account Detail incorrectly allowing setting an account as its own parent.

  • Finance: Fixed Benevolence Type webforms block to support attributes.

  • Reporting: Fixed an issue with Insights block sometimes misrepresenting marital status data.

  • CRM: Fixed an issue that caused the Obsidian Following Suggestion Detail block to not correctly build the attributes for Suggestion Types.

  • CRM: Fixed an issue that caused notes that do not require approval to show a "Pending Approval" status label.

  • Core: Fixed System Configuration Obsidian block to add missing placeholder text.

  • CRM: Updated Assessment Type Detail block to allow setting the 'Valid Duration' value.

  • CRM: Updated Person Signal Type List block to recalculate signals after reordering.

  • CRM: Added new option to control how to handle the Gender field in the Account Entry block.

  • Check-in: Added an option to include parent names on Next-Gen Check-in labels.

  • Core: Fixed the Obsidian Person Signal List block to respect the order set on the signal type as the default sort order.

  • Core: Fixed EntityId Format in Security Change Audit List Obsidian block.

  • Core: Updated an index on the AnalyticsSourceFinancialTransaction table to increase query performance for certain queries.

  • CMS: Fixed Content Channel Type Detail block to hide include time option if "No Dates" is chosen as a date range type.

  • Check-in: Fixed an issue with 'Attended' column header being cut off on the Attendance List block.

  • Group: Fixed issue with Group Schedule Toolbox including unattended events in the past when downloading a calendar.

  • Reporting: Improved the Obsidian Dynamic Data block by adding an HTML column type.

  • Core: Improved database performance with new and revised indexes across multiple tables. These changes improve query efficiency for transactions, person records, group hierarchies, and interactions, based on SQL Server recommendations and other analysis. Key updates include new indexes on FinancialTransaction, enhanced indexing on Person and Group, and a modification to the Interaction table index for better query performance.

  • Engagement: Updated the Sign-up Register block to enable setting the Record Status and Connection Status for newly added people.

  • CRM: Updated the Family Pre-Registration block to allow passing a CampusCode or Campus IdKey to preselect that campus in the campus picker.

  • CRM: Updated the System Settings to provide a new option to disable automatic 'state' selection when adding new addresses.

  • CMS: Added "AutoFocus" a new Content Collection View block setting, to control automatic focus behavior.

  • Finance: Fixed an issue with the Fundraising Donation List block that caused an exception if the transaction's AuthorizedPerson property is null.

  • Group: Updated the Group Schedule Toolbox to include two new block settings to customize the text of the 'decline' and 'confirm` buttons.

  • Core: Added SQL views to make querying for attribute values simpler.

  • CRM: Fixed an issue that prevented unwatching person notes with a "Watching Person" filter.

  • Finance: Fixed issue with Person Profile page not rendering properly after cancelling a Benevolence request edit.

  • Group: Fixed Group Schedule Toolbox to respect include or exclude group type block setting.

  • Event: Fixed Saved ACH accounts to not show in Event Registrations when Use Allow ACH processing for Events is disabled for MyWell gateway.

  • Group: Fix Group Attendance Detail Block to only show active schedules.

  • Engagement: Fixed Sign-Ups Register Block to exclude the group requirement that is not applicable.

  • Finance: Updated Benevolence Type List and Benevolence Request Detail blocks to honor Benevolence Type security.

  • Prayer: Added support for editing custom attributes within the Mobile Prayer Request block. This enhancement allows individuals to update custom attributes when submitting or managing prayer requests from a mobile device. Be aware that Rock Mobile doesn't support all Attribute Types but it does support the most common ones.

  • Check-in: Fixed an issue where the Next-Gen Check-in system did not ignore inactive groups, ensuring only active groups are considered during check-in.

  • Event: Fixed Filter in Event Registrants List.

  • Workflow: Fixed an issue where the Group Registration Block launches a Workflow before a new Group Member is saved to the database.

  • CRM: Updated Electronic Signatures to allow for inserting the signature at specific places in the document template using a new optional "<!--[[ SignatureDetails ]]-->" keyword.

  • Check-in: Fixed missing date formatter on Schedule Time field in Next-Gen labels.

  • Workflow: Fixed Delete Validation logic on Completed Workflows exceeds the Completed Workflow Retention Period.

  • Check-in: Fixed label designer not saving text field rotation information.

  • Finance: Added Mobile Scheduled Transaction List block.

  • CMS: Added new v2 API endpoints for performing basic reading and writing of models.

  • CMS: Improved the Universal Search crawler job to provide a more accurate count of pages successfully indexed for a site, rather than the total number of pages discovered during crawling.

  • Mobile: Added Transaction Detail block to allow individuals to view the details of a contribution.

  • Mobile: Added the Giving Block, enabling streamlined and native donation functionality.

  • Check-in: Added setting to printer devices to specify DPI for NextGen Check-in label printing.

  • Mobile: Added a Transaction List block that displays a list of an individual's contributions with additional filtering options.

  • Event: Fixed an issue with Registration Entry displaying inactive Grades.

  • Finance: Updated the Contribution Statement Generator block to include the Statement Template footer in the generated output.

  • Core: Fixed an issue with the Obsidian Notes Block not correctly rendering markdown.

  • Connection: Fixed an issue with the Connection Request Board's list view grid showing default role instead of assigned role.

  • Core: Fixed an issue with the Video File field type resulting in an API exception when provided with a value.

  • Mobile: Added the Saved Account List block, enabling a way to display a person's saved financial accounts.

  • Mobile: Added the Saved Account Detail block, a way to view and rename a financial person saved account.

  • Finance: Fixed an issue with Benevolence Result attributes not displaying in grid.

  • Check-in: Fixed Group Scheduling requirements in Next-Gen check-in.

  • Communication: Added beta Obsidian Communication Entry Wizard block.

  • CMS: Updated Personalization Segments to allow adding multiple categories.

  • Other: Fixed an issue where the Site Filter on the Exceptions List didn't save its state or update the Site Label.

  • Workflow: Added an option to bypass group member requirements when adding a person to a group using the 'Group Member Add' or 'Group Member Add From Attribute' workflow action. This is useful when a later action, like "Group Member Requirement Met," may fulfill the requirements afterward.

  • Connection: Fixed an issue where the Connection Request Detail block's Transfer Dropdown included inactive Connection Opportunities, ensuring only active opportunities are displayed.

  • Check-in: Added a "Done" button to the bottom of the success screen in the Next-Gen Check-in system, allowing for a clearer exit path after check-in is complete.

  • Check-in: Fixed an issue where a custom Check-in theme was not persisting in saved kiosk templates.

  • Check-in: Fixed an issue with check-out options showing up on the wrong kiosks.

  • Check-in: Fixed an issue preventing editing an existing family when Age Restriction was configured.

  • Core: Fixed an issue in v16.9 where PDF generation failed on Windows Server 2019 and newer due to a compatibility issue with the Chrome used by Rock via the PuppeteerSharp library.

  • Lava: Fixed the Lava Entity Command so that it clears out the returned variable for when there is only one item matching the filter. Without this update it's possible for a former value to be in the variable from the Lava context if an Entity Command was run previously.

  • Core: Over 75 WebForms (legacy) blocks were replaced with our new Obsidian technology. See the full list in this Tech Bulletin.

  • Finance: Fixed Fiscal Week calculation to use the first week containing at least four days, based on the configured start day. Fixed an issue where calendar year transitions in the middle of a fiscal year caused shortened weeks. This change may shift some previously assigned fiscal year days. Review Fiscal Year reporting for potential adjustments.

  • Core: Fixed an issue where the v17 chop job would complete with warnings.

  • Check-in: Fixed Next Gen Check-In allowing selection of closed rooms during override.

  • Finance: Fixed cancel button losing context when adding a new Benevolence Request under Person Profile.

  • Core: Fixed issue with the Send Following Events job that could cause it to stop running without an error if a followed item was deleted.

  • Workflow: Fixed an issue causing the Rock Cleanup job to issue a warning and fail to delete workflows past their retention date if they were attached to a connection request.

  • Core: Fixed an issue where anonymous individuals couldn't view Adaptive Messages with a saturation count.

  • CRM: Fixed an issue in the FamilyPreRegistration block where the Planned Visit Date dropdown list did not format correctly based on the viewer's browser culture.

  • Check-in: Fixed Next Gen Check-In not saving a family address.

  • Workflow: Improved error handling in the Workflow Type detail block to show a standard "is required" message when adding a Workflow Action without selecting an Action Type, avoiding unexpected exceptions.

  • Event: Fixed an issue where the Registration Instance Navigation block displayed pages that should have been hidden according to the "Display When" page setting. The block now respects VIEW security settings for internal Event Registration sub-pages.

  • CMS: Fixed an issue where certain Obsidian List blocks would fail to load grid contents due to incorrect permission checks, displaying an error instead.

  • CMS: Fixed an issue where changes to Personal Link Sections or Personal Links were not immediately reflected in the Personal Links block (the bookmark at the top of every page). Now, any additions, deletions, or modifications to these links appear correctly after a page reload.

  • Check-in: Fixed an issue where the 'Group Role Name' was not displaying on check-in labels or available as a filter option in Next Gen Check-In.

  • CMS: Fixed an issue where pages were missing from the Page Search block if "Show Description on Page" was unchecked. Now, all pages are searchable regardless of this setting, ensuring administrators can reliably find and manage all pages.

  • Check-in: Fixed an issue in Next-Gen Check-In that would cause duplicate attendance records if a person was previously signed up using the Group Scheduler.

  • Engagement: Fixed an issue where project-type-specific fields in the Communications Tab of a Sign-Up event were hidden due to the project type's security settings, preventing Staff from configuring them.

  • CMS: Fixed an issue in the Obsidian Badge Detail block where the 'Display Text' field did not apply syntax highlighting to Lava code, making it appear as plain text instead of formatted output.

  • Engagement: Fixed an issue where the Sign-Up Overview block displayed incorrect participant counts when multiple sign-up groups shared the same location and schedule.

  • Engagement: Fixed an issue where individuals without Rock Admin permissions encountered errors when editing/saving the sign-up group's details even if they had edit permissions on the parent group.

  • Prayer: Fixed an issue where Prayer Request Attributes not marked as "Public" were incorrectly displaying in the Obsidian version of the Prayer Request Entry block. These Attributes are now properly hidden on the Prayer Request Entry block.

  • Check-in: Fixed a bug in Next-Gen Check-in where the Search Mode and Search Term were not saved correctly in Attendance Records.

  • Reporting: Fixed an issue where canceling or deleting a newly created data view caused the page layout to break, misplacing the Category Detail block.

  • Group: Added a Peer Network feature that offers advancements in managing relationships and community.

  • Engagement: Added the Learning Management System (LMS) that provides tools to create and manage educational content, training programs, and courses within your organization.

  • Finance: Added Volunteer Generosity report to compare and capture insights on your volunteer team and their giving.

  • Communication: Added the redesigned Obsidian SMS Conversations block with options to mark messages as unread, create follow-up reminders, and more.