LiveWhale 2.18.0 12/1/2024
Improvements to RSVP cancellations
We’ve added a simple new confirmation screen when cancelling an RSVP to avoid accidental cancellation by humans, email scanning software, or other phishing detection scripts. We also improved error messaging around this process, so if someone tries to cancel an already-cancelled registration, they don’t get the confusing “registration not found” message. Additionally, registrants who have cancelled their RSVP are now permitted to re-register using the same email address. [docs]
New public submission option: event_image_alt and news_image_alt
Logged-in editors to LiveWhale have separate options for Caption vs ALT Description when adding and editing images, and the public submission form now has matching options so you can choose to grant news/event submitters the same flexibility. Images still require either a caption or an ALT Description, so if you choose to provide both in your submission form HTML, validation will check that at least one is completed before accepting the submission. For backwards compatibility, event_image_caption will still be used in place of ALT if event_image_alt is not used. [docs]
New config option: VIEWPORT
For designs where the default viewport meta tag might be not be sufficient, the new VIEWPORT option allows you to set your own customized viewport meta tag. [docs]
LiveWhale 2.17.0 9/15/2024
New CMS page editing options
Locking the size of images added to an editable area
The attribute data-image-size=”600x300” can now be added to div class=”editable” areas in page templates to enforce image size of any WYSIWYG image that gets added or edited to its contents. This extends functionality that was already available on inner divs or content layouts, making it now available to the outermost editable area. [docs]
Allowing users to customize certain widget settings
You can now specify in widget templates arg id=”wysiwyg_custom_widget_args” a bar-separated list of widget settings (or “Visible label”setting_name pairs) that you want to be customizable when placing or editing the saved widget on a page.
This extends the global config setting of the same name but allows it to be used on a per-widget-template basis instead of only site-wide. [docs]
LiveWhale 2.16.0 7/14/2024
Organizing Widget Templates and Content Layouts
You can now divide /_ingredients/templates/widgets/ and /_ingredients/templates/wysiwyg/ into further subdirectories (such as /_ingredients/templates/widgets/news, etc.). LiveWhale will scan recursively for all WTs/CLs, and will flag with a dashboard error if any duplicates are detected (filenames must be unique).
New widget setting: min_image_size for inline galleries
Introduced in LiveWhale 2.13.0, min_image_size=true lets you skip results whose thumbnail image is smaller than the widget’s thumb_width and thumb_height, allowing you to preserve the design intent of widgets rather than loading in images that may be too small. In LiveWhale 2.16.0 this was extended to inline gallery widgets, so your gallery can skip images that are too small when min_image_size=true.
Beta support for Content Layouts v2
For CMS sites under active development, LiveWhale 2.16.0 adds beta support for a new way of managing Content Layouts [docs]. This approach is backwards-compatible with the original Content Layouts v1, the current insert/edit functionality shouldn’t be at all disrupted by this addition.
LiveWhale 2.15.2 5/17/2024
Improvements to the upgrade process
In the last year, more and more of you have been successfully running your own upgrades. To help make that process smoother, LiveWhale 2.15.2 comes bundled with some messaging and process improvements. (These won’t be visible when you get this version, but will appear the following time you upgrade.)
First off: future LiveWhale releases will now be tied to specific release dates, rather than being available for automatic and manual upgrades immediately. This is to allow greater time for testing on development servers, and to more intelligently steer clear of inopportune times for automatic upgrades (holidays, etc.). We’ll announce the release date with each forthcoming new version announcement.
We’re also rolling out new dashboard messages (examples in the docs) and updated confirmation messaging (example) for those running their own upgrades. These include helpful links to the release notes and reminders about testing on dev before pulling to production.
LiveWhale 2.15.0 4/12/2024
New widget option: Hide “Show all” pagination links
Widgets that support pagination can now specify hide_pagination_show_all=true to optionally disable the “(X total)” link. The widget will still be paginated and will display the “Show more…” link until all results are shown.
Disabling notifications for “declined” suggestions
When users have “All notifications” enabled in their user settings, they get emails for all sharing actions, including when someone in another group has declined their content suggestion. Now you can disable this type of notification site-wide by adding the following to client/global.config.php:
$_LW->CONFIG['DISABLE_SHARING_DECLINED_NOTIFICATIONS']=true;
Customizing the default timezone for RSS feeds
By default, the /live/rss/events endpoint sets event date/time as the “pubDate” attribute using Coordinated Universal Time (UTC), and it’s up to any RSS integrations consuming LiveWhale events to translate that into their local timezone (or the event’s timezone, using the livewhale:timezone RSS attribute). Now, you can choose to customize that site-wide timezone for the /live/rss events endpoint by adding the following to client/public.config.php:
$_LW->REGISTERED_WIDGETS['events']['custom']['rss_timezone']="America/New_York"; // default: UTC
New theming option: deferred styles and scripts
We’re still experimenting with this functionality in some of our projects, but the tools are here now if you’d like to try them out too: any script or stylesheet files in your theme’s scripts/ or styles/ folder can now be moved into scripts-defer/ and styles-defer/, where LiveWhale will auto-detect them and load them after the initial page load. That is, it won’t wait until the entire page has loaded, but “deferring” the files tells the browser “don’t wait on this CSS/JS, keep loading and display the rest of the contents.”
Render-blocking CSS has a big impact on site speed, so this may represent a big performance improvement (especially for mobile) – often times your complete global theme includes CSS/JS that isn’t critical for the first above-the-fold page load. If you end up finding success (or struggles) with this new option, please let us know!
LiveWhale CMS: New option for pre-defining image sizes
Adding data-image-size=”300x200” to HTML containers in your WYSIWYG-editable areas and content layouts will require users select an image of that size when adding/editing an image inside that area via the Edit Page interface. This matches the existing class=lw_fixed_dimensions functionality that already exists – and you may already be using – but will persist even if the original image is deleted and a new one is added into that area.
LiveWhale 2.14.0 1/26/2024
New related content widget settings
In LiveWhale CMS, you might be displaying Related Content on your news and profile pages – starting in LiveWhale 2.14.0, we’ve greatly increased the design flexibility around how you show related content with new widget settings. For any widget type, you can add the new setting my_related_content to show items related to the current item (or specify a certain type by my_related_content_type). Similarly, if you’re using a widget with the related_to setting, you can also specify related_to_type to limit to certain types of results. [docs]
Blurb widget templates
When using Insert > Blurb in LiveWhale CMS, the output format has been dictated by the default widget template for blurbs. And, while you can customize that default widget template, we found often you’ll want different formatting for different blurb types. Now, you can now specify a widget template for each blurb type that will be used when Insert > Blurb is selected for that blurb (or any other blurbs widget where id is specified).
More customizable gallery headers
The widget setting “header” is now available on inline galleries in LiveWhale CMS. Headers are not automatically added to the output, as with other widgets, however, use of the header format variable is permitted. This allows you to incorporate the header into your gallery design, but also override the header text on a per-use basis more easily.
LiveWhale 2.13.0 11/17/2023
New widget options: min_image_size and header
When creating widgets in LiveWhale, you’ve always been able to specify “Only show items with an image?” and configure the image width and height. However, content with images smaller than still gets included, with their images cropped as close as possible to your specifications. Now, a new option “Exclude results with images that aren’t big enough?” (min_image_size=true) allows you stricter control of that behavior, for when you’re managing highly-designed widgets that need to look just right. When enabled, results with images smaller than your specified width/height will be skipped.
You can now also use the header and header_clean format variables inside of individual widget results (the format setting), in case you have a design where the header needs to appear with each result. [docs]
Linked Calendar auto-repair and saved customizations
Every iCal feed should have a unique ID (UID) assigned to every event, which is how systems can sync updates to pre-existing events. However, in rare cases we’ve seen some systems erroneously reassign new UIDs, making it look like a set of all-new events—for Linked Calendars, that means all the existing events get deleted (including any customizations), and new ones get re-created from the feed data. Now, linked calendars can auto-repair UID changes in iCal feeds if the event title and date/time stays the same over the UID change.
Also, when items do get removed during a Linked Calendar sync, they will now go into Deleted Items where they can be restored (including any per-event customizations you’ve done) as a native LiveWhale event. This is intended as a stop-gap for events that disappear from your source iCal files but you still want appearing on your calendar.
LiveWhale CMS: Blurbs as related content
Blurbs that have their own details pages (that is, where “Allow this blurb to appear on a page by itself” is checked off) can now also be set as Related Content for other content types in LiveWhale CMS.
LiveWhale 2.12.0 10/27/2023
New feature: Customizable RSS output
In recent years we’ve already seen several schools doing neat things with customized RSS outputs—using a widget, essentially, to make a hand-built RSS syntax that matches exactly what your particular application is looking for. This has always involved a bit of complex hand-coding or module work, though, and so for LiveWhale 2.12.0 we decided to codify this “widget-style” approach into something any developer could do. After upgrading, you can start with the bundled example file and customize it to change the /live/rss/events formatting the same way you would any widget. [docs and instructions]
LiveWhale 2.11.0 10/6/2023
New ways of managing Linked Calendars
Linked Calendars make it easy to consume iCal feeds from external sources and events stay in sync with LiveWhale, and LiveWhale 2.11.0 adds two new ways of managing your Linked Calendars.
First, for when you have edited feed-wide overrides (either via the Edit linked calendar tool, or using a custom module) a new admin-only option “Save calendar and reset all events in feed” is available from the editor. When clicked—following a confirmation box—this will remove all existing events and re-load them fresh from the Linked Calendar, so any new customizations get applied to the whole feed.
We’ve noticed some iCal sources (including other LiveWhale sites) only publish upcoming events, and events that vanish from the Linked Calendar source iCal are removed on each hourly sync. A new Linked Calendars setting “Keep past events” transforms iCal imported events into native LiveWhale events if they have passed.
Spam-fighting with event RSVP captchas
LiveWhale has long supported Google Recaptcha and custom captchas for form submissions and public event/news submissions. Event RSVPs had not been included in this, but we’ve noticed an uptick in spam submissions to LiveWhale Calendar Event RSVP forms over the last few months. As such, we’ve extended existing captcha support to event RSVPs.
More flexible widget headers
When creating widgets, the optional built-in “Header” has always been automatically added before your results list. But we’ve seen this doesn’t always meet the design needs of heavily-customized widgets, and developers would often end up putting the header text straight into the widget wrapper (format_widget).
Starting in LiveWhale 2.11.0, you can now use “header” or “header_clean” in the widget wrapper formatting (format_widget) to specify the precise location of the widget header in the HTML output. This makes it easier to design widgets and widget templates that will allow for user-customized headers (<arg id=”header”>My Header Override</arg>) that get placed exactly where you want in the design.
LiveWhale CMS: Updates to the “Insert widget” modal
When inserting widgets onto a page, you may find that you want to make edits to the underlying saved widget. Two small additions to the Insert/edit widget modal help with that.
Users with the ability to edit widgets will now see a link to edit any saved widget when double-clicking it from the page editor. Additionally, you can now manually refresh the widget preview from that same modal, in the event that widget settings have been changed in another window.
LiveWhale 2.10.9 9/15/2023
This release includes a styling update to the out-of-the-box social media sharing icons, replacing the Twitter bird icon with the “X” logo. (😑…)
LiveWhale 2.10.0 4/28/2023
New feature: Customizable details URLs
We’re excited to be rolling out an often-requested change that we hope will make zero difference to some of you and a huge difference to others: customizable URLs for events, profiles, news, forms, files, and more [docs].
What we mean is—for everyday editors who just want to post their thing and go, the experience in 2.10.0 should be very familiar. For marketing folks who want /live/news/new-science-center (instead of /50843-announcing-the-new-science-center-funded-by), or for faculty profiles where you want to link to /live/profiles/emily-post (instead of /1098-emily-post), all that is now possible in this latest release.
Like with all of LiveWhale, we’ve put a lot of thought into making the editing experience as smooth and intuitive as possible. There is a fair amount happening behind the scenes, though—previous versions of each URL will redirect to the current one, and administrators can choose to override or delete existing custom URLs—which is all spelled out in the documentation. As you start test-driving this new feature on your development server, feel free to reach out to support@livewhale.com if you run into any questions.
More useful save success messages
After saving content, the success message now includes a consistent Edit button, as well as a View button for content that has a corresponding front-end view (labeled “Preview” when that content is hidden).
Before:
After:
New filtering option: Scheduled content
When managing news, events, or any content that allows you to schedule a future go-live, you can now filter in the sidebar by Status = Scheduled in addition to Live and Hidden.
Automatic improvement: Sharper resized images
When adding an image that later gets resized on a page or as a widget result, LiveWhale now runs automatic optimizations to improve the sharpness of those resulting rendered JPG and WebP images.
LiveWhale 2.9.0 3/10/2023
AP Style Date/Time Formatting
LiveWhale has a multitude of configurable date and time formatting options, but this release makes it easier to enforce AP Style across-the-board with a single setting.
Default: January 10, 2024, 5:00pm
AP Style: Jan. 10, 2024, 5 p.m.
When $_LW->CONFIG['USE_AP_STYLE']=true;
is enabled in your global.config.php file, every widget, calendar view, and API result will follow the AP Style rules. [docs]
LiveWhale 2.8.0 1/27/2023
Enhancements and fixes to the default gallery
LiveWhale 2.0.0 introduced a new default gallery type that gets used on the details view for any event, profile, news story, or blurb. Having now worked with it “in the wild” on a few of your upgrades, this release includes a number of bug fixes and enhancements to that functionality.
New option: format_single_image
One small (but consequential) change is the addition of a new configuration format_single_image to the default gallery type. In LiveWhale 2.8.0, when you attach only one image to an event, story, or profile, the lightweight formatting from format_single_image is used instead of all of the markup from format and format_widget; it also skips loading the slideshow’s script and stylesheet. Note, this is optional—you can always copy the default gallery to your global theme if you’d like different behavior.
Overriding default gallery settings on a per-template basis
We’ve also clarified the interaction between details template settings and the default gallery—the idea being, your site-wide default gallery (for events, or profiles, say) might use a 300x300 square image, but for your news.php template you maybe want a 800x600 banner image. The docs now contain examples of how to customize the image width and height on per-template basis. You can also customize format_single_image this way—for example, maybe you include the image caption on news stories, but not profiles or events.
Fixes to image sizes
This release also includes a number of fixes to how thumbnail and image sizes are calculated on details page galleries, especially those that calculate width and height based on <arg id=”thumb_width”>auto</arg> or <arg id=”thumb_height”>auto</arg>. If you want to have your details templates include a complete image without cropping, using =auto on one of those settings can help restore that behavior from LiveWhale 1.7.1 and before.
As always, if you are preparing to upgrade and have any questions about the default gallery or how images are appearing on your site, feel free to reach out to support.
Additional Twitter meta-tagging
By request, LiveWhale 2.8.0 adds support for Twitter meta tags in LiveWhale powered pages and content (og:title, og:description, and og:image will be included also as twitter:title, twitter:description, twitter:image). These were already provided to Twitter via og: metatags, but now LiveWhale will override site-wide twitter meta tags that might be included in your theme with specific information about current page or content.
LiveWhale 2.7.0 11/11/2022
New feature: Image Descriptions (ALT text)
We’ve always wanted LiveWhale to be the most accessible platform possible—for editors and visitors—and that’s involved perennial review of our functionality and approaches. Prior to 2.7.0, our goal was to prevent editors from needing to think too much about image ALT text for screen-readers; instead, it was configurable using the built-in caption tools in LiveWhale.
However, we’ve come to appreciate from working with you all that sometimes the marketing caption you want is different than the accessible image description you need. In LiveWhale 2.7.0, you can have both.
LiveWhale 2.7.0 adds a new Image Description (ALT text) field to the image editor, allowing you to add a screen-reader description to each saved image that will be used for ALT text where needed. Images you’ve added to events, stories, pages, and galleries will show an “ALT” flag attached to the preview thumbnail which you can click to view the description in a modal popup.
You can still mark an image as decorative when you want a screen-reader to skip it. And, captions will still be used as ALT where appropriate for backwards-compatibility—so, if you’re happy with how things have been working, you can keep at it. But, we hope this feature will be useful to those members of your teams who want a more granular level of control over the screen-reader experience.
New Google News sitemap syntax
LiveWhale has long auto-generated sitemaps for easier search indexing, and in LiveWhale 2.7.0 we’ve added additional Google News-specific syntax to our auto-generated news sitemap. This additional information will allow Google News to more easily index news stories you’ve published within the last two days. More about Google News sitemaps.
LiveWhale 2.6.0 10/28/2022
New feature: back-end content layouts
Content layouts are a tool for pre-defining HTML elements (which may be a mix of editable and non-editable areas) that editors can insert anywhere inside of a LiveWhale WYSIWYG editor.
They can be used to add design flourishes, pre-defined text (like parking instructions, land acknowledgements, or wheelchair accommodations), or structural elements (columns, callouts, etc) to your content.
Below is a simple example of a two-column content layout, but the sky’s the limit—if you can express it in HTML, you can make it easy for your editors to add into their LiveWhale content.
This has been a part of LiveWhale CMS since 2.0.0, but with this latest release we’ve extended it to LiveWhale Calendar and Storyteller, adding more functionality along the way. You can now:
- Create and configure content layouts for back-end editors (events, news, profiles, blurbs)
- Associate any content layout with specific preview CSS (or LESS/SCSS) that will be loaded in to those back-end editors
- Restrict individual content layouts to only front-end (page) or back-end editors
- Restrict individual content layouts to only certain groups in LiveWhale
- Restrict individual content layouts to certain user permission levels (e.g., an admin-only layout)
Learn more about how to create and configure your own content layouts, or reach out to support@livewhale.com if you’d like to explore getting assistance to set up content layouts with your next upgrade.
New developer tool: save variables across all load-balanced web nodes
Developers using $_LW->setVariable in their custom modules can now access an optional setting to save their variable to all web nodes in a load-balanced environment, rather than only the current web node. [docs]
LiveWhale 2.5.0 10/14/2022
Easily add consistent small images alongside your content
LiveWhale has long supported locking WYSIWYG images to full and half column sizes when editing content. In LiveWhale 2.5.0 we’ve added the option to enable a third choice in that list called “Small Image.” This button will only appear if you’ve configured it, and you can set it to any pixel width you like, to help ensure consistent design across multiple pages, stories, profiles, events, etc. Instructions for adding to your site.
Exclude group(s) from site-wide results
From the group editor, it is now possible to automatically exclude content from a particular group in all widget results and API responses, unless explicitly requested with the group setting. This can be handy when populating a new group that you haven’t published or linked to yet, you might not want its stories and events appearing in the main news or calendar feeds. Or, you might enable it permanently for self-contained groups used for subsites like your magazine or special initiatives that should remain separate from the rest of your site.
Added support for Google Analytics 4
If you’ve been tracking site visitor activity with Google Universal Analytics (UA) or Google Tag Manager (GTM), you’ve probably heard that Google is stopping support for Universal Analytics and moving fully to Google Analytics 4 (GA4) in 2023. They recommend starting to track using the new GA4 code as soon as possible so when the switchover happens next year you already have some data tracked.
In LiveWhale, you can do this by adding a new GA4 tracking code to your configuration, or by setting an existing GTM integration to also send traffic to GA4.
New widget settings
Added new widget arg, sort_search_results, which allows you to enforce a selected sort option when searching for content, rather than always sorting by relevancy. [docs]
And, on the nerdier side: if you use custom code to save a JSON object in a LiveWhale Custom Field, each key/value pair of that object is now exposed natively to the widget format and JSON API response as .
LiveWhale 2.4.0 9/9/2022
Updated SEO titles for events
When navigating LiveWhale Calendar (or a calendar on your LiveWhale CMS website), the current calendar view or event title has always been added to the end of the browser’s <title>.
Following feedback from the LiveWhale community, we’ve decided to flip that with LiveWhale 2.4.0—now, view and event titles will appear before your page title. They will be added into the <title> tag directly on page load as an SEO improvement (instead of just the og:title metatag).
Additionally, as you’ll see in the example above, if you are using a separator in your <title> like ·, •, or | (that’s middot, bullet, or vertical line), LiveWhale 2.4.0 will detect that and use the same separator when adding your event title. If none is found, it will fallback to using a forward slash / like before.
Redesigned widget placeholders
In LiveWhale CMS and Storyteller you’ll often insert widgets (news, profiles, galleries, and more) in the middle of your pages and other content. Widgets, pasted scripts, XPHP variables, and XPHP code blocks all showed a placeholder when editing that’s been overdue for a visual refresh:
LiveWhale 2.4.0 gives those placeholders an updated, streamlined aesthetic:
We also now provide more info about your widgets at a glance. If you use any widgets with customized inline settings, you’ll now see those settings listed right in the placeholder:
We have lots of exciting ideas for making the editing experience more transparent, intuitive, and beautiful in future upgrades, but we’re pleased to be delivering this big “leap” forward with LiveWhale 2.4.0.
LiveWhale 2.3.0 8/19/2022
New feature: total widget results
<arg id="format_widget">
News Stories
</arg>
When designing a LiveWhale widget, you might want to show how many results were found outside of the pagination tool. You can do so in LiveWhale 2.3.0 with the new format variable, which goes alongside in the format_widget setting.
LiveWhale 2.1.0 7/15/2022
New feature: Duplicate pages
There are lots of cases where you might want to base a new page off an existing one on your LiveWhale CMS site: “Directions from the Train” might want a sibling page “Directions from the Bus,” for instance.
Or, perhaps one of your groups has similar-but-just-different-enough pages for Fall, Winter, Spring, and Summer semesters and you don’t want to spend time copying and pasting.
Even if you just want to avoid putting any brainpower into “what template did I use here again?” LiveWhale 2.1.0 has got you covered with easy page duplication.
LiveWhale 2.0.0 6/20/2022
More Frequent Releases
As many of you know, our development work on the LiveWhale platform is continuous and iterative—but, our old way of announcing a new release every year or so wasn’t reflecting that. Starting now, we’re moving to a new system of semantic version numbering, and will be bundling up features and bug-fixes every few weeks and making them available on your dev server for testing.
Automatic Upgrades
If you’re using LiveWhale CMS, we expect you’ll want to continue testing and upgrading manually with each new release. However, for most LiveWhale Calendar sites, we’re going to suggest enabling automatic upgrades on your production calendar when you move to 2.0.0.
New Features for Content Editors
Easier Group Switching
After a number of years, LiveWhale 2.0.0 has reimagined group switching, leaving behind the default browser drop-down in favor of a filterable list that is more modern and accessible.
You can scroll and click a group using the mouse like before, but you can also simply click and start typing to filter. Press Enter to switch to the highlighted group, or use the arrow keys and Enter to select a different group.
Also, your three most recent groups will appear in a special section at the top of the list.
You can also configure Top Groups that will always appear at the beginning of the group list.
Finally, new Keyboard Shortcuts make switching groups and other toolbar tasks faster than ever: no matter where you are on the page, Ctrl+G opens the group switcher so you can start typing and go.
Event Reminders and Follow-up Emails
When creating event RSVPs, you can now configure optional event reminder emails (24 hours before the event) and event follow-up emails (24 hours after).
These messages are fully WYSIWYG customizable and can link to pre-event resources, post-event surveys, or just be a simple “Thanks for attending.”
All registration emails also now include a preview link so you can see exactly what your registrants will receive for each message type.
Easier Sharing and Curation
If you’re managing a Newsroom or Homepage group, LiveWhale 2.0.0 makes it easier to gather great events and stories from other groups to share into yours. The “Shared Events”/”Shared News” toolbar link has been restored, and there’s also a new “Share to Group” option in the “With checked items…” dropdown.
Front-end Improvements
New Default Gallery
LiveWhale Conferences
LiveWhale Conferences
You can attach one or more images to an event, news story, or profile, and we’ve revamped how this appears on the front end in LiveWhale 2.0.0.
First off, if you only apply a single image, then no slideshow code loads whatsoever, and you get a straightforward picture tag in HTML.
When you add multiple images, the new theme-able default gallery adds an icon indicating a gallery is present, and you can click to open a fullscreen lightbox-style gallery (example at right).
Responsive Images
Images in LiveWhale are now responsive, so mobile and tablet users will experience faster load times by not always loading the large desktop versions of each site image. This is enabled by default in 2.0.0, but you can also configure the breakpoints to match your theme.
LiveWhale Calendar
New Embedding Options
LiveWhale 2.0.0 retires the embeddable “CORS calendar” and replaces it with an easy-to-use iframe calendar, if you have places outside of your main calendar site where it would be useful to embed an interactive or month view calendar. This ?iframe=1 view has its own simplified template that you can customize to make sure your embedded calendars look just right.
LiveWhale CMS
Content Layouts
Sometimes you want to allow editors to insert design elements onto a page without either coding them into the page template or making them each as separate widgets. Content Layouts allow you to define editable layouts that can be placed on any page.
Once inserted, page editors can edit the text, images, and links inside of a content layout. They can also add, remove, and rearrange repeatable blocks within a layout, like this simple two-column example (above right).
QuickAccess and Groups Widgets
Two new widget types are available in LiveWhale 2.0.0: a QuickAccess widget that lets you display top links from your QuickAccess manager on your site’s search results page, and a Groups widget that displays a list of all of your groups.
Sync Profile Data via CSV
You’ve long been able to keep selected Profile fields in sync with an external LDAP or MySQL database. Now, we’ve added CSV to the mix: if you’re in a position where connecting to an external database is hard, but uploading a CSV exported from your HR software is easy, you can now set up a Profile Data Source to reference a CSV by filepath. Editors can still manage their own profiles but any fields that you associate with the CSV will be locked and kept in sync.
Blurb Images
Blurbs can now have images! You can still use profiles as you need for custom data types within LiveWhale CMS, but for simple items containing just a title, body, image, and perhaps some custom fields, Blurbs now have you covered.
API Improvements for Developers
JSON API v2
There’s a new API in town… We’ll continue supporting the original /live/json API for some time, but this revamp of our JSON API provides results that are more optimized, consistent, and robust. And they load a heck of a lot faster! Learn more about JSON API v2 and how to migrate your /live/json integrations.
New CSV Endpoint
You can now easily export any LiveWhale data type as CSV by using the new /live/csv API endpoint.
Show Hidden Content when Developing
By request, LiveWhale 2.0.0 introduces two methods for logged-in users to access Hidden content to front-end page URLs or API requests simply by adding ?include_hidden=1 to the URL.
How to Upgrade
If your dev server has “SELF_UPDATE” set to true in /livewhale/core/config.php, you will have LiveWhale 2.0.0 on your dev server beginning Sunday, June 26, 2022. Learn more about upgrading, or about enabling automatic upgrades. As always, feel free to reach out to support@livewhale.com with any questions about the upgrade process.
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.9.2 4/14/2023
- By request, the public submission form tag and event type checkboxes now use explicit rather than implicit form labelling.
LiveWhale 2.9.0 3/10/2023
LiveWhale 2.9.0 includes a suite of styling and performance updates to improve our back-end compliance with WCAG 2.1 (previously we used WCAG 2.0 as our benchmark).
The most noticeable change is darker outlines around interactive form elements to help users with low vision, but other changes include:
- New styling for the Star icon (it gets a bold outline when checked) so it’s more perceivable by colorblind users or those with low vision.
- Marking required fields in back-end forms with an asterisk and including an instructive note “Fields marked * are required.” Also adding aria-required=”true” for screen readers.
- Adding screen-reader labels to icons in list view (tags, linked items, privacy padlocks).
- Event editor buttons for “Cancel Event” and “Add RSVP” now update based on user actions (“Uncancel Event” / “Remove RSVP”).
- Adding stronger, more consistent focus styling to all back-end form elements, with particular attention given to checkboxes, radio buttons, drop-downs, and WYSIWYG text areas.
- Updating WYSIWYG area iframe titles to match the inner editable area’s aria-label, so screen reader users can more easily know which field they are editing.
- Front-end: Adding an aria-live region around the month header of the mini-cal date browser so it’s more apparent to screen reader users when they are navigation between months.
LiveWhale 2.5.0 10/14/2022
- Corrected tab behavior when inside of a modal dialogue inside of LiveWhale—now, when an overlay opens, keyboard focus will be trapped inside the modal until you complete/close the modal or press Escape.
- Added in some missing aria-required and required field instructions to the RSVP and “Share via Email” forms.
- Added additional screen-reader instructions before the core calendar’s mini-cal, to clarify keyboard instructions for screen-reader users.
LiveWhale 2.18.0 12/1/2024
- In events widgets, events with no “details” (description, cost, RSVP, etc.) no longer link to the event details URL by default. This brings the event widgets behavior into alignment with the way that front-end calendar events lists have always worked.
LiveWhale 2.17.0 9/15/2024
- When exporting CSVs for RSVP attendance, first and last name of an attendee are now indicated as separate fields.
- Disabling backend login access now also disables form submissions from the frontend to aid with upgrade freezes. [docs]
- Updated URL validation to undo the 50-character limit from LiveWhale 2.16.1. URLs can once again be 60 characters long.
- Prevented all known web crawler user agents from cancelling RSVPs via the /live/events/cancel endpoint (to avoid automated email scanners erroneously cancelling RSVPs).
- Allowed 404 page template to be supported at _i/templates/404.php in addition to the existing default _i/templates/details/404.php.
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.9.2 4/14/2023
- Added code to prevent users from adding anchor tags with id=”global” to WYSIWYG fields. Anchors with this ID create a conflict with Javascript code.
- In the back-end, sidebar filters will now always show the “By group:” filter, even if your current group is the only one containing content of the current type.
LiveWhale 2.9.1 3/31/2023
- In iCal event exports, custom fields now are marked with a single “X-LIVEWHALE-CUSTOM-” prefix, removing the erroneously doubled “CUSTOM-CUSTOM-”.
Before: X-LIVEWHALE-CUSTOM-CUSTOM-REGISTRATION-LINK:
After: X-LIVEWHALE-CUSTOM-REGISTRATION-LINK:
If you have any customizations or applications expecting the old “CUSTOM-CUSTOM-” field name, be sure to update those when you upgrade, or reach out to support for assistance. - When creating a new widget in LiveWhale Calendar or Storyteller, the user’s current group is now set as the default group in the widget editor.
LiveWhale 2.9.0 3/10/2023
- Added support for Twitter meta tags in LiveWhale powered pages and content (og:title, og:description, and og:image will be included also as twitter:title, twitter:description, twitter:image). These were already supported via og: metatags, but now LW will override site-wide twitter meta tags that might be included in your theme with specific information about current page or content.
LiveWhale 2.8.2 2/24/2023
- When a previously-cached widget template is moved or deleted, LiveWhale now falls back to the cached version and logs an error for the missing template.
LiveWhale 2.8.1 2/10/2023
- When attempting to view hidden dynamic content, LiveWhale now redirects to the login screen rather than returning a 404 response.
LiveWhale 2.8.0 1/27/2023
- Fixed an issue where adding or saving a group wouldn’t always immediately clear the cached toolbar group switcher for all users.
- Fixed an issue where group=me was erroneously set as the default for new LiveWhale Calendar and Storyteller widgets.
LiveWhale 2.7.4 1/13/2023
- Restored tags to the JSON v1 API results for blogs, blurbs, files, galleries, images, pages, and profiles which had erroneously been removed.
LiveWhale 2.7.3 12/16/2022
- Fixed an issue where a zero-prefixed custom variable value had the zero dropped in /live/json endpoint responses.
- Added a details_canonical_url variable to all details templates, pointing to the canonical url for the item being viewed.
LiveWhale 2.7.2 12/2/2022
- Downloads from the /live/csv endpoint will now be named after the data type (events.csv, news.csv, profiles.csv) rather than the generic api_results.csv.
- Extend automatically-generated og:image metatags to also automatically provide the og:image:secure_url metatag for sites that support HTTPS.
LiveWhale 2.7.0 11/11/2022
- The JSON Events API endpoint now returns repeats_start and repeats_end for single multi-day events (even if they’re not a repeating series) so integrations can easily read the full date range from a single result.
- You can now filter by submitter name or email in the widget editor for content received via public submission.
LiveWhale 2.6.0 10/28/2022
- You can now configure additional CSS classes to be added to the fitvids.js ignore list, which wraps iframes and other videos in responsive code, in case your design or HTML already covers responsive videos. [docs]
- Adjusted API throttling for the JSON, CSV, iCal, and RSS endpoints to let in more concurrent requests and return a 429 Too Many Requests error when the quota is met and a slot doesn’t open up after 10 seconds of waiting.
- Added to the login error logs when an SSO connection is successful but the corresponding LiveWhale username is not found, to help with login debugging.
- LiveWhale CMS Only: When inserting an inline widget that uses a widget template, the name of the widget template is now shown as part of the widget placeholder.
LiveWhale 2.5.0 10/14/2022
- Added tags back to the /live/json/news endpoint under API v1. They had been erroneously removed in the LiveWhale 2.0.0 release. (Note, we still recommend migrating to JSON API v2 as soon as possible!)
- Clarified permissions so users who can Edit dynamic content can now manage (rename, hide, show, delete) files and images, even if they do not have the Upload Files permission. This fixes an issue in LiveWhale CMS where profile-only editors or those unable to upload files were also unable to upload photos in 2.0.0+.
LiveWhale 2.4.1 9/30/2022
- The group switcher now remembers recently used groups across multiple login sessions.
- In your front-end calendar, the “Calendars” component will now link to all group calendars with a calendar URL, even if that calendar’s events are excluded from the current view.
- Added is_canceled=1 flag to the JSON endpoint response for canceled events.
- Refactored the deprecated cors-calendar.js to pull a matching script from your global theme, if exists, to assist with backwards-compatibility or redirects if you have sites currently loading the core cors-calendar.js.
LiveWhale 2.4.0 9/9/2022
- Pagination is now automatically disabled when using the id arg on a widget to return a single result.
- There are now more types of URL misspellings (dashes vs underscores, for example) that LiveWhale CMS can automatically fix via redirection.
- When using a custom field with show_filter enabled, the sidebar filter now has an “Any value” option.
- When using a custom dropdown field that is required and has a default value, that dropdown will no longer give the user an empty option.
- LiveWhale Storyteller Only
- Added an “Edit this item” link to the frontend toolbar when viewing a story.
LiveWhale 2.2.0 7/29/2022
- Fixed an issue where some front-end CSS styling for links and pseudo-elements could interfere with the LiveWhale group switcher.
- During the upgrade process, LiveWhale will now attempt to redirect you to the necessary primary web node.
- LiveWhale CMS only
- LiveWhale will now warn you if you try to edit a page with an invalid ID in its source code (for example, an ID with spaces in it) rather than failing silently.
- Increased the allowable Facebook name length to 255 characters to prevent truncating very long entries in the group editor.
LiveWhale 2.1.0 7/15/2022
- Updated robots.txt and robots meta tags for sites on development mode, so Google will not index them at all (instead of indexing with “No information available”). This should prevent Google results showing LiveWhale development sites in the future.
- LiveWhale CMS only
- On the front-end toolbar, the “Current Page Group:” section of the group switcher is now a link, in case you want to switch into that group.
- When editing navigations, the “Link to a page” selector now shows more results and better supports partial keywords.
LiveWhale 2.0.1 7/1/2022
- Calendar views now show all dates in the future when searching or filtering events, as opposed to the default all_events_month_range setting.
LiveWhale 2.18.0 12/1/2024
- Fixed an issue with the search index that could arise when an item search phrase (like the title) was comprised entirely of search stop-words.
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.7.0 11/11/2022
- Improved the QuickAccess widget matches when searching by multiple keywords.
- Fixed an issue where QuickAccess widget search results were erroneously treated with case-sensitivity.
LiveWhale 2.5.0 10/14/2022
- Fixed an issue where some quoted search phrases would fail to match results.
- Fixed an issue when searching by email address which could return extraneous results.
LiveWhale 2.4.1 9/30/2022
- Fixed an issue with inaccurate search results when searching by a full name containing a hyphen.
- Fixed an issue where low-relevancy results could sometimes be dropped from single-word searches.
- Removed the word “welcome” from a list of excluded search terms so searches like “Welcome to…” can be used when looking up images or other content.
- Fixed bug that added a spinner over the related content search results, making it impossible to select an item.
- Livewhale CMS Only
- Fixed an issue where html entities like ampersand were appearing in QuickAccess drop down results.
- Fixed an issue where pages being excluded from the front-end (URLs including .test. or /_) were not appearing in the back-end “Add to Navigation” tool.
LiveWhale 2.18.0 12/1/2024
- Fixed an issue when editing inside of .mceEditable areas where backspace and delete could sometimes unintentionally remove or merge editable areas. Backspace and delete have been selectively disabled when editing inside an .mceEditable area to preserve the intended layout of those elements.
LiveWhale 2.17.1 10/6/2024
- When pasting into a WYSIWYG field, <span style=”font-weight:400”> and list item style/aria-level attributes that get frequently copied from Google Docs are now stripped.
LiveWhale 2.15.0 4/12/2024
- Added descriptive label to XPHP includes when viewing in the WYSIWYG editor.
LiveWhale 2.9.0 3/10/2023
- This release adds a new config option WYSIWYG_IMAGE_SHOW_CAPTION_DEFAULT – when set to true, any time your editors insert an image in an editable area, the checkbox for displaying the caption will default to true (see example code in livewhale/client/sample.global.config.php).
LiveWhale 2.4.1 9/30/2022
- WYSIWYG limited fields in dynamic content (e.g., Summary) are now automatically formatted with paragraph tag wrappers consistently, unless alternate formatting is entered.
- When pasting iframe code into the Insert > Media embed tool, LiveWhale now pre-populates the accessible title with the value of the iframe’s title attribute, if it has one.
- Livewhale CMS Only: Fixed an issue where, when page editing, uploading an image wouldn’t immediately select it in the Insert Image dialogue depending on what group you were in.
LiveWhale 2.18.0 12/1/2024
- Fixed an issue where event URLs that had been customized could sometimes erroneously return 404 Not Found.
- Fixed an issue where requests for cropped images were sometimes showing black bars around the image. Instead, they now get proportionally scaled down to match dimensions that the image file can accommodate.
- Fixed an issue where embedded widgets on details pages could sometimes not filter by global details template variables.
- Fixed an issue where occasionally Safari web browsers could incorrectly trigger a logout due to changing user agents.
- Fixed an issue with large accordion areas that could be out of viewport when opened. They now scroll into view shortly after opening in that case.
- Repeating events fixes
- Fixed an issue where auto-accepting a repeating event to multiple other groups could result in erroneous and redundant suggestions of the same event to those groups.
- Fixed an additional case where the last instance of a repeating event might not be created after repeating into a different DST state.
- Fixed an issue with multi-day events coming from Linked Calendars not correctly appearing in ongoing (“repeating_events”) section of front-end calendar, when themed to be separate from single_events.
- API fixes
- Fixed an issue that could prevent LOCATION: from appearing in default ICAL feeds when the site-wide base API version is set to v2.
- Fixed an issue introduced in LiveWhale 2.12.0 where header arguments could erroneously be added into the response for an RSS API endpoint.
- Fixes some contexts where ?callback=jsonp was used but the header application/javascript was not being sent in API results.
- LiveWhale CMS only
- Fixed an issue where Galleries could sometimes be excluded from Issues details pages when a group wasn’t configured to sort Galleries into Issues.
- Fixed JavaScript error that broke the widget tags selector.
- Fixed an issue in the page editor where drafts could not be saved for very large >65k character pages.
- Fixed an issue where an option value of 0 for a form element could show as a blank value.
- Fixed an issue where sitewide custom fields on Forms wouldn’t be displayed on front-end Forms details.
- Fixed an issue where redirects added using the LW Redirects manager weren’t applying correctly to calendar URLs.
- Fixed an issue where certain navigation edits could inadvertantly delete a page, requiring an additional step to click restore.
- Removed extra space at top of drafts when user is logged out.
LiveWhale 2.17.1 10/6/2024
- Fixed an issue introduced in LiveWhale 2.15.0 that can affect cases where custom code is applying a custom format to a WYSIWYG image.
- Fixed a bug that removed inline widget args when editing customizable args with the WYSIWYG widget edit dialog.
- Fixed an issue where async getUrl requests could fail on some web servers.
- Fixed missing support for “my_related_content” and “related_to” on the files widget.
- Fixed an issue that could allow a long list of format variables to overspill the widget editor interface.
- LiveWhale CMS Only
- Fixed an issue where suggesting or copying a blurb or profile to another group did not automatically authorize them for that global blurb/profile type if they were not yet authorized.
- Fixed a bug that broke the page editor when image captions in content layouts contained HTML.
- Fixed an issue preventing custom fields on blog posts from restoring their content when editing.
LiveWhale 2.17.0 9/15/2024
- Fixed an issue where multi-day all-day events could sometimes erroneously show “12:00 am” instead of “All Day” on their final day in calendar list and week views.
- Fixed an issue that could allow invalid email addresses to be used in the public submission form.
- Fixed an issue causing images in the current group to sometimes be excluded from the Shared Images view in the image library selector.
- Fixed an issue with AP Style that could sometimes cause double-commas to be included in datetime strings.
- Fixed an issue where multi-day events would not be recognized as satisfying the requirements for the “min” arg when used with the events widget.
- Fixed a bug that prevented widget format and format_starred arg values from being set from a widget template when switching to a new template from the widget editor.
- Fixed an issue preventing query strings (GET variables) from being preserved during the process when details page requests get redirected to the proper canonical URL.
- Fixed an issue that prevented XPHP field conditionals from being used for total and header variables in the format_widget setting.
- Fixed JS and CSS compilation error file creation when using symbolic links to the document root.
- LiveWhale CMS Only
- Shared content between two subdomains on the same LiveWhale instance will now redirect to the proper subdomain for details view if the group has a custom details template URL that is subdomain-specific.
- Excluded /_ingredients/templates/includes/ files from being listed in the Templates manager.
- Fixed an issue that could cause XPHP IF tags to sometimes be damaged during a page template refresh.
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.9.3 4/20/2023
- Fixed a bug (introduced in LiveWhale 2.9.2) that prevented LiveWhale users from pasting into editable WYSIWYG areas.
- Fixed a bug in the JSON API event endpoint that mistakenly used the same value for the ISO start date (date_iso) and end date (date2_iso).
- Fixed an edge-case issue that prevented some events that spanned multiple years from being returned in certain results.
- Fixed an issue where the makeMailtoLinks helper function, used in some calendar themes, could mistakenly double-apply to email addresses already wrapped in a mailto link.
- LiveWhale CMS Only: Fixed an issue where the ignore_cropper=true setting wasn’t being honored in inline galleries.
LiveWhale 2.9.2 4/14/2023
- Fixed an issue where users with permissions to edit their own group weren’t easily able to access the group and user editors, especially when switching groups.
- Fixed an issue where requiring custom fields in a back-end editor could sometimes prevent saving of links or linked copies.
- Fixed a bug for calendars using the front-end location filter would show a location’s ID rather than its name when selected.
- Fixed an issue where event RSVPs with payments attached could be mis-calculated for dollar amounts greater than $1,000.
- Fixed an issue where X-LIVEWHALE-CUSTOM fields in linked calendars would not import properly when containing certain characters in the variable name.
- Fixed the ALT text that displayed for images in an editor when more than one image was attached.
- Fixed the “Copy to clipboard” button in the Privacy settings for “Anyone with the Link.”
- Fixed an issue where the widget editor preview could sometimes not paginate properly when setting group=”me”.
- Fixed an edge case issue where a file include that starts with a noscript could have the noscript dropped from the output.
- Fixed a bug that separated sibling XPHP variables in WYSIWYG fields and wrapped each in parent markup.
- LiveWhale CMS Only: Fixed an issue where an additional LiveWhale form attached to an event RSVP would not have its required fields validated if none of the additional form fields were filled out.
LiveWhale 2.9.1 3/31/2023
- Fixed an issue where the shorthand (%%xphp) syntax could be parsed too early when saved into backend editor fields.
- Fixed validation of public submissions when adding required custom fields.
- Fixed an issue where event reminders and follow-ups were sent to Cancelled RSVPs. Now cancelled registrations are excluded from those emails.
- Fixed an issue with where custom widget pagination (overriding a default widget template) was sometimes lost when clicking pagination links.
- Fixed a small visual mialignment in the Event Type sidebar star icon.
LiveWhale 2.9.0 3/10/2023
- Fixed pagination in panel used to display content items such as images, widgets, and files when inserting those types into a page or editor.
- Fixed an issue where certain non-publishers would not see their content listed in the backend manager.
- Fixed an issue where adding or saving a group wouldn’t always immediately clear the cached toolbar group switcher for all users.
- Fixed an issue that prevented the header HTML tag from being used in a format arg from the widget editor.
- Fixed an issue where CSS classes applied to an inline widget format could be inadvertently removed when editing via the WYSIWYG editor.
- Fixed an issue which could cause format args to erroneously be removed from image widgets when credits or captions contained single quoted content.
- Fixed an issue where hiding repeating instances from an events widget, along with returning additional optional fields, could cause results to be inconsistent over repeat requests for the same data.
- Fixed an obscure bug which could cause certain shorthand XPHP vars to not be parsed correctly.
- Fixed a WYSIWYG bug that trucated some field data when mousing over the field on page load.
- Fixed an issue where certain accented characters could be ignored in frontend calendar group configurations.
- Fixed a duplicate ID on the Edit User page that could affect custom scripting or styling.
- Renamed “Weather ID” to “Weather Code” on the Edit Group page since some browsers were seeing “ID” in the label and auto-filling usernames in that field.
- Fixed an issue where group=me was erroneously set as the default for new LiveWhale Calendar and Storyteller widgets.
- LiveWhale CMS Only
- Fixed an issue that prevented Insert > Content layout from working when moving between editable areas of a page.
LiveWhale 2.8.2 2/24/2023
- Fixed an issue where slideshow galleries could sometimes improperly wrap content when rendering.
- Fixed an issue where occasionally the widget variable in format_widget would be moved on save depending on the HTML around it.
- Fixed an issue where widgets wouldn’t support results going inside an HTML select dropdown, and restored the ability to override format_widget on the public submission form location and tags selectors.
- Fixed an issue with the file widget that could cause certain kinds of GET vars to be truncated when including via URL.
- Improved the exclude_duplicates widget setting to behave more accurately when individual widgets are expired, added, or removed from a group of exclude_duplicates widgets on a page.
- Fixed an issue which could sometimes cause events to not display when navigating into the past in the frontend calendar.
- Fixed an issue where accordions inserted into an event wouldn’t always function properly for logged-out users.
- Fixed an issue that could cause webp images to be generated that were too large in file size.
- Fixed a bug that caused a JS error when a public submission form contained a form element with no action attribute.
- LiveWhale CMS/Storyteller (Issues Feature)
- Apostrophes and colons are now allowed in Issue names.
- Adjusted the issues manager to offer separate links to the live issue and the preview that includes hidden content.
- Fixed an issue where an Issues details page could not utilize XPHP vars for custom fields.
- Added support for the details_share variable (save and share links) on Issue details pages.
- LiveWhale CMS Only
- Fixed an issue where customized form submission notification emails could not use individual variables for submitted data.
LiveWhale 2.8.1 2/10/2023
- Fixed an issue where widgets wouldn’t support results going inside an HTML select dropdown, and restored the ability to override format_widget on the public submission form location and tags selectors.
- Fixed a bug that prevented image captions from transfering to the gallery when selecting an image.
- Fixed an issue where ñ characters were erroneously encoded, causing group/tag/etc. logic to fail to match.
- Fixed an issue where certain content layouts could end up with self-closing a tags which would then break certain XHTML parsing.
- Fix a bug that caused a JS error when a public submission form contained a form element with no action attribute.
LiveWhale 2.8.0 1/27/2023
- Fixed an issue where hiding repeating instances from an events widget, along with returning additional optional fields, could cause results to be inconsistent over repeat requests for the same data.
- Fixed an issue where certain accented characters could be ignored in frontend calendar group configurations.
- Fixed a WYSIWYG bug that truncated some field data when mousing over the field on page load.
- Fixed an issue which could cause format args to erroneously be removed from image widgets when credits or captions contained single quoted content.
- Fixed an obscure bug which could cause certain shorthand XPHP vars to not be parsed correctly.
- Fixed an issue that prevented the header HTML tag from being used in a format arg from the widget editor.
- Fixed an issue where certain non-publishers would not see their content listed in the backend manager.
- Fixed a duplicate ID on the Edit User page that could affect custom scripting or styling.
- Fixed pagination in panel used to display content items such as images, widgets, and files when inserting those types into a page or editor.
- LiveWhale CMS Only
- Fixed an issue that prevented Insert > Content layout from working when moving between editable areas of a page.
- Fixed an issue where CSS classes applied to an inline widget format could be inadvertently removed when editing via the WYSIWYG editor.
LiveWhale 2.7.4 1/13/2023
- Fixed an issue introduced by changes to the Google Maps API which could prevent users from successfully plotting an event on a map.
- Fixed an issue that could cause the bulk/quick upload tools from failing to save images.
- Fixed an issue (introduced in LiveWhale 2.2.0) that removed the hostname from iCal Subscribe links on the calendar.
- Fixed an issue where widgets that make heavy use of spaces for indentation could trigger an URL length warning in the widget editor preview panel.
- Fixed an issue where the event type manager did not display an error when attempting to add a duplicate event type.
- Fixed an issue where a “widget” variable inside a <tbody> tag could be reformatted incorrectly when saving a widget.
- Fixed an issue where placeholder CSS classes from a content layout might be left behind even after the placeholder is filled in.
- Added an exception to the code that wraps WYSIWYG fields in paragraph tags for image captions and image credits, since those typically get custom wrapping and formatting in front-end displays.
- Fixed the formatting of event cost in an event details view such that it is wrapped in a paragraph tag only when “other” is selected as a cost type.
- Fixed an issue where widget might not appear correctly when placed inside another widget’s formatting using simple conditional logic (curly brackets).
- Fixed an issue that prevented sorting the back-end news manager by a custom date range.
- Fixed an issue that caused European-style date strings to be incorrectly formatted when returned by the public JSON endpoint.
- Fix bug that prevented format starred field from showing in the Widget Editor when a value was present.
- Fixed an issue where an inside a comment block for a compiled stylesheet could cause incorrect formatting in the resulting stylesheet output.
- LiveWhale CMS Only
- Fixed an issue that prevented Places widgets from properly rendering a map in certain cases.
- Fixed an issue where exported profile CSVs would have an incorrectly formatted header row.
- Fixed an issue which could cause indentation to change from tabs to spaces upon first time creation of a page from a template.
LiveWhale 2.7.3 12/16/2022
- Made the expiration of page cache after editing dynamic content more reliable, especially when taking a previously-hidden item live. This can help prevent a case where publishing a hidden item could show a cached 404 error.
- Fixed an issue where external images associated with a Linked Calendar feed might not display in the frontend calendar list view.
- Fixed an issue where a Linked Calendar might not use the iCal image (provided using ATTACH) for all events in a repeating series.
- Fixed an issue where a required custom field for events could prevent calendar events from refreshing properly.
- Fixed an issue that caused Content Layouts to be hidden from the Insert menu in LiveWhale Calendar, even when layouts had been defined in your _ingredients.
- Restored ability to customize the dimensions of the image slideshow when viewing a details template (using image_width, image_height, thumb_width, and thumb_height on the details widget).
- LiveWhale CMS Only: Fixed an issue that could cause profile data source syncing to execute with a delay.
LiveWhale 2.7.2 12/2/2022
Fixed an issue with the default gallery where the icon indicating multiple images wouldn’t appear in the right position when in wide content areas.
Fixed an issue where the last instance of a multi-day event that should be flagged as all day was not.
Fixed an issue that prevented the Quick Upload tool on the Files library from accepting uploads.
Fixed an issue where a newly uploaded image being attached to another piece of content would fail to validate if only alt text was supplied and not a caption.
Widget Formatting
Fixed an issue where certain content wrapped in curly brackets were parsed as format variables in widgets when they were not.
Fixed a bug causing incorrect conditional logic when using curly-braced format variables on a value containing a vertical bar.
Fixed an issue where shorthand field vars in format args did not work properly without the fully verbose tag being present.
Fixed a version-specific crasher with the imagick PHP module related to webp image handling.
Fixed an issue where global content could fail to appear in the trash.
Fixed a situation in which previously-added modern image formats (picture, source) were erroneously stripped from output.
Fixed an issue with the not_equals filter condition that could cause it to ignore null values.
Fixed an issue where ampersands could sometimes be incorrectly encoded within javascript blocks.
Fixed an issue where ICAL event titles could have encoded ampersands when viewed in Outlook.
Fixed a rare crashing bug with a particular widget arg scenario.
LiveWhale CMS Only: Fixed pagination on the backend Page Notes manager.
LiveWhale 2.7.1 11/15/2022
- Addressed two calendar display issues erroneously introduced by code optimizations made in LiveWhale 2.7.0.
- Fixed a critical bug that could cause event details to not load in the front-end calendar for logged-out users.
- Restored code responsible for managing the calendar’s base URL, which is used in several places throughout the front-end display.
- Fixed an issue where LiveWhale Calendar components in /_ingredients/themes/_group/ weren’t properly overriding the core/global components on a group calendar.
LiveWhale 2.7.0 11/11/2022
- Fixed an issue where the “Replace this with a new file from your computer” button could be erroneously hidden from “Edit a file.”
- Fixed an issue where nested content nodes inside a widget template could sometimes fail to work properly.
- Fixed an issue where the equals widget filter did not work properly on custom fields of type checkbox or radio.
- Fixed an issue where some XPHP vars could be stripped when using the Edit Source feature of the WYSIWYG editor.
- Fixed an issue where events in the frontend calendar could erroneously show in 24-hour time format when not desired.
- LiveWhale CMS Only
- Fixed an issue that could prevent accessibility reports from being generated under 2.x installs.
- Fixed an issue where a nav item could be marked as a parent even if all its subpages were hidden.
- Fixed an issue where placeholder text in content layouts could mistakenly be included in the site search or search previews.
LiveWhale 2.6.0 10/28/2022
- Fixed a WYSIWYG add/edit link bug that caused the link to be inserted in the wrong place.
- Fixed an issue where captions could sometimes still display in certain contexts where an image was marked as decorative only.
- Fixed an issue where compiled stylesheets did not guarantee that @charset and declarations were positioned at the very top of the response.
- LiveWhale CMS Only
- Fixed an issue where a long or complex # string in a URL could break accordions on a page.
- Fixed an issue where a profile with a checkbox field on it would be formatted properly in widgets and in the profile details body/sidebar, but not if you placed the details_229 variable elsewhere on your profile details template.
- Fixed an issue that could cause inconsistencies between web nodes for page error reporting under load balanced environments.
- Fixed a rare condition on some server setups where a file widget would fail to fetch a constant include.
- LiveWhale Storyteller Only
- Updated the widget “Get Code” link to provide the external widget code for Storyteller widgets.
- Added a performance improvement for displaying front-end news category checkboxes.
LiveWhale 2.5.0 10/14/2022
- Fixed an issue that could prevent events with an explicit 12:00am start time from displaying the start time in certain contexts.
- Fixed an issue where news or events category checkboxes could be cached indefinitely on the backend for some users, even after editing the category options.
- Fixed an issue that could prevent the image preview from appearing when uploading a new image.
- Fixed an issue which could cause some WebP images to fail to load.
- Fixed a Safari only bug in the uploader that caused the first image to replace subsequent images when uploading multiple images via the WYSIWYG image dialog.
- Fixed an issue where LiveWhale would only recognize the first of multiple args wrapped in conditional logic within a widget template.
- Fixed an issue that under some systems could cause login to fail after a content sync.
- Fixed an issue where some content with restricted privacy did not correctly redirect back to the item requested through a login.
- Fixed a visual error on the event editor that could cause the RSVP start and end times to be cut off within the timepicker.
- Fixed an issue where editing relative links wouldn’t always bring up the correct external URL options.
- LiveWhale CMS Only
- Fixed the styling of the “Log out” button for when profile-only users are editing their profiles.
- Restored backwards compatibility for pre-2.0.0 gallery templates to use thumbnail formatting from the site-wide default inline_gallery template.
LiveWhale 2.4.1 9/30/2022
- Fixed an issue where the last tag attached to an item could not be removed.
- Fixed an issue where XPHP inside HTML comments could sometimes generate malformed output.
- Fixed an edge case issue where multiple conditional widget args inside a shorthand XPHP conditional block would be ignored.
- Fixed an issue that could cause the wrong group directory value on some group calendars.
- Fixed an issue where embedded videos were sometimes not getting the correct responsive aspect ratio in cases where the width or height contained a decimal.
- Fixed an issue where custom fields marked as required could sometimes not trigger a requirement warning if left blank.
- Fixed an issue that caused some of a user’s content type authorizations to be lost when un-checking the administrator permission.
- Fixed an issue where very long og:image meta tags could have their value cut off and fail to present a valid image url.
- Fixed an issue where inline widget placeholders (introduced in LiveWhale 2.4.0) only showed generic type names when a saved widget was also in use on the page.
- Fixed an issue where moving between the mobile and desktop toolbar navigations could cause the toolbar links to be hidden.
- Fixed an issue where uploading an image and adding a caption from the Insert Image modal wouldn’t include the newly-added caption in the Insert Image options.
- Fixed an issue where certain SVGs could be missing from file includes.
- Fixed an issue where the image bulk upload option still appeared for users lacking image upload permissions.
LiveWhale 2.4.0 9/9/2022
- Fixed an issue where trailing events in a repeating series might not get created if the repeat range crosses daylight savings time.
- Fixed an issue where custom checkbox fields wouldn’t be pre-checked when a “default” value was specified in the configuration.
- Fixed an issue where hard-coded links to stylesheets were losing their media (print, screen) attributes.
- Fixed an issue where an erroneously self-closing XPHP conditional could break output.
- Fixed an issue where attaching a library image to a piece of content did not pre-populate the default caption.
- Fixed an issue affecting the crop preview after uploading an image.
- Fixed an issue where images being imported to the library via URL were failing when there was a mismatch between the extension and actual file format.
- LiveWhale CMS Only
- Fixed an issue where the event title wasn’t populating in the URL when redirecting from /live/events/ID to the front-end calendar /events/ view.
- Fixed an issue where LiveWhale Forms containing a timepicker weren’t being styled properly.
- Fixed an issue where links incorporating shorthand XPHP vars () could cause false positives on the Page Errors 404 report.
- When using magazine issues, the issues template can now appear in search results, widgets, and added to navigations.
- Fixed an issue where malformed SVGs in file widget includes could sometimes cause the include to be ignored.
- Fixed an issue where the add new directory button in the file browser failed to submit.
- Fixed an issue where, when searching for a page to add to a navigation, the search results could sometimes overspill the visible area.
LiveWhale 2.3.0 8/19/2022
- Fixed an issue where the page title would sometimes not display correct for the frontend calendar.
- Fixed an issue preventing clean_markup from supporting the include_javascript and include_stylesheet args.
- Fixed an edge case where a parent_ format variable inside of a conditional widget setting was being evaluated too early.
- Removed toolbar keyboard shortcuts – we’ve received some reports that adding keyboard shortcuts to the LiveWhale toolbar was interfering with native keyboard shortcuts, so we’ve removed them. If you’re interested in adding custom shortcuts to your installation feel free to adapt this code into backend.js or your front-end theme.
LiveWhale 2.2.0 7/29/2022
- Fixed an issue with the new group switcher that could cause certain users to have a blank list of groups.
- Fixed an issue where users with multiple LiveWhale accounts sharing a single email address could be notified multiple times when sending a bulletin.
- Fixed an issue where deselecting allow access to other groups in the user editor did not remove groups selected for switch access.
- Fixed an issue where certain link copies of events in another group’s linked calendar could fail to display in the frontend calendar.
- LiveWhale CMS only
- Fixed an issue that could cause 404 pages to be unstyled if they contained only shorthand XPHP includes and no other widgets.
- Fixed two issues with gallery templates: allowing .xml gallery templates to override the default, and repairing support for image_crop=false (allows for width and height to be used as maximums, rather than always cropping gallery images to those exact dimensions).
- Fixed an issue where magazine issues were not available at their default LiveURL location.
LiveWhale 2.1.0 7/15/2022
- Fixed an issue where a non-admin user with access to all groups wasn’t seeing the group switcher in the toolbar.
- Fixed an issue that prevented you from deleting a linked calendar in another group when filtering “By group” in the linked calendar manager.
- Fixed an issue where editing the default contact info for your group wouldn’t take effect until your next group switch or login.
- Fixed a bug that prevented a direct API search for images by collection.
- Fixed an issue that prevented “Upgrade available/scheduled” from appearing for admins on the Dashboard.
- Fixed an issue where group default contact info displayed incorrectly on the group editor.
- Fixed an issue that could in some cases improperly encode smart quotes within alt text attributes.
- Restored pagination to the file list when linking to one of your files.
- LiveWhale CMS only
- Fixed an edge case issue where HTML code tag blocks could have a leading entity broken through a page edit.
- Fixed an issue with validation of some images when importing profiles in bulk.
- Fixed an issue preventing LiveWhale Calendar/LiveWhale Storyteller remote widgets from being added to LiveWhale CMS sites.
- Fixed a display issue that indicated an undefined owner group for shared files when inserting them into a page.
- Fixed an issue with Instagram images when using the WEBP image format.
LiveWhale 2.0.1 7/1/2022
- Fixed an issue where <em> tags could sometimes be saved as a self-closed HTML tag, causing parsing problems.
- Fixed an issue where event RSS feeds did not indicate a georss:featurename when an event had a custom location that was not also plotted to a map.
- Fixed the format of locations in the JSON-LD structured data for online events utilized by rich search results.
- Fixed an issue where frontend calendar components would not validate on servers running PHP7+.
- Fixed an issue preventing a group theme from loading properly when utilizing the new _ingredients/themes/_group subdirectory.
- Fixed an issue that could cause some API updates via url to fail with a save error.
- Fixed an issue that could arise when a file include starts with a <body> tag.
- Fixed a group authorization issue that could lead to missing event types or news categories on the editor screen.
LiveWhale 2.18.0 12/1/2024
- LiveWhale now supports the use of XPHP shorthand syntax (<xphp before=..., <xphp after=) within scheduling/timely conditional content attributes.
- The cached /live/places/maps_js Google Maps JS can now be manually refreshed using ?refresh=1, for cases where your Google Maps API key has been updated.
LiveWhale 2.17.1 10/6/2024
- Remove share_by_default from sample config for images and files, which don’t currently support sharing by default.
LiveWhale 2.17.0 9/15/2024
- You can now enable the “Feedback?” email form on the Dashboard for logged in users, so long as its configured to send to your own custom helpdesk email address. [docs]
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.9.1 3/31/2023
- Custom fields can now have a “is_details” setting that, when true, removes them from the editor for shared and linked content and also skips is_required validation in those cases. It also generates a news/event details link when that custom field is filled in, even if otherwise there would be no details to show. [docs]
- Custom fields added to groups are now available to backend.js customizations using livewhale.group_custom_fields.
- If you are a LiveWhale CMS or Storyteller site using Issues:
- Fixed an issue with the preservation of smart quotes in issue titles.
- Fixed an issue where linked copies of hidden content didn’t appear when using ?include_hidden=1.
- Extended the Issues functionality to allow hard-coding a details page to show only a single issue.
- Added support for galleries in Issues.
LiveWhale 2.8.2 2/24/2023
- Added a list of available XPHP variables in the current request to the LiveWhale debug view.
LiveWhale 2.8.1 2/10/2023
- The news, blurb, and gallery modules now support an optional response field “date_extended” in the JSON v2 endpoint, which adds various formatted timestamps (date_ts, date_utc, and date_iso) to the response, in addition to the human-readable date field.
LiveWhale 2.8.0 1/27/2023
- Added support for removing a variable from all nodes at once [docs].
LiveWhale 2.4.0 9/9/2022
- Choosing the developer option “disable minimization and client-side browser caching of all scripts and stylesheets” for your user will now also opt out of script and stylesheet concatenation, so they’ll appear in your source code as separate files.
- Add a new initOverlay event to the imageEditor overlay jQuery plugin, for the case where a custom module might want to interact with the “Insert Image” overlay.
- Added a new function $_LW->displayCustomFieldFormInput($id) which offers a shorthand method for deploying the HTML markup of a custom field’s input automatically, using the configured custom field attributes.
LiveWhale 2.18.0 12/1/2024
- Fixed an issue where some CSS styles from front-end theming were bleeding into the LiveWhale toolbar fonts.
- Fixed a performance issue affecting widgets inside format args where they would be executed anyway even if within conditional blocks that are never met.
- Improved the accuracy of the diagnostic check for favicons.
LiveWhale 2.17.1 10/6/2024
- Increased the minimum PHP version requirement of LiveWhale to 7.2.24.
- Updated behavior to make /live/ URL error reporting match the same standard rules that all other LiveWhale URLs use.
- Restructured certain MySQL queries for tags and categories to use subqueries instead of table joins, which has demonstrated a performance improvement in MySQL 8+.
LiveWhale 2.17.0 9/15/2024
- Removed outdated references to old documentation site and support email.
- Fixed an issue that could sometimes cause the widget cache to not be cleared when the page cache was updating.
- Added a performance optimization to the hide_repeats arg which could sometimes cause a lag in the fetching of results.
- Improved LiveWhale’s automatic user-agent detection that serves stronger cached results to bots and web crawlers.
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.
LiveWhale 2.9.2 4/14/2023
- Updated codebase for PHP 8.1 compatibility.
LiveWhale 2.9.1 3/31/2023
- Added IGNORE_GET_VARIABLES configuration that tells the LiveWhale cache to ignore differences in specified GET variables (for email marketing tracking, for instance) when generating cached results.
- LiveWhale CMS: Extended the allowed length of profile fields from 65,535 characters to 16,777,215 characters (TEXT to MEDIUMTEXT). This prevents very long profile values from being cut-off on save.
- Minor optimization to the database index for event types.
LiveWhale 2.9.0 3/10/2023
- Improved performance with a weekly cleanup of the widget cache.
- Updated internal API requests to use JSON API v2.
LiveWhale 2.8.2 2/24/2023
- Upgraded npm json5 and http-cache-semantics submodules to resolve security vulnerabilities.
LiveWhale 2.8.1 2/10/2023
- Updated LiveWhale CMS’s page accessibility checker to remove the local achecker fallback as it was occasionally causing issues. All LiveWhale CMS accessibility scans will now call out to our in-house API server (available since LiveWhale 2.4.0).
LiveWhale 2.8.0 1/27/2023
- Improved performance with a weekly cleanup of the database widget cache.
- Updated internal API requests so they use JSON API v2.
- Updated the JSON5 NPM submodule to fix a vulnerability identified by NPM audit.
- Renamed “Weather ID” to “Weather Code” on the Edit Group page since some browsers were seeing “ID” in the label and auto-filling usernames in that field.
LiveWhale 2.7.4 1/13/2023
- Updated the JSON5 NPM submodule to fix a vulnerability identified by NPM audit.
LiveWhale 2.7.3 12/16/2022
- Fixed a particular scenario which could cause a custom global application from not executing on the frontend.
LiveWhale 2.7.2 12/2/2022
- Updated database configurations to fix INT column compatibility for MySQL 8.0.
LiveWhale 2.7.0 11/11/2022
- LiveWhale now logs syntax errors alongside widget templates during development for logged-in users.
- Removed a deprecated “SEO” view from the calendar, since it has now been replaced with the Google Sitemap.
LiveWhale 2.6.0 10/28/2022
- Improved the quality of search results when searching for a quoted exact phrase.
- Refactored the LiveWhale upgrade process to allow for certain database upgrades to be run asynchronously, speeding up the upgrade experience for admins.
- Fixed a ReDoS vulnerability in the minimatch NPM package.
LiveWhale 2.5.0 10/14/2022
- Improved performance of image searches in certain contexts.
- Fixed table partitioning support under MySQL 5.7.17+.
LiveWhale 2.4.1 9/30/2022
- Updated SAML metadata to always include the SP certificate twice (for signing and encryption) and to add a far-future expiration date.
- Extended protections against an infinite loop caused by file widgets that 404 which are themselves part of the 404 template.
- Resolved a security notice from npm by upgrading node-sass from 7.0.1 to 7.0.3.
- Added a new setting DISABLE_PUBLIC_SUBMISSION_EMAILS that disables all notifications for the public submission form. This is most useful if you are implementing your own notification code using the onPublicSubmission handler.
LiveWhale 2.4.0 9/9/2022
- Removed code for now-deprecated CORS calendar mode.
- LiveWhale CMS now attempts to use an in-house API server for accessibility checking before falling back on the local achecker installation.
- Silenced unnecessary SAML warning message from logs.
- XPHP blocks found within HTML comments are now automatically disabled.
- Fixed an issue where resetting an installation’s unique identifier on only one web node could cause a mismatch on others.
- Improved handling of quotes in pre-serialized data being saved to the database.
- Upgraded to PHPMailer 6.6.4 for SMTP integration.
- Improved PHP 8.1 compatibility.
LiveWhale 2.3.0 8/19/2022
- Improved search result weighting by considering site depth of individual page results (such as office and department homepages). Now, pages closer to the root of the website are more likely to appear higher in search results, compared to pages in deeper sub-directories.
- Improved performance of bulk operations when submitting checked items from a manager.
- Replaced internal PHP functions (utf8_encode/utf8_decode) before they are deprecated in PHP8/9.
LiveWhale 2.2.0 7/29/2022
- Performance improvements when searching for places to map to an event from the event editor.
- Removed deprecated code for the CORS embedded calendar.
- Added the ability for LiveWhale to internally disable the content length header when creating and exporting certain custom iCal feeds.
- Increased the minimum required PHP version from 5.5 to 5.6 (note, no current LiveWhale 2.0+ sites are using PHP 5+, most are on 7+, which is why we considered this a minor and not a major change).
LiveWhale 2.1.0 7/15/2022
- The HOSTNAME_WHITELIST setting is now called HOSTNAME_ALLOWLIST and supports backwards compatibility. [docs]
- The “Delete linked calendar” UI now matches other back-end interfaces.
- Extended tools that LiveWhale support uses when diagnosing traffic or DDOS issues.
LiveWhale 2.0.1 7/1/2022
- Extended security rules for blocking malicious URL requests.
- Updated detection code used for web and search engine crawlers.
- Fixed an issue that caused several errors to be logged about output buffering.
- Fixed an issue which could cause LiveWhale to erroneously detect SSL support at a web node behind a load balancer.
- Fixed an issue where the version number displayed was not immediately reflective of an upgrade on your first login.
New versions will be announced via Dashboard messages in LiveWhale, or you can sign up to receive email notifications.