This minor release includes new template organization options, a new widget option, and bug fixes.
This patch release includes improvements to the upgrade process, QuickAccess search, new configuration options, and bug fixes.
This minor release includes new image, pagination, theming, and notification options, as well as a number of bug fixes.
This minor release includes new ways to display related content in LiveWhale CMS, as well as bug fixes around deleted content, customizable URLs, the toolbar, and more.
This minor release includes new widget options, improved linked calendar error-correction, and more.
This minor release includes a new way to format RSS feeds as well as bug fixes and improvements for linked calendar refreshing, navigation display, anchor links in LiveWhale accordions, and more.
This minor release includes new features around Linked Calendars and widget editing as well as a number of bug fixes.
This patch release includes additional PHP 8.1 compatibility improvements as well as a handful of bug fixes.
This release includes a big new feature—customizable URLs for dynamic content—as well as UI improvements and bug fixes.
LiveWhale 2.16.0 7/14/2024
- The JSON API endpoint now includes thumbnail_alt as a separate value from thumbnail_caption, where an ALT text is set on the image.
- Updated aria-required to move it to radiogroup element for required radio buttons in forms and RSVP forms.
- Inserted WYSIWYG images now use alt variables instead of hardcoded caption in their widget format (leveraging the existing ALT functionality more consistently).
LiveWhale 2.15.1 4/19/2024
The following improvements have been made to the front-end calendar.
- For keyboard and screen-reader users
- The default “Search events” component now has a focusable (but visually hidden) submit button using the new class=”lw_sr_only_focusable”. (To improve visual styling for keyboard users, consider display:flex on the container of your themed search form.)
- For screen-reader users
- The month view table now has a screen-reader-only “caption” tag that updates as the current month is changed.
- When the #lw_cal_this_day header is empty, it now gets hidden to avoid empty-header warnings.
- The view selector (day, week, month, all) now has aria-current=”true” added to the currently selected view.
- The “Close Event” button in event details view now has a more descriptive screen-reader label.
- The Subscribe button no longer needs to be an <a> tag - instead, you can use <button class=”lw_cal_subscribe_button”> for better semantic HTML (<a> still supported for backwards compatibility).
- The Subscribe modal now has more descriptive ARIA labels on each individual RSS/iCal link.
LiveWhale 2.15.0 4/12/2024
- The h4.lw_accordion_block_title tag generated by accordions can now be customized and replaced with div or any other block-level HTML tag using the new ACCORDION_BUTTON_WRAPPER config option in client/global.config.php:
$_LW->CONFIG['ACCORDION_BUTTON_WRAPPER'] = 'div'; LiveWhale 2.10.7 8/4/2023
- Increased conformance with WCAG 2.1
- New aria-live announcements added to form, RSVP, related content, and save changes status messages.
- Added autocomplete to RSVP form.
- Updated decorative image tooltip to use a modal for compliance with WCAG 1.4.13 Content on Hover or Focus.
- Resolved some fieldset/label errors when using LiveWhale custom fields.
- Matched visible labels to accessible labels for search and calendar view selector.
- Fixed an issue where list widgets would sometimes not use custom alt text for the alt attribute of an image.
LiveWhale 2.10.4 6/2/2023
- Improved the accessibility of Event RSVP form validation errors by announcing them to screen readers using aria-atomic.
LiveWhale 2.10.0 4/28/2023
- Fixed an issue where the “Other group settings” accordion on the group editor wasn’t expandable from a keyboard or screen reader.
LiveWhale 2.16.1 8/4/2024
- Auto-generated titles when inserting a WYSIWYG video no longer get prefixed with “VIDEO:” (titles are still fully editable when inserting and editing).
- Removed the requirement that groups called “Homepage” or “Home Page” set their URL to /. Homepage groups can use any URL or no URL.
- Lowered the length of custom URLs to 50 characters to prevent database errors when saving drafts. All existing URLs over 50 characters will continue to work and be shortened automatically on next save. This will include a redirect from the old to new URL for backwards-compatibility.
LiveWhale 2.16.0 7/14/2024
- Restored prior behavior for showing 404 to logged-out users when trying to view hidden news, profiles, blurbs, and redirecting hidden events. This replaces the behavior of redirecting to login, which some found confusing.
- Added details_issue_slug to news/blurbs template when part of an Issue (for creating a link back to the issue). You can also use the existing variable details_issue_url for this.
LiveWhale 2.15.0 4/12/2024
- LiveWhale now validates replacement images by file type extension, to ensure that the file type does not change.
- LiveWhale CMS Only: The QuickAccess widget (for placing top links on a search page results) will no longer match partial words (like “art” returning “department”).
LiveWhale 2.14.1 3/8/2024
- LiveWhale now defaults to loading all iframes via lazy loading, unless a manually applied loading attribute is already present.
- Event types are now included in the RSS and ICAL event endpoints even when JSON API v2 is enabled, restoring the RSS/ICAL default behavior.
- Using the my_related_content arg now respects the manually chosen sort order of related content items, unless sort_my_related_content=true is utilized as an override to respect sort_order.
- LiveWhale will auto-correct back-end event editor URLs from events_sub_edit to events_edit, in addition to vice versa.
- Group directory/calendar values are now properly validated based on allowed characters.
LiveWhale 2.14.0 1/26/2024
- The location auto-suggestion that appears when you type will now show global locations and your group’s locations (it had erroneously been showing locations from all groups).
- LiveWhale CMS Only
- When a page is deleted, LiveWhale now removes not just the empty parent directory of that page, but also other empty parent directories up to the web root.
- When a form is attached to an event RSVP, the confirmation email for the RSVP now includes the form responses.
LiveWhale 2.13.0 11/17/2023
- The events RSS endpoint will now supply audience and campus types when configured, in addition to the existing categories.
LiveWhale 2.12.0 10/27/2023
- When sharing to another group and auto-accepting as live, the shared item is no longer duplicated to the destination group, but created as a linked copy. This means that the “Auto-accept as Live” behavior now matches what you’d get by clicking “Accept as Live” in the suggestion notifications on the recipient group.
- When linking to an anchor element inside an accordion content block, the content panel will now automatically open before moving to the element.
- Search interfaces now include all groups by default in the WYSIWYG add/edit link dialog.
- The profile type editor now lists custom fields set in the CMS system configuration that already apply to the profile type being edited.
LiveWhale 2.11.0 10/6/2023
- Event RSS feeds now automatically include the values of custom fields, matching ICAL and JSON feeds.
- Relaxed the limit on maximum length of args such as format and format_widget.
- When adding a new link using the search tool, the wysiwyg link dialog will now auto-fill empty link text with the item or page title.
- LiveWhale CMS only: It is now possible to bulk reassign templates for pages without a current template, provided they do not have special field mapping needs.
LiveWhale 2.10.9 9/15/2023
- Prevent resubmission of Pages navigation editor to avoid accidentally overwriting ongoing work.
LiveWhale 2.10.8 8/25/2023
- When restoring an image from the trash, if content that previously used that image have not had new images assigned, they will have their use of the image restored.
- Robots.txt files will now reference the https:// version of the sitemap rather than http:// for sites that support SSL.
LiveWhale 2.10.7 8/4/2023
- Updated field length checking so customized maximums are checked against visible text characters before saving (disregarding the length of any invisible HTML markup). A new back-end check has been added on save to verify that data doesn’t exceed the database maximums.
- Updated section navigation behavior and allows easier fallbacks with show_section_navigation. [docs]
LiveWhale 2.10.6 7/14/2023
- To allow for easier automatic Google Analytics 4 video tracking, embedded YouTube iframes now enforce enablejsapi by default unless manually disabled.
LiveWhale 2.10.5 6/23/2023
- LiveWhale CMS Only: The submit button on the page detail editor is now disabled when selecting a new template and waiting for it to load, in order to prevent saving without a template selection prematurely.
LiveWhale 2.10.4 6/2/2023
- Minor UI change: Updated the events widget editor to clarify that, by default, all events after “now” are shown, rather than events starting “today.”
- LiveWhale Storyteller Only: Updated the toolbar with “Dashboard” and “Go to Site” links rather than specific “Front Page” and “Main Calendar” URLs.
LiveWhale 2.10.3 5/19/2023
- The “With checked items…” manager dropdown now includes a “Remove tag…” option.
- Added automatic translation of unique CampusGroups iCal format, mapping CampusGroups event types onto Livewhale event types and CampusGroups event tags onto LiveWhale tags during Linked Calendar imports.
- CATEGORIES;X-CG-CATEGORY=event_type maps to CATEGORIES
- CATEGORIES;X-CG-CATEGORY=event_tags maps to X-LIVEWHALE-TAGS
- CATEGORIES;X-CG-CATEGORY=club_acronym maps to X-LIVEWHALE-CAMPUSGROUPS-CLUB (can be manipulated from there via custom module if desired)
LiveWhale 2.10.0 4/28/2023
- When using a widget that requires images (require_image=true), events that reference an External Image from a linked calendar will now be included alongside events that have had an image added in LiveWhale.
LiveWhale 2.15.2 5/17/2024
- QuickAccess is now enabled when applied to inputs of type=”search”, just as they are for type=”text”.
- Added support for data-qa-results-div-id attribute on QuickAccess fields, which optionally allows targeting an existing element in the page by ID for use as a results container.
- Changed QuickAccess JavaScript to wait for new results before clearing the old ones.
LiveWhale 2.15.1 4/19/2024
- Added a new setting to the QuickAccess options to specify a results div by ID (data-qa-results-div-id=”id-of-results-div”). This is an alternative to the default behavior where a results container is automatically added after your form input.
LiveWhale 2.14.1 3/8/2024
- LiveWhale CMS Only: QuickAccess link titles no longer enforce Title Case when saving.
LiveWhale 2.13.0 11/17/2023
- Fixed an issue where searching for content with “+” in the title would not find a match due to the handling of the “+” character as a search operator.
LiveWhale 2.15.0 4/12/2024
- Added descriptive label to XPHP includes when viewing in the WYSIWYG editor.

