{"id":98156,"date":"2026-10-27T12:32:35","date_gmt":"2026-10-27T10:32:35","guid":{"rendered":"https:\/\/churchtools.academy\/changelog\/web-v3-138-0\/"},"modified":"2026-10-27T15:30:56","modified_gmt":"2026-10-27T13:30:56","slug":"web-v3-138-0","status":"publish","type":"changelog","link":"https:\/\/churchtools.academy\/en\/changelog\/web-v3-138-0\/","title":{"rendered":"Web v3.138.0"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Improvements<\/h2>\n\n<ul class=\"wp-block-list\">\n<li><strong>General<\/strong>\n<ul class=\"wp-block-list\">\n<li>For images, information regarding AI generation, source, and image description can be stored and displayed directly on the image.<\/li>\n\n\n\n<li>Lists in groups and Wiki can be sorted independently of the table view.<\/li>\n\n\n\n<li>When using the Markdown editor, you can use the Backspace key to shorten references to people to just their first names.<\/li>\n\n\n\n<li>HTML line breaks in Markdown table cells are supported in the editor and in the preview.<\/li>\n\n\n\n<li>Permissions can be added, replaced, and removed in a single API request.<\/li>\n\n\n\n<li>The writing assistant now uses the latest Luna model from OpenAI.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Persons<\/strong>\n<ul class=\"wp-block-list\">\n<li>The master data has been migrated to the new layout.<\/li>\n\n\n\n<li> You can now edit person tags and assign a color to them.<\/li>\n\n\n\n<li>People can now be hidden from people lists and selections using a specific permission.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Groups<\/strong>\n<ul class=\"wp-block-list\">\n<li>For newsletter lists that are already linked, the corresponding visible group is displayed.<\/li>\n\n\n\n<li>When a group is archived, any linked newsletters are paused and restored when the group is reactivated.<\/li>\n\n\n\n<li>In routines, e-mail steps for people without an e-mail address can optionally be skipped.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Calendar<\/strong>\n<ul class=\"wp-block-list\">\n<li>Meeting requests can now also be sent to people who can view a group calendar based on their person status or group type permissions.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Events<\/strong>\n<ul class=\"wp-block-list\">\n<li>If multiple people are assigned to the same type of role, they are now listed in the same order as the responsible parties in the Agenda.<\/li>\n\n\n\n<li>Service requests and upcoming services display relevant actions and existing schedules directly in the context menu.<\/li>\n\n\n\n<li>Event administrators can select available staff members when assigning roles, even without additional group permissions.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Resources<\/strong>\n<ul class=\"wp-block-list\">\n<li>When splitting a series of appointments or bookings, any bookings that have already been confirmed remain unchanged as long as the date and time do not change.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Finances<\/strong>\n<ul class=\"wp-block-list\">\n<li>Split entries can be suggested, temporarily saved, and processed as transactions during the import of bank statements.<\/li>\n\n\n\n<li>Bank statements in the Austrian STUZZA-CAMT format can be imported.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Rights Management<\/strong>\n<ul class=\"wp-block-list\">\n<li>Authorized administrators can lock sensitive permissions so that only they can grant or revoke them.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>REST API<\/strong>\n<ul class=\"wp-block-list\">\n<li>A registration group can now be retroactively linked to an event using the Groups -PATCH-API.<\/li>\n\n\n\n<li>The entire API has been revised, supplemented, and expanded using AI.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>System settings<\/strong>\n<ul class=\"wp-block-list\">\n<li>Login to ChurchTools via a third-party system\n<ul class=\"wp-block-list\">\n<li>SAML can now be set up and configured.<\/li>\n\n\n\n<li>OpenID Connect (OIDC) can now be used as a Login provider.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The minimum age for registration and for submitting the consent form independently can be set collectively under \u201cConsent Form.\u201d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Fixed errors<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong>General<\/strong>\n<ul class=\"wp-block-list\">\n<li>Group sign-up buttons are displayed in Markdown editors and posts in a way that matches the preview and membership status.<\/li>\n\n\n\n<li>Links that point to wiki categories now link to the individual category page by default, rather than to the list of all pages.<\/li>\n\n\n\n<li>The search bar in the Markdown source editor remains visible at the bottom of the screen while scrolling.<\/li>\n\n\n\n<li>SongSelect-ChordPro files now display special characters correctly.<\/li>\n\n\n\n<li>Mentions in compact Markdown text and comment previews in the post feed are displayed on the same baseline as the surrounding text.<\/li>\n\n\n\n<li>Vanilla links can be edited in the Embedded Markdown Editor using the pop-up toolbar.<\/li>\n\n\n\n<li>For references to people in Markdown, avatars no longer appear alone at the end of a line; longer names continue to flow with the text.<\/li>\n\n\n\n<li>Traditional lists of groups and wiki pages use the available width before titles wrap to the next line.<\/li>\n\n\n\n<li>The live agenda continues counting into negative territory after a program item has ended.<\/li>\n\n\n\n<li>The app download banner is no longer displayed during a person\u2019s simulation.<\/li>\n\n\n\n<li>Homepage widgets for meeting requests are updated immediately after a response is received.<\/li>\n\n\n\n<li>The Markdown source code editor preserves blank lines and the cursor position when drafts are automatically saved.<\/li>\n\n\n\n<li>E-mail attachments with a semicolon in the filename are now sent correctly again.<\/li>\n\n\n\n<li>Two-factor authentication works more reliably with the Apple Password Manager.<\/li>\n\n\n\n<li>If an e-mail address is missing, the list of sent e-mails now displays an appropriate note.<\/li>\n\n\n\n<li>Expired password reset links now display a note instead of an error page.<\/li>\n\n\n\n<li>Dialog text is once again easy to read in dark mode.<\/li>\n\n\n\n<li>Searchable selection fields can once again be navigated using the arrow keys and the Enter key.<\/li>\n\n\n\n<li>Invalid e-mails no longer prevent further e-mails from being sent. Binary files such as Word or PDF documents are rejected as HTML templates.<\/li>\n\n\n\n<li>PDF exports of single-column standard reports no longer contain an extra table cell.<\/li>\n\n\n\n<li>E-mail sending for events has been made more robust.<\/li>\n\n\n\n<li>On mobile devices, the open sidebar of the new navigation moves along with the navigation bars when scrolled down.<\/li>\n\n\n\n<li>Image attachments without a file extension are downloaded with the correct file type.<\/li>\n\n\n\n<li>When inserting external web addresses in the text editor, a missing https:\/\/ is automatically added without prompting and without prefixing it with the ChurchTools address.<\/li>\n\n\n\n<li>The heading for the people featured in the public church profile uses a separate translation of a person&#8217;s academic title.<\/li>\n\n\n\n<li>Notes during a ChurchTools update and other error messages are displayed in an understandable format rather than as a technical JSON response.<\/li>\n\n\n\n<li>The tag selection for songs and people opens directly from the plus icon instead of from a container that\u2019s too wide.<\/li>\n\n\n\n<li>System emails take existing translations into account more reliably when switching to the recipient&#8217;s language. Test emails also use the selected language for the footer.<\/li>\n\n\n\n<li>Invitation and password reset links are once again protected from being automatically triggered by e-mail link checks that do not use JavaScript.<\/li>\n\n\n\n<li>A translated error message is displayed when uploading empty files.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Persons<\/strong>\n<ul class=\"wp-block-list\">\n<li>Statistics for growth trajectory and marital status are displayed correctly when the app is opened for the first time<\/li>\n\n\n\n<li>Links in error messages that appear when editing people are now displayed correctly again.<\/li>\n\n\n\n<li>The street and additional address fields can now be automatically cleared when archiving a person.<\/li>\n\n\n\n<li>The tooltips for the default e-mail address are now translated correctly.<\/li>\n\n\n\n<li>E-mail addresses can once again be opened in Safari using a local e-mail program.<\/li>\n\n\n\n<li>Incomplete or hidden dates are now correctly included in the person export.<\/li>\n\n\n\n<li>The app no longer incorrectly displays the option to re-invite users who are already logged in.<\/li>\n\n\n\n<li>Spaces at the end of lines in the HTML view are preserved when saving to both the old and new master data.<\/li>\n\n\n\n<li>When adding a group membership to a person&#8217;s profile, the action to create a group is translated correctly.<\/li>\n\n\n\n<li>The text for &#8220;Total&#8221; and &#8220;Filtered People,&#8221; as well as the filter heading, can be fully translated and account for singular and plural forms.<\/li>\n\n\n\n<li>The e-mail type in the Matrix input field is fully highlighted when the mouse hovers over it.<\/li>\n\n\n\n<li>When changing a person\u2019s status, internal group view permissions for the selectable status values are also taken into account.<\/li>\n\n\n\n<li>When creating a hidden person, a warning is displayed if the user lacks permission to view hidden persons. Subsequently, the search does not include the hidden person.<\/li>\n\n\n\n<li>In the new person master data, the note for standard fields is displayed again when the \u201cClear field upon archiving\u201d toggle is disabled.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Groups<\/strong>\n<ul class=\"wp-block-list\">\n<li>Lists in the descriptions of group registration fields are once again displayed with individual bullet points.<\/li>\n\n\n\n<li>Archived people are no longer displayed in meetings.<\/li>\n\n\n\n<li>Roles for the currently open group can once again be selected in mentions.<\/li>\n\n\n\n<li>Markdown defaults for group membership fields are now applied in full and with proper formatting.<\/li>\n\n\n\n<li>Selecting target groups in the filter on the group homepage now works reliably again on iPhones.<\/li>\n\n\n\n<li>People at the same address are once again displayed in the map view with their connection lines.<\/li>\n\n\n\n<li>When changing the group type, roles with the same name are preselected.<\/li>\n\n\n\n<li>Group descriptions can be saved again using the &#8220;Edit Group Info&#8221; permission.<\/li>\n\n\n\n<li>Wait steps in routines can once again be saved and edited with a wait time.<\/li>\n\n\n\n<li>Newsletter lists display the assigned group in the tooltip. Pending opt-in e-mails can be resent directly from the member table.<\/li>\n\n\n\n<li>Group descriptions can be saved again using the &#8220;Edit Group Info&#8221; permission.<\/li>\n\n\n\n<li>Blocked users can once again be selected under \u201cWho is signing up?\u201d during public group registration.<\/li>\n\n\n\n<li>The \u201cNo\u201d filter for \u201cYes\/No\u201d group membership fields now also includes members without a saved field value that matches the default value.<\/li>\n\n\n\n<li>Verification upon registration is no longer displayed as a text field in the group information, but only in the registration settings.<\/li>\n\n\n\n<li>When adding conditions and links for automatic membership, existing filter links and conditions are retained.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Posts<\/strong>\n<ul class=\"wp-block-list\">\n<li>In the print preview of posts, additional link destinations are no longer displayed in the header.<\/li>\n\n\n\n<li>Link preview now correctly handles Markdown links with masked special characters.<\/li>\n\n\n\n<li>When creating posts on an iPhone, focused input fields remain visible even when the keyboard is open and the browser viewport is moved.<\/li>\n\n\n\n<li>The number emojis 0\u20139, as well as #\ufe0f\u20e3 and *\ufe0f\u20e3, can now be used as reactions to posts.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Calendar<\/strong>\n<ul class=\"wp-block-list\">\n<li>The menu item for managing calendar permissions is no longer displayed if you do not have access to the calendar.<\/li>\n\n\n\n<li>When an event tag filter is active, the calendar now displays only matching events.<\/li>\n\n\n\n<li>Changes to appointment tags are applied immediately without reloading.<\/li>\n\n\n\n<li>Appointments are no longer displayed twice after overlapping calendar updates.<\/li>\n\n\n\n<li>Search results in the old calendar list view are preserved when printing.<\/li>\n\n\n\n<li>Calendar and resource names are now translated when subscribing via iCal.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Events<\/strong>\n<ul class=\"wp-block-list\">\n<li>Warning messages for empty Agenda items remain open.<\/li>\n\n\n\n<li>Comments regarding shift acceptances and cancellations can now also be entered on the Home page.<\/li>\n\n\n\n<li>E-mails to registered users can once again be sent directly from the duty roster.<\/li>\n\n\n\n<li>The role tooltip clearly displays the time of the last reminder e-mail as text.<\/li>\n\n\n\n<li>Tag counters in the song list now account for the selected song category.<\/li>\n\n\n\n<li>When a role is activated for the event chat after the fact, the participant list is updated immediately.<\/li>\n\n\n\n<li>Role categories in the event overview are once again filtered according to the selected campus.<\/li>\n\n\n\n<li>When entering data, the focus remains when switching fields. You can navigate between numeric fields using Tab and Shift+Tab, and the values are saved when you exit the field.<\/li>\n\n\n\n<li>The duration of a subheading in an Agenda can now either be set explicitly (to specify a planned total duration) or calculated as the total duration of the subsequent items.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Resources<\/strong>\n<ul class=\"wp-block-list\">\n<li>Resource managers can once again create bookings for their resources.<\/li>\n\n\n\n<li>&#8220;Create New Request&#8221; now opens the booking dialog in the weekly view again.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Wiki<\/strong>\n<ul class=\"wp-block-list\">\n<li>Wiki pages with special characters in their titles will display correctly again after reloading.<\/li>\n\n\n\n<li>Markdown content in the wiki is displayed consistently, regardless of surrounding page styles.<\/li>\n\n\n\n<li>Deleted images are no longer displayed in the wiki content.<\/li>\n\n\n\n<li>The table of contents can expand all the way to the bottom of the screen.<\/li>\n\n\n\n<li>When inserting mentions, the current scroll position is preserved.<\/li>\n\n\n\n<li>The Markdown source editor no longer automatically modifies entered lines and special characters.<\/li>\n\n\n\n<li>Wiki pages with special characters in their titles can now be reopened and displayed in the page overview.<\/li>\n\n\n\n<li>For automatically detected links in the HTML wiki editor, unpaired parentheses at the end are no longer included in the link destination.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Check-in<\/strong>\n<ul class=\"wp-block-list\">\n<li>Group lists can be printed again when completing a check-in.<\/li>\n\n\n\n<li>The &#8220;Undo&#8221; action reliably reverses the last check-in.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Finances<\/strong>\n<ul class=\"wp-block-list\">\n<li>Bookings with an amount of \u20ac0.00 can be recreated.<\/li>\n\n\n\n<li>The links under \u201cMore in Finance\u201d now open the correct views again.<\/li>\n\n\n\n<li>Bank statements with bookings that are not sorted chronologically are now imported with the correct time period.<\/li>\n\n\n\n<li>Bank statements from ZIP files containing subfolders can now be imported again.<\/li>\n\n\n\n<li>Split bookings can now be converted back to regular bookings and then edited.<\/li>\n\n\n\n<li>Sub-entries of a split entry are once again displayed with visible, disabled fields.<\/li>\n\n\n\n<li>Bookings can also be edited and deleted in the mobile view.<\/li>\n\n\n\n<li>Existing bookings are converted correctly during a retroactive split even if the first partial booking is deleted. Attempting to save again after a document error does not generate additional split bookings or duplicate documents.<\/li>\n\n\n\n<li>When splitting suggested entries during bank statement import, entry texts and manually entered document numbers are preserved; additional partial entries for remaining amounts are added, and selected fields remain highlighted. A single complete partial entry can be processed as a normal transaction. Split transactions are displayed clearly even on narrower screens.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sync<\/strong>\n<ul class=\"wp-block-list\">\n<li>Descriptions for connecting external systems are now displayed again with correctly formatted lists and links.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Reports<\/strong>\n<ul class=\"wp-block-list\">\n<li>Missing translations in AdHoc reports have been added.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>System settings<\/strong>\n<ul class=\"wp-block-list\">\n<li>When editing an OAuth server, invalid URLs are highlighted directly in the relevant input field with a specific note.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Public relations<\/strong>\n<ul class=\"wp-block-list\">\n<li>The visitor count &#8220;up to 50&#8221; in public profiles can now be translated as full text.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>REST API<\/strong>\n<ul class=\"wp-block-list\">\n<li>When downloaded via the API, WebP images are served with the correct MIME type, image\/webp.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"author":12,"template":"","plattform":[707],"class_list":["post-98156","changelog","type-changelog","status-publish","hentry","plattform-web"],"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","pp_force_visibility":null,"pp_subpost_visibility":null,"pp_inherited_force_visibility":null,"pp_inherited_subpost_visibility":null,"acf":{"version":"3.138.0"},"_links":{"self":[{"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/changelog\/98156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/changelog"}],"about":[{"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/types\/changelog"}],"author":[{"embeddable":true,"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":3,"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/changelog\/98156\/revisions"}],"predecessor-version":[{"id":98159,"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/changelog\/98156\/revisions\/98159"}],"wp:attachment":[{"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/media?parent=98156"}],"wp:term":[{"taxonomy":"plattform","embeddable":true,"href":"https:\/\/churchtools.academy\/en\/wp-json\/wp\/v2\/plattform?post=98156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}