LiveWhale 2.16.1 8/4/2024
- Fixed an issue where the year would not show on the frontend calendar if the “repeats until” date extended into another year.
- Fixed an issue introduced in LiveWhale 2.15 that could sometimes cause explicit width/height attributes to be removed from image tags when calculating image size.
- Fixed an issue causing certain images to be shrunk (rather than returning original size) when larger versions are requested. This could result in og:image sharing tags missing from content with small images attached.
- Fixed a PHP8 bug affecting widgets sorted by most-tags-matched when only one tag was applied.
- LiveWhale CMS: Fixed an issue where certain /live details requests could erroneously get flagged in the Page Error log as 404s.
LiveWhale 2.16.0 7/14/2024
- Fixed an issue that could cause inaccuracy in determining the next upcoming instance in a repeating event series when hide_repeats=true was used.
- Fixed an issue that prevented RSVP comments by the editor from being editable on the event registrant editor.
- Fixed an issue that could cause the wrong alt text to be used when using the variable in an image widget.
- Fixed an issue that could cause integrity or crossorigin attributes to be altered when consecutive script tags were used in a file include.
- Fixed an issue that could cause certain kinds of images to skip Retina image support.
- Fixed an issue that could prevent credits from being optionally displayed for WYSIWYG images.
- LiveWhale CMS Only
- Fixed an issue preventing the use of group variables in the widget preview panel.
- Fixed an issue causing incorrect and inconsistent behavior when cropping the full-sized images in a gallery.
- Fixed an issue that could cause the page errors report to erroneously indicate certain broken images or files.
LiveWhale 2.15.2 5/17/2024
- Fixed an issue where certain repeating events could be hidden from the backend manager.
- Fixed an issue where Event Organizer Comments weren’t being saved from the RSVP manager.
- Fixed a bug where captions were ignored after uploading images directly to a new gallery.
- Fixed an issue where media queries on WYSIWYG images could sometimes be mistakenly removed when editing images.
- Fixed an issue that could cause drafts of linked calendar events to become unlinked from their calendar when published.
- LiveWhale CMS Only
- Fixed an issue where navigation items nested under separator text could sometimes show the wrong parent in the breadcrumb menu.
- Fixed a PHP8 bug affecting the Password Protect this Directory tool.
- Fixed missing markers in Places widgets due to Google Maps API changes.
LiveWhale 2.15.1 4/19/2024
- Fixes for bugs introduced in LiveWhale 2.15.0:
- Fixed an issue that could cause certain widget settings to result in PHP8 errors.
- Fixed an issue that could sometimes prevent a custom module from loading properly.
- Added code to prevent redirect loops on the calendar when the url of a linked calendar event is the same as the current url.
- Fixed a bug that prevented changes to RSVPs in the RSVP manager.
- Fixed an issue that could cause incorrect pagination behavior on certain managers when remembering the state of the last visited page (e.g., in the RSVP manager).
- Fixed an issue that caused admin-only tags to be copied to other groups when content with those tags got moved between groups.
- Fixed periodic visual bugs with overflowing content on the profile and widget editor screens.
- Fixed an issue that could interfere with double-click to edit WYSIWYG images that are owned by other groups.
- LiveWhale Calendar Only
- Fixed an issue with using the &filter= setting in embedded widgets.
- LiveWhale CMS Only
- Fixed an issue that could cause erroneous 404 page errors referencing local links to dynamic content.
- Fixed an issue that prevented profile types with location=”none” (never display) from being used in custom sort orderings.
LiveWhale 2.15.0 4/12/2024
- Fixed a bug that could allow non-admins to remove admin tags from content.
- Fixed an issue where the accordion +/- icons wouldn’t change when an accordion was opened.
- Fixed an issue that could cause some RSS feeds to not make their link tags full remote URLs.
- Fixed a MySQL 8.x compatibility issue that impacted the display of bulletins in the bulletins manager.
- Fixed an issue introduced in 2.14.1 that could cause javascript breakage with JSON-encoded iframes in the page source.
- LiveWhale CMS Only
- Fixed an issue preventing widgets from being placed in editable areas that only allow inline (and not block) elements.
- Fixed an issue preventing Linked Profile fields from showing more than 1000 options.
- Fixed an issue where using a CSV as a profile data source could cause the wrong values to be pulled during sync.
- Fixed an issue that could cause erroneous 404 page errors referencing local links to dynamic content.
- After running a prod-to-dev content sync, LiveWhale will now attempt to load each page from all navigations to warm the page and image caches.
- Fixed an issue where the code samples button, when enabled, wouldn’t show up in the front-end page editor.
- Fixed an issue with pages appearing in a stream widget and sorted by last-modified.
- Fixed an issue where the incorrect meta image could be used when sharing Issues to Facebook.
- Fixed an issue that prevented profile types with location=”none” (“never display”) from being used in custom sort orderings.
LiveWhale 2.14.1 3/8/2024
- Fixed an issue where the “With checked items” form could erroneously update the last modified datetime/user on items that weren’t actually changed.
- Fixed an issue introduced in LiveWhale 2.10 where event metadata (schema.org / LD+JSON) was not embedded in the event details view.
- Fixed an issue that could prevent images from appearing in the back-end UI when a group had been excluded from site-wide search and API results.
- Fixed an issue with using the image_size=200x200 shorthand in a widget template and overriding it via the widget editor. Now, modifying thumb_width or thumb_height via the widget editor will correctly unset image_size coming from a WT.
- Fixed an edge case issue where images encoded a certain way could have their colors inverted when derivative sizes were generated from the master image.
- Fixed an edge case where a redirect loop could occur.
- Fixed front-end date entry fields (in LiveWhale Forms and the Public Submissionn Form) from allowing pasting of non-date-formatted values. Back-end forms like the widget editor still support free-form date entry for relative dates.
- Fixed an issue that prevented some theme files (especially SCSS partials) from triggering cache refreshes when edited.
- Fixed an issue where the Google Maps script that loads on the location editor wouldn’t recache when the saved Google Maps API key was updated.
- Fixed an issue that prevented certain system cleanup tasks from running on web2 in load-balanced environments.
- Fixed some PHP8.1 compatibility errors related to events, galleries, and SAML testing.
- LiveWhale CMS Only
- When editing a profile type, changing a field type from multiple choice will now clear any saved multiple-choice options.
- Fixed an issue that could cause Facebook to not retrieve an image when sharing a link to an Issue.
- Fixed an issue that prevented Forms from being indexed for search when created via the Duplicate option.
- Fixed an issue with clicking an anchor link leading to a result inside of a LiveWhale Accordion on the same page.
LiveWhale 2.14.0 1/26/2024
- Fixed an issue where deleting an entire group, and then restoring it, would result in some of that group’s content being restorable from trash and others not.
- Fixed a bug that could cause some repeating events to be placed into the trash when performing bulk actions from the events manager.
- Fixed an issue where “Share to Group” dropdown would make full copies rather than normal “Accept as Live” linked copies.
- Fixed an issue where custom fields erroneously allowed dashes to be used in their names, which could lead to frontend loading issues.
- Fixed an incompatibility between the locations widget and the exclude_group arg.
- Fixed an issue with the places widget that prevented images from displaying when desired in custom marker formatting.
- Fixed an issue where customized file URLs wouldn’t work if they started with another file’s ID number.
- Fixed ?id= backwards-compatibility support for Issues, as well as ensuring that Issues list widgets use the correct customizable URL rather than the legacy ?id= format.
- Fixed a 404 error that would come up when embedding LiveWhale Calendar widgets when no global/styles/widgets.css stylesheet was present. Now, when that stylesheet is requested specifically, it has a special case to return a 200 OK message with the empty response instead of 404 Not Found.
- Added an error message when trying to move an event into another group where a shared copy of that event already exists.
- Fixed an issue preventing the “Edit this item” link from displaying on the frontend in details-viewing contexts.
- LiveWhale redirects are now considered before redirecting from archived slugs or non-canonical detail requests to the canonical url.
- Fixed an issue with validating new redirects where it could erroneously warn that a directory exists even if a page did not exist at the specified url.
- Fixed an issue where the group switcher would not immediately update when a group was restored from the trash.
- Fixed an edge-case bug that could sometimes cause foo/ and foo.php to get caught in an infinite redirect loop.
- Fixed an issue with the functionality and appearance of the Collection dropdown on the Bulk Upload Images tool.
- Fixed an issue with viewing stories in a LiveWhale Issue, where a link copy did not pull variables for the associated Issue after redirecting to the original.
- Fixed an issue where LiveWhale Issues did not properly set the url variable for the Issue homepage.
- Fixed an issue with LiveWhale Forms where missing field error messages wouldn’t always appear alongside the screen-reader announcement.
- Fixed an issue that prevented files, tags, and locations from appearing as links in the toolbox for Publisher users.
LiveWhale 2.13.0 11/17/2023
- Fixed an issue that prevented the RSVP styling (payments.css/less/scss) from being overridden by a matching file in the global theme. Now, any time a theme CSS or JS file is requested from the core theme, the corresponding global version will be used as an override if available.
- Fixed an issue where sometimes changing group permissions for profile or blurb types could revoke access to Live content. Now, group access to a global profile or blurb type is locked if the group has content of that type.
- Fixed an edge-case issue where HTML comments in a file include could become double-encoded, resulting in unintended markup.
- Fixed an issue where the tools for adding tags/settings to a widget via the Insert/Edit Widget interface were missing for some users depending on their group membership or permissions. Those tools are now available to all editors.
- Fixed an issue where the “delete” link in the editor sidebar could sometimes collide with other elements at certain screen sizes.
- Fixed an edge-case bug that caused Related Content to sometimes not appear.
- Fixed an issue with the /live/tags endpoint that wouldn’t show results when the tag name contained a comma. Multiple tags can still be indicated with |-separation.
- Fixed an issue preventing today facts from displaying when AP-style dates are configured.
Fixed an edge-case issue that prevented certain custom module code from running during some non-browser activities (such as sitemap regeneration).
LiveWhale 2.12.0 10/27/2023
- Fixed a condition where Linked Calendar feed refreshes could become delayed.
- Fixed an issue where the front-end calendar component lw_calendar_tags was showing individual group’s starred tags on a main calendar (not restricted by group). Now, calendars that include all groups (i.e., no group= argument) will only show global starred tags.
- Fixed an issue where text indicating group ownership of widgets in WYSIWYG widget insert overlays read as “undefined”.
- Changed title of editor form validation overlay from “Missing Required Field” to “Form Validation Error” since sometimes it can be a field’s length or custom validation that is the cause of the error.
- Fixed an issue where the image collections in the “Add to collection” drop-down weren’t appearing in alphabetical order.
- Fixed the checkbox to make all groups automatically display manually-authorized content.
- Fixed a PHP syntax issue (introduced in 2.11.0) affecting front-end calendars running PHP 8.
- Fixed an issue affecting CSV imports of content containing inline forms.
- Fixed an issue with Google Analytics when an invalid p12 private key was used.
- LiveWhale CMS Only
- Fixed an edge case where a section nav might not display on a section homepage if the homepage appeared twice in a nav.
- Fixed a compatibility issue with PHP 8.1 that could sometimes cause section navigations to display improperly.
- Fixed an issue where nested accordions in the page editor wouldn’t process correctly when publishing.
- Fixed an issue that preventing the “Group: ____” info text from showing up in the back-end profiles list when showing results from all groups.
- Fixed an issue affecting custom URLs for schools using the experimental “drafts” feature.
LiveWhale 2.11.0 10/6/2023
- Fixed an issue that could sometimes cause repeating events with a late start time from creating the last instance of a repeating series.
- Fixed an issue where deleting and restoring an event series could cause per-event instance RSVPs to be lost.
- Fixed an issue that caused some multi-group options to appear for users with access to only one group.
- Fixed an issue where an event with multiple custom URL changes might not always redirect from a past URL to the currently active URL.
- Fixed an issue that could cause requests for details on dynamic content that should 404 to appear as blank content instead.
- Fixed outdated calendar requests to redirect them to the new calendar instead of issuing a 404.
- Fixed a bug with URL previews on the edit page (introduced in 2.10.9).
- Fixed a possible memory issue in the JSON endpoint responses.
- Fixed an issue with editing inline images when using the id=placeholder functionality introduced in 2.10.8.
- Fixed an edge-case bug affecting calendar pagination links for group-filtered events.
- LiveWhale CMS only
- When editing a navigation, LiveWhale will now redirect to ensure you are accessing the hostname that matches the current group’s group directory.
- Fixed an issue where navigation changes might appear on the frontend site with a delay.
- Fixed an issue that could prevent .gov sites from being properly resolved for link checking on some servers.
LiveWhale 2.10.9 9/15/2023
- Fixed an issue in LiveWhale calendar where non-existent group calendars or event URLs would show the main calendar (or get stuck in a redirect loop). Both cases now properly provide 404 Not Found responses.
- Fixed an edge-case issue where certain Firefox plugins could cause onclick actions (like uploading images) to not function.
- Fixed an edge-case error where Content Length headers could sometimes be wrong the first time an API feed gets downloaded. That header is now removed when showing feed results.
- Fixed an issue where the “Subscribe” event type list might not auto-populate correctly if the lw_cal_categories.html component were styled with additional HTML between the list item and the form label.
- Fixed an issue with custom image code that used % for height or width, causing the missing value to be miscalculated. Now, when % is found in height or width, the other value will be left as-is.
LiveWhale 2.10.8 8/25/2023
- Fixed an issue where the group-level configuration of available event types in the event editor could sometimes fail to reflect those customizations.
- Fixed a small PHP compatibility error affecting schools who have configured FITVIDS_IGNORE_CLASSES.
- LiveWhale CMS Only: Fixed an issue where renaming a group directory from the file browser would fail to properly recalculate group-level page editing permissions afterward.
LiveWhale 2.10.7 8/4/2023
- Fixed a bug that caused the wrong days to display on the calendar week view during the daylight savings transition.
- Fixed an issue where font lines in theme .scss files could sometimes break styles if the font URL contained a semicolon.
- LiveWhale Storyteller Only: Fixed a bug in the toolbar that prevented the Files/Tags/Location manager links from appearing in the toolbox for some users.
- LiveWhale CMS Only
- Fixed an issue where quick access results remained highlighted after hover.
- Fixed an issue where a profile linking to another profile would not properly redirect.
- Updated the Instagram widget to accommodate JPG images sent from the Instragram Graph API with the .heic extension.
LiveWhale 2.10.6 7/14/2023
- Fixed the cancelation link sent out in the 24-hour reminder email for events with RSVP.
- Fixed an issue (introduced in 2.10.4) that caused some RSVP validation error messages to break the form interactivity.
- Fixed an issue where single_format_image did not properly get inherited by a gallery via the calendar widget.
- Fixed an issue where removing a themed global “default” gallery did not cause LiveWhale to revert to the core “default” gallery.
- Fixed an issue where the shorthand (“%%”) style XPHP syntax could sometimes fail to parse properly when specifying a format/cast.
- LiveWhale CMS Only: Fixed an issue where very large web pages could cause a search index error when being modified or saved under PHP 8.1+.
LiveWhale 2.10.5 6/23/2023
- Fixed an issue where HTML comments were being stripped when using Edit Source view.
- Fixed an issue where shared content that links to an external url wasn’t properly updating the shared copies when the original item was changed to no longer be a link.
- Fixed an issue that prevented event metatags from showing up on page load under the new customized URL structure.
- Fixed an issue where timezones could return as undefined on calendar list views when custom event fields are used.
- Fixed an issue where date ranges within a single month were displaying an abbreviated month name instead of the full month name.
- Fixed a performance issue when using a tags widget to list tags by usage.
- Fixed an issue where the placeholder could sometimes be stripped in format_widget args.
- Fixed an issue where a user’s default tag was not being considered under LiveWhale Calendar and Storyteller.
- Fixed an issue where some custom plugins using $_LW->sortByChild() were sorting case-sensitively rather than case-insensitively.
- LiveWhale CMS Only
- Fixed an issue where galleries with the same name in different themes might not follow the normal theme inheritance rules.
- Fixed an issue where pages with extremely large accessibility reports would fail to display in the accessibility tab.
LiveWhale 2.10.4 6/2/2023
- Fixed a front-end calendar bug that caused the local timezone to output as “undefined” when an event’s timezone was different than the user’s timezone
- Fixed an issue where calendar URLs using /event_id/### weren’t backwards-compatible in every intended case.
- Processes any existing saved news stories to repair the date record that, following a recent fix, was sometimes showing off by one day in the LiveWhale back-end.
- When saving a news story, blurb, or gallery that is part of an Issue, the Issue details page cache is now expired rather than requiring a 5min wait.
- Fixed an issue where @charset definitions in theme CSS files could sometimes cause nearby rules to be truncated.
- Fixed an issue introduced in LiveWhale 2.10.3 that caused half-column images to not fill the correct width.
- Fixed an issue where a public submission with an image would save the image but not attach it to the submitted item when a custom required field has been configured for the LiveWhale installation.
- Added some missing labels to the JSON events endpoint for event repeating frequencies (MWF, TR, and yearly).
- Fixed an issue where WYSIWYG editors that disallow block-level HTML elements (like image captions) were erroneously allowing block elements when they included CSS classes or other additional markup.
- Fixed display issues—including a hidden submit button—when LiveWhale CMS forms were added to Event RSVPs.
- Fixed an edge-case issue where the view selector could disappear when embedding a calendar view using ?iframe=1.
- Fixed an issue where curly quotes used inside of a simple conditional formatting variable in the widget editor could cause unintended behavior.
LiveWhale 2.10.3 5/19/2023
- Fixed an issue where links to individual events might not render if they were not included from that calendar’s category_campus or category_audience settings.
- Fixed a follow-up timezone issue affecting back-end display of news story dates.
- Fixed an issue where HTML header tags were being stripped from widget formatting settings.
- Fixed an issue where auto-generated news sitemaps were missing a reference to the Google News schema.
- Fixed a calendar performance issue that could occur due to improper validation of some event locations.
- Fixed an issue where repeating events from a Linked Calendar could sometimes be excluded from widget views, even with hide_repeats=false.
- Fixed an issue where full- or half-column images inserted into a wysiwyg area could overspill the width of their parent containers.
- Added a missing validation check when saving an image to ensure keywords don’t exceed the allowable length.
- LiveWhale CMS Only
- Fixed an issue the front-end calculation of group ownership that prevented group-specific theming of details pages, and an issue where a subdirectory of a group-owned directory would not have the correct group owner/theme.
- Fixed a bug that broke the datepicker on forms added to WYSIWYG fields.
- Fixed a bug that prevented Issues with customizable URLs from showing the correct content.
- When saving a news story, blurb, or gallery that is part of an Issue, the Issue details page cache is now expired rather than requiring a 5min wait.
- Fixed an issue with saving blogs posts that manually link to an external url.
LiveWhale 2.10.2 5/5/2023
- Fixed an issue where details templates wouldn’t always receive proper group ownership (affecting group=me widgets, XPHP variables, and body classes) after an item’s URL had been customized.
- Fixed an issue where performing bulk actions from the manager (starring/unstarring, adding/removing balloons) could erroneously reset custom URLs.
- Fixed an issue where creating a new profile wouldn’t use firstname/lastname when generating the default URL.
- Fixed the /live/[type]/[id]@JSON endpoint to use absolute (rather than relative) image URLs.
LiveWhale 2.10.1 5/1/2023
- Fixed an issue with the 2.10.0 upgrade step that erroneously assigned default URLs using the format [id]- rather than [id]-[title].
- Fixed an issue with tag details pages stemming from the 2.10.0 URL changes.
- Fixed an issue with the timing calculations of self-update production servers (ensuring the intended seven-day pause between automatic dev and prod upgrades).
LiveWhale 2.10.0 4/28/2023
- Fixed bug that broke category and tag links on the calendar’s list views, both in the calendar and when opened in a new window.
- Fixed two bugs introduced in Safari 16.4: one that disallowed use of the calendar theming variable “group” (by auto-replacing it with “obj.group” in rendered calendar components), and another in the widget editor that had resulted in “undefined” appearing in the default group setting for new widgets.
- Fixed an issue where the manager could sometimes show an erroneous time for story publish dates.
- Cached galleries are now immediately updated when individual images are updated in ways that may impact gallery display (e.g., caption or credit changes).
- LiveWhale Calendar and Storyteller: Fixed a bug where editing a saved widget with no group set would auto-fill the current group. (This default behavior now only applies to newly-created widgets.)
- LiveWhale CMS Only
- Fixed an edge-case issue that prevented the 404 page from receiving theme styling in certain scenarios.
- Fixed an issue where very large page revision histories could run out of memory when being viewed.
LiveWhale 2.16.1 8/4/2024
- Core calendar.less styles have been organized into LESS partials, such that livewhale/theme/core/styles/calendar.less will output the same styles for backwards compatibility, but developers now have the option to selectively include just portions of the core theming when designing calendars. More about this new approach is in the theming documentation.
LiveWhale 2.15.2 5/17/2024
- Added a SAML configuration setting SAML_ALLOW_EMAIL_AS_USERNAME that allows full email addresses to be used as SAML username attributes (otherwise, anything @ and after would be stripped).
- In breadcrumb widgets, separator text items from a navigation can now be shown by including include_separator_text=true in the widget settings.
LiveWhale 2.15.1 4/19/2024
- The date range separator ( - ) is now configurable to replace with other dash types (e.g., –) with or without spaces. This setting is available in sample.public.config.php: $_LW->REGISTERED_WIDGETS[‘events’][‘custom’][‘date_range_separator’]=’ - ‘;
- Calendar initialization now waits until document ready to allow custom code to bind to the calBeforeInit event. This fixes an issue that was causing custom functions triggered by calBeforeInit to not run in time for the calendar initialization, preventing them from altering certain core functionality. (In testing, this change only delays calendar initialization by around 1/100th of a second.)
LiveWhale 2.15.0 4/12/2024
- For custom back-end modules: exposed the manager state object (LW.manager.manager_state) to custom code, allowing for modules to save custom data using the “Save these changes” action from list view.
LiveWhale 2.14.1 3/8/2024
- The h4.lw_accordion_block_title tag generated by accordions can now be customized and replaced with div or any other block-level HTML tag using the new ACCORDION_BUTTON_WRAPPER config option.
- Custom fields now track their last modified date/time, allowing for eventual expiration of selected custom data.
LiveWhale 2.14.0 1/26/2024
- The XPHP text and text-content casts, as well as *_clean variables, now strip any leading or trailing whitespace from the output.
- You can now enable editors to insert code snippets into their WYSIWYG fields by seeing ENABLE_CODE_SAMPLES=true in the config.
- Added a host setting for RESTRICT_COOKIES_TO_SUBDOMAIN which disables multiple-domain support but can be used to avoid auto-deletion of login cookies by certain external scripts.
LiveWhale 2.12.0 10/27/2023
- Added a new XPHP cast: alphanumeric. See the full list of available variable casts with examples in the docs.
LiveWhale 2.10.9 9/15/2023
- When using allRows() on an SQL query, you can now specify the field value to return in the foreach loop, rather than an array of values.
- When creating XPHP conditionals you can now use type=”get-array” or type=”post-array” to account for cases where type=”get/post” and type=”array” would both apply. This can allow checking for contains=”” values against a GET or POST array, like a series of form checkboxes for instance.
LiveWhale 2.10.8 8/25/2023
- When embedding an image by ID, it is now possible to use id=placeholder to represent the ID of the placeholder image as defined by the new PLACEHOLDER_IMAGE config setting. [docs]
- Development servers for sites using multiple domains/subdomains can now configure a SYNC_HOST for each hostname record in order to map content from production domains onto dev domains during the content sync process.
LiveWhale 2.10.7 8/4/2023
- Remove deprecated Stripe v1 integration, maintaining infrastructure to support updated payment gateways in the future.
LiveWhale 2.10.6 7/14/2023
- Updated the LiveWhale SAML integration to allow for multiple IdP signing certificates for easier cert rollover.
- Updated the LiveWhale SAML integration to allow login POST data from all hosts as long as certificate(s) validate, even if different from the IdP server hostname.
LiveWhale 2.10.4 6/2/2023
- SMTP email notification errors will now be logged to all nodes in a load-balanced environment, to avoid administrators from missing errors on another node.
LiveWhale 2.10.0 4/28/2023
- Added a new setting FILTER_USING_LOCAL_DATE_FORMAT to allow widget and API requests to use a consistent format when enabled, regardless of dashes vs slashes. This means US timezones can use mm-dd-yyyy or mm/dd/yyyy and European/Australian timezones can use dd-mm-yyyy or dd/mm/yyyy. [docs]
LiveWhale 2.16.1 8/4/2024
- You can now opt in to receive email notifications of frequent 404 URLs with the $_LW->CONFIG[‘EMAIL_404_REPORTS’] setting. [docs]
LiveWhale 2.16.0 7/14/2024
- The minimum PHP version required to run LiveWhale is now 7.0.33.
LiveWhale 2.15.2 5/17/2024
- Added behind-the-scenes notifications of spikes in 404s as a potential screening tool for URLs broken by unintentional user or developer action.
- Removed an unused dependency (htmLawed).
LiveWhale 2.14.1 3/8/2024
- Update SAML OneLogin plugin to 4.1 to improve PHP 8 compatibility.
- Silenced the false positive error message “Called RSET without being connected” for SMTP mailing.
- Performance improvements: when saving groups and users, the page permissions being reset now occurs asynchronously, to speed up the saving process.
LiveWhale 2.14.0 1/26/2024
- Reduced overall CPU usage during the processing of linked calendars on an hourly basis.
- Tracking of LiveWhale uploads for instant data-recovery is now limited to a 2 year upload history.
- Fixed a compatibility issue with MySQL 5.x affecting breadcrumb widgets using the use_current_path option.
LiveWhale 2.12.0 10/27/2023
- Improved responsiveness of the hourly linked calendar refresh cycle.
- Performance improvement: the same widget cache now gets shared between both web nodes unless specifically configured to require different per-node caches. In most cases, widgets can and should show the same results for both nodes.
- Fixed an issue with the SAML login module that occasionally logged an error when starting a new login session.
- Fixed a recently introduced issue where a custom BACKUPS_TTL setting could be ignored and save more backups than intended.
- Fixed an issue where an internal cache failed to perform its cleanup routine on secondary web nodes.
LiveWhale 2.11.0 10/6/2023
- Added a new setting DATABASE_HOST_READ to support an additional read-only database. (Will require hardware changes implemented on a case-by-case basis by the LiveWhale Support team.)
- Added a diagnostic check for an edge-case failure of APCU variable caching.
LiveWhale 2.10.9 9/15/2023
- Adjusted the log rotation schedule for more frequent storage savings.
- Fixed an incompatibility with MySQL and PHP 8.1.
- Improved PHP 8.1 compatibility and addressed some errors.
- Fixed a PHP 8.1 compatibility error affecting “Link to checked events” in the Shared Event manager.
LiveWhale 2.10.8 8/25/2023
- Fixed a memory issue that could occur when trying to sync uploaded CMS files.
- Fixed a rare memory issue in very large pages with certain captioned images.
- Improved internal cache cleanup mechanism to work more efficiently with secondary web nodes.
LiveWhale 2.10.7 8/4/2023
- Revamped how XPHP error handling works in order to silence “Cannot use output buffering” in error logs.
LiveWhale 2.10.6 7/14/2023
- Fixed a performance issue affecting calendar requests under high traffic scenarios.
- Fixed NPM vulnerabilities related to @babel packages.
LiveWhale 2.10.4 6/2/2023
- Modernized the architecture for saving LiveWhale variables behind-the-scenes to improve performance.
LiveWhale 2.10.3 5/19/2023
- SAML logins can now configure to disable the requestedAuthnContext from their integrations, which may allow for easier non-password login modes (USB key, etc.)
- Fixed an issue where the recently upgraded Pel library for EXIF support did not run properly on PHP 5.6 installs. Added a secondary Pel library to maintain support for PHP 5.6.
New versions will be announced via Dashboard messages in LiveWhale, or you can sign up to receive email notifications.