Search documentation
No results found. Try a block name or setting label.
Dirigible Theme changelog
Latest release: 5.31.313, 2026-10-28.
5.31.313 2026-10-28
Fixed
- Classic checkout errors stay in the page on phones. A missing field or declined card message used to be pinned to the corner of the screen with no close button, covering the payment fields and Place order on a phone. On checkout and Pay for order it now sits at the top of the form, where WooCommerce scrolls to it. Elsewhere in the store, a long list of notices scrolls instead of running off the screen.
5.31.312 2026-10-27
Added
- Font Awesome icons for Icon List and Grid. The first time someone opens the block editor, the site downloads the Font Awesome Free icon library (2,163 icons) once from Dirigible's font host and keeps it in its own uploads, so picking icons never waits on another site and visitors never load anything from it. Icons are checked against a pinned checksum and rebuilt from plain path data before they're saved. Icons copied from another site, or imported before anyone opened the editor, still show: pages draw them from this site's copy. Needs Dirigible Font Host with the icon catalog deployed, and a Dirigible Blocks release with the icon picker.
5.31.311 2026-10-27
Added
- The site report shows the upload limit.
site.upload_limitgives the largest file the Media Library accepts (wp_max_upload_size(), in bytes) and the host's rawupload_max_filesizeandpost_max_size, so sites left on PHP's 2 MB default after a host PHP change can be found from the fleet reports.
5.31.310 2026-10-27
Changed
- Filled and empty settings fields are easy to tell apart. On Tracking & Privacy and other Dirigible settings pages, an example placeholder is now italic and a field you've filled in has a green left edge, as in the Customizer.
5.31.309 2026-10-26
Fixed
- Cards in a post list or grid near the top of a page animate in once. Cards further down used to rise in as you scrolled to them, then pop in a second time (blog and archive pages).
5.31.308 2026-10-26
Fixed
- Image captions line up across a row when some images are linked and some aren't. A linked image's caption used to sit about 10px lower.
5.31.307 2026-10-26
Fixed
- A Blog page added by a later Theme Setup run no longer says "None of this content will appear". When you run Theme Setup again with only Blog ticked, the new Blog page doesn't become your posts page, so that note showed on it. It now starts empty, ready for your own content. Blog pages made on the first run, or with Home ticked, are unchanged.
5.31.306 2026-10-26
Fixed
- On a product page, the selected thumbnail no longer looks like the focused one. The thumbnail whose image is showing now has a bar in the Primary colour along its bottom edge, and the other thumbnails are slightly faded (full again on hover or keyboard focus). It used to have an outline in Primary, which on sites with a dark Primary looked almost the same as the keyboard focus ring. The focus ring is unchanged, and a selected thumbnail with focus shows both.
- SVG images show again in the Media Library's attachment details. The large preview and the Focal Point picker were blank for SVGs saved without a width and height (most exported logos).
Changed
- Action Strip: Button and Understated link text shows its hover look when you hover or keyboard-focus anywhere on the strip, not only on the button itself.
5.31.305 2026-10-26
Fixed
- Running Theme Setup again with only Blog ticked no longer changes Settings → Reading. On a site that shows its latest posts on the home page, a later run used to make the new Blog page the posts page and switch to a static front page. Now a later run adds the Blog page and leaves your front page and posts page as they are, unless you also tick Home. The first run still sets up Home and Blog as before.
- Country's help text says what an empty Country does. On Theme Setup's Details step and in Footer & Contact → Contact Information, it now says an empty Country uses your WooCommerce store country (when WooCommerce is active), or else the US, which is what search engines already got.
5.31.304 2026-10-26
Changed
- A repeater inside a Gravity Forms repeater row no longer darkens the background again. Only the outer row has the light background; the inner box (serial numbers per product, say) keeps just its thin border, so text and fields stay as readable at every level.
5.31.303 2026-10-26
Fixed
- Gravity Forms repeater fields are easy to follow on the front end. Each repeated row (for example, one product with its part number, date and serial numbers) now sits in its own light box, like in the form editor, with space between its fields. A repeater inside a row (serial numbers per product) is one box with a line between entries. The Add and Remove buttons are small, quiet buttons with room above them, instead of plain grey browser buttons pressed against the next label.
- Theme Setup leaves out a starter-page button that has nowhere to go. Re-running Content with only Home ticked on a site with no Contact or About page used to give Home buttons that opened Home itself. Those buttons (and the pricing cards' links) are now left out. Showcase, which demonstrates button styles, keeps its buttons.
- Without WooCommerce, AI-written Home copy no longer talks about shopping. The section beside Home's photo links to Contact on a site without a shop, but the AI could still write it as a shop ("Shop Wares"). It's now told where the section's button goes, so it describes what the business does; with a WooCommerce Shop page the section still leads to the shop. Without AI the section shows placeholder text as before.
5.31.302 2026-10-26
Fixed
- Tracking & Privacy refuses a paste with several IDs in a one-ID field, as the docs say. Pasting two Tag Manager containers, two Meta pixels or domain verification codes, or two StackAdapt, HubSpot or Piwik PRO container IDs (or a snippet with two) into Dashboard → Tracking & Privacy used to save the first one without a word. Now that field isn't saved, its saved ID stays as it was, and a note under it lists the IDs it found so you can paste the one it's for. The Customizer already worked this way. One ID, or the whole snippet for one ID, saves as before.
- A HubSpot or Piwik PRO value that isn't in the right format no longer clears the field on Tracking & Privacy. It's refused with a note, and the saved value stays.
5.31.301 2026-10-26
Fixed
- Product image thumbnails work from the keyboard. On a product page with several images, Tab now reaches each thumbnail under the main image, Enter or Space shows it, and the focused one gets the site's focus ring. Screen readers hear "Show image 2 of 4" and which one is showing. The thumbnails look and click exactly as before.
- Error messages on the classic checkout read clearly on its Gray background. Form and Product Add-Ons error text, and WooCommerce's error notice at the top of the checkout, were worked out against white and came out slightly too light on Gray (about 4.2:1). They're now just dark enough to reach 4.5:1. Nothing else on the checkout changes colour.
5.31.300 2026-10-26
Security
- A linked entry in an import file must be one you can see, of the right kind. A JSON import file could link a field (an event's location, a release's songs) to any post by its number, including a private or draft one or a post of another kind, and its title then showed on public pages. Now a number only links a published or readable entry of the kind the field expects; anything else is left out with a note in the preview, as a name that isn't on the site already was.
- Imported titles and category names are cleaned for people who can't add scripts, as their content already is, when the file is read. Titles look the same as before.
- Recorded PHP errors also hide payment keys and sign-in tokens (Stripe-style secret keys, bearer tokens, JWTs) and email addresses written as
%40. They no longer cut text after a "?" that isn't a web address (database errors with?placeholders read in full), turn version numbers like 10.0.0.1 into "[ip]", or hide a page called "home" in the error's page address.
Fixed
- Undoing an import keeps every image the site still uses. Undo now also keeps an image used as a section, hero or callout background or in any other block (not only an Image block), in an ACF block, on an ACF options page, as the site logo, scroll or footer logo, site icon or Customizer logo, in an image widget, or as a category image. It no longer mistakes image 12 for image 123.
- Undo can't get stuck on a very large site. Images are checked 20 at a time in a few queries; if a check can't finish, undo keeps those images and carries on instead of trying the same ones again.
5.31.299 2026-10-26
Added
- Theme Setup's Colors step checks contrast as you pick. Under the swatches, the same check as the Customizer's Palette lists the color pairs that would be hard to read (body text, links, buttons, light text on Black and Primary sections, form labels and borders) with a color that would read. It only warns: you can still continue.
Changed
- WooCommerce checkout: fields marked invalid now show their label in red too, not just a red border. The red is darkened just enough to stay readable on the checkout's Gray background (4.5:1). It was meant to work this way but never did.
- Product Add-Ons error messages follow Gravity Forms' messages in dark and photo sections. In Reverse Print sections they stay white where white reads instead of turning a light red, and over a photo they keep the section's text color.
Fixed
- Keyboard focus shows clearly on more form controls. The two-tone focus ring (a white or black line inside the ring) now also appears on Gravity Forms' date picker button and calendar days, the password show/hide button, Select All, and the list field's add and remove buttons; on WooCommerce review stars, the checkout's Ship / Pickup choice, and the search box in an open country or state drop-down, which had no focus ring at all. Focusing the already-selected Ship / Pickup option used to look the same as not focusing it. The calendar's ring no longer turns white (unreadable) when a form sits in a dark Reverse Print section. Nothing changes until a control has keyboard focus.
5.31.298 2026-10-26
Security
- An import runs only as the person who uploaded its file. An Administrator could open someone else's Import & Export session (a Shop Manager's or an Editor's who can't add scripts) and press Import, and the file's content was then saved with the Administrator's permissions: a script or a
javascript:link in it reached the published pages. Now only the uploader can start or run an import; Administrators can still see it, undo it or delete it, and are told to upload the file themselves to import it. The content of a file uploaded by someone who can't add scripts is also cleaned when it's read, exactly as the editor would clean it when they save, so imports look the same as before. - Recorded PHP errors no longer keep personal data. The errors the site keeps for Dirigible's site report had email addresses, IP addresses, web-address query strings (tokens, order numbers) and the start of each value passed to the failing code (a password, for a sign-in error). These are now removed when an error is recorded, and from errors recorded before the update when they're reported.
Fixed
- Undoing an import no longer deletes an image a later import still uses. When a second import picked an image the first one downloaded (in a gallery, image or file field), undoing the first import deleted it. Undo now keeps any image another post uses in an image, file or gallery field, as it already did for featured images and images in content.
- Dirigible never deletes a replaced plugin on a site that blocks file changes (
DISALLOW_FILE_MODS), and never deletes one when the check that decides whether a site keeps it isn't there (WP Sitemap Page's handover, or Dirigible Optimize for EWWW Image Optimizer). The plugin stays switched off instead.
5.31.297 2026-10-26
Fixed
- Theme Setup's starter pages no longer have buttons that go nowhere. The Home page's buttons linked to "#" (the pricing cards and the welcome button) or to nothing (the button beside the photo), and Showcase's buttons did the same. Every button and link now opens a page Setup made: sign-up and pricing buttons go to Contact, Home's welcome button to About, and the button beside Home's photo to your WooCommerce Shop page when the site has one (Contact otherwise). If you didn't tick Contact or About, the links use an existing page of that name. About's contact button now also works on a site installed in a subfolder.
- AI-written button labels match where the button goes. With AI connected, Theme Setup tells it which page each button opens, so a button to Contact reads like an invitation to get in touch instead of promising a "Shop" or "Classes" page the site doesn't have.
5.31.296 2026-10-25
Fixed
- Form error messages are now easy to read with any Failure color. The default Failure red on the light pink of the error box at the top of a form was 3.2:1, under the 4.5:1 text needs, and so was the message under a field on most pages and sections. The theme now shows a darker shade of your Failure color there (a lighter one on dark sections), just enough to read, and leaves it as you picked it where it already reads. It covers Gravity Forms' error box and field messages, WooCommerce error notices and Product Add-Ons messages. In Reverse Print sections, field messages stay white where white reads on the section's background color, as before, and show a readable shade of Failure only where it doesn't (white on a yellow or light orange section, say); over a photo or video they stay white. Nothing else on the page changes, and browsers without modern color support keep the old colors.
- The Customizer no longer warns about form error messages. Palette now shows a "Nothing to fix" note with the shade visitors will see instead.
5.31.295 2026-10-25
Changed
- Gravity Forms Image Choice cards, the WooCommerce login and registration fields, and the WooCommerce country and state drop-downs now take the two-tone focus ring too. On a Primary section with dark text, the ring around an Image Choice card or a login field used to vanish into the background; the white or black line inside it now keeps keyboard focus visible there. Pages look exactly the same until someone moves through them with the keyboard.
5.31.294 2026-10-25
Changed
- The keyboard focus ring now has two tones: a thin white or black line inside the Primary-colored ring, whichever stands out against the ring. On a button filled with Primary, a checked checkbox, or a Primary section with dark text, the ring used to blend into the color around it; the line keeps focus easy to see there. It shows on buttons, form fields, checkboxes and radio buttons, file pickers and social icons. Pages look exactly the same until someone moves through them with the keyboard. Builders can choose the line color with
--focus-ring-innerin Additional CSS. - Slider arrows, dots and the pause button take the same focus ring. The arrows and pause button had a plain white outline, and the dots only a faint gray one, which disappeared on light slides. Dots get the ring right on the dot, with the contrasting line outside it, so focus shows over any photo.
5.31.293 2026-10-25
Changed
- The theme now draws the auto-dark and high-contrast handling for Dirigible Blocks' recolored logos (Logos, Logo Carousel), the Comparison Matrix and Comparison Table checkmarks, and the readable label on the active tab (Tabs: Tags, Inset and Pill). Blocks used to carry its own copy of these rules; there's now one copy, in the theme. Pages look exactly the same. Update the theme before Dirigible Blocks (the next Blocks release drops its copy).
Fixed
- Icons in wp-admin and the editor stay visible when a browser darkens the page or uses a high-contrast mode. Chrome's and Samsung Internet's auto-dark modes, Dark Reader and Windows high-contrast turned some of them dark on a dark background, or hid them: the social and wand icons and page checkmarks in Theme Setup, the layout drawings on plugin settings pages and in the Customizer, the Dirigible mark on blocks in the block inserter, the image-position picker on Sections, the choose-image button, and the icons on admin notices. They now change color with the text beside them. In normal viewing they look the same, except that the drawing on the selected layout tile in the Customizer is now white like its label (it was grey).
5.31.292 2026-10-25
Fixed
- Visitors without JavaScript can comment from another of the site's addresses. On a second address (a temporary *.wpdns.site address, an alias or a staging copy), a visitor with JavaScript turned off used to get the "looked automated" page and lose the comment. Their comments are now treated like any other comment sent without JavaScript: as before during the first 60 days, then to Comments → Spam for review. It starts working at an address once a page there has shown the comment form since this update.
- A comment started while logged in still goes through when the login runs out before Post. After the first 60 days it used to go to Spam. Where Settings → Discussion asks for name and email, WordPress still asks for them first, as before.
Changed
- The comment form's hidden check code now changes by itself every 30 days, so a bot that copied it once stops getting through. Pages kept in the cache keep working: an old code is still accepted for 60 days after it changes, twice as long as the hosting cache keeps a page. Nothing to set up, and the page is still the same for every visitor. Developers:
ds_comment_guard_rotate(seconds, 0 never changes it). - Internal: the comment guard's counts in the site report (
comments.guard) hold up under heavy bot traffic. Each count is now a small counter row per day and reason, so a flood of bot comments no longer rewrites one large option on every hit, and hits that arrive together are all counted (before, a few were lost). Spam, passed and grace counts now count only comments that were saved, so a duplicate or a comment WordPress refused isn't counted. Counts recorded before the update carry over. New fields:token_since,old_tokens_accepted,alias_hosts, and the Spam reasonold_token(a code older than its 60 days).
5.31.291 2026-10-25
Added
- Contrast warnings in the Customizer. Styles → Palette now checks the color pairs your site actually shows: body and muted text on the page background, headings, inline links and their hover, the Links style, button text, Hollow buttons, light text on Black and Primary sections, text on cards (Canvas) and Gray sections, form labels, sublabels, field borders and error messages. A pair below the WCAG AA minimum (4.5:1 for text, 3:1 for large headings and field borders) gets a short note under each color involved, with a darker or lighter color that would read, and a summary sits at the top of Palette. The notes update as you change colors. They're only warnings: nothing changes by itself and you can still publish. Pairs the theme already fixes on its own (Secondary buttons, buttons on a section in the button color, and tags switch to black or white text where theirs wouldn't read) get a quiet "nothing to fix" note instead, and Secondary, Accent and Variant sections where white text doesn't read get a tip to use Dark text there.
- Inline links with no underline (and not bold or italic) get a note when their color is too close to the text around them (under 3:1), since some visitors can't tell them apart: set an Underline Size under Styles → Inline Links or pick a link color that stands out.
5.31.290 2026-10-25
Changed
- Styles → Fonts recognises a saved font by its family name. A saved stack such as "Playfair Display, sans-serif" now selects the Playfair Display button even when Dirigible Fonts lists that family with a different fallback, and its Weight, Style and Width options still follow the font. Before, any difference after the first name showed the font as Custom. This lets the font library correct fallbacks (serif faces that named a sans-serif) without changing anyone's Customizer. Saved fonts and the front end are unchanged.
5.31.289 2026-10-25
Fixed
- Forms → Entry cleanup's upload-file check is stricter in a few rare cases. A long value in an older-style (latin1) database column is now read to the end, files in nested repeater rows count towards the check that leaves out forms with unreadable upload values, and a shortcode that only starts with
vc_raw_htmlno longer stops the scan. When the database size can't be estimated, the check now asks you to confirm instead of refusing. Deleting orphan files is still turned off.
5.31.288 2026-10-25
Fixed
- Forms → Entry cleanup no longer lists upload files that are still in use. The scan now checks every place a file can be linked from: entries of any form (spam and trash too), save-and-continue drafts, entry notes, form settings, posts, pages, comments, user profiles, site settings and other plugins' data (WooCommerce orders, for example). Before, files on repeater rows, add-on upload fields and fields whose type had changed, files Gravity Flow copied to another form, and files linked only from a page all showed up as orphans, and so did files with non-Latin names (Отчёт.pdf) or two dots in the name. Files whose name appears anywhere else in the database, and the other sizes and copies of a linked image, are kept too, and files changed in the last day are never listed. Links outside the site's database (emails already sent, a CRM, a webhook) can't be seen. Deleting orphan files stays turned off for now.
- The Entry cleanup scan no longer times out on sites with many uploads. The upload-file check only runs when Upload files nothing links to is ticked (a spam or trash cleanup doesn't run it), reads the database once in small steps and shows its progress in the log. A form whose upload fields hold values that don't look like file links (encrypted fields, for example), and upload folders left from an older site key, are left out, and the log says so. On a database over about 2 GB it asks before it runs.
Added
- Download file list (CSV) on Forms → Entry cleanup gives you every orphan file the scan found (the log shows the first 15 per form), and Download deletion record (CSV) lists every orphan file deleted on the site, with who deleted it and when.
Changed
- Deleting orphan files (when it's turned on) removes only the files you reviewed. Delete selected checks the files again after deleting any entries and deletes only files that are on your list and still unused. Files that turned up since your scan are reported, not deleted.
5.31.287 2026-10-25
Fixed
- Keyboard focus rings are easier to see on every site. The ring that shows around a button, form field or menu button when a visitor tabs to it now stands out at least 3:1 against the background around it (the WCAG minimum), in plain, Gray and Reverse Print sections and in dark headers. It's still the site's Primary color, now solid instead of see-through, and a light Primary (a yellow or sky blue) is shown a little darker so it doesn't fade into the page. Buttons and form Submit buttons use the same ring instead of a faint version of the button color. In a Reverse Print section the ring is white, or black when the section's color is too light for white. Nothing changes until something has keyboard focus.
- Blog and post sidebars are announced correctly by screen readers. The sidebar on blog pages and posts with a left or right sidebar was announced as an unnamed navigation menu wrapped around the sidebar. It's now announced as the sidebar (complementary content) only. Nothing changes on screen.
5.31.286 2026-10-25
Added
- Country and Time zone on Theme Setup's Details step. Time zone starts at your site's time zone. On a site still on WordPress's default (UTC) it follows what you type in State (OR → Los Angeles, Ontario → Toronto) until you pick a zone yourself, and sites outside the US and Canada can pick their own city. Country fills Footer & Contact → Contact Information → Country, which search engines read with your address. A Country other than the State's own (AU with WA) stops State from choosing a US time zone. With WooCommerce active and no store country yet, a two-letter Country code like GB also sets the store country.
Fixed
- Running Theme Setup again no longer adds five more copies of the sample photos. With no photos picked, Content now uses your site's Default Images (and leaves them as they are). When it tops up the photos you picked with sample photos, it reuses the copies already in your Media Library instead of uploading new ones.
- Running Theme Setup again keeps your reading and discussion settings. Content sets post-name permalinks, closes comments on new posts and turns off avatars only on its first run, and only where WordPress's own defaults are still in place, so a choice you made under Settings stays. Ticking Home still makes the new Home page your front page. Ticking Blog without Home no longer switches a site that shows its latest posts to a static front page, unless the site has no front page yet.
5.31.285 2026-10-25
Changed
- Theme Setup's re-run step is calmer. The red "Warning! … replace your entire site… Seriously." step you see when running Theme Setup again is now Before you continue: it says what each step can change (colors, fonts, logo, contact details, menus) and that pages you tick on Content are added as new pages while your existing pages stay in Pages. Proceed 🫣 is now Continue.
Fixed
- Theme Setup no longer erases your tagline or changes your time zone. The Content step used to clear the tagline you typed on Details and set every site to the Chicago time zone. Now it leaves both alone. On Details, a site still on WordPress's default time zone (UTC) gets the zone of the US state or Canadian province typed in State (OR → Los Angeles, WI → Chicago, Ontario → Toronto); a time zone someone already chose stays. This applies to English (US or Canada) and French (Canada) sites.
- Theme Setup no longer sets the WooCommerce store country to Wisconsin. When WooCommerce has no store country yet, Details now sets it from State (e.g. US:OR or CA:ON) and otherwise leaves it for WooCommerce's own setup to ask.
- Theme Setup adds photos only when a page uses them. Ticking only Blog, Terms and Conditions, Privacy Policy or Menus on Content no longer uploads five sample photos to the Media Library, and keeps your Default Images as they are.
- Theme Setup works on a phone. At phone widths the Warning, Colors, Typography and Content steps no longer run off the side of the screen: every step fits, the Details fields stack one per row, colors and the photo picker fit the width, and Back / Next stay in view.
5.31.284 2026-10-25
Added
- Several Google IDs, and Google Tag Manager alongside them. Dashboard → Tracking & Privacy's Google field is now Google Analytics & Ads IDs and takes several IDs separated by commas: your Google Analytics ID (G-…) plus Google Ads (AW-…) or other Google tag IDs (GT-, DC-), up to 10. They load through one Google tag, with the same timing, cookie banner and Consent Mode rules as before, and now load together with a Google Tag Manager ID instead of being skipped when one is filled in. Paste two Google tag snippets and both IDs are kept; an ID that isn't in Google's format is named in a message under the field. If your Tag Manager container already loads one of these IDs, leave it out of the field, or its visits count twice. Sites with one ID print exactly what they did before. With a Tag Manager ID set, WooCommerce ecommerce events still go to Tag Manager only, and the Google IDs start before Tag Manager.
- Move pasted tracking code takes several Google tags. Pasted gtag snippets with different IDs (a G- and an AW- snippet, say) now move together into Google Analytics & Ads IDs, in the order they were pasted, and a pasted Google Tag Manager snippet moves alongside them. Sites with Google Analytics, Google Ads and Tag Manager all pasted, which the tool used to leave alone, can now move everything to Tracking settings (Tools → Move pasted tracking code, or the prompt when you save Tracking & Privacy).
5.31.283 2026-10-25
Added
- Default Images: new blocks start with your own photos. Settings → General → Default Images holds a set of photos from your Media Library (add them with Add Images, remove one with the × on its thumbnail). With the matching Dirigible Blocks update, a new Hero, Photo Feature, Vignette, Media Strip or Quote Blocks block starts with the next photo from the set instead of a stock photo, and so does a Section, Landing Page, Link in Bio or Page Blocks panel you switch to an image background without picking one. Blocks already on your pages don't change, and nothing changes on the live site until you add a block. Theme Setup's Content step fills the set with the photos it puts on the starter pages.
Fixed
- Internal: Theme Setup's random library photo could point past the end of the list.
DirigibleGenerator::addRandomImage()pickedrand(0, count); it now picks within the list. It only runs for a picked image ID of 1 or less, so sites were very unlikely to hit it; when it did miss on every try (half the time with one JPEG in the library), the starter pages got an image with no ID and block settings that no longer parsed.
5.31.282 2026-10-25
Changed
- Theme Setup: the two Quattrocento type pairings have their own labels ("Quattrocento + Sen text" and "Quattrocento text + Sen") instead of both reading "Quattrocento + Sen".
- Theme Setup: the Socials step's Email and Phone start with what you typed on Details, the phone already in the international format the Phone link needs.
- Theme Setup: Menus creates a "Main menu" for the header and a "Footer menu" (each with Home, About, Contact and Blog) instead of one menu called "Menu 8632568" in both places, so adding a page to the header no longer adds it to the footer. Showcase stays out of the menus.
- Theme Setup: the Terms page is titled "Terms and Conditions" at /terms-and-conditions/ instead of "T&C" at /tc/.
- Theme Setup: Privacy Policy fills and publishes WordPress's own draft Privacy Policy page (at /privacy-policy/) instead of adding a second one at /privacy-policy-2/, when nobody has edited that draft. The Privacy Policy and Terms no longer print the address the site was set up on, which was wrong once a site moved from staging.
- Theme Setup: generating content moves WordPress's untouched "Hello world!" post (with its sample comment) and "Sample Page" to the trash. Anything edited, or a post with real comments, is left alone.
- Theme Setup, second run: every Content box starts unticked, and the Welcome back and Content screens say that ticked pages are created again and a new Home or Blog page replaces the current one. Clicking Next with nothing ticked changes nothing.
Fixed
- Theme Setup: the Colors step's preset row wraps onto a second line, so Vibe, Storm and Mono are no longer hidden off the edge.
5.31.281 2026-10-25
Fixed
- Secondary buttons are always readable. Buttons in the Secondary style (Alternate in some blocks) keep white text wherever it's easy to read on the Styles → Buttons → Secondary Buttons color (a contrast of 4.5:1 or more). On a light color, such as a pale gray or yellow, the text turns black. The same goes for buttons on a section in your button color, which switch to Secondary Buttons, in normal and reverse print. Before, these could show white text on a light color (2.07:1 on some palettes). On hover they darken as before, unless the text would get hard to read; then they keep their color. Sites whose colors already read look exactly the same.
- Unselected filter tags are readable too (People, Portfolio, Locations and every other list styled by Styles → Tags). Where Color doesn't read on Background, the text turns black or white, whichever reads, as the selected tag has since 5.31.256. On hover a tag darkens as before, unless its text wouldn't read on the darker color; then it keeps its color.
- Subtle buttons look the same in the editor as on the page. On a page or post they're filled with your palette's Gray, as on the front end, instead of a faint shade of the section's color.
Removed
- The hidden Button Text palette color is gone. It never showed in the Customizer and nothing used it: button text colors come from the button style. Nothing on your site changes.
5.31.280 2026-10-25
Changed
- Post photos in grids download a file closer to the size they're shown at. In the blog's Grid, Columns, Cards, Adjacent and Magazine layouts, the Posts block and search results, the photo's size hint now leaves out the space between cards, so on tablets and laptops a three- or four-across grid no longer fetches a file one size too big. The page looks the same.
- Internal: shared image-size helpers for plugins.
ds_sizes_in_wide_box()(whether the block rendering now is at most the Wide width; Dirigible Blocks and Events used their own copies),ds_content_image_sizes($attributes, $width)(a top-level block's width from the post layout: Content Width, Wide or Full in centred posts and pages, the content column in the sidebar, columns and wide-width layouts; used by Dirigible Blocks' Header Banner), and a$gapargument fords_grid_image_sizes()withDS_GRID_GAP(the.griddefault, 2rem). Without a gap the lists are unchanged.
5.31.279 2026-10-25
Fixed
- Theme Setup's Home page no longer opens with "Block contains unexpected or invalid content". The pricing card marked "Best Deal" on the generated Home, and the colour palette on the Showcase page, were saved in a form the current blocks no longer accept. The Home, About, Contact and Showcase pages now open with every block valid, and look the same.
- Theme Setup's sample photos come with alt text. The photos Theme Setup adds when you don't pick your own are described in the Media Library, so a freshly generated Home no longer lists ten "no alt text" images in the editor's Accessibility panel, and screen readers describe them on the site.
5.31.278 2026-10-25
Fixed
- Switching to Dirigible-hosted fonts, and undoing it, now clears caching plugins. On sites with LiteSpeed Cache, WP Super Cache, W3 Total Cache or WP Rocket, pages no longer keep loading the old font links after the switch (manual or automatic) or an undo. A host's own page cache (Rocket.net's, for example) still needs purging from the host's dashboard, and the Hosted Fonts screen says so.
- Ask Everyone Again now clears caching plugins too, so visitors who answered before see the cookie banner again on pages a caching plugin such as LiteSpeed Cache had stored. The same goes for Tools → Reset GDPR Transient. A host's own page cache (Rocket.net's, for example) still needs purging as well.
- The editor's accessibility check describes linked images without alt text accurately. Since 5.31.273 the page names such a link for screen readers ("View full-size image", or the title of the page it opens on the site), so the message now says that, notes that other links are still read as just "link", and explains why alt text is still better.
- Long Update blocks runs keep their place. A manual run now renews its lock every minute while it's going, so a long stretch of pages with nothing to save can no longer let a background update take over and stop the run after five refused saves.
Changed
- Help text no longer names a particular host. Load Pasted Tracking Only After Consent says the site needs HTTPS without mentioning Rocket.net, and the Hosted Fonts and Move pasted tracking code messages say to purge your host's page cache if it has one, instead of pointing at Rocket.net's Purge Cache.
5.31.277 2026-10-25
Added
- Add more fonts from the Customizer. Styles → Fonts now ends with an Add more fonts button that opens the Fonts screen, where you turn on a family so it shows up as a button here. Without Dirigible Fonts, an About Dirigible Fonts button opens its guide instead.
Fixed
- Palette colours have names for screen readers. In Styles → Palette (and every other colour picker in the Customizer), each round colour button was announced only as "button". It now reads the colour's name and value, such as "Primary: #1c4e44", and updates as you change it. Nothing changes on screen.
5.31.276 2026-10-25
Changed
- Smaller tracking loader. On sites with tracking IDs, the loader printed in every page's head is about 1.6 KB smaller (0.5 KB after compression) because its console messages are no longer included. Tags, timing and consent handling are unchanged. Adding
?ds_tracking_debug=1to a page address still shows the same console messages.
Fixed
- Inline SVG: styles inside an SVG stay inside it. With Inline SVG on, an SVG's own
<style>rules used to apply to the whole page once inlined, so two Illustrator icons on one page recoloured each other (both use.st0,.cls-1…) and a stray rule could restyle the page. They now apply to that SVG only, with the same weight as before, so CSS you've written to recolour inlined icons still wins. Rules that act on the whole page whatever they select (web fonts, imports, cascade layers) are left out. A page where two icons were showing each other's colours now shows each icon as drawn.
5.31.275 2026-10-25
Fixed
- On a site whose Footer & Contact → Country is Canada (or anywhere outside the US), search engines read US addresses as being in the US. Dirigible Locations and Dirigible Events take a place's country from its State field: a Canadian province is in Canada and anything else was in the site's country, so a venue in "NY" on a Canadian site read as Canada. Now a US state's name (New York, Washington DC, …) is in the US on any site, and its two-letter code (NY, DC, …) on a Canadian site (CA itself stays Canada there). US sites see no change. Takes effect with the next Dirigible Locations and Dirigible Events updates; until then they keep their own rule.
5.31.274 2026-10-25
Changed
- WP Sitemap Page is switched off on its own on the other sites that use it (the Colony brand blogs and company sites), after a clean trial on blog.tenderfilet.com since 5.31.247. Sitemap pages keep the same list, drawn by Dirigible Blocks' Sitemap block, and the plugin is deleted a week later. The same safeguards apply: a site whose child theme calls the plugin, whose settings list archives or authors, or with a shortcode the Sitemap block can't draw keeps it, and activating it again keeps it for good. The UW sites follow in a later release.
5.31.273 2026-10-25
Added
- Comment spam protection on every site, with nothing to set up. Comments sent by scripts that never open the page, comments posted from another website, and bots that fill in a hidden field are turned away before anything is saved, so they no longer pile up in Comments → Pending or send "Please moderate" emails. Comments that look automated (sent within three seconds of starting to type, a web address in the Name field, or a hidden field filled in by a browser) go to Comments → Spam with no email, where Not Spam restores one. Real visitors see no change: no puzzle and no checkbox, and logged-in users and replies from the Comments screen skip the checks. Works alongside Akismet and Simple Cloudflare Turnstile, and turns bots away before either one does any work (no Akismet or Cloudflare call for them). WooCommerce product reviews are covered too, and visitors on another of the site's addresses (a temporary *.wpdns.site address, an alias or a staging copy) can still comment when their browser runs JavaScript. Pages cached before the update keep working: for 60 days (twice the edge cache's 30, for sites behind a second cache), comments from them are treated as before, then the check tightens by itself, and visitors without JavaScript still get through to Spam for review. Pages without a comment form load nothing new; the form adds one hidden field and, once per page, a 0.5 KB inline script, the same for every visitor, so cached pages stay correct. The script keeps working when a speed plugin delays scripts until the visitor interacts (LiteSpeed's "Delay JS"). Developers:
add_filter('ds_comment_guard', '__return_false')orDS_COMMENT_GUARDfalse in wp-config turns it off,ds_comment_guard_checkturns off one check (honeypot,token,speed,origin,name_domain), andds_comment_guard_gracechanges the grace period (seconds). - Internal: the site report's
commentssection addsguard,pending_age,pending_top_post_share,other_typesandsettings.comment_max_links.guardhas whether the comment guard is on (it starts with the first comment form shown or comment sent after the update), its start date, when its 60-day grace ends, and its last 30 days of counts by reason (rejected, Spam, passed, let through in the grace period) with daily totals for 14 days.pending_agecounts Pending comments under 7 days, 7–30 days, 30–365 days and older, with the month of the oldest;pending_top_post_shareis the percent of Pending on the busiest post. Counts only, no comment content or commenter details. - The pop-up can appear on scroll, after inactivity or when a visitor is about to leave, and several triggers can work together. Under Pop-up → Settings, Show After a Delay (on, as before), Show After Scrolling (a percentage of the page), Show After Inactivity (seconds without scrolling, typing or moving the mouse) and Show When Leaving (the mouse heading for the browser's tabs; halfway down the page on phones and tablets) can be combined, and the pop-up appears on whichever happens first. Delay now goes up to 60 seconds (it stopped at 10).
- Buttons and links can open the pop-up. Link to
#popup, or give a block the classds-open-popup, and clicking it opens the pop-up on any page that shows it, even for visitors who've already seen it. Turn every Show After setting off to open it only that way. - Choose where the pop-up shows. Show On picks all pages, several selected pages, or post types (each item, its archive and its category pages), and Never Show On leaves out pages such as a thank-you page. Devices can hide it on phones or show it on phones only. Sites using the old Limit to Page keep that page, with nothing to update, until someone changes Show On or Pages.
- Stop After Sign-up: visitors who send the pop-up's Gravity Form don't see the pop-up again, including when the form redirects to a thank-you page. Off by default.
- Image Position under Pop-up → Content can put the image full width across the top of the pop-up, above the headline. Below the text stays the default.
- The cookie banner now sends Google Consent Mode v2 signals. With the banner on, the Google Analytics and Tag Manager IDs in Analytics & Tracking now tell Google what each visitor agreed to. Until they accept, ads and analytics storage, ad user data and ad personalisation are denied. Accept (or Track Until Declined for US visitors) grants them, and Decline denies them again. Google Ads needs these signals for remarketing and conversions from EU and UK visitors. Tags still load at the same moment for the same visitors, so the data collected doesn't change. The page is the same for every visitor (the choice is read in the browser), so it stays edge-cached. Sites with the banner off, and sites where a Google tag is pasted into Custom Embeds (with Load Pasted Tracking Only After Consent off) or added by a plugin, are unchanged. Pasted code with its own consent default keeps it. The site report shows each site's Consent Mode state (
tracking.consent_mode). Developers can turn it off with theds_consent_modefilter. - New Dashboard → Tracking & Privacy page. Tracking IDs (Analytics & Tracking), the cookie banner's on/off switch, Track Until Declined, and the Custom Embeds code moved here from Appearance → Customize → Scripts & Embeds. Stored values carry over unchanged, and saving here stores exactly what a Customizer save did. The banner's look and wording, Embed Fonts and Performance stay in the Customizer, and the moved sections there link to the new page. Old links to those Customizer sections open the new page. Administrators and Managers can use it.
- Saving pasted tracking now asks first. When Custom Embeds gets tracking that Dirigible recognises (Google Analytics, Google Ads, Tag Manager, Meta Pixel, LinkedIn, TikTok, Microsoft Clarity, Pinterest, Hotjar, HubSpot and others), saving offers Move it to Tracking settings (moves standard snippets into their ID fields, and says why anything can't move), Load after consent (when the cookie banner is on), Keep it pasted or Cancel. Turning the cookie banner on while such code is pasted asks the same, with Not now, and the banner turns on whatever the answer. With the banner off, it asks only when something can move. A move can be put back from Tools → Move pasted tracking code, by Administrators and by Managers (who now see that tool's Roll back button while a move can be undone; its Preview and Move stay Administrator-only). Chat, scheduling and accessibility widgets never trigger it. It works without JavaScript too, as a confirm step.
- Load Pasted Tracking Only After Consent (GDPR Banner, off by default). With the banner on, tracking pasted into Custom Embeds waits until the visitor accepts, on the same rules as the Analytics & Tracking IDs (Track Until Declined and Global Privacy Control included). Their no-JavaScript pixel fallbacks are left out. Other pasted code still loads for everyone, and the pasted code itself isn't changed. Code that writes into the page as it loads (very old Google Analytics ga.js code) can't wait and keeps loading for everyone; the prompts say so. Needs the site on HTTPS. After switching it, purge the site's cache. Google tags held back this way also get the Consent Mode signals. With it off, pages are exactly as before.
- Ask Everyone Again on Tracking & Privacy shows the cookie banner to every visitor again (a new consent version), like the Reset GDPR Transient tool.
- Accessibility checks while you edit. A new Accessibility panel in the page and post sidebar lists common problems as you work: images with no alt text, linked images that screen readers can only call "link", alt text that is a file name (
IMG_1234.jpg), headings that skip a level (H2 straight to H4), empty headings, links with no text, and link text that says nothing on its own ("click here"; repeated "Learn more" shows as a tip). Show selects the block. One-click fixes: Change to H3, keep the look changes the heading level and keeps its size with the matching heading style; Add alt text opens the image's alt text field; It's decorative marks an Image block as decorative (screen readers skip it); Dismiss hides a suggestion for that page. The same list appears in the pre-publish step, and after you update a published page a message says how many suggestions it has, with a Show button. Suggestions never stop you saving or publishing, and nothing on the page changes until you click a fix. Everyone who can edit the page sees them. Checks cover core blocks and Dirigible Blocks; other plugins can describe their blocks to it. With Dirigible AI, image suggestions also offer Generate alt text. - Decorative image switch on Image blocks (sidebar, shown when the image has no alt text). A decorative image keeps an empty alt text on the page and the library's alt text isn't filled in for it.
Changed
- Sites using LiteSpeed Cache (or WP Rocket, W3 Total Cache, WP Super Cache) show settings changes straight away. Publishing in the Customizer, saving a Dirigible settings page, or moving or rolling back pasted tracking code now purges that plugin's page cache, so visitors stop getting pages with the old colours, fonts or tracking code. Nothing changes on sites without one of these plugins; Rocket.net sites still purge from the Rocket.net dashboard.
- The logo and the first images on a page load straight away under LiteSpeed Cache's lazy loading. Images the theme already loads first (the logo, the opening Hero or Background image, the page's main image) now carry
data-no-lazy, which LiteSpeed Cache and WP Rocket skip, so they're no longer swapped for a placeholder that waits for a script. Saved content doesn't change. - Messages that said to purge Rocket.net now name the site's cache in general (Rocket.net, LiteSpeed Cache or a caching plugin).
- Internal: the site report's comment counts (
pending,approved,spam,trash) now count visitor comments only (comments, pingbacks, trackbacks and product reviews). A plugin that stores its own notes or logs as comments no longer inflates them; those types are listed with their totals inother_types. WooCommerce product reviews now count, as they already did innew_7d. - Internal: the Gravity Forms Name-field domain check and the comment guard share one helper,
ds_spam_text_has_bare_domain(). Form behaviour is unchanged. - The pop-up animates in and out on every site. The centered pop-up rises and grows into place while the page behind it dims; the corner pop-up slides in from its edge. Both leave the same way when closed. They follow Settings → Animations (Subtle moves less and runs shorter; Off keeps a short fade, which replaces the old one-second fade), and visitors whose device asks for less motion see the pop-up appear without animation. Keyboard focus, Tab, Escape and focus return work as before.
- A pop-up whose Gravity Form is already on the page stays off that page. One form can't run twice on a page (clicking the pop-up copy's labels jumps to the other copy, and both show the confirmation), so the pop-up now leaves out pages that already show its form, such as every page with the footer newsletter when both use the same form. The Customizer preview explains this inside the pop-up, and Gravity Form ID shows a warning while it matches the footer newsletter's form. Give the pop-up its own copy of the form.
- Reshow After (Days) counts from when the pop-up actually appeared. It used to count from when a page scheduled it, so a visitor who left before the delay ran out didn't see it until the reshow time had passed.
- Internal: settings pages (
DirigibleSettingsPage) show code settings as code and save them as the Customizer does, run schema validators (a value that fails isn't saved and the page says why), take acustomizer_keysargument for settings that stay in the Customizer, and add theds_settings_page_confirmfilter andds_settings_page_before_formaction. The site report addstracking.consent_modeandtracking.gate(setting, whether it's active, how many pasted elements it holds back, fields it couldn't read).
Fixed
- Blog featured posts: tiles keep a fixed, mostly portrait shape instead of half the screen height, so their photos stay sharp without loading oversized files, on every layout (Strips, Uniform, Wide, Full, Single and Hero) and screen size. Before, a photo cropped into a tall, narrow tile was drawn up to twice as wide as the file the browser fetched, which made it soft. Photos still crop around their focal point when they have one. On a laptop the tiles are about as tall as before (Wide's are a little shorter); on phones and large monitors they're somewhat taller. The first photo now downloads the larger file it needs to look sharp.
- Sites updating straight from theme 5.28.x keep their menu link colour and accent stripe. A custom Styles → Navigation colour (and hover colour) is copied into Header & Menus' menu and mobile menu link colours, and a "Palette" header or footer accent stripe becomes the primary colour instead of disappearing. This also repairs a site that already made the jump and lost them. It runs once, on the first page view after the update, only fills colours nobody has set since, and changes nothing on sites that already went through these steps.
- Linked images with no alt text now have a name screen readers can say. An image that is a link's only content and has no alt text (none saved, none in the Media Library) was announced as just "link", which accessibility checkers flag as a serious problem. The link now says where it goes: "View full-size image" when it opens the image file, or the page's title when it goes to a published page or post on your site. Links to other sites, and images that aren't links, are left as they are. Adding alt text to the image is still best: the link then uses it instead. Existing pages need no re-save.
- A pop-up form's confirmation message, errors and next page now show. The pop-up's Gravity Form reloads the page when sent, and the pop-up stayed closed afterwards, so visitors never saw the confirmation, any errors, or page 2 of a multi-page form. It now opens again with them.
- Clicking outside the centered pop-up closes it, as the dimmed background suggested.
- The corner pop-up sits in the bottom-right corner on wide screens. It sat with its left edge at the middle of the screen.
5.31.272 2026-10-25
Added
- Email log: see every email the site sent, and why any failed. Dirigible → Email log lists each email from the last 30 days: date, To, subject, status (Sent, Failed, Queued, Not sent, Unknown), how it left the site (PHP mail, an SMTP server, or a mail service such as Mailgun) and which plugin sent it (form notifications show as
gravityforms). The Failed view and a search by address or subject find the problem email fast, and each failure shows its reason in the list. Open an email for the details: the error, the SMTP server's reply with its code (535 means the SMTP login was refused), the server and port, the encryption, whether it logs in, the From and Return-Path addresses, the mail plugin, and the server's replies line by line. A sent email shows its message ID (Mailgun's own ID when Easy WP SMTP sends through Mailgun) and the SMTP server's queue ID, to look up in the mail service's or host's logs. Emails held in Easy WP SMTP's "Optimized email sending" queue show as Queued, then get their own Sent or Failed line when the queue sends them. Logging starts with the first email after the update, on every site, with nothing to set up. Administrators and Managers can see it; other roles can't. Only addresses, subjects and delivery details are kept, never message bodies, attachments (just how many), or SMTP usernames, passwords, API keys or OAuth tokens, even when a mail server repeats them back in an error. Emails are removed after 30 days, and at most 10,000 are kept. Logging never changes what's sent, and when logging itself fails the email still goes out. Each email adds one small database write. Developers:DS_MAIL_LOGfalse in wp-config turns it off; theds_mail_log_daysandds_mail_log_max_rowsfilters change how long and how many are kept. - Internal: the site report's
mailsection addslog,wp_mail_overriddenandsmtp_plugin_queue.mail.logholds counts only: emails logged, sent, failed, queued, not sent and unknown in the last 30 days; the same for the previous calendar month in the site's timezone (last_month, withcompletefalse when logging started during that month), counted daily so it survives the 30-day cleanup; counts by mailer; rows kept and the oldest; and the last failure's time, mailer, sending plugin, SMTP code and reason (addresses removed).wp_mail_overriddennames a plugin that replaced WordPress's mail function (the log can't see its mail), andsmtp_plugin_queuesays whether Easy WP SMTP's or WP Mail SMTP's sending queue is on. No addresses or subjects leave the site.
5.31.271 2026-10-24
Changed
- Download size no longer keeps a site on Google Fonts. The background switch to Dirigible-hosted fonts used to wait while the hosted files were more than twice the size of Google's. Now it goes ahead whenever every family, weight and style is available and Dirigible's copy looks the same as Google's, so visitors' browsers stop connecting to Google. A page may download a few more KB of font data. If Google's files can't be measured (the measurement only picks between all-weights and single-weight files now), the switch tries three times, then goes ahead with the all-weights files. On a site with the automatic switch turned off, the Hosted Fonts notice now appears whatever the size. Every other check stays: files are downloaded and verified before anything changes, the dashboard notice offers Undo, and a site that undid the switch stays on Google Fonts. Developers can still set a size limit with the
ds_google_fonts_switch_auto_max_growthfilter.
5.31.270 2026-10-24
Changed
- Internal: the theme now knows the Locations → Settings → General → These Locations Are setting (Dirigible Locations 4.0.81), so it can be saved.
5.31.269 2026-10-24
Changed
- Sites still on Google Fonts because Dirigible's copies were a little bigger now switch to Dirigible-hosted fonts by themselves. The background switch used to wait while the hosted files were more than 10 % bigger than Google's. Now it goes ahead unless they'd be more than twice the size. Fonts then load from the site itself instead of Google, the text looks the same, and visitors' browsers no longer connect to Google; a page may download a few KB more font data, which skipping the connection to Google more than makes up for. Every other check stays: every family, weight and style must be available, files are downloaded and checked before anything changes, the dashboard notice offers Undo, and a site that undid the switch stays on Google Fonts. Purge the site cache so visitors get the new pages sooner.
5.31.268 2026-10-24
Added
- Internal: the site report includes comment counts, so the studio can spot comment-spam surges. A new
commentssection lists how many comments are pending, spam, approved and in the trash, how many arrived in the last 7 days by status, the Settings → Discussion choices that decide what gets held, how many published posts are open to comments (and how many of those have none yet), and whether Akismet and Simple Cloudflare Turnstile are active and set up. Counts only: no names, emails, addresses or comment text leave the site, and never an anti-spam key. Nothing changes for builders or visitors.
5.31.267 2026-10-24
Changed
- Posts with comments open now show the comment form, even before anyone has commented. Until now the comments section, form included, only appeared once a post had its first comment, so visitors couldn't leave one. Posts with comments closed, and pages, look the same as before. Comments are checked as usual: WordPress holds a first-time commenter's comment for approval unless the site changed that in Settings → Discussion, Akismet checks them where it's active, and Simple Cloudflare Turnstile adds its check where its comment form option is on. To turn comments off, untick Allow comments in a post's Discussion panel, or for all new posts untick Allow people to submit comments on new posts in Settings → Discussion (that setting doesn't change existing posts: close them with Bulk Edit on the Posts list, or with Automatically close comments on posts older than in the same screen).
5.31.266 2026-10-24
Fixed
- A post that starts with a Header Banner block no longer shows its title and featured image twice. The banner already shows both, so the theme now leaves out its own title and image above it, as it does for a post that starts with a Hero Slider. Existing posts are fixed the next time they load; no need to re-save them.
Removed
- The one-time switch-over from Simple Custom Post Order, Intuitive Custom Post Order and Search Exclude to the theme's Custom order and Hide from site search. Every site that ran those plugins has switched over and deleted them. Installing one again now just puts it in charge while it's active (activating it still asks first); deactivating it brings back your own order and hidden pages. The theme still stops either ordering plugin from deleting your category and tag order when it's uninstalled.
5.31.265 2026-10-24
Added
- Footer & Contact → Contact Information → Country: for businesses outside the US. Search engines read your address with this country instead of always the US. Type a two-letter code like CA, or the country's name. It isn't shown in the footer, and left empty your address stays in the US as before. On a WooCommerce shop with no Country filled in, the store's country (WooCommerce → Settings) is used.
5.31.264 2026-10-24
Changed
- Plugin editors (internal): the page parts Artworks, Fleet and Documentation each kept a copy of (the post's fields, the Edit buttons and their modals, the formatted-text field) are now shared by the theme, so those editors work alike. Nothing changes in the editor.
5.31.263 2026-10-24
Removed
- Blog & Posts → Settings → Display Comments is gone. It hadn't changed anything on posts for a long time: comments on a post follow that post's own discussion settings, as before. Nothing on your posts changes.
5.31.262 2026-10-24
Changed
- Managers can install and activate Dirigible's own plugins from the Dashboard Welcome screen's Plugins panel, Dirigible → Licenses and Theme Setup. Packages download from Dirigible and must carry a valid signature, and a copy already on the site is activated only when it's a genuine Dirigible plugin. Managers still can't add any other plugin, or deactivate, update or delete one.
5.31.261 2026-10-24
Fixed
- Hide from site search can no longer end up with a wrong list of hidden pages when two visitors search at the moment a page's setting changes. The theme keeps the hidden pages in a cached list; two requests rebuilding it at once, or a rebuild that started just before the setting changed, could store a list that missed the change until the next edit. A rebuild now only stores its list if nothing changed while it ran.
- Update blocks and background block updates never save the same page at once. A manual Update blocks run (Tools & Maintenance, or from the Dashboard prompt) now shares the background updater's lock. If background updates are working when you click Run, the log says so and asks you to try again in a minute or two; while your run is going, background updates wait for it (up to 5 minutes after the page is closed mid-run). Two people can't run Update blocks at the same time either: the second sees who is running it.
5.31.260 2026-10-24
Fixed
- Cookie banner with Track Until Declined, visitors whose browser sends Global Privacy Control: accepting a Locations map now loads just that map without announcing a cookie Accept to the rest of the page, so no other script (yours or a plugin's) can take it for consent. Nothing is stored and no tracking loads, as before. Dirigible Analytics already skipped these visitors.
5.31.259 2026-10-24
Changed
- Managers can add and remove Dirigible licences again, on Dirigible → Licenses and in Theme Setup (5.31.258 had made this Administrator-only).
5.31.258 2026-10-24
Changed
- The Manager role is now a full Administrator that can't change the site's code. A Manager can do everything an Administrator can — all content, every setting, the Customizer, users, WooCommerce, Gravity Forms, SEO — except install, activate, update, edit or delete plugins and themes, switch the theme, run WordPress or language updates, use the plugin/theme file editors, or manage licences. A Manager's abilities are now taken from the Administrator role on each site, so anything a plugin grants Administrators (new WooCommerce or Gravity Forms permissions, say) reaches Managers automatically, with nothing to turn on. Managers keep Appearance (Customizer, menus, widgets), Tools & Maintenance's everyday tools, and Site Health. The Plugins menu, the theme/plugin editors, the Updates and Add Themes screens, Dirigible → Licenses, and code/database tools such as WPCode, Code Snippets, Better Search Replace, WP Migrate and WP All Import no longer appear for Managers. Gravity Forms User Registration feeds and the Licenses step of Theme Setup are Administrator-only too.
Security
- Managers can no longer gain Administrator power by a side route: assigning the Administrator role or a role editor's permissions, editing or deleting an Administrator, setting the default sign-up role above their own, or using a plugin that installs code or rewrites the database. These limits are enforced on the user screens, the REST API and settings saves alike. The Manager role is a guard-rail for trusted site owners, not a lock against a determined one — Managers keep "unfiltered HTML", so only give the role to people the site trusts.
5.31.257 2026-10-24
Changed
- Pages whose content points at deleted images load with fewer database queries. When an image's media library item no longer exists (deleted, or content copied from another site), the theme now remembers that instead of asking the database again for each image, on every page load. Pages look the same.
Removed
- Scroll animations no longer list the retired Video and Text block, which no site uses (Blocks 4.10.185 removed it). Nothing changes on the front end.
5.31.256 2026-10-24
Fixed
- Selected filter tags are always readable (People, Portfolio, Locations and every other list styled by Styles → Tags). Where Color When Active doesn't read on Background When Active (below 4.5:1, such as white on a yellow or light orange), the selected tag's text turns black or white, whichever reads. Sites whose colours already read keep them exactly. A selected tag still darkens on hover, unless its text wouldn't read on the darker colour; then it keeps its colour.
5.31.255 2026-10-24
Fixed
- Theme Setup logos: on the Logos step, opening the Media Library for the Color Logo or Reverse Logo and closing it without choosing an image now keeps the logo you had. Before, closing it removed that logo, and closing the Color Logo's library removed the footer logo too. Choosing an image saves it as before.
- Theme Setup logos: the × that removes the Color Logo or Reverse Logo can be used from the keyboard: Tab to it and press Enter or Space. A focus ring shows on it, and screen readers say which logo it removes. It looks the same as before.
5.31.254 2026-10-24
Fixed
- Cookie banner: when a visitor reopens the cookie banner from a Cookie settings link, pressing Escape closes it and puts the keyboard back on the link. Their earlier Accept or Decline stays as it was. The banner on a first visit still waits for a choice.
- Post editor on phones: below tablet width, a post's paragraphs and other blocks in the editor sit inside the same side margins as the title, as they do on the published post, instead of running to the screen edge. Full-width blocks still span the screen. The page editor is unchanged.
- Import Settings: re-importing a site's own settings file no longer reports the Events, People and Locations show/hide switches (Show Phone, Show Email and the like) as changed when they weren't. Switches saved by older versions now count as the same setting, so an unchanged file reports 0 changes.
- Theme Setup: the Color Logo and Reverse Logo boxes on the Logos step, and the Select Images box for placeholder photos on the Generate Content step, can be used from the keyboard: Tab to one and press Enter or Space to open the Media Library. A focus ring shows where you are, and screen readers name each box. They look the same as before.
5.31.253 2026-10-24
Fixed
- Customizer and Theme Setup: the button groups, layout choices, color swatches and on/off switches in the Customizer, and the Quick Colors, Quick Typography and page choices in Theme Setup, can be used from the keyboard: Tab to a group, then the arrow keys to pick (Space for a switch or a page you can tick). A focus ring shows where you are, and screen readers now say each color swatch's name and each switch's setting. They look the same as before.
5.31.252 2026-10-24
Fixed
- Page editor color button: on an event, person or location page in the editor, the round Background and text color button keeps its dark icon when the area behind it has a dark background with light text. Before, the icon turned white on the white button and disappeared. Nothing changes on the published page.
5.31.251 2026-10-24
Security
- HTTPS: browsers now remember to use HTTPS for a site for a year instead of a day (the
Strict-Transport-Securityheader on production HTTPS sites, still without subdomains or preload). Visitors who type the address without https go straight to the secure site. If a site ever loses its certificate, fix the certificate rather than switching to http.
5.31.250 2026-10-24
Fixed
- Editor: the color swatches, position arrows and tag buttons in older blocks' settings (Blocks Extended, Cards, Courses, Colony and other blocks with ACF settings) can be reached from the keyboard: Tab to the group, then the arrow keys (Space for tags you can tick). A focus ring shows where you are, and screen readers now say each swatch's color and each arrow's position. In the classic editor, the post Display box's Default/Show/Hide buttons work from the keyboard too. They look the same as before.
5.31.249 2026-10-24
Changed
- Animations is one setting with three levels: Standard, Subtle or Off (Customizer → Settings → Animations) replaces the separate Load Animations and Scroll Animations switches. Standard looks like today's motion; Subtle moves things half as far and without the bounce. Sites that had either switch on move to Standard (seven sites that only had load animations on now also animate as visitors scroll); sites that had both off stay Off. New sites still start on Standard after Theme Setup. The old switches stay saved, so going back to an older theme keeps them.
- Page-load animations cover only the top of the page: the header's search and social links and the first two blocks animate as the page appears; further down, the scroll animations take over. Before, every paragraph, heading and grid card on the page faded in on load, about 110 at once on a typical page.
Fixed
- Page speed: a fading heading, paragraph or grid card no longer delays the page's largest-paint time. Chrome counted the element as painted only when its fade ended, so a page whose largest element was in a Grid scored about 0.7 s slower (870 ms vs 200 ms on a test page); it now matches a page with no animations.
- Long grids and galleries animate in order: cards and images that come on screen together pop in top to bottom, left to right, and none waits more than 0.3 s. Before, each card's delay came from its place in the list (up to 1.5 s), so cards popped in out of order, lagged on long lists and at tablet and phone widths, and a fast scroll could leave some hidden until you scrolled back up.
- Hover effects in the hero, social links and Grid cards keep their own transitions; the load animation no longer replaces them.
- Accessibility: content waiting to animate in is now only transparent, so screen readers and Find in page reach it, and anything focused shows at once. Visitors whose device asks for less motion see no page-load animation from the first frame, not only once the late stylesheet arrives.
- A block that sits inside another animated block no longer animates twice, and an animated element keeps no leftover transform when it's done (a fixed-position element inside one now stays fixed).
Removed
- The separate scroll-animation stylesheet and script: both now ship inside the theme's main deferred stylesheet and script, saving two requests on animated pages (about 2.5 KB gzipped more for sites with animations off, in files they already cache).
5.31.248 2026-10-23
Added
- Updates: the site report now records which Dirigible update server each product last checked with and where its last download came from (server names only, never license keys), so we can follow the move to the new licensing server across all sites. Nothing changes on the site.
5.31.247 2026-10-23
Changed
- Updates: sites now also accept Dirigible updates from the new licensing server and its download storage, ready for the move to it. Updates from the current server work as before, and downloads from anywhere else are still refused.
5.31.246 2026-10-23
Changed
- WP Sitemap Page is switched off on its own (trial on blog.tenderfilet.com only): Dirigible Blocks' Sitemap block now draws pages that use the plugin's
[wp_sitemap_page]shortcode, so the theme deactivates the plugin on its own, keeping its settings. The sitemap page keeps the same list, minus what the Sitemap block always leaves out (password-protected, No Index or hidden-from-search pages, and pages whose canonical URL points elsewhere). A week later the theme deletes the plugin and its settings. Activating it again (after the first few minutes, or with Activate anyway on the Plugins screen) keeps it for good. A site whose child theme calls the plugin, whose WP Sitemap Page settings list archives or authors, or with a shortcode that lists archives, authors or private pages, keeps it. Needs Dirigible Blocks 4.10.180 or later. Other sites follow in a later release.
5.31.245 2026-10-23
Added
- Structured data: a local business's details now include a map link (a Google Maps search for its address) and, for a US address, its map location (latitude and longitude) from the US Census geocoder. Google recommends both for local businesses. The address (Footer & Contact, or Dirigible SEO's own business details) is looked up once in the background after it changes, never while visitors view pages, and only the address is sent. An address outside the US, or one the Census can't find, gets the map link only. Changing the address drops the old location until the new one is found. Nothing to set up; nothing changes on the page. Every site's business details rebuild once after the update.
5.31.244 2026-10-23
Fixed
- Updates: Dirigible releases now install on each site's next twice-daily update run. Before, when something checked for updates between runs (a ManageWP sync, for example), the next run skipped its own check and installed what that earlier check had found, hours old: sites could install a release that was already several versions behind and need one or two more runs to catch up.
5.31.243 2026-10-23
Fixed
- Related posts: the cards no longer carry leftover BlogPosting microdata (it named the site as each post's author). Nothing changes on the page.
5.31.242 2026-10-23
Fixed
- Structured data: the second street line (Footer & Contact → Contact Information → Address (Line 2), e.g. "Apartment 8") now joins the street address ("123 Sesame Street, Apartment 8") instead of printing as
addressLine2, which isn't a schema.org property. Every site's address node rebuilds once after the update. - Blog posts: the page no longer carries an empty BlogPosting microdata item next to the post's structured data (validators read it as a post with no headline or date). Nothing changes on the page.
- Blog and archive pages: post card titles are now h2 headings under the page's h1 instead of skipping straight to h3 (an accessibility and SEO heading-order fix). Their look still comes from Blog & Posts → Post Cards → Headline Style. Archives built from a custom layout page keep h3.
- Image lightbox: its hidden image placeholder now has a valid source, so HTML validators no longer flag an image without one.
- Blog, archive and search pages: the leftover microdata (a page-wide Blog item and image, headline, description and link properties on cards and search results) is gone. It described nothing complete, sat beside the structured data search engines read, and validators flagged it. Nothing changes on the page.
5.31.241 2026-10-23
Added
- Featured images for plugin content: on content types with their own main picture (a dog's main photo; a kennel's, stud dog's or photographer's Profile Picture; an artwork's first image; an artist's Photo; a package's Image), that picture and the featured image are now the same picture, kept in sync both ways. Link previews when a page is shared, site search results and Hero blocks show it. Existing content is filled in automatically in the background after the update, only where one side is empty. The plugin's own picture stays the one control: WordPress's Featured image panel is hidden on those types. Each plugin turns it on in its next release.
5.31.240 2026-10-23
Changed
- Plugin editors: the page's color button shows a paintbrush, WordPress's own Appearance icon.
- Plugin editors: one shared Background and Text Color picker for plugin pages (Events and People use it), so they work alike.
Fixed
- Editor: color swatches and Dark/Light, size and alignment buttons in block and plugin sidebars can be reached from the keyboard: Tab to the group, then the arrow keys. Background swatches also say their color's name to screen readers.
5.31.239 2026-10-23
Added
- Plugin editors: a round color button can float on the page in the editor and open settings for that area in a small popup (Events uses it for the event's background and text color). It works from the keyboard: Enter opens it, Escape closes it.
Changed
- Event, Location, People and post editors: Edit buttons keep their white background when you hover over them, so they stay visible over a photo.
5.31.238 2026-10-23
Changed
- Event, Location, People and post editors: the bar at the top of the page is wider (640px) and its descriptions stop at two lines (hover for the whole text), so more of the page shows while you edit. The post editor's Header bar lines up with it.
- Plugin editors: an empty video or map is a slim bar with its icon beside the text and the Edit button at its right. In the block sidebar, the layout choices have the same space below them as the other settings.
5.31.237 2026-10-23
Fixed
- Event, Location, People and post editors: an Edit button on a part of the page can be clicked again where the page's own content sat on top of it (an event's Cancelled or Postponed notice, from 5.31.236).
Changed
- Plugin editors: the text in an empty photo, video or map box stays on one line.
5.31.236 2026-10-23
Changed
- Event, Location, People and post editors: the Edit buttons on the page's parts are tidier: the pencil shows beside Edit, in WordPress's own type, and stays visible on dark backgrounds. Notes on empty parts follow the section's text color, so they read on dark backgrounds too, and no longer run under the Edit button. The bar's Change buttons match the Edit buttons, and an empty photo, video or map box is outlined so it shows on dark backgrounds. In the block sidebar, layout choices show three to a row.
- Plugin editors: the bar at the top of the page can hold more than the layout (Events puts an event's Status there), an empty photo, video or map shows as an empty box in its place, and a part the page needs can be outlined.
- Post editor: the Layout bar now runs across the whole editor canvas whatever the post's layout, so it reads as a setting rather than part of the post. The Title bar sits right on the post's title, and the space above the title and between the title and your content now matches the post's page: Columns, Hybrid and the sidebar layouts use their tighter spacing, and the title and featured image in Centered line up with your paragraphs.
- Post editor: the Header bar now sits in the same gray band as the Layout picker, above the post. The Featured Image name, switch and Edit button sit on the image, with a new Change image button that opens the Media Library (Set image when the post has none).
- Post editor: the canvas now shows the newer and older post links below the post wherever its page shows them (every layout but Columns and Hybrid, which show them in the post info column), read-only. The post info under the post adds the "Last Updated" date and tags and follows the Meta Alignment and Meta Width settings, as on the page.
Fixed
- Block editor: the Packery gallery style no longer logs a WordPress 6.9 deprecation warning ("getMedia is deprecated") in the browser console.
5.31.235 2026-10-23
Fixed
- Generated share image: a logo saved as a very large SVG (thousands of pixels across, like Aragon Advising's) no longer fails with a render error: vector logos are now drawn once, straight at the size the card needs. Every site redraws its card once after the update (spread over an hour); cards look the same.
5.31.234 2026-10-23
Changed
- Internal: the block sidebars of Artworks, Documentation, Fleet, Packages, Products, Publications and Salespeople come from one shared editor in the theme (
ds-acf-fields-editor,window.dsAcfFields) instead of a copy in each plugin. Nothing changes in the editor or on the site; those plugins' next releases use it, so ship this theme first. - Block sidebars and pop-ups of Dirigible's plugins (Artworks, Documentation, Fleet, Packages, Products, Publications) work the same way everywhere: long category and term lists scroll after about twelve rows, and so do long lists of chosen posts or people; checked terms are saved in the list's order, as ACF saved them; a checked term that has since been deleted is named under the list and is removed with your next change there (ACF removed it silently); number settings show their unit (e.g. "Label Size (rem)") and say when a value is outside the allowed range; and block previews in the editor can't be clicked into by accident. Saved settings don't change until you edit them.
5.31.233 2026-10-22
Changed
- The three Dirigible Fleet baggage icons (roller board, duffel, golf bag; 38 KB) are no longer in the theme: Dirigible Fleet ships its own copies from its next release. Nothing else used them.
5.31.232 2026-10-22
Changed
- A smaller theme download. 56 icon files that nothing used (duplicate copies of icons kept elsewhere in the theme, and icons no template, block, plugin or published page links to) are gone, and two Dirigible Fleet baggage icons are stored more compactly. Every icon still in use looks exactly the same.
5.31.231 2026-10-22
Fixed
- Buttons in Reverse Print areas are readable on every palette. A plain button (a Button block with no style or colour picked, a theme button, a form's Submit) inside a Reverse Print section, hero or footer now picks its text colour from its fill: when the fill is light (the site's button colour, or the Alternate colour a Background block in the button colour swaps in) the text turns black instead of white, normal and hover; a mid-tone fill with an off-white palette White gets pure white. Every combination is at least 4.5:1. Buttons on dark fills look the same as before, and buttons with a style (Hollow, Secondary, White, Ghost, Subtle, Alt, Outline) or a colour of their own, or outside Reverse Print, don't change. Most sites' palettes have at least one such light fill, so expect black button text in some Reverse Print heroes and sections, most often on sites whose button colour is light.
- The editor now shows buttons on a Background block (or a Music page) in the button colour as the site does, with the Alternate colour; before, they took the section's own colour and disappeared into it.
5.31.230 2026-10-22
Changed
- Masthead is now a panel in the block editor's sidebar instead of the old Masthead Settings box, on pages, posts and the content Dirigible's plugins add. It says whether the header turns transparent over the page's first block and whether its links turn white, and it updates as you edit that block instead of after you save. Its Edit button explains the rule and can select the block. On posts, the same line shows above the title. Nothing about the page changes; the classic editor keeps the box, and Footer and Mega Menu posts (which never use the masthead) no longer show it in the block editor.
Fixed
- Automatic excerpts no longer repeat their opening on location, portfolio, artwork, artist, documentation, aircraft and article pages whose classic content has a More tag. The excerpt, and the cut-off text an archive shows above Read More, now match what the same content gave before it was kept in the page's content block. Pages themselves are unchanged.
5.31.228 2026-10-22
Added
- Clone Menu on Appearance → Menus (beside Delete Menu) copies a menu into a new one called "<name> (copy)" and opens it: every item in the same order and nesting, with its link, label, classes, target and plugin settings (Mega Menu items keep their panels), and the menu's "Automatically add new top-level pages" setting. The copy isn't assigned to a display location, so the site doesn't change until you choose one. For anyone who can edit menus.
5.31.227 2026-10-22
Added
- Clone makes a draft copy of a page, post, event or any other content Dirigible's plugins add, and opens it in the editor: from the list (hover a row), the editor's Summary panel (or the classic Publish box) and the admin bar. It copies the title, content, excerpt, featured image, template, categories and tags, order, parent and custom fields, but not the address, date, password or comments, and it leaves out links only the original should have (an event's ticket product and recurring series, a bookable's checkout product, caches, a canonical address). Anyone who can edit the item and add new ones of its kind can clone it. No settings; other plugins' content types don't get it, and WooCommerce products keep WooCommerce's own Duplicate.
Changed
- Yoast Duplicate Post is switched off and removed on its own, without a notice: deactivated on one page load and deleted, with its settings, on the next. Pages copied with it are untouched. A site with a Rewrite & Republish copy still in progress, or a child theme that calls the plugin, keeps it. Installing or activating it asks first (as for the other plugins Dirigible replaces), and a site that activates it anyway, or again after it was removed, keeps it.
- Plugins Dirigible replaces: Install Now on Add Plugin asks first too, and the plugin's row on Installed Plugins notes that Dirigible already does this.
5.31.226 2026-10-22
Fixed
- Post Info: Hide now hides the date, author, categories and tags on posts using the Columns or Hybrid layout, as it already did in the other layouts. The links to newer and older posts, sharing buttons and Sidebar Content widgets in that column still show. This changes only posts that have Post Info set to Hide (or that use the site default when Post Info defaults to Hide).
5.31.225 2026-10-22
Changed
- Saving in the block editor no longer stores an empty value for every field the post never had (SEO's No Index and Canonical URL, footnotes, and empty fields from Dirigible plugins). Before, the first save that changed any setting or field wrote all of them; now only fields that hold something, or that were saved before, are stored. Pages and posts look and behave the same, and the first such save no longer adds an extra revision.
5.31.224 2026-10-22
Changed
- In the editor of Portfolio works, locations, people and events, the Template or Layout picker sits on a light gray band across the top of the page preview, and the page starts right below it instead of after a gap.
5.31.223 2026-10-22
Added
- Dirigible Portfolio's new Default Work Template setting saves on this theme (Portfolio 3.1.49 and later).
- The editor's Edit-button previews can sit in the sidebar too, outside the page canvas (Portfolio's card preview).
5.31.222 2026-10-22
Changed
- Page layout bar is narrower. In the block editor, the bar at the top of an event, location or person page (its layout or template, and Change) is now at most 500 pixels wide and centered, so it reads as an editor control rather than part of the page. Pages don't change.
5.31.221 2026-10-22
Removed
- The "Your public name is your username" reminder in wp-admin. Display names and author addresses are unchanged.
5.31.220 2026-10-22
Added
- Blog posts look like their page in the editor. Your blocks sit in the same column as on the site: two thirds of the wide width for Columns and Hybrid, three quarters for a sidebar layout, the wide width for Wide Width. Beside or below them, a read-only copy of what the page prints there: the post info column (Columns, Hybrid) or the blog sidebar's widgets (Sidebar Left, Right, Bottom, Hybrid), with an Edit button. The featured image shows above the title, the title follows Title Align, the post info shows where the page puts it, and Post Styles (large text, gray background, font) apply. The featured image, title and post info each have a switch to show or hide them on this post's page, plus Edit; a bar at the top names the post's layout, with Change. Hidden parts stay in the editor, faded, and a post that starts with a Hero says the page leaves its title and image out. Editor only: pages don't change.
Changed
- A post's Display settings moved into the sidebar. The old Display box under the editor is now a Display panel listing Layout, Featured Image, Title and Post Info, each with an Edit button that opens it in a pop-up. Layout now offers every layout Post Pages has (Hybrid, Sidebar Bottom and Wide Width were missing), as tiles with drawings. The settings save as before, and the classic editor keeps the old box. The "Post Data" box (whether the title is added) is gone from the block editor too; the canvas shows it.
5.31.219 2026-10-22
Added
- Dirigible Locations' new Default Template setting (Locations → Settings → General) saves on this theme (Locations 4.0.60 and later).
5.31.218 2026-10-22
Changed
- Layout tiles fit four to a row in the editor's layout pop-ups (two in a block's sidebar).
5.31.217 2026-10-22
Added
- Layout pickers with drawings in the editor. Plugins using the shared single-page editor can show the page's layout at the top of the preview (its drawing, its name, a Change button) and offer layouts as tiles with drawings, as plugin settings pages do.
Fixed
- Checkboxes in the block editor's sidebar (for example a post's or bookable's Categories) no longer show two check marks in Safari when its window isn't in front. The theme's admin styles turned the browser's own checkbox on underneath WordPress's, so both drew a check; ordinary admin checkboxes keep the theme's look.
5.31.216 2026-10-22
Added
- Shared pieces for editing a plugin's pages on the canvas. Plugins whose posts have their own page (People, Locations, Events) can preview that page in the editor with an Edit button on each part that opens its fields in a pop-up, and list the same parts in the sidebar, using one shared editor script (
ds-single-page-editor,window.dsSinglePage) and its styles. Nothing changes until a plugin uses it.
5.31.215 2026-10-22
Added
- Plugins can wrap a page's content in a block without changing how the page starts. Blocks a plugin lists with the new
ds_page_wrapper_blocksfilter are looked through when the theme reads a page's first block, so a page that starts with a hero inside one keeps its seamless navigation. Locations' new Location Details block is the first.
5.31.214 2026-10-22
Fixed
- Locations and People: with ACF turned off, a location's or person's address now shows instead of the site's footer address.
5.31.213 2026-10-22
Fixed
- Plugin settings pages leave untouched settings alone in two more cases. A default with a symbol like → (stored as an HTML entity) isn't saved just because the page was saved. A page choice pointing at a deleted or unpublished page isn't cleared: it shows as Missing page with a note, and you can pick another page or choose — Select — to clear it.
- Previews of whole page templates keep their full width.
- Short previews no longer show a strip of the site background. A preview sample shorter than the box (an empty-state note, say) now fits its frame.
5.31.212 2026-10-22
Fixed
- Changing a slug on a plugin settings page updates its addresses. Saving a plugin settings page now refreshes the site's permalinks on the next page load, as saving the Customizer does, so posts don't 404 after a slug change until someone visits Settings → Permalinks.
Added
- Plugin settings pages can leave out settings nothing uses any more, keeping them stored but off the page.
- A section with nothing to show disappears. When a section's settings are all hidden because of another setting (Locations' map settings while mapping is off), the section, its link in the section list and any empty subheading hide too, and come back when that setting changes.
5.31.211 2026-10-22
Added
- More settings types on plugin settings pages, ready for the next plugins to move off the Customizer: - Colours as a row of swatches from your palette. - Images picked from the Media Library. - Settings that appear only when another setting has a certain value. - Subheadings that break up long sections. - Short fields side by side. - Rows a plugin adds itself. - Links, bold and code in setting descriptions.
- The section list stays at the top on phones while you scroll a long settings page, and highlights the section you're in.
Changed
- The Save button sits on the left of the Save bar, so notices in the bottom-right corner don't cover it.
5.31.210 2026-10-22
Changed
- Plugin settings pages: a clearer Save bar. It's a solid strip along the bottom of the window with the button on the right. Once you change something, it shows Unsaved changes, and leaving the page asks first.
- Plugin settings previews load more reliably. If a preview can't load (signed out, a redirect, a different site address), it says Preview unavailable instead of spinning. Redrawing no longer adds steps to the browser's Back button. The preview grows to show the whole sample, scrolling only for long phone pages.
- Toggle tiles are chosen per section by the plugin, and a toggle with a description keeps it inside its tile.
Fixed
- Plugin settings pages read both option formats, so a plugin listing its choices with descriptions (Dirigible People's layout) shows and saves them correctly.
- A page you never picked stays unset when you save other settings, so it keeps following its default.
- A preview never stores anything built from settings, such as the structured data search engines read. A preview of unsaved business hours or address details can't leave them in that data.
5.31.209 2026-10-22
Added
- Live previews on plugin settings pages. A plugin's settings page can show a preview at the bottom of a section: a sample drawn by the site's real page templates with the unsaved settings applied, redrawn a moment after each change. It sits in a small device frame, with a Desktop, Tablet and Phone switch. Nothing is saved until Save Settings, and the sample is never stored. Dirigible Events uses it first, for event pages.
- Plugin settings pages can now be shared by plugins that keep their own settings and save code, starting with Dirigible Music (Releases → Settings, in its next release): they get the same cards, section list, switches and choice pills. Fields with a mistake now show a red outline beside their red message.
Changed
- Plugin settings pages are more compact. Toggles without a description sit side by side as small label-and-switch tiles instead of one per row, and rows stack neatly when the form column is narrow.
- Text styles offer only what their font can draw (Styles → Header 1–6, Paragraphs, Links, Buttons, Navigation, Tags, Forms). Weight is a slider over a variable font's weights and lists only the loaded weights for other fonts; Style shows Italic only when the font has an italic loaded, and is hidden otherwise. A saved weight or italic the font can't draw stays marked, with a note, until it's changed. With a Custom stack, or without Dirigible Fonts, every option shows as before. Saved values and the site's CSS are unchanged.
- A style's Font lists Display, Body and Alt one per row, each with the family's name and a sample set in that font.
- On plugin settings pages, notices from other plugins now sit under the page's one-line intro instead of between the heading and the intro.
5.31.208 2026-10-22
Added
- Plugin settings pages. A plugin can now show its settings on its own admin page instead of in the Customizer, starting with Dirigible Events (Events → Settings, in its next release). The page saves to the same place, so nothing needs setting again, and old links to the plugin's Customizer panel open the page. Pages with several groups get a section list beside them that marks the one in view (a row of links on phones), and layout choices can show a small drawing of each layout. Who can change the settings is the same as in the Customizer (Administrators and Managers).
- Deezer, TIDAL, Audiomack and Pandora icons join the theme's social icons, so Dirigible Music can show them on listen buttons (including its icon-only style). Existing icons are unchanged.
5.31.207 2026-10-22
Changed
- Tracking loader: Hotjar's current snippet. The loader now loads Hotjar's version 6 script (
hotjar-<id>.js?sv=6, the code Hotjar hands out today), and Move pasted tracking code accepts a pasted Hotjar snippet of version 6 as well as the older version 5. - Lighter pages without a form: the scripts that fill a Gravity Forms form from the link (
?email=…, a Form 1 → Form 2 hand-off) and from the visitor's own merge tags ({referer},{embed_url}) now load only on pages that show a form, including the footer newsletter and pop-up forms (about 2 KB less on every other page). The campaign capture that remembers a visitor's first link still runs on every page, so a landing page without a form keeps setting it, and forms fill exactly as before. - Header icons travel with the stylesheets: the header's search and account icons, the menu drawer's close icon and the footer's Dirigible mark are embedded in the theme's CSS instead of loading as separate image files. Three requests fewer on every page, and the drawer's close icon no longer competes with the hero image before the page paints. Nothing looks different.
Fixed
- Core Cover block headings on a dark overlay now show in white (black on a light overlay), as the editor and other themes show them. A heading with its own text colour, and headings outside Cover blocks, are unchanged.
- Import Settings no longer counts unchanged number settings (page width, logo height) as imported on every re-import, and settings each site sets for itself (the Freeform Footer page, the Blog hero page, Fleet's details bar image) are now reported as skipped for that reason rather than as "not in the Customizer".
5.31.206 2026-10-22
Changed
- Action Strip: the arrow now grows with a small pop when you hover the strip and eases back when you move away, instead of snapping in and out. Visitors who ask their device for reduced motion see no animation.
5.31.205 2026-10-22
Added
- Plugins can switch tracking tags off page by page with the
ds_tracking_configfilter: a dropped tag is left out of the tracking loader, its noscript fallback and WooCommerce ecommerce events on that page. The filter can only turn a tag off, and decides from the page alone, so edge-cached pages stay right for every visitor. Dirigible Music uses it to keep the Meta pixel to its link pages. Nothing changes until a plugin uses it.
5.31.204 2026-10-22
Added
- Width for text styles (Header 1–6, Paragraphs, Links, Buttons, Navigation, Tags, and form labels and sublabels): a slider for a condensed or expanded cut of fonts that come in several widths (Mona Sans, Hubot Sans, Open Sans, Archivo and others, set to Full axis in Dirigible Fonts). The slider covers only the widths the style's font has; for a one-width font it's hidden. It starts at Default, which adds no CSS, so existing sites look exactly as before.
Changed
- Styles → Fonts shows the families turned on in Dirigible Fonts as buttons for each stack, with Custom for a stack typed by hand (an Adobe Fonts or other embed). The setting still stores the stack text: a saved stack that matches a family selects it, and anything else opens under Custom, unchanged. Without Dirigible Fonts the stacks stay text fields.
5.31.203 2026-10-22
Fixed
- A plugin update interrupted on the server (the PHP process killed between moving the old version to WordPress's temporary backup and copying the new one in) left the site without the plugin: still active, but "Plugin file does not exist" on the Plugins screen, and WordPress deletes the backup a week later. The theme now puts the plugin back from that backup on the next cron or admin request, once no update has run for ten minutes, shows a toast, and lets the update be offered again at the next check. (hangtenband.com, 2026-10-22: Music 0.0.4 → 0.0.8.)
- Site report:
updates.auto_updatesnow records when the last automatic run finished (last_finished; a start with no later finish is a run that stopped part-way) and lists active plugins whose files are missing, leftover temporary backups and restores (restores).
5.31.202 2026-10-22
Added
- Import & Export carries two kinds of item in one file for plugins that link them: Music's releases and songs, Artworks' artists and artworks. The linked kind comes in first, so a track list or an artwork's artist finds items the same file adds. A spreadsheet holds one kind: the import reads it as whichever its columns fit, and the Export tab asks which to download. Plugins can add notes to the import report for rows they couldn't finish (Locations: an address Google couldn't find).
5.31.201 2026-10-22
Added
- YouTube videos are shared with search engines. Click-to-load shows a thumbnail instead of the YouTube player, so Google saw no video on the page. Each YouTube video in an Embed block (Video Gallery videos too) is now in the page's structured data as a video: its YouTube title, thumbnail, the page's publish date, and a description from the block's caption or the page's excerpt. Built from what WordPress already stored for the embed, with no extra requests to YouTube. Up to 10 per page, each video once; nothing for password-protected pages, playlists, or videos in Grid cards and Custom HTML. Every page's structured data rebuilds once after the update.
5.31.200 2026-10-22
Changed
- Import & Export: the preview says what an existing item was found by, using only what the row filled in ("found by name", not "name and file" when the row has no file). A column header with two letters swapped ("Imgae") is read as the column it means. Plugins can tell when an import batch is running (
ds_ct_is_running()) and do heavy work once per batch. - Import & Export: two items on a site with the same web address under the same parent (copies left by duplicating) no longer stop a re-import: each row pairs with its own item. A file that repeats a row still flags the copy.
5.31.199 2026-10-21
Changed
- The YARPP handover's leftover state option (
ds_related_posts_handover, autoloaded on every request, unread since 5.31.158) is removed on the next theme update.
Fixed
- Gravity Forms: a Default Value with "$" and a digit keeps it. A visible field whose Default Value had a visitor tag and something like "$10" ("Paid $10 on {date_mdy}") lost the "$10" from the template the browser fills from, so the field was left as it was. The same for a Parameter Name with a "$".
- Gravity Forms: the first-touch cookie sync backs off. After an answer that isn't the route's own (a firewall challenge, a consent version the cached page doesn't know yet, an outage) the browser waits a day before asking again, instead of asking on every page view; accepting the cookie banner tries again at once.
- Customizer: footer and drawer edits show in the preview on Colony sites. Colony Framework prints its own footer and drawer, which the preview's quick refresh couldn't find, so edits to the footer's contact details, social links and drawer settings showed nothing until Publish. When the area isn't in the page, the preview reloads instead, as it did before 5.31.152.
- SVG uploads from plugin upload forms no longer fail with "Security check failed." The theme only sanitizes the file; the form that accepted the upload is responsible for its own checks, like any other image.
- SVGs with a very large size no longer log PHP warnings when their Media Library data is built, and a cleared "Medium size" width in Media Settings no longer breaks it. An SVG's own
width/heightattributes are now read (they were ignored in favour of the viewBox). - Theme Setup logo generation falls back to Recraft when the usual raster model is retired or unavailable, instead of failing on every site. The vector model has no second provider.
- Multisite: retiring the SVG Support plugin only deactivates it for the current site, never a network activation.
- Removed two leftover hooks that pushed a never-registered
ds_google_maps_keysetting into ACF; Dirigible Locations supplies the Google Maps key.
Security
- Uploaded SVGs opened directly run in a sandbox. The security header the theme writes for SVG files in the Media Library now also isolates an SVG opened on its own (or embedded as a document): it gets no identity of its own, no forms and no pop-ups, on top of the existing no-script rule. Logos, icons, CSS masks and inline SVGs look exactly as before.
- Smaller limits on reading SVG files. Reading an SVG's size for the Media Library (including an SVG kept on a CDN) and recolouring a gzipped SVG logo now stop at the same 4 MB limit the upload sanitizer uses, so an oversized or gzip-bombed file can't tie up the server.
- Cleaned SVGs are replaced in one step. When the theme rewrites an SVG file (cleaning a file that arrived through an importer, the one-time sweep, keeping an original), the new file is written beside the old one and swapped in, so a visitor never gets a half-written or empty file.
5.31.198 2026-10-21
Fixed
- Phones: wide-aligned blocks with side margins no longer run off the screen. A wide image or heading given block-spacing side margins used to be the full screen width plus its margins, so the page scrolled sideways and the right edge was cut off. Below the wide breakpoint a wide block now fills its container minus its own margins; nothing changes for wide blocks without side margins or at desktop widths.
- Phones: the header logo fits the mobile header. When no mobile logo height is set, a logo taller than the mobile header height no longer hangs out of the bar; it's capped at the bar's height (a mobile logo height you set is kept). A very wide logo now gives way to the menu button instead of pushing it off the right edge.
- Pasted embeds can't widen the page on phones. An iframe pasted with a fixed width (a Google Maps or YouTube embed with
width="600") is now capped at its container's width; its height stays as set. Embed blocks and the click-to-load video placeholder are capped the same way.
5.31.197 2026-10-21
Added
- Export Settings lets Dirigible plugins add their own data to the file, and Import Settings hands it back to them (
ds_settings_export_payload/ds_settings_import_payload). Dirigible Hours 1.0.21 uses this for lunch breaks, late closes and holiday hours; before, only each day's first opening and last closing time travelled.
Security
- Display box on posts: the box (Post Title, Featured Image, Post Meta, Sidebar) now saves only with its own form token. Through 5.31.192 it accepted Dirigible SEO's token, and 5.31.193–5.31.196 still honoured that one for edit screens opened before the change; that grace period is over. Saving from the post editor is unchanged.
5.31.196 2026-10-21
Fixed
- Import & Export: plain text that starts or ends with a line break or space (a spreadsheet cell like "Smith & Co." followed by a new line) is stored as written. Before, an "&" in it became "&".
5.31.195 2026-10-21
Added
- Import & Export engine 5: a tree of pages travels with each page's Path (its place in the tree, like
getting-started/overview) and is matched by it first, so pages with the same web address under different parents each update their own; a parent that's new in the same file is found. Manifest Documents use it. - Import & Export:
mediaandgalleryfields for plugins, for images and files that must already be in this site's Media Library (any size of an image counts; nothing is downloaded, and a file from elsewhere is left as it is with a note). Artworks, Packages, Fleet, Documentation and Manifest switch to them.
Changed
- Settings maps: Dirigible Products' category page layout default is Dense, matching what sites already show (Products 0.0.19).
Fixed
- Import & Export: content and excerpts keep their line endings. A post written with Windows line endings no longer comes back changed when its export is imported again, and a copy to another site keeps it byte for byte.
5.31.194 2026-10-21
Added
- Import & Export can read content already on the site. A plugin's Import & Export screen can offer a "Move from …" source beside the file drop (engine 4,
sourceson the registered type): the import reads another plugin's posts in place of a file and goes through the same preview, batches and undo. Dirigible Events uses it to move events from The Events Calendar.
Fixed
- Import & Export: classic-editor HTML in an imported content column becomes blocks (paragraphs, headings, lists and rules; anything else a Custom HTML block), so it can be edited block by block inside a Single Person or Single Event block instead of being flagged as unexpected content in the editor. Plain text already became paragraphs.
- Import & Export: Undo now removes scheduled posts the import added. A post scheduled for a future date counted as "edited after the import" (its modified date is its publish date) and was left behind.
5.31.193 2026-10-21
Changed
- Accordion (the new Dirigible Blocks block): its sections animate in as the page scrolls, one after another, like FAQ cards; and the Cards style follows the Section's colour inside a dark, primary, secondary, accent, variant, white or gray Section, as filled cards do elsewhere.
- Update blocks: flagged pages retry themselves after a block plugin update. A page listed for manual block fixes used to stay on the list until someone clicked Re-run skipped. Background block updates now try it once more after the block plugins (or the updater) change, so a converter fix in a Dirigible Blocks release clears the page on its own; a page still at fault goes back on the list and waits for the next change.
- The Dashboard names the blocks at fault. The "pages need manual block fixes" notice, the flagged list under Tools & Maintenance → Update blocks, and the site report (
needs_recovery_blocks) now say which blocks the pages were listed for (for example "Blog Post Header (5 pages)"), so a converter bug stands out from a one-off.
Security
- Update blocks never writes a
javascript:link. Repairing an invalid block or upgrading an old one is refused when the result would carry a link or media URL with a scheme WordPress doesn't allow (javascript:,data:, …), or, for a repair, a link the page's saved markup never showed; the page stays listed for a person instead. On the server, URL settings in Dirigible, Blocks Extended and ACF block comments saved by users withoutunfiltered_html(Authors, Contributors, shop roles) get the same scheme check kses gives anhref. - Custom Embeds, map embeds and other shared guards. Map embed iframes (Events, Locations, the Map block) can no longer carry
position,z-index,inset, offset ortransformstyles, so an allowed provider's frame (a My Maps page with its own text and links, say) can't be stretched over the whole page; a stored embed with such a style is shown without it, and nothing else about saved embeds changes. - Signed studio requests (site report, pasted-tracking review, analytics) spend their nonce in one database statement, so two copies of the same signed request arriving together can't both be answered.
- Two-step login: a single failed login-code email no longer turns emailed codes off for three days; that happens only after the account's code email fails in two separate hours. Codes are also limited to 5 per 15 minutes per account, since the login screen's Resend code had no limit, so a burst of resends can't trip a mail quota and lift the floor. Non-administrators who save other settings can no longer carry a previewed Two-Step Login mode through the Customizer; the guard now reads the stored value.
- Originals of cleaned SVGs (
uploads/ds-svg-originals/) are kept under random file names in a folder that refuses web requests, so the uncleaned file (script included) can't be fetched by guessing its name on a host that would serve.svg.gzas an image. unfiltered_htmlfor Administrators and Managers now respectsDISALLOW_UNFILTERED_HTMLand, on a network, super-admin status, as WordPress itself does.- Tools & Maintenance: Find & replace's apply step and Restore block settings' apply step now require the same confirmation the other destructive tools do (the page sends it), so a stray request can't rewrite content.
- Video covers: regenerating a video's cover removes the previous generated image only when the person may delete that image; another user's upload is unlinked instead. Background clean-ups are unchanged.
- Theme Setup's typography step writes only
ds_styles_*keys with plain scalar values, so it can't reach the embed or tracking settings or store arrays. The role and active-plugin option guards keep the stored value when a non-administrator's request writes something that isn't a list. - Display meta box (Posts → Display: title, featured image, meta, sidebar) now has its own nonce instead of borrowing Dirigible SEO's, and writes only when its own fields were on the form (it used to blank those four settings on classic-editor saves of other post types where the SEO box showed). A form opened before this update still saves once; the old nonce is dropped next release.
- Additional CSS export answers with a JSON content type.
5.31.192 2026-10-21
Added
- Import & Export reaches every Dirigible plugin with content lists: Portfolio, Artworks, Documentation, Manifest (Snippets and Answers), Cards, Products, Packages, Salespeople, Publications and Fleet join People, Locations and Events (each needs its plugin's latest version). Items with a parent, such as Portfolio works, keep it through a Parent column.
Fixed
- Portfolio projects, Link in Bio pages, bookable items and other content shown with the theme's single template (everything except blog posts, which show their title) now get their title as a visually hidden H1 for search engines and screen readers when their content has no H1, as pages do since 5.31.189. Content with a Hero or another H1, blog posts, and the way every page looks are unchanged.
- Import & Export: a value that can't be used (a number written as a word, an email without an @, a date that doesn't exist) is flagged and leaves the field as it is. Before, the import emptied that field.
- Import & Export: an item type shown inside another plugin's menu (Publications' Articles) has its Import & Export screen in that menu. Before, the screen couldn't be opened.
- Import & Export: two categories with the same name under the same parent (two "Featured" collections) export so that each is found again on import; plain-text content from older posts no longer shows as changed; text with an "&" is kept as typed.
5.31.191 2026-10-21
Added
- Import & Export handles more kinds of plugin content: links between items (an event's location, by name or web address), dates with times, matching on two columns at once (a location's name and street address, an event's title and start), and plugin steps after each save (Events makes a repeating event's dates). Locations and Events are the next plugins to use it.
Fixed
- Import & Export: an excerpt with formatting in it (such as a line break) is imported as written. Before, the import stripped the formatting and showed the excerpt as changed.
5.31.190 2026-10-21
Added
- Import & Export for plugin content. Plugins can now hand a post type to the theme and get an Import & Export screen under it, plus Import and Export buttons on its list. Export as a spreadsheet (CSV) or as JSON for another Dirigible site. Import a CSV or JSON file: the preview shows every row as New, Update (naming what changes), Skip or Error before anything changes. Images are downloaded into the Media Library and missing categories are added. A long import resumes where it stopped, and Undo this import puts everything back for 7 days. In a spreadsheet, empty cells never clear a field. People is the first plugin to use it.
5.31.189 2026-10-21
Changed
- Structured data: a site with no street and no city under Customizer → Footer & Contact (a band, a blog, a nonprofit) is now shared with search engines as an Organization instead of a local business, with the same name, logo, phone, email and profiles. Google requires an address for a local business and flagged those sites. Sites with an address, and any type chosen under Dirigible SEO → Settings → Structured Data, are unchanged. Opening hours from Dirigible Hours are added only to a local business.
- Structured data: every page now includes a WebSite entry (the site's name, address and language, published by your organization), which Google uses to show the site name in results.
- Structured data for FAQ blocks: a question keeps its whole text when part of it is bold or italic (before, "Do you ship overseas?" was shared as "Do you ship"), and an answer keeps everything in it: lists, columns, headings and nested blocks, each list item as its own sentence. Before, only paragraphs directly inside the FAQ Card counted. Every page's structured data is rebuilt once on its next visit.
- Structured data for FAQ blocks is now shared only when more than half of a block's items are written as questions (they end in a question mark). An accordion of services, menu sections or policies built with the FAQ block no longer tells Google it's a page of questions and answers. The block looks and works the same either way.
Fixed
- A page without a Hero (or any other H1 in its content) now has its page title as a visually hidden H1 for search engines and screen readers, in front of the content. Pages with a Hero, and the way every page looks, are unchanged.
- Carousels that loop (Slider): the slides repeated for looping no longer carry a second copy of the page's H1; the copy is an H2 that looks the same.
5.31.188 2026-10-21
Changed
- The Plugins panel on Dashboard → Home is shorter once a site has two or more active plugins: one line per active plugin with its Docs link, and an orange ! on any without a license. Click a plugin, or Show all plugins, to see every card with its status and buttons; Show fewer goes back, and that choice is remembered for each user. New sites still open on every card.
Fixed
- Dirigible Optimize on the Plugins panel now has its Docs link, like the other plugins.
5.31.187 2026-10-21
Added
- Dirigible Music is listed under Dirigible → Licenses → Plugins to install: releases, songs and lyrics, with a link page for each release.
5.31.186 2026-10-21
Security
- Custom Embeds and Embed Fonts can only be changed by users allowed to add unfiltered HTML (Administrators and Managers). Other roles that can open the Customizer, such as WooCommerce's Shop Manager, no longer see those sections, a settings import they run skips those fields, and any other way they save settings keeps the stored code as it is. They can still change every other Customizer setting. The same applies to plugin fields saved as code, such as Colony's newsletter and sidebar embeds. Embeds already on your site keep working unchanged.
- Password-protected posts and pages no longer put any of their content in the page's structured data (JSON-LD). Before, a post's excerpt could be cached there after a visitor who knew the password viewed it, and FAQ answers and other block content showed to every visitor. The title, dates, author, featured image and categories still appear. Other posts' structured data doesn't change.
Added
- A generated share card for social links: a 1200 x 630 image of the site's logo on the Styles palette's Primary colour (the reverse logo on a dark Primary; the colour logo on a light one, or on white when there is no reverse logo). Dirigible SEO uses it for pages that have no image of their own when the site has no Default Share Image. It is made in the background a few seconds after the logo or Primary colour changes (and once, at a random minute within the hour, after this update), so page views never wait for it. Sites without a logo get no card. Developers:
ds_get_share_card(), filtersds_share_cardandds_share_card_enabled. - Developers: a
ds_hide_site_chromefilter (andds_hide_site_chrome()) decides which pages leave out the site header and footer, as Landing Page template pages and Link in Bio posts do. Dirigible Music uses it for release link pages. Every existing page looks the same.
Fixed
- Update blocks (and its background run) can now save pages with an old hero-style Blog Post Header once Dirigible Blocks turns that header into a Hero without losing anything. Before, every such page was listed under "pages need manual fixes", even when the header could be upgraded. Headers that can't be upgraded without loss are still listed, as before.
- Keyboard visitors can now open desktop drop-down menus whose top item isn't a link (a Custom Link to
#). The item can be reached with Tab and opens with Enter or Space; Escape closes any open drop-down and goes back to its top item. Mouse hover works as before. In the footer menu on phones, those items open with the keyboard too, and a second tap closes them again. - Form fields show an outline when visitors reach them with the keyboard: text fields, dropdowns, text areas, checkboxes and radio buttons (Gravity Forms included), the header and footer search boxes and their search buttons, the footer newsletter field, and WooCommerce login and country/state fields. It's the same outline links and buttons get.
- Footer phone and email links are a little taller, so they are easier to tap (the lines below them move down a few pixels).
- Footer menu links are spaced far enough apart to tap reliably: the links under each footer menu heading start 2 pixels lower, and on footers with tightly spaced lines each menu item gets at least 24 pixels of height.
- Embedded maps and videos (Google Maps, YouTube, Vimeo and other iframes) show the same focus outline as links and buttons when visitors reach them with the keyboard (Tab, or Enter on a video's play button). Clicking into a map or video shows nothing new.
Changed
- Footer headings (contact, newsletter and search) and WooCommerce shop product titles are now level-2 headings, so the page outline no longer skips levels. They look the same.
- The utility bar is a labelled area for screen readers ("Top bar"), so its message, social icons and opening hours aren't left outside the page's landmarks.
- In WooCommerce product lists the product image is no longer a separate stop for keyboard and screen-reader users; the product name link right below it goes to the same page. Sold-out products say so to screen readers.
5.31.185 2026-10-21
Fixed
- Primary buttons in the dashboard (Save Changes, Publish-style buttons, Dirigible pages) are dark again. Since April 2025 they had shown light grey, like secondary buttons.
5.31.184 2026-10-21
Added
- Dirigible Shows (tour dates, gigs and trade shows) is listed on the welcome screen and Dirigible → Licenses, so you can add its license and install it from there.
5.31.183 2026-10-21
Added
- Saves the Contact Details settings in Dirigible SEO's SEO → Settings → Structured Data (Dirigible SEO 2.3.68).
5.31.182 2026-10-21
Added
- Styles for the Marquee block's new Divider and Gap settings (Dirigible Blocks).
5.31.181 2026-10-21
Changed
- On Dirigible → Licenses, the messages after activating or removing a license ("Activation successful! Thank you!", "License key is invalid.") now show as the same notices as the rest of the Dirigible dashboard. Errors stay until you dismiss them, so a rejected key or a failed connection can't disappear before you read it.
5.31.180 2026-10-21
Changed
- With Yoast SEO or All in One SEO active (or SEOPress Pro with its schema turned on), the theme's structured data steps out, including what Events, People, Locations and other Dirigible plugins add to it, so search engines see one set instead of two that disagree. Without them nothing changes. Developers can override it with the
ds_jsonld_stand_downfilter.
5.31.179 2026-10-20
Fixed
- Sites updating from a theme older than 5.30 keep their colours, fonts and logo size after the update. When several visitors arrived in the first second after the theme files changed, one of them could rebuild the site's styles before its settings had moved to their new storage, so pages (and any page cache) showed the default blue, default fonts and a small logo until the next style rebuild 15 minutes later. The theme now rebuilds the styles once the settings have moved. A site whose settings can't move still gets its theme updates, at most 10 minutes later.
- Better Breeder sites that update the theme before Better Breeder keep their Better Breeder settings (dog URL slug, archive layout and photo style, default dog layout, breed, registration, currency) until Better Breeder updates. Before, Better Breeder 0.5.48 and older fell back to its defaults on the new theme, and a custom dog slug sent every dog link to a missing page.
- When the theme lands on a site whose Dirigible Blocks is older than 4.9.88 (Blog Posts and Map blocks missing) or whose Better Breeder is older than 0.5.49, WordPress checks for updates 15 minutes later, so those plugins update within the hour instead of within 12 hours (needs their license keys).
- In the editor, resized images inside a Column, Page Blocks panel or Media Callout now follow the panel's Content Position (left, center or right), as they already did on the site. Before, they always showed centered in the editor. Images set to their own alignment (such as Align center) keep it.
5.31.178 2026-10-19
Added
- Tools & Maintenance → Pasted tracking (Administrators): finds tracking code pasted into Scripts & Embeds (Google tag, Google Tag Manager, Meta Pixel, LinkedIn, Hotjar, HubSpot, StackAdapt) and, after a preview, moves standard snippets into the matching Analytics & Tracking fields so they load with the theme's tracking timing. Only exact standard snippets move: anything with extra settings, a second ID, a plugin loading the same tag, the GDPR banner on, or code that must load first is left untouched. Every move keeps a backup and can be rolled back. Flags and the site report show what's pasted on each site.
5.31.177 2026-10-19
Added
- Map embeds (Dirigible Locations' Map, Dirigible Events' Map Embed) accept Bing Maps' Embed a map code (
www.bing.com/maps/embed). Other Bing pages still can't be embedded. Developers:ds_map_embed_providerslistswww.bing.comandbing.comwith the/maps/embedpath, and embed iframes may keep ascrollingattribute.
5.31.176 2026-10-19
Security
- One check for pasted map embeds, used by Dirigible Locations' Map field and Dirigible Events' Map Embed. Saving keeps only iframes from Google Maps, OpenStreetMap, Mapbox, YouTube and Vimeo (https), so an author account can't frame another site over a page. On the page, only the embed's iframes are kept: scripts,
<style>blocks, event handlers such asonload,javascript:links, other tags and any text around the iframes are removed (OpenStreetMap's share code loses its "View Larger Map" link, and a wrapper such as Vimeo's responsive box is dropped, so paste the bare iframe). Embeds can't ask for the camera, microphone, location or payments, and an iframe left unclosed is closed instead of hiding the rest of the page. An embed that is only an iframe following these rules (Google Maps' Embed a map code, OpenStreetMap's HTML iframe) shows exactly as pasted. Developers can add a provider with theds_map_embed_providersfilter.
5.31.175 2026-10-19
Fixed
- Customizer number settings save what you typed when it includes a unit: "1400px" in Alignwide Max now saves 1400 (it saved 800), and a value with no number in it (blank, "abc") falls back to the setting's default instead of its minimum or maximum. Decimal settings (letter spacing, opacities) no longer save rounding noise such as -0.052000000000000005.
- Imported embed code (Scripts) made only of letters and numbers, such as a bare verification token, now prints as typed. Before, Import Settings could mistake it for already-encoded code and the page printed garbage in its place.
Security
- Uploaded SVGs with an uppercase extension (
logo.SVG) get the same protective security header aslogo.svgwhen opened directly. The theme updates the rule inuploads/.htaccessby itself after the update. Uppercase-extension SVGs also no longer get an imagesrcset.
5.31.174 2026-10-19
Fixed
- Form campaign fields remember a visitor's first campaign for the full 90 days in Safari and on iPhone and iPad too. Safari deleted the first-touch cookie after 7 days (a day after an ad click), so a later visit counted as a new first touch. The site now also sets the same cookie from the server, which Safari keeps. Nothing is stored on the site, a later campaign still never replaces the first one, and nothing is set while the GDPR banner blocks tracking.
5.31.173 2026-10-19
Fixed
- The "failed its signature check" notice goes away once the plugin or theme it named is no longer installed, for example after reinstalling Dirigible AI Alt Text from its old
dirigible-alt-textfolder into the right one. Before, it stayed for 14 days unless dismissed.
5.31.172 2026-10-19
Removed
- The Dashboard's Block updates available panel and its Dismiss link: background block updates now run for every Administrator and Manager, so there's nothing to start by hand. Update blocks in Tools & Maintenance still runs whenever you start it.
5.31.171 2026-10-19
Changed
- Background block updates run for every Administrator and Manager by default: the trial (50 pages, then a day's wait) no longer waits for a Dirigible Studio account to log in or for Dirigible Studio to confirm the trial passed on other sites. A site whose trial stopped (a save lost block settings, or the site changed a page while saving) still goes back to studio accounts until an Administrator turns it back on in Dirigible → Flags.
5.31.170 2026-10-19
Changed
- Tracking Load Strategy now defaults to First Interaction, which keeps tracking tags out of PageSpeed Insights lab scores. Only a visitor's first page with no referrer or campaign link (a typed address or a bookmark) waits: until they click, scroll, type or move the mouse, or 5 seconds after the page loads. Visitors from search, other sites, ads (gclid, fbclid, msclkid and other click IDs),
utm_campaign links and the Google cross-domain linker, and every later page of a visit, are tracked once the page loads, as before. Sites that saved After Page Load keep it. Sites already on First Interaction now track those visitors sooner.
5.31.169 2026-10-19
Fixed
- Automatic alt text keeps working after OpenRouter retires Gemini 2.5 on October 20, 2026, on sites still running Dirigible AI Alt Text 0.0.61 or older (which send their requests themselves): the theme swaps a retired Gemini 2.5 model for its replacement as the request goes out, with the same settings the theme uses for that model.
5.31.168 2026-10-18
Added
- Debug Hidden Fields can be turned on for one visit by adding
?ds_form_debug=1to a form page's address, for anyone, including logged-out visitors. It only shows the visitor their own values in their own browser, so live forms can be checked from a real campaign link without logging in, and cached pages are unaffected. Fields filled from the address and merge tag fields are labelled too. The Customizer setting still turns it on for admins.
Fixed
- Default values with the visitor's own merge tags no longer leak between visitors on cached pages. {ip}, {user_agent}, {date_mdy}, {date_dmy} and {today} in Hidden fields are filled in when the form is sent, from the visitor who sends it (so a page cached before this update no longer submits someone else's IP address); {referer} and {embed_url} are filled in the visitor's browser. Before, a cached page gave every visitor the first visitor's IP address, referrer and page address, and a date up to a month old. Entries and notifications get the submitter's own values.
- The same merge tags in a field's Placeholder or an HTML field's content no longer show one visitor's IP address, browser, referrer or address to everyone; they're left out there. A visible field whose Default Value is just one of them gets the submitter's value when it's sent empty.
- Fields filled from the page address (such as
?email=,?firstname=or the program a "Form 1" confirmation passes on) are filled in the visitor's browser instead of in the page, and the form no longer posts back to an address carrying them, so names and email addresses no longer end up in cached pages. Pre-fill links keep working, including Date and Time fields; nothing is stored. When conditional logic hides and shows such a field, it goes back to the filled-in value. - Campaign fields keep the values a visitor sent when the form comes back with an error, moves to its next page or is resumed with Save and Continue, even for visitors whose browser keeps no cookies (for example before they accept the GDPR banner). Before, those fields were emptied and the entry lost its campaign.
- A first-touch campaign with very long values is still remembered: the least important or longest values are left out so the cookie stays under the browser's size limit, instead of the whole cookie being silently dropped.
gclid,utm_source,utm_mediumandutm_campaignare kept first. - The login form module sends people back to the page without its query string, so a cached copy of the page no longer carries another visitor's link.
5.31.167 2026-10-18
Added
- Gravity Forms campaign fields take three more Parameter Names:
utm_expid,camp_idandutm_time(when the visitor first arrived from a campaign link, in Unix seconds). Acamp_idthe page sets itself, such as a Courses campaign theme, wins over the link's. - Debug Hidden Fields labels each campaign field with where its value came from (link, first-touch, page, form or none) and shows
utm_timeas a date, so attribution can be checked on a live page without submitting the form.
Changed
- Campaign fields are filled only in the visitor's browser. The page itself never carries a visitor's campaign values, so pages opened from campaign links can stay cached for everyone, and a value left in an older cached page is cleared rather than submitted with someone else's entry. The form also posts back to the page without the campaign parameters in its address.
- First touch is kept whole: the first campaign link's values are kept for 90 days, and a later link no longer fills in parameters the first one didn't have. A field's own Default Value stays when the visitor has no campaign. A campaign an older script kept in the visitor's browser (Courses' tracking script) carries over as their first touch.
5.31.166 2026-10-18
Changed
- Tracking Load Strategy → First Interaction now also starts tracking 5 seconds after the page loads if the visitor hasn't clicked, scrolled or typed by then, so visitors who read without touching the page are tracked too. PageSpeed Insights scores still leave your tracking tags out. Only visits that leave within those 5 seconds without interacting go untracked.
Fixed
- The site report's plugin check no longer flags a plugin as changed when only a log file in its folder changed (for example an
error_logPHP writes when a bot requests a plugin file directly).
5.31.165 2026-10-17
Changed
- Packery galleries fill in reading order in Safari too (Safari 26.4 and newer, including iPhone and iPad), using the browser's own masonry layout, so photos keep their full height with no cropping. Older Safari keeps the column layout.
5.31.164 2026-10-17
Fixed
- Packery galleries in Safari showed every photo as a thin strip. Safari is back to the earlier column layout (photos run down each column) until reading order is ready for it; Chrome, Edge and Firefox keep reading order.
5.31.163 2026-10-16
Added
- Tools & Maintenance → Forms → Settings check lists each form with Post Fields (Title, Body, Custom Field and the rest): which fields, whether it still creates posts, and how many posts its entries made by status. Forms that left drafts behind, or still create posts, show amber with how to clean them up and a link to the lots-of-drafts guide.
Changed
- Forms create no posts on any site unless a builder turns on Allow Form Post Creation. 5.31.162 turned the setting on by itself where a form seemed to publish its posts on purpose; that step is gone, and where it did turn the setting on (and it's still on), this update turns it off again, once. Sites where a builder had turned it on are left alone.
Upgrade notice
- On any site where 5.31.162 turned Allow Form Post Creation on by itself, it is off again, and forms with Post Fields stop creating posts there. Entries, notifications and confirmations are unaffected. Turn the setting back on only when a form should publish what visitors send as posts.
5.31.162 2026-10-16
Changed
- Gravity Forms no longer creates posts from entries while Customize → Settings → Gravity Forms → Allow Form Post Creation is off. A form with a Post Field (often Body or Custom Field picked as an ordinary message field) still saves every entry with all its answers and sends its notifications and confirmations, but no longer adds a draft post for each one.
- Sites that publish posts from a form keep doing so: on the first visit after the update, the theme turns Allow Form Post Creation on when a form has created a post that's now published, or is set to publish posts (or hold them for review) and none of its posts were trashed. Forms that only left drafts are treated as junk. The decision is made once; turning the setting off afterwards is respected. The site report shows each site's forms with Post Fields, their post counts and the decision.
Upgrade notice
- Forms with Post Fields stop creating draft posts on sites where none of them were publishing posts. Entries are unaffected. If a site relies on those drafts, turn on Allow Form Post Creation.
5.31.161 2026-10-16
Changed
- Packery galleries now fill in reading order: photos run left to right across the columns, each going under the shortest column, instead of all the way down the first column before starting the next. Photos stay in the order they're placed in the editor at every screen width, and the editor shows the same layout. Galleries already arranged for the old down-the-columns order will rearrange. The gallery caption now runs full width under the photos.
- Packery's styles now load only on pages that have a Packery gallery, so every other page's stylesheet is a little smaller.
5.31.160 2026-10-16
Changed
- Gravity Forms' Post Fields (Title, Body, Excerpt, Tags, Category, Post Image, Custom Field) are hidden from the form editor's Add Fields panel. Each one makes every entry also create a draft post, and they were often picked for ordinary message fields, which filled sites with junk drafts. Turn on Customize → Settings → Gravity Forms → Allow Form Post Creation to add them. Forms that already use them are unchanged: the fields stay editable and keep creating posts.
5.31.159 2026-10-16
Removed
- WooCommerce Bookings support: the Today's and Weekly Bookings admin pages, the bookable-product layout and booking form styles, and the My Account bookings table styles. Dirigible Booking replaces WooCommerce Bookings; its Schedule (Day / Week) replaces the two admin pages.
Changed
- Shop Assistant and Manager roles can manage Dirigible Booking's bookings (Schedule, check-in) instead of WooCommerce Bookings'.
5.31.158 2026-10-16
Removed
- The one-time YARPP handover and the theme's YARPP template: every site that ran YARPP has switched to the theme's Related Posts. Activating YARPP again still asks first, and YARPP then shows its own plain list.
- The block update trial's backup address on Dirigible Font Host, used during the move to Dirigible Support. Every site now reads it from Dirigible Support.
5.31.157 2026-10-15
Changed
- Sites still on YARPP only because it was also set to show related posts on archive pages now hand over to the theme's Related Posts. Theme archive pages never showed those lists, so nothing disappears.
5.31.156 2026-10-15
Fixed
- Search results and other excerpts no longer show a Section block's custom CSS (or a page's embedded script code) as text: only the page's readable words appear.
5.31.155 2026-10-15
Fixed
- Pop-ups no longer show "Enter a headline." as their subheadline when none was filled in: the field starts empty, with "Enter a subheadline." as a hint in the Customizer.
- Sites whose automatic update check had been pushed days into the future now get it back on WordPress's twice-daily schedule, so Dirigible updates install again without a manual push.
5.31.154 2026-10-15
Added
- Saves the new Documentation Site setting for Dirigible Documentation (lists documents from another Dirigible site).
Changed
- Wireframe sketches on more Customizer pickers, like the footer's: header Layout, Utility Nav layout, the mobile Menu Icon and Close Icon (shown as the icons themselves), Blog Archive Layout, Sidebar, Featured Post Display and Style, Post Card Image Style, and Pop-up Position.
- Most Header & Menus settings now update just the part of the page they change in the Customizer preview, instead of reloading the whole page: the header (layout, spacing, logos, menu icon, button, search, cart, login, socials), the mobile menu drawer (background, close icon, overlay), and the utility bar (layout, banner, background). The mobile menu stays open while you adjust it. Colors, heights, sticky and floating options, and turning the utility bar on or off still reload the page.
- Social Media links update the header, mobile menu, utility bar, and footer without reloading the preview. Pages that also show a Socials block still reload so the block updates too.
Fixed
- Typos: the Pop-up Subheadline label, and Theme Setup's welcome line ("It should only take a few minutes").
- The Social Media settings (Customizer and Theme Setup) now say you can paste the link to your profile instead of only the highlighted part; the theme already accepted full links.
- More Social Media entries now give working links in the social icons and structured data, where before they pointed to a broken address: pasted Discord
discord.com/invite/…, WhatsAppapi.whatsapp.com/send?phone=…, and short Redditreddit.com/u/…links, a WhatsApp number typed with+, spaces, dashes, or brackets, and Reddit subreddit links (reddit.com/r/…). - Builder docs: the Mailchimp URL, User and List hints show a plain
&instead of&, and the blog Custom Layout hint lists its keywords in a sentence instead of showing<br>tags.
5.31.153 2026-10-15
Added
- Footer Padding (None / SM / MD / LG / XL), the same sizes as the Background block. MD is the footer's existing spacing, so current footers don't change.
- Single Column footer Menu Style: only the top-level menu items, one per line, as plain links.
- Eight footer layouts: Directory (contact details plus each menu group as even columns, for big menus), Signature (ends with the footer logo stretched across the full width), Feature (a large headline, description, and search or newsletter on the left; menu and contact details on the right), Masthead (logo and a single-row menu on top, then contact, hours, and search in columns), Panel (logo and contact details on a tinted panel beside the menu), Banded (a compact centered footer in thin-ruled bands), Cards (contact, hours, and search in soft cards), and Spotlight (a centered call to action above a logo, menu, and socials row).
Changed
- Minimal footer layout is replaced by Signature with the Bottom Bar on. Sites that picked Minimal switch over automatically.
- Columns footer: the search box takes up to 20rem when there's room, instead of shrinking to a sliver beside the menu and contact columns.
- Most footer Appearance settings now update just the footer in the Customizer preview instead of reloading the whole page. Background, Reverse Print, the newsletter settings, contact details, and the logo still reload the page.
- The footer Bottom Bar uses smaller, softer text so it reads as secondary.
- Clearer footer Layout and Menu Style sketches in the Customizer.
5.31.152 2026-10-15
Added
- Minimal footer layout: logo, menu and social icons on one line, with the contact details in a slim bottom row.
- Menu Style (Grouped / Single Row) for every footer layout, and a Bottom Bar toggle with a new Footer Legal Menu location (copyright on one side, legal links on the other). The new menu location appears under Appearance → Menus on every site; nothing shows until a menu is assigned or a copyright is set.
Changed
- The footer Layout picker shows a small wireframe of each layout. Truncated Menu is now Split with Single Row; sites that used it switch over automatically and look the same.
- The theme download is smaller (about 2,900 lines of old code removed), with nothing visible changing on your site: stand-ins for features that now live in Dirigible Optimize (adding new image sizes, jQuery speed settings, the revision limit), finished one-time settings updates, unused templates, and styles for WooCommerce add-ons no Dirigible site runs (Product Bundles, Subscriptions, AutomateWoo, SecureSubmit).
Fixed
- Single-row footer menus wrap onto a second line on phones instead of squeezing each link into a narrow column.
- The Centered footer no longer leaves an extra 48px gap below the logo.
5.31.151 2026-10-15
Changed
- Every page loads about 6 KB less CSS: the copies of the Tiered gallery, date picker and comments styles kept for pages cached before 5.31.128 are gone (those styles still load where they're used).
- The theme download is a little smaller: the update checker's translations aren't included (every Dirigible site runs in English), and an old unused page-generator function is removed.
5.31.150 2026-10-15
Fixed
- The note under Blog → Page Number Format shows its highlighted example again instead of raw
<mark>tags (since 5.31.146). - Customizer settings that only apply in some cases now hide when they don't apply. The schedule date and time in Publish settings (the gear next to Publish) showed even with Publish or Save Draft chosen; it now appears only for Schedule.
5.31.149 2026-10-14
Fixed
- A hidden image near the top of a page no longer takes the download priority meant for the page's main image. Images hidden on every screen size (a block with the
hiddenclass, a filter's results before a search, a scheduled Link in Bio link outside its dates) now load only when they're shown, and the first visible image is fetched first. Images that show or hide by screen size (lg:show,md:hide, …) load as before.
5.31.148 2026-10-14
Changed
- Faster first screens: images in a Columns block (Image, Post Featured Image, Media & Text) now download a file sized for their column instead of one as wide as the screen. A half-width image at the top of a page on a large retina screen fetched up to twice the pixels it showed. Nothing changes in saved content or how the images look.
- Blog archive and search result images download a file sized for the real layout: List images are a third of the row (not half) when the blog has a sidebar, and on wide screens archive and search images are sized for the page's wide content area instead of the whole screen. Images cropped to a shape (Rectangle, Square, …) still get a file large enough to fill it.
5.31.147 2026-10-14
Changed
- Customizer page pickers (Homepage, Posts page, 404 page, blog pages, pop-up pages, and plugin pages such as Events or Documentation) open much faster on sites with many pages, and list pages nested under their parents, the way WordPress's own page lists do. Pickers that already offered private pages now mark them "(Private)". Pages whose parent is a draft or private now appear in every picker. The Homepage and Posts page pickers no longer show "+ Add Page", which didn't work on Dirigible sites.
5.31.146 2026-10-14
Changed
- Customizer: the longer field notes now sit behind a small ? next to the field name. Click it to read the note. This covers all of Analytics & Tracking and a few long notes elsewhere (blog layout and page format, two-factor mode, inline SVG, Gravity Forms Tor blocking, reversed main header).
5.31.145 2026-10-14
Changed
- GDPR Banner wording fields now say who sees them: Message for US Visitors and Message for Non-US Visitors, with the matching accept and decline buttons, US first in each pair.
5.31.144 2026-10-14
Changed
- GDPR Banner wording fields are paired and renamed: Message and Message for US Visitors, Accept Button and Accept Button for US Visitors, Decline Button and Decline Button for US Visitors. Each field for visitors who are asked first sits next to its US version.
- GDPR Banner settings: the long explanations under Enable, Track Until Declined and Use Suggested Text now sit behind a ? button next to each label, so the panel is shorter. Click it to read the note; click again, press Esc, or open another to close it.
5.31.143 2026-10-14
Changed
- GDPR Banner settings: all the wording now sits together at the end of the panel, after Track Until Declined and Use Suggested Text, and the labels say who sees each text: Banner Text (Asked First), Banner Accept Text, Banner Decline Text, then the Notice fields for US visitors. With Use Suggested Text on, the text fields hide as soon as you flip it, instead of after the preview reloads.
5.31.142 2026-10-14
Changed
- GDPR Banner → Track Until Declined is now on by default and only applies to visitors in the US. Visitors whose device is set to a US time zone are tracked from their first page view and see a short notice with Got it and Opt out. Everyone else, including the EU and UK, sees the banner as before and isn't tracked until they accept. If the time zone is unknown, the visitor is asked first. The notice wording has its own settings (Notice Text, Notice Close Text, Notice Opt-Out Text), with ready-made defaults. Global Privacy Control, Decline, the Cookie settings link and the year-long Decline work as in 5.31.141.
Added
- GDPR Banner → Use Suggested Text, on by default: the banner uses Dirigible's wording, a short question for visitors who are asked first and a notice for US visitors tracked until they opt out. Turn it off to write your own Body, Accept Text, Decline Text and notice text; those fields only show while it's off. Sites that already wrote their own banner wording keep it: the toggle starts off for them.
Upgrade notice
- Every site with the GDPR Banner on and a Decline Text set starts tracking US visitors until they opt out, without waiting for a click. To keep asking every visitor first, turn off Track Until Declined under Scripts & Embeds → GDPR Banner. Do this for health and medical sites, sites aimed at children, and universities or public bodies. Pages the host already has cached keep the old banner until the cache refreshes.
- PageSpeed Insights tests from the US, so on banner sites its lab score now includes the site's tracking tags, as on sites without a banner (expect a one-time drop in lab scores, not in real visits). Tracking Load Strategy → First Interaction keeps tags out of lab tests.
5.31.141 2026-10-14
Added
- GDPR Banner → Track Until Declined: for US sites without EU or UK visitors. Tracking starts on the first page view instead of waiting for a click, so Google Ads and Analytics see every visit and enquiry. The banner becomes a notice that stays until the visitor closes it or clicks Decline. Decline and the Cookie settings link turn tracking off, and a Decline is kept for a full year in every browser, Safari included. Browsers that send a Global Privacy Control signal aren't tracked and see no banner, even if they accepted before. Their Cookie settings link explains why and offers Turn tracking on. It needs a Decline Text and is off by default, so existing banners don't change. Turning it off later asks every visitor again. The GDPR Banner docs list the sites it isn't for (health, sites aimed at children, universities and public bodies).
Fixed
- On sites with the GDPR banner on, campaign details (UTM tags and the Google Ads click ID) now reach Gravity Forms on every page after a visitor accepts. Since 5.31.38 they were only filled in on the page where the visitor clicked accept, so enquiries sent from a later page lost their ad attribution.
- Refine on an AI-generated SVG logo keeps the logo's colours. Before, an edit like "make the icon simpler" could come back in grey. The refined logo now reuses the draft's exact colours, unless your edit asks for a colour change.
5.31.140 2026-10-14
Changed
- Theme Setup's AI steps (palette, typography and social profiles) now use Claude Sonnet 5.5 through OpenRouter. If that call fails, they fall back to the default model, Gemini 3.8 Flash. Setup runs once per site, so the stronger model is worth the few cents. Developers can change it with the
ds_merlin_design_modelfilter. Page copy stays on the faster default model. - Generate Palette now designs one clear idea that fits the site description and names it, e.g. "Warm terracotta and lake teal". Before, it often returned the same indigo and chartreuse palette. Each click now suggests a new direction instead of repeating the last one. The step no longer runs a web search.
- Generate Typography keeps headings and buttons in sentence case. Before, buttons always came out in capitals. Capitals now appear only when you ask for them in Feel, or with condensed display faces drawn for them (Bebas Neue, League Gothic, Oswald). Regenerate offers a different font pairing each time, weights are limited to the ones each font really has, and body text is at least 16px.
- AI-generated logos use one or two palette colours instead of up to four. Raster logos now come from GPT Image 2.5 Flare, which returns a real transparent background.
Fixed
- Generate Palette darkens colours where needed so they stay readable on white: black to 12:1, text to 7:1, and muted, primary, success and failure to 4.5:1 (WCAG AA). A sampled live-site primary and locked colours are never changed. A success or failure colour that isn't clearly green or red, or turns muddy when darkened, is replaced with a standard green or red. The status line says how many colours it darkened. With Live site on, a run that matches no colours now shows an error instead of silently filling nothing.
- AI-generated SVG logos no longer show white blobs inside letters and shapes on dark headers: the holes are now see-through. The logo is cropped to the artwork, so it fills the header height instead of rendering small inside a large blank canvas. Raster logos lose the light halo around their edges.
5.31.139 2026-10-14
Added
- Dashboard → Updates now has a Check for Dirigible updates button under the *Last checked* line. It checks the theme and every Dirigible plugin right away (the same check as Check for updates on the Welcome screen), and reloads the page when it finds updates so they're listed ready to install. WordPress's own Check again can skip Dirigible products checked in the last hour. Only administrators see the button.
Fixed
- Theme Setup's AI steps (social profiles, palette, typography and page copy) keep working after OpenRouter retires the Gemini 2.5 models on 20 October 2026. They now use Gemini 3.8 Flash, and any site or add-on still set to a retired Gemini model is switched to its replacement automatically. A reply that runs out of room now shows an error instead of filling nothing, and if OpenRouter rejects a model name the step retries once with the default model.
5.31.138 2026-10-14
Changed
- Background block updates: the signed fleet switch is now read from Dirigible Support on support.mydirigible.com, so re-signing or withdrawing it is a small Support release instead of a Font Host one. Until Font Host's copy is retired, a site that can't get the file from Support falls back to the Font Host copy. The site report's
fleet.sourceshows which one answered.
5.31.137 2026-10-13
Added
- Visitors can now change their cookie answer. On sites where the GDPR Banner has a Decline Text button, any link to
#cookie-settings(for example a *Cookie settings* item in the footer menu) reopens the banner. Choosing Decline after accepting reloads the page without tracking and removes the tracking cookies the site set, such as Google Analytics, Meta Pixel and Dirigible Analytics. Until the site has such a link in a menu, footer or widget, Administrators see a dismissible reminder in wp-admin. Sites whose banner shows only an accept button (US-only sites) are unchanged. See [GDPR Banner](/docs/dirigible-theme/scripts-embeds/gdpr-banner/).
Fixed
- Posts that start with a Hero Slider block no longer show the automatic post title above it.
- WooCommerce shops set to 6 products per row now show 6 columns (stepping down to 5, 4, 3 and 1 on smaller screens) instead of one.
5.31.136 2026-10-13
Changed
- An open mega menu now keeps its menu item in the hover colour (and the underline, when Nav Item Underline is on) until it closes, so it's clear which menu is open. This works on every header style, including transparent and reverse headers, and when the menu was opened with the keyboard. The mobile menu drawer is unchanged.
5.31.135 2026-10-13
Fixed
- In the editor, a full-width reusable block (synced pattern), such as a call-to-action section, now spaces like any other full-width section. It no longer overlaps the bottom of the section above it, and there's no extra gap when it's the first or last block on the page. A regular-width reusable block placed right after a section no longer overlaps it either. The live site was already correct.
5.31.134 2026-10-13
Fixed
- Details blocks now have space below them. A row of closed Details sits close together like a list of questions; an open Details, and the last one in the row, get the usual space between blocks, so the content no longer sits right against the block that follows.
5.31.133 2026-10-12
Added
- Activating a plugin Dirigible already replaces (Simple Custom Post Order, Intuitive Custom Post Order, Search Exclude, YARPP or SVG Support) now asks first. Under Plugins, Activate (and bulk Activate) opens a short message that names the built-in feature, links to How to use it, and says what happens while the plugin is active on this site. Keep the built-in feature cancels; Activate anyway activates it as before. The plugin's card under Add Plugin says the same, and if one is activated some other way (a site management tool, the command line), Administrators see a dismissible note in the corner of wp-admin. See [Plugins Dirigible Replaces](/docs/dirigible-theme/features/plugins-dirigible-replaces/).
- Developers: other plugins can add the plugins they replace with the
ds_replaced_pluginsfilter. Admin toasts can now link to a Dirigible Support docs page, which opens in a new tab.
Changed
- The small pop-up messages in the bottom-right corner of wp-admin and the editor now match the Status column notes: a compact dark card with the message in bold, a short note under it, and a small icon that shows the kind of message (a tick for done, ! for a problem, i for information). They take less room, and their links and Dismiss keep a clear outline when you tab to them.
Fixed
- In the Customizer, the Logo, Reverse Logo and footer Logo previews now sit in their own box, like the Logos card on the Dirigible welcome screen. Reverse Logo is on a dark tile, so an all-white logo is visible instead of looking empty, and SVG logos that only set a viewBox no longer shrink to nothing.
- On a site already using Custom order, installing and activating Simple Custom Post Order or Intuitive Custom Post Order no longer replaces the lists Custom order sorts with the plugin's own (which could leave none sorted). Dirigible still switches the plugin off straight away, but now adds the plugin's lists to its own and keeps every list it already sorted, along with its Previous/Next direction and where new items go.
Security
- SVG uploads are cleaned by the theme's own copy of the SVG sanitizer, updated to 1.0.0. Before, a plugin that ships an older copy (WP All Import Pro bundles one) quietly replaced it on that site. 1.0.0 closes a bypass where a custom entity in an SVG became a working script link once the SVG was shown inline in a page. Links in an SVG that point to other websites are now removed too.
- SVGs that arrive without a normal upload are now cleaned the same way: files brought in by the WordPress Importer, swapped in with Enable Media Replace, or sent over XML-RPC. A file with nothing unsafe in it keeps its exact bytes (so Regenerate Thumbnails, which rebuilds every SVG's details, changes nothing); one that is cleaned has its original kept as a download in
uploads/ds-svg-originals/first. When a file can't be read by the sanitizer and holds something that can run script, it becomes an empty SVG, with the original kept the same way. A file the sanitizer can't read but that only looks odd (an old Illustrator export with namespace entities, a large drawing with links) is left alone. - Old Illustrator "Save As" SVGs that declare their own entities (
<!ENTITY ns_ai …>andxmlns:i="&ns_ai;") can no longer be uploaded: the Media Library says the file couldn't be sanitized. Re-export the file from Illustrator (File → Export As → SVG) to upload it. - Inline SVG (Settings → General) only inlines
.svgfiles the server sends as SVG, and it removes scripts, event handlers and script links before showing them. A PDF or text upload linked asfile.pdf?.svgused to be inlined and could run script for anyone viewing the page. The setting is off by default. - The one-time check of SVGs already in the Media Library runs again after this update, with the new sanitizer and a wider check that sees through encoded characters.
5.31.132 2026-10-12
Changed
- Status column labels show a small dark note when you hover them, tab to them or tap them on a phone: why a page is Not in site search (Set by you, Thank-you page, 404 page…), when a draft was last edited, when a scheduled post goes live, and where to change a front page, posts page or privacy policy. The reason no longer sits in the label itself, so rows don't grow, and screen readers still read every note.
5.31.131 2026-10-12
Changed
- Status column labels read as states: Not in site search · set by you (and · Thank-you page, · 404 page and so on for pages the theme keeps out on its own), and the view above the list is now Hidden, listing everything kept out of site search or Google. The editor checkbox and bulk actions keep their names, Hide from site search and Show in site search.
5.31.130 2026-10-12
Added
- Hide from site search replaces the Search Exclude plugin. Check it in the editor's Summary panel (or the classic Publish box), in Quick Edit, or with the list's new Hide from site search / Show in site search bulk actions. Hidden items drop out of the site's own search results, but stay findable in wp-admin and the editor's link search. Search pages are edge-cached, so changes show once the cache refreshes.
- One Status column in page, post and other searchable admin lists shows each item's state as labels: Public, Draft, Pending review, Scheduled (with the date), Private, Password protected, and why something is hidden from search (by hand, or automatically as a thank-you, 404 or sample page). WordPress's "— Draft" / "— Front Page" notes after titles move into it. A Hidden from search link above the list shows every hidden item. Plugins add their own labels through the
ds_admin_status_chipsfilter.
Changed
- Sites running Search Exclude switch over on their own: the theme copies every hidden page, deactivates the plugin, and deletes it about a week later. Reactivating the plugin within that week rolls back, and the theme then leaves it alone. Sites whose Search Exclude setup hides whole categories, tags or authors keep the plugin. The site report shows how each site's switch went.
- The theme's utility pages (404 page, form thank-you pages, untouched sample content) now also stay out of the site's own search results, not just Google and the sitemap.
5.31.129 2026-10-11
Fixed
- Update blocks and background updates now save pages whose block markup only settles on a second save, such as older core Cover and Image blocks and older Logos blocks. A page is saved only when a third check writes the same and nothing from the original is lost, neither text, images or links nor any block setting. The log names the settings that settled. Pages that keep changing are still skipped. Every site's background update trial restarts once.
5.31.128 2026-10-10
Changed
- Smaller stylesheets on every page: about 0.5 KB (gzipped) off the stylesheet that holds up first paint and 0.7 KB off the deferred one, with 1 KB more once older cached pages expire. Animated Section edges, Tiered galleries, date pickers and comments now load their styles only where they appear.
- The search results page and the blog index use current Section markup.
Fixed
- A Nav Item Underline width of 0.75 rem now shows.
- Font Awesome rotated icons and other classes containing "rotate-" or "border-" are no longer restyled by the theme's utility classes, so rotated Font Awesome icons now rotate as intended.
5.31.127 2026-10-10
Changed
- The 404 page icon and the post-card image placeholder now use icon classes instead of image files.
5.31.126 2026-10-10
Changed
- Header, footer, drawer, lightbox, popup, card and sharing icons now use icon classes instead of inline SVG or image addresses, so every page carries about 4–5 KB less HTML. They look the same.
- Icon styles are leaner: each icon names its image once, and the deferred stylesheet is now smaller than before.
Fixed
- The drawer's close icon no longer causes a small layout shift when the page's styles finish loading.
- The utility bar's account link now has its own accessible name.
5.31.125 2026-10-10
Fixed
- Update blocks now repairs WooCommerce's sample "Refund and returns policy" page, whose headings older WooCommerce saved inside Paragraph blocks (shown as invalid in the editor), turning them into Heading blocks instead of flagging the page for manual repair. Every site's background update trial restarts once.
5.31.124 2026-10-10
Added
- Icon classes for Dirigible Blocks' arrows, device toggles, quote marks and the Yearbook placeholder, and the default Quote Blocks background drawn by the theme, so blocks no longer save inline SVG or the theme's image address into the page (needed by Dirigible Blocks 4.10.149).
Changed
- Background block updates no longer set aside pages with a Masked Image as needing manual fixes: a shape reference isn't counted as page content when checking a re-save. Every site's background update trial restarts once.
5.31.123 2026-10-10
Fixed
- On servers without PHP's libsodium extension, editing a post or page no longer fails with a fatal error after an OpenRouter AI key or Instagram connection has been saved.
5.31.122 2026-10-09
Added
- Once a block update setup has passed its trial on enough Dirigible sites, a signed file from Dirigible Studio lets the trial run for every Administrator and Manager on sites no studio account visits. Each site's own 50-page trial and its stops are unchanged, and a missing, expired or invalid file leaves the trial to studio accounts only.
- Flags shows a "Fleet trial" line, and the site report shows the fleet file's state and saves per trial key.
5.31.121 2026-10-09
Changed
- Background block updates now restart their 50-page trial only when Update blocks' own saving changes, a Dirigible Blocks release changes how old blocks are upgraded, or WordPress gets a major update. Other block plugin updates still re-check pages.
- Once a site's trial passes, background block updates also run for its Administrators and Managers, only on pages they can edit; a page the user can't edit is skipped instead of stopping the run.
- The "pages need manual block fixes" notice now shows only to Dirigible Studio accounts.
5.31.120 2026-10-09
Fixed
- Mobile menu links no longer turn white on hover on sites with a reverse (light-on-dark) or seamless-reverse header; they use the drawer's hover color.
5.31.119 2026-10-09
Changed
- jQuery loading moves to Dirigible Optimize (Optimize Settings → jQuery, Optimize 0.0.46), and each site keeps its choice. Deactivating Optimize now turns the jQuery tweaks off (WordPress's own jQuery loading). Customizer → Scripts & Embeds → Performance appears only while the site still runs an older Optimize without the jQuery card.
- Removed WooCommerce cleanup code that no longer did anything with WooCommerce 11. Shop pages load the same files.
5.31.118 2026-10-09
Fixed
- The country and state dropdowns on My Account → Addresses (billing and shipping) are styled again. Since 5.28.37 each showed twice: the plain browser dropdown plus a stray unstyled copy.
5.31.117 2026-10-09
Fixed
- A Wide or Full block inside a Column (often pasted in from the page) no longer adds big gaps above and below it, and Wide Buttons follow the column's content position instead of sitting left.
- Fix image references, image trim and the sample-data generator no longer strip backslashes from image captions and credits.
5.31.116 2026-10-09
Fixed
- Animated Wavy, Thin Waves and Zigzag separators move at their chosen speed again. Since 5.31.96 they had slowed to a near standstill, on the site and in the editor.
5.31.115 2026-10-09
Changed
- Panels on the Dashboard welcome screen and the Dirigible tools pages have a subtle border, so each has a clear edge.
5.31.114 2026-10-09
Changed
- Saves Dirigible Locations' new Carto API Key setting (Locations → Maps). Update the theme before Dirigible Locations so the key saves.
5.31.113 2026-10-09
Added
- Dirigible Booking is listed with the other Dirigible plugins on the Dashboard.
Fixed
- Blog featured posts using the Overlay style show their headline, date and link again; the image was covering them.
5.31.112 2026-10-09
Fixed
- Quick Edit saves in admin lists, and adding a category or tag from its list screen, work again. In 5.31.111 they stopped with an error.
5.31.111 2026-10-08
Added
- Custom order: a # button on each row of a sorted list to type a new position, or move an item straight to the top or bottom. Useful for moving something a long way.
Changed
- Custom order: the grip stays at the left of each row, and the #, down and up buttons sit at the right, at WordPress's normal row height. Focus colours follow the admin colour scheme. On phones the controls appear in a row's expanded details, like the list's other columns.
5.31.110 2026-10-08
Added
- Custom order: drag pages, posts, people, categories and other lists into the order you want, with no plugin. Turn on Sort by dragging at the top of a list (Administrators), then use the grip or the up and down arrows on each row. Editors and above can reorder. Drafts and Pending lists keep WordPress's own order and can't be dragged.
Changed
- Sites using Simple Custom Post Order or Intuitive Custom Post Order switch to the built-in order on their own, keeping every sorted list in the same order. The plugin is deactivated, then deleted about a week later; reactivate it within that week to undo. Category and tag orders are kept either way.
5.31.109 2026-10-08
Fixed
- Update blocks no longer skips older Grid cards as a lossy upgrade because their image link's screen-reader label changes from the card title to the link text (the title is still shown on the card). Every page is checked once more after this update, and the background updates first run their 50-page trial, so these pages go through the trial before full speed.
5.31.108 2026-10-08
Added
- Update blocks can run by itself, a few pages at a time, while a Dirigible Studio Administrator is in wp-admin. It makes safe upgrades only and keeps modified dates. After a block plugin or WordPress update it first updates up to 50 trial pages, waits a day from the first one, then runs at full speed (up to 2,000 pages checked a day). It stops if a trial page loses block settings, and leaves very long pages for you to update from Tools & Maintenance. Turn it off, or open it to every Administrator and Manager, under Dirigible → Flags.
Changed
- Upgrade notice: update Dirigible Optimize to 0.0.41 or later. Adding new image sizes to older images now runs in Optimize, so deactivating Optimize turns it off; its line under Tools & Maintenance → Media shows while Optimize is active.
- Logos use the site title as their alt text. Instagram Feed tiles without a caption get a description ("Instagram post by @account, date") when the image has no alt text in the Media Library, and the "no featured image" placeholder and the Facebook pixel image are marked decorative.
- Images whose block points at an image that was replaced or re-uploaded still get alt text from the Media Library.
- The Dashboard's "Block updates available" panel no longer shows for people the background updates cover.
Fixed
- Image alt text in the Media Library such as "No image available" or "As an AI researcher, …" is no longer mistaken for a failed AI reply, so it shows on the page again.
- Update blocks' hidden editor no longer marks the pages it opens as being edited.
- Small HTML fixes on the Tools & Maintenance page, and the Flags page no longer stops on an unusual stored value.
5.31.107 2026-10-08
Changed
- Tools & Maintenance matches the Dashboard pages: a grouped list of tools on the left (click one to jump to it) and one column of tools on the right, each with a short "when to use this" and a (?) next to options for the details. Tools get coloured icons, section headings match the page title, and Find & replace's fields sit side by side.
- The Dirigible menu opens Tools & Maintenance. The old Theme Tools page is now its Other tools group (plugin tools such as Migrate Yoast Data, LLMs.txt and the reset buttons live there), and the Gravity Forms tools are one Forms card with Settings check and Entry cleanup tabs.
- Find & replace, Audit broken links and the Accessibility audit each choose their own content ("Checks: all content · Change"). Update blocks always covers every kind of content that uses blocks. Restore block settings and Fix image references check every content type.
- One tool runs at a time: the other buttons are greyed out, the browser asks before you leave mid-run, and there are no pauses between items. Restore block settings checks posts in batches.
- Restore block settings appears only while a site has blocks waiting for review.
Fixed
- Tools refresh an expired security token, retry when the server is busy, stop after five failures in a row or with a clear message when your login has expired, show error pages as one line, and keep partial results. A Tools page left open overnight no longer lets Update blocks change pages' last-modified dates.
Removed
- Find duplicate media (uploading the same file twice is still blocked) and the Administrator audit. The site report counts administrator-level accounts unused for 180 days or more, with no names or emails.
5.31.106 2026-10-08
Fixed
- The one-time "last modified" date repair now also looks past image alt text and excerpt changes made by earlier tool runs (Sync alt tags), so more pages get their real last-edit date back. Edits made during a run by the administrator who ran it count as part of that run. Sites that already finished the repair re-check those pages once in the background; a page that fails during the re-check is skipped instead of holding it up.
5.31.105 2026-10-08
Changed
- Upgrade notice: update Dirigible Optimize to 0.0.39 or later. The revision limit and Purge revisions moved there (Optimize Settings → Revisions); with an older Optimize the theme keeps the 10-revision limit and has no purge.
- Tools & Maintenance saves (Update blocks, Restore block settings, Find & replace, fix image references) keep each page's last-modified date, so maintenance no longer makes every page look freshly edited to visitors and search engines.
- Update blocks runs in batches and covers drafts, pending posts and synced patterns. It never overwrites a page someone edits during the run; it lists those as "edited during the run" and checks them again next time.
- Find & replace changes only the matched text instead of rewriting each post, and applies only to the posts you previewed.
- Tools & Maintenance is smaller: 21 rarely used or risky tools are gone, including Sync alt tags, Missing media files, Delete unused image sizes, Auto-draft cleanup, Redirect CSV, Optimize database tables, Flush transients and the email deliverability check (replaced by Send test email, which reports how the message was sent and any error). Site Health links to WordPress's own Site Health.
- Applying Restore block settings is for Administrators only; Managers can still preview it.
- Broken link and accessibility audits check more (links in block settings, old site addresses, insecure scripts and embeds; a 1280×800 frame with an optional phone pass) and show the element at fault.
- Import Settings covers the settings of every active Dirigible plugin and lists anything it skipped and why. Export Settings no longer includes styles; use Export Styles for those.
- Hosted Fonts switch: sites whose Google fonts were too big to switch now usually can. It uses the variable file when it's close to Google's size and single-weight files otherwise (needs Dirigible Fonts 0.1.6 or later).
- Content Width moves in steps of 8 pixels.
Added
- A one-time background repair puts back the last-modified dates that earlier maintenance runs flattened, using each post's revisions. Posts edited since keep their date. It stops if
define('DS_MODIFIED_REPAIR', false);is in wp-config.php. - Images with empty alt text get the media library's alt text when the page is shown, unless that alt text is a failed AI reply.
- The Media section's background jobs get Run now and Retry buttons.
- Related Posts and search housekeeping feature pages in the builder docs.
Fixed
- Alignwide Min and the Tags active color are checked before they reach the page's CSS; a 3-digit hex color is accepted.
- The Styles "Transform" controls are labeled Transform, Label Transform and Sublabel Transform.
5.31.104 2026-10-08
Fixed
- Carousels (Slider, Hero Slider, Logo Carousel and Dirigible Fleet's aircraft galleries) could land one slide off from the dot or thumbnail you clicked when they started inside a grid cell or a scroll-animated section. They now measure correctly while those entrance animations play.
Changed
- The YouTube click-to-load docs point to Dirigible Optimize's new on/off switch (in the next Optimize release).
- Removed a leftover admin tweak for Instagram Feed versions older than 6.3, which no site runs.
5.31.103 2026-10-08
Changed
- On-demand Turnstile loading now comes only from Dirigible Optimize, which every Turnstile site already uses. The theme's fallback for Optimize older than 0.0.26 is gone; a site on an older Optimize loads Turnstile the plugin's usual way until Optimize updates. Spam checks are unchanged.
- The site report no longer lists health.turnstile; Optimize reports it under its own section.
5.31.102 2026-10-08
Added
- Settings for Dirigible SEO's new Home Page Title and Home Page Description (SEO → Options in the Customizer). Update the theme before Dirigible SEO 2.3.57 so those settings save.
Fixed
- On sites hidden from search engines, utility pages (the 404 page, thank-you pages and similar) no longer print a contradictory "noindex, nofollow, follow" robots tag.
5.31.101 2026-10-08
Changed
- Upgrade notice: pages the host has already cached keep their old social links, structured data and robots tags until the site cache is purged or refreshes.
- Utility pages stay out of search results and the sitemap (noindex, follow): the 404 page and custom blog layout page set in the Customizer, WordPress's unedited Sample Page and "Hello world!" post, and Gravity Forms thank-you pages (a page a form confirmation sends visitors to, whose address says thank you or confirmation, that isn't in a menu and has little text). The front page, posts page and Blog Page are never affected, and Yoast's sitemap is covered too. On a site running Yoast, one of these pages set to "allow indexing" in Yoast is still kept out of search; a developer can use the ds_utility_page_reason filter to keep a page indexed. The site report lists which pages were hidden and why.
- The post format archives (such as /type/image/) and their sitemap are hidden when the theme doesn't use post formats.
- The 404 Page and Custom Layout settings no longer ask you to make the page private.
- Structured data: the site's business entry has a stable identifier that blog posts point to as their publisher, and an empty tagline is left out. Each page rebuilds its structured data once after the update.
- Social Media: enter @you@your.server for a Mastodon account on another server.
- Tools & Maintenance: Sync alt tags, Missing media files, Delete unused image sizes and Auto-draft cleanup are turned off while they're fixed or replaced, and Fix broken image references previews but doesn't apply fixes.
Fixed
- Social icons in the header, footer, drawer, utility bar and Socials block link correctly: TikTok and Threads no longer repeat the username, LinkedIn company pages and bare LinkedIn names, pasted profile links (including threads.com, x.com/twitter.com and country LinkedIn sites), @handles, stray spaces and doubled paths all work, and Spotify artist, album and playlist links open the right page.
- Structured data uses the same corrected social links, and site names, post titles, excerpts, breadcrumbs, FAQs, price lists and yearbook names show real characters instead of codes like
&or’. A price range like "$10 - $20" reads as 10.
Removed
- Store → Product Pages: the Description, Show Tags, Show Categories and Show Shipping Dimensions settings, which haven't changed product pages since 5.24.39.
5.31.100 2026-10-08
Fixed
- Forms cleanup no longer deletes uploads that belong to live form entries. Since 5.27.80 its orphan-file step couldn't see Gravity Forms' file-upload fields, so every uploaded file looked unused and a run could delete files attached to real entries. The file check now reads the fields correctly. Deleting orphan files is turned off for now while the remaining cases (files saved under an old site address, post image fields) are fixed; the scan still lists them.
- The Gravity Forms configuration audit no longer reports every form as having no input fields.
5.31.99 2026-10-08
Added
- Related Posts built into the theme: turn on Show Related Posts under Customize → Blog & Posts → Post Pages to list up to four related posts under each blog post, matched by shared wording, categories and tags. The default category doesn't count, and a post with nothing close enough shows no list. Off by default.
Changed
- Upgrade notice: sites that use the YARPP plugin switch over on their own. The theme turns Related Posts on, keeps the YARPP headline, image size and display settings, builds its index in the background, then deactivates YARPP (it never deletes it). Colony blogs switch once Colony Framework 1.3.64 or newer is installed. A site keeps YARPP, with the reason in its site report, if YARPP also shows somewhere the theme's list doesn't cover (other post types, archives, RSS, widgets, shortcodes) or the child theme uses its own post templates or calls YARPP. Pinned sticky posts no longer appear in every list. Pages cached before the switch keep the old list until the site cache is purged. Rolling the theme back after the switch needs YARPP reactivated.
- The Customize → Plugins → YARPP Related Posts panel is gone; its settings are under Blog & Posts → Post Pages.
- The reminder shown while a search-and-replace plugin (such as Better Search Replace) is active is gone. The advice stays in the Tools & Maintenance docs, and broken image files still show in the site report.
5.31.98 2026-10-08
Added
- Structured data on a page now refreshes on its own when content it shows changes elsewhere: a renamed category, tag or author, an edited FAQ answer, a parent page's new title, an event's location or ticket product. Those pages rebuild it on their next uncached view; purge the site cache to see it straight away. Draft saves don't trigger it.
- The site report lists the next update checks scheduled by WordPress and how many scheduled tasks are overdue.
Changed
- While the theme's files are being replaced during an update, visitors get a short "This site is updating" page (which browsers and the cache retry) instead of a half-drawn page or a critical error. A plugin that keeps logs or caches in its own folder doesn't trigger it.
- WooCommerce related and up-sell product cards load a card-sized image on every visit, instead of a different size from one load to the next.
- The footer's search or newsletter column is sized as the page first draws, so the menu columns beside it no longer jump on short pages.
- The Dashboard's documentation pages show one column on phones, and long code names wrap.
Fixed
- Card and event images with no focal point no longer carry a centred position, so a position class added to the image now applies. An invalid saved focal point is ignored instead of printing 0%.
- Backslashes in image captions, titles and alt text survive Image Trim backups and restores, the SVG size repair, generated reverse and colour logos, and video cover images.
- Plugin & Theme Audit no longer fails to look up theme updates.
5.31.97 2026-10-07
Fixed
- Animated separators and animated Section transitions no longer let the page scroll sideways in Safari 15 and older; those browsers show the still line and shape instead.
- Mirrored Section transition shapes no longer show a hairline where the shape meets its mirror on screens with display scaling (for example 150% on Windows).
- The animated separator line is no longer 1rem longer on the left than the still line.
5.31.96 2026-10-07
Added
- Section transitions can animate (with Dirigible Blocks 4.10.136 or newer, which adds the controls): the edge shape slides slowly along the top or bottom of the Section. Shapes whose ends don't line up repeat as a mirrored pair, so all 18 shapes loop seamlessly. Visitors who prefer reduced motion see the shape standing still.
Fixed
- Animated Wavy, Thin Waves and Zigzag separators no longer jump once per cycle, and they now animate without redrawing on every frame, which is lighter on phones.
5.31.95 2026-10-07
Fixed
- The "A Dirigible update failed its signature check" notice goes away once a correctly signed update of the same plugin or theme is installed, instead of staying up for 14 days.
5.31.94 2026-10-06
Added
- Block Tor Submissions, under Customize → Settings → Gravity Forms. Off by default. While on, form submissions sent through the Tor network are discarded (the list of Tor addresses refreshes daily, and the check stands down if it can't be refreshed for three days). Some legitimate visitors use Tor for privacy, so turn it on only while a site is being flooded.
5.31.93 2026-10-06
Added
- Two more spam checks on every Gravity Forms submission, handled like a honeypot catch (discarded, no entry): a submission a bot re-sends unchanged from many addresses is recognised from the third copy within ten minutes, and a bare web address in a Name field (such as example.org/offer) now counts as a link and follows the form's Links/URLs setting.
- For developers, off by default: the
ds_gf_tor_guardfilter turns away form submissions from Tor exit addresses on a site under attack. The Tor Project's list is fetched daily in the background and the check lets submissions through if the list is missing or out of date. Real privacy-minded visitors also use Tor, so turn it on only where needed.
5.31.92 2026-10-06
Added
- While a database search-and-replace plugin is active (Better Search Replace, Search & Replace, Search Regex, WP Migrate and similar), administrators see a dismissible reminder on the Dashboard and on that plugin's screen: replacing text across the database also changes image file paths, so leave out the postmeta table (or rename the files to match), do a dry run first, and remove the plugin when done.
Changed
- Upgrade notice: the Form Submission Limit (Customize → Settings → Gravity Forms) is active again on every site: by default 5 submissions per visitor IP, per form, per hour. Visitors who share one connection (a campus or office) can reach it on a busy form; they see the "try again in an hour" message above the form.
- Every Gravity Form now gets the Advanced Honeypot and a 2-second Submission Speed Check, and submissions they catch are discarded without creating an entry. This applies to existing, imported and new forms without changing their stored settings, and a form's higher speed threshold is kept. The form's Spam Detection section shows these as set by the theme; Links/URLs and Custom Spam Confirmation remain per form. Submissions made through the Gravity Forms API aren't affected.
Removed
- The "Enable Spam Protection on All Forms" tool, now that every form has this protection automatically.
Fixed
- The Form Submission Limit works again: it hadn't run since 5.27.01. It now checks only when a form is sent, so the form always shows. Before, a visitor over the limit could cause a cached page to hide the form from everyone.
5.31.91 2026-10-06
Added
- Show on Scroll Up, under Customize → Header & Menus → Desktop. With it on, the sticky or floating header slides out of view while visitors scroll down and comes back as soon as they scroll up. It stays put near the top of the page, while the mobile menu or a mega menu panel is open, and while a visitor is using it (an open dropdown, the search field, or keyboard focus). Off by default.
Fixed
- A missing or renamed image that loads lazily no longer leaves a tall empty gap. In a slider it also no longer re-requests the file over and over and jolts the page.
5.31.90 2026-10-06
Fixed
- The header button keeps its label on one line without being held at a fixed width; the rest of the header can still shrink around it.
5.31.89 2026-10-06
Changed
- Quote Group quotes pop in one after another as they scroll into view, like Grid cards, when Scroll Animations is on. Visitors who prefer reduced motion, and sites with Scroll Animations off, see no change.
Fixed
- The header button stays on one line. In Safari it could break mid-word (for example "Donat / e") even with room to spare in the header.
5.31.88 2026-10-05
Fixed
- Pages with Quote blocks no longer jump as they finish loading: quotes get their final spacing straight away, so the content below them stays put.
- WooCommerce shop, product, cart and account pages no longer jump as they finish loading: WooCommerce's empty notice area is hidden from the first paint.
5.31.87 2026-10-05
Added
- Admin pages can show short confirmation messages that fade away on their own (errors stay until dismissed). Dirigible Optimize 0.0.30 uses them to confirm each setting as you change it.
5.31.86 2026-10-05
Fixed
- Self-hosted YouTube covers (and the editor's stock background photos) no longer load over http on https sites whose WordPress address is stored as http, so those pages keep the browser's padlock.
5.31.85 2026-10-05
Added
- Gravity Forms:
ds-list-2coltods-list-5col(and-verticalversions) lay out a Checkboxes or Radio Buttons field's choices in columns, like the oldgf_list_2colReady Classes. Gravity Forms 4.0 warns about forms that still use Ready Classes; swap them for theds-list-names to clear the warning. Forms using the old names keep working.
Changed
- When an Instagram account's owner removes access or asks for deletion, the site hides that feed at its next sync and, at the one after, deletes its posts and the images the sync imported for it. Images you uploaded yourself are never touched.
- Settings → Feeds is rewritten in plain language, shows the Instagram account ID and a readable status, and Connect always shows the Instagram login. Visitors see nothing, rather than "No Instagram posts to display.", when a feed has no posts. The table reset tool shows only with WP_DEBUG.
- Product images in the Cart, Checkout and Mini-Cart blocks and on WooCommerce's Review your order page are always square, whatever the image's shape.
Fixed
- An Instagram Feed block left on the default feed keeps showing its saved posts when a sync fails or the account needs reconnecting (it used to go blank).
- Analytics & Tracking fields refuse a sentence or a paste with no ID in it, which used to save as a garbled ID or a blank field, and refuse a pasted snippet with several different IDs (say a Google tag loading both G- and AW-), listing the IDs found so you can pick the one the field is for. Saved values and the site's output are unchanged.
5.31.84 2026-10-05
Changed
- Loading the Cloudflare Turnstile check on demand moved to Dirigible Optimize (0.0.26 or newer), which now also covers comment forms and WooCommerce account login and lost-password forms. Deactivating Optimize switches it off. The theme keeps its own copy only while an older Optimize is active, until Optimize updates. Without Optimize, Turnstile loads as the plugin prints it.
5.31.83 2026-10-02
Fixed
- Code that was commented out in Customizer → Site Fonts (between
<!--and-->) no longer shows the comment markers as text at the top of every page. Commented-out code is left out of the page entirely.
5.31.82 2026-10-02
Added
- The site report says how Turnstile loads on sites with Simple Cloudflare Turnstile: whether loading on demand is on, the last page where it loaded on demand, and, for each reason it left a page as the plugin prints it (another kind of form, another plugin's Turnstile script, an older plugin version, or turned off), the last page and the reason.
- The site report shows the progress of the one-time check of older SVG uploads (checked, cleaned, and any that couldn't be cleaned) and whether the uploads folder's SVG security rule was added.
5.31.81 2026-10-02
Fixed
- Dirigible updates install on the next automatic update run after a release, instead of the one after. WordPress started its twice-daily run before the Dirigible update check had looked for new releases, so each run installed what the check had found 12 hours earlier, and a release took up to a day longer than needed to reach a site.
5.31.80 2026-10-02
Changed
- Dashboard → Home → Plugins: Install, Activate and Add license are quiet text links lined up under each plugin's name, instead of buttons. The card's check mark and colour show which plugins are ready to install.
5.31.79 2026-10-02
Added
- Dashboard → Home → Plugins now lists 15 Dirigible plugins, including Optimize, Manifest and Hours, each with a short description, a Docs link and its status: a green check when active and licensed, a yellow check when licensed but not installed, orange when active without a license (so no updates). Add a license right on the card, then click Install: the plugin downloads from Dirigible and activates, so there's no zip to find and upload. Cards update in place. A line above the grid sums it up, for example "4 active · 1 ready to install · 10 need a license".
- Dirigible → Licenses has a "Plugins to install" section with the same license field and Install button for every Dirigible plugin that isn't active yet.
Changed
- Gravity Forms "Previous" on multi-page forms is now a quiet text button, like "Save and Continue Later", so Next and Submit stay the one filled button.
- SVG uploads can be up to 4 MB, and .svgz is no longer offered (those files never displayed). Existing .svgz files are untouched.
Fixed
- Gravity Forms "Select All" shows a focus ring when you reach it with the keyboard.
Security
- SVGs uploaded before Dirigible cleaned them (for example under the old SVG Support plugin) are checked once in the background. Any that contain script or similar unsafe content are cleaned the same way new uploads are, and a copy of the original is kept in uploads/ds-svg-originals/. SVGs without unsafe content keep their exact bytes.
- Uploaded SVGs opened on their own can no longer run script or load anything from other sites: the theme adds a header rule for SVG files to the uploads folder's .htaccess. Images, logos and inline SVGs look the same.
- A damaged or oversized SVG upload is refused cleanly instead of tying up the server.
5.31.78 2026-10-02
Changed
- Gravity Forms: "Choose File" is now a quiet tinted button instead of a copy of the submit button, and a single file upload sits in a dashed drop zone that matches multi-file uploads, whose "Select files" button gets the same quiet style.
- Gravity Forms: "Save and Continue Later" is now a ghost button, so Next and Submit stay the one filled button.
- Gravity Forms: uploads now show a progress bar while they upload. Finished files show just the name and a delete icon, and upload rows wrap cleanly on phones. The delete icon no longer depends on the Dashicons font.
Fixed
- The background job that adds new image sizes to existing images no longer stops partway through large photos. Each image now gets its own time limit instead of whatever was left of the cron request. Images it gave up on that way are tried once more, and a job that had stopped because of them picks up where it left off. When an image still fails, the site report shows PHP's reason.
5.31.77 2026-10-02
Changed
- Pages with Gravity Forms protected by the Simple Cloudflare Turnstile plugin no longer download Cloudflare's challenge (about 0.6 MB per form) when the page loads. The "verify you're human" check now loads when a visitor scrolls near the form or starts filling it in, and a page with several forms, or a login form in a menu, only runs it for the forms the visitor reaches. Spam and login protection is unchanged. To opt out, set
DS_TURNSTILE_LAZYto false or return false from theds_turnstile_lazyfilter. - Gravity Forms styles for rarely used fields (Consent, Section, page steps, List, date and time, file upload, pricing, Image Choice and others) now load only on pages whose forms use them, and the main form stylesheet is smaller.
Fixed
- Gravity Forms Password fields with "Enable Password Visibility Toggle" show an eye icon inside the right end of the field that shows or hides the password. It used to be an empty grey button under the field.
- Gravity Forms fields that showed unstyled now match the theme's forms: Image Choice cards, the date picker (calendar button inside the field, calendar as a pop-up), enhanced drop downs, List columns with add/remove buttons beside each row, numbered page Steps, the password strength meter, the "sending" spinner on Submit, and the Save and Continue "Send Link" button.
- Gravity Forms settings that had no effect now work: Hidden labels, choice layout Horizontal and Columns, Left/Right label placement, and column widths beyond ½, ⅓ and ¼ (for example a ⅔ + ⅓ row). On phones, fields narrower than half widen to half. Forms that already use Columns or Horizontal choices will now show them that way.
- Gravity Forms errors are easier to see (messages and unchecked choices in the error colour). Drop downs inside Name, Address, date, time and card fields show a chevron, multi-input and choice fields line up with the rest, and reverse-print multi-selects and progress bars are readable.
5.31.76 2026-10-01
Added
- Google Site Verification ID takes more than one code, one per line, and prints one verification tag per code.
Changed
- Analytics & Tracking fields check each ID against the service's format when you publish. A value that doesn't fit shows a message under the field, and Publish waits until it's fixed or cleared. You can paste the whole tracking snippet, meta tag or URL: the field keeps just the ID and shows it after Publish. Old Universal Analytics IDs (UA-) are refused with an explanation, and every field describes what its ID looks like. Existing values keep working unchanged.
Fixed
- A Site Verification value saved as
google-site-verification=CODE, or as a whole meta tag, printed that whole text, so Google couldn't verify the site. It now prints just the code.
5.31.75 2026-10-01
Added
- HubSpot and Piwik PRO fields in Customizer → Scripts & Embeds → Analytics & Tracking: HubSpot Portal ID and Region (US or EU), and Piwik PRO Account Address and Container ID. They work like the Google, Facebook and Hotjar fields: they start after page load (or on first interaction), wait for consent when the cookie banner is on, and skip your own admin visits unless Track Admin Sessions is on. When you fill them in, remove the old pasted snippet from Custom Embeds in the same save, or visits are counted twice; the account and its history stay the same.
Changed
- Background and Hero videos show their fallback image underneath the video until it plays, so a video no longer needs a separate poster image. With Dirigible Blocks 4.10.123, phones stop downloading a full-size poster for a video they never show.
Fixed
- Scroll animations no longer make the browser re-lay-out the page once for every element they hide at load.
5.31.74 2026-10-01
Changed
- The site report includes PHP's
serialize_precisionsetting, so Dirigible Studio can see which sites print long decimal numbers when PHP writes block settings. Nothing changes for builders.
5.31.73 2026-10-01
Fixed
- Link URL fields in block sidebars fit the sidebar again. Before, they ran past its edge, and on some blocks the sidebar scrolled sideways when the field came into view.
5.31.72 2026-10-01
Added
- Studio-signed plugin routes: Dirigible plugins can offer maintenance routes that only Dirigible Studio can call, checked with the same signature, time window and one-time code as the site report. Nothing changes for builders.
- A plugin that retires itself (Blocks Extended, after converting its blocks) has its files deleted 30 days later, once nothing on the site uses it any more; until then, reactivating it cancels the deletion. The rollback copies it kept are removed with it. The site report shows each retired plugin's state.
5.31.71 2026-10-01
Fixed
- The Mega Menu dropdown arrow shows again. Since 5.31.55 it could be invisible beside menu items that open a mega menu.
5.31.70 2026-10-01
Changed
- Update blocks (Tools & Maintenance) also swaps retired blocks for their current versions when nothing is lost, starting with a Dirigible Blocks Extended Logo Carousel (needs Dirigible Blocks 4.10.118 or newer). Pages finished in an earlier run are skipped; tick Re-check all pages to convert those.
5.31.69 2026-10-01
Security
- Dirigible updates are checked against Dirigible Studio's release signature before they install. For now the result is only recorded (in the site report, plus an alert in wp-admin if a signature doesn't match); nothing is blocked. Plugins installed by Theme Setup from the Dirigible update server are checked the same way. Zips you upload yourself aren't checked.
Changed
- YouTube thumbnails are served from the site itself. Before a visitor presses play, the page loads only the site's own files and the visitor's browser contacts no YouTube or Google server; after they press play, the video plays in YouTube's privacy-enhanced player. A newly added video shows a dark box with a play button until its thumbnail is copied (when the post is saved, or in the background within a few hours). To load thumbnails from YouTube instead, add
define('DS_YOUTUBE_THUMBS_REMOTE', true);to wp-config.php. - YouTube embed code in plugin text fields (rich text and plain text, such as a dog's or a listing's description) also shows the thumbnail and play button until pressed.
- The site report shows why a background update failed, when WordPress refuses or rolls one back.
Fixed
- Correction to 5.31.66: that release said nothing loads from YouTube before a visitor presses play. Its thumbnails did load from YouTube's image server; from this release they're served by the site itself.
Upgrade notice
- Pages the host already has cached keep their old YouTube thumbnail links until they're saved again or the cache is cleared. Clearing each site's cache once after the update finishes the switch.
5.31.68 2026-10-01
Fixed
- On blog posts, YouTube videos keep their thumbnail and play button on the first view after a post is saved. Before, posts with pasted YouTube code or classic-editor videos could show the thumbnail at full size with the play button below it, and that view was cached for every visitor.
- Deleted or private YouTube videos show a dark box with a play button instead of a stretched grey placeholder.
- A focal point set on an Image block now wins over the image's Media Library focal point on the front end.
- The focal point X and Y boxes accept decimals and typing, and no longer snap to 50 when cleared.
- Setting a featured image's focal point no longer leaves an unsaved change behind (Publish stays Publish).
- Search markup (JSON-LD), pages made by the setup wizard, imported Instagram captions and generated logo alt text keep backslashes, accents and quotes intact.
5.31.67 2026-10-01
Added
- Sites that load Google Fonts switch by themselves to the same fonts served from the site (Dirigible Fonts), in the background, so text loads faster and visitors' browsers no longer contact Google. It only happens when every family, weight and style is available, the text looks the same, and the files aren't bigger than Google's. Font files are downloaded and checked before anything changes. A dashboard notice confirms the switch and offers Undo; after an undo the site stays on Google Fonts. Appearance → Hosted Fonts shows what it's doing, and has a one-click switch and undo for sites that don't switch on their own. To turn the automatic switch off on a site, add
define('DS_GOOGLE_FONTS_AUTO', false);to wp-config.php. - A 1200 px image size. Full-width images on phones download a file about 35–45% smaller.
- When the theme or a plugin adds an image size, existing images get it in the background, a few at a time, starting with images on the front page and in heroes and backgrounds. Existing files are never changed or removed. Progress shows under Dirigible → Flags and next to Media in Tools & Maintenance, and an "Images updated" notice appears when it's done.
Changed
- The Dirigible theme and Dirigible plugins always update automatically: WordPress installs new Dirigible releases in its twice-daily background update, whatever each plugin's auto-update switch says. Other plugins keep their own setting. To keep a site on its current Dirigible versions, add
define('DS_AUTO_UPDATES', false);to wp-config.php.
Fixed
- The slider pause button stays visible on dark (reverse print) sections.
- On pages with a seamless header, links and buttons near the top of the first section can be clicked again.
5.31.66 2026-10-01
Added
- YouTube videos (Embed blocks, Video Gallery, Grid YouTube cards and pasted YouTube embed code) show their thumbnail and a play button until a visitor presses play. The player then loads in YouTube's privacy-enhanced mode and starts right away. Pages with videos download far less (a 16-video page on a phone: about 15 MB to 1.2 MB), and nothing from YouTube loads before a visitor presses play.
- To keep the normal YouTube player on one block, add the class
no-facadeto it (Advanced → Additional CSS class). Autoplaying background videos are left alone.
5.31.65 2026-10-01
Changed
- Keyboard focus on text links is a soft highlight in the site's Primary colour with a brand-coloured underline, instead of an outlined box. Buttons and icons keep a thin rounded ring. Mouse and touch users see no change.
5.31.64 2026-10-01
Changed
- In the mobile menu, a menu item with a submenu now opens its own page when you tap its name; the arrow beside it opens the submenu. An item without a page of its own (a Custom Link to #) still opens its submenu either way.
- The footer's default text size is Small instead of Tiny. Sites that chose a footer Text Size keep it.
- Pages using Adobe Fonts (Typekit) or Google Fonts connect to the font server earlier, and the font stylesheet no longer competes with the main image.
- Images added to an Image block by URL or by pasting now get responsive sizes and lazy loading like other images, so pages with them load much less.
- Sites with a dark (reverse) header no longer download the colour logo, which can't appear on them.
Added
- Keyboard users see a soft focus outline in the site's Primary colour (their text colour on dark areas), plus a "Skip to Content" link on the first Tab, phones included. Mouse and touch users see no change.
- The built-in carousel can show a subtle pause button (bottom right, on hover or keyboard focus). Dirigible Blocks turns it on for autoplaying sliders in its next release.
Fixed
- The mobile menu works with a keyboard: focus moves into it, Tab stays inside, Escape closes it and returns to the menu button, and its hidden links are no longer tab stops when it's closed.
- The header search button, the image lightbox (labelled Previous, Next and Close buttons; Escape closes it), the centred popup, the People, Locations and Portfolio filter tags, and Manifest document toggles work with a keyboard and screen readers.
- For visitors who prefer reduced motion, background videos stay paused on their poster image.
- The 404 page's skip-link target, a heading on search results, breadcrumbs as a labelled navigation landmark, and the cookie banner as a labelled region early on the page.
- Resizing the window a lot no longer moves a looping slider to a different slide.
5.31.63 2026-09-30
Security
- Dirigible theme and plugin updates now download only over a secure connection from the Dirigible update server. A download from anywhere else is stopped before anything is fetched, and the Updates screen (or ManageWP, or the automatic-update email) says "Download blocked". Theme Setup's plugin installs are checked the same way. Zips you upload yourself, through WordPress or ManageWP, are never blocked.
- Pages tell browsers not to guess file types, and live HTTPS sites ask browsers to keep using HTTPS.
Changed
- The built-in carousel's autoplay at short intervals (the Logo Carousel and Slider) moves smoothly instead of stopping and starting every step. Scrolling or clicking a carousel no longer stops autoplay; using the arrows, the dots or a swipe restarts the countdown instead.
- The carousel can now show the Slider block sliding in the editor (Dirigible Blocks uses this from its next release).
- Pages load a little faster: Link in Bio images and the site logos are fetched together, not one at a time.
- The Featured Image focal point preview no longer re-downloads the image each time the sidebar panel reopens.
5.31.62 2026-09-30
Changed
- Lighter admin and page loads: capability checks, the first-block image scan, update-check state and SVG size lookups do less work per request (Customizer about 16% faster, the editor about 12%, and the dashboard runs 17 fewer database queries).
Fixed
- Search results no longer show the text of password-protected posts to logged-in users.
- The built-in carousel's autoplay no longer stops when a visitor scrolls the page with a trackpad over it, and slide backgrounds no longer cover its arrows and dots. Dirigible Blocks only switches its sliders to this carousel from this theme version.
5.31.61 2026-09-30
Added
- A built-in scroll-snap carousel that the Slider, Hero Slider and Logo Carousel blocks will use from the next Dirigible Blocks release. It's lighter than Flickity, keeps hidden slides out of the keyboard tab order, labels each carousel for screen readers, and doesn't autoplay for visitors who prefer reduced motion. Nothing changes on the site until Blocks uses it.
Changed
- The editor stays fast on long pages with Events, People or Instagram Feed blocks: their previews no longer pile up in memory each time you change a setting. The live site is unchanged.
5.31.60 2026-09-30
Changed
- Bulk block upgrade prompts come back automatically once the site runs Dirigible Blocks 4.10.106 or newer; sites on older Blocks keep them paused.
Fixed
- Update blocks no longer stops when the site re-encodes a page's block settings while saving (ACF blocks, number formatting). It only stops when settings are actually dropped; otherwise it lists a changed page for review and carries on.
- Update blocks no longer turns a Blog Post Header into a plain title when that would drop its background image, custom headline or alignment; those pages are listed for a manual rebuild instead. Only inline titles with no image and no custom text are converted.
5.31.59 2026-09-30
Changed
- Bulk block upgrade prompts are paused while a Dirigible Blocks fix rolls out: the Welcome "block updates available" card, the once-per-login "pages need manual block fixes" notice and the one-click run link are off. Tools & Maintenance → Update blocks still runs by hand, with a note saying why.
- Update blocks only saves a page when every block upgrade on it keeps the block's text, images and links. A page with an upgrade that would drop any of them is skipped and listed under "pages need manual block fixes". If the site rewrites a page while the tool saves it, the run stops there and the page stays unmarked.
- The tracking loader printed in the page head is now a built, minified script (5.3 KB instead of 7.5 KB) on sites with tracking IDs. Tracking behaviour, consent handling and the ?ds_tracking_debug=1 console output are unchanged.
Fixed
- Post, search and related-post cards load an image sized for the card instead of a full-width file. On listing pages the first card, which browsers load first, gets a file a few times smaller, and Safari users get smaller files for every card.
5.31.58 2026-09-30
Security
- Managers can no longer make themselves or anyone else an Administrator. All Settings (options.php) is Administrator-only, New User Default Role only accepts roles the person saving can assign, and a default role set above that falls back to Subscriber. A Manager's changes also can't switch on a plugin, switch the theme, or give any role something the Manager can't do.
- WP All Import is Administrator-only on single sites, because it runs custom PHP.
- Sign-ups never get a role that can change settings, manage users or add raw HTML or code (Administrator, Manager, Editor); they get Subscriber instead.
- "Lost your password?" no longer hints whether an account exists when a CAPTCHA or rate limit rejects the request, on the WordPress login screen and WooCommerce My Account.
Changed
- The Dashboard's "huge SEO issue" warning has a one-click "Let search engines index this site" button for Managers and Administrators, replacing the link to All Settings.
- Pages no longer print WordPress's five built-in shadow styles (Natural, Deep, Sharp, Outlined, Crisp) in the page head. They were already hidden from the editor.
Fixed
- Update routines that are new in a release now always run: each theme update runs them a second time 15 minutes later, in case the first run happened while the server was still switching to the new files.
- Blog post lists show their "no posts" message again.
- Card links close their label correctly.
5.31.57 2026-09-30
Fixed
- Accounts with a non-Latin display name (Japanese, Cyrillic, emoji and so on) could no longer save their profile, or check out on WooCommerce while logged in, after 5.31.56 gave them an author page address WordPress couldn't keep. Those addresses are repaired automatically after the update, and old links redirect.
- Logged-out visitors could still list users through the site's API by changing the letter case of the address.
- The login screen still hinted whether a username existed; unknown and known usernames now look identical.
5.31.56 2026-09-30
Security
- Logged-out visitors can no longer list users through the site's API, find author addresses with ?author=, or see an authors sitemap. Login and lost-password messages no longer reveal whether an account exists (WordPress login and WooCommerce My Account). Author pages still work.
- Upgrade notice: author page addresses no longer contain usernames. They use the author's display name (/author/jane-smith/), or author-<number> when the display name is the username or an email. Old addresses redirect, and the change runs in the background shortly after the update. Usernames, emails and display names don't change.
- Updates come only from Dirigible: WordPress no longer matches the theme to a WordPress.org listing with the same name.
Added
- A quiet "Check for updates" link on the Dashboard Welcome card (administrators only) that checks the theme and every Dirigible plugin at once, plus
ds_check_dirigible_updates_now()for checking many sites from ManageWP Code Snippets or WP-CLI. It installs nothing. - A reminder for anyone whose public display name is still their username, linking to their profile.
- An
icon-chevron-rightmask icon class (used by Dirigible Blocks' Landing Page Link), visible in browser auto-dark modes.
Changed
- WordPress automatic updates now see and install Dirigible theme and plugin releases. Update checks run in the background twice a day instead of on admin page loads, so the Plugins screen no longer pauses for several seconds, and ManageWP syncs are fast again while still seeing new releases within an hour.
- Dirigible products with no license key are not checked or offered updates; with a key, the licensing server decides, as before.
- Pages that need manual block fixes are now an administrator notice once per login, linking to the list in Tools & Maintenance, instead of a line on the Welcome screen. Managers and clients don't see it.
- Groundwork for two-step login is included but switched off; nothing changes on sites until it's enabled in a later release.
Fixed
- The theme itself can now be updated by WordPress's automatic updates (its update entry named the wrong folder).
- The ~20 per-product update-check jobs on each site are replaced by WordPress's own twice-daily update run and removed automatically.
- Find & replace no longer changes
http://www.w3.org/…namespace addresses inside inline SVG during an http→https replace, which made blocks with inline icons show as invalid. - On phone-width screens, Welcome panel links now sit under their heading instead of overlapping it.
- On sites using the Two Factor plugin, the "Having problems?" links on the login code screen sit below the form.
5.31.55 2026-09-30
Fixed
- Icons no longer disappear or turn dark in Samsung Internet's dark mode and Chrome's Auto Dark Mode: header and footer social icons, search and login icons, menu and drawer carets, form select arrows, list bullet icons, wavy and zigzag separators, the footer "by Dirigible" mark, share buttons, pinned-post badges, and Dirigible Blocks icon-list, grid and counter icons now recolor with the text beside them. Normal browsers look the same.
- Theme update tasks (style refresh, one-time data upgrades) run on the first visit after an update instead of waiting for someone to open wp-admin. The "SVG Support was deactivated" notice now shows on the next admin visit within a week.
5.31.54 2026-09-30
Changed
- The theme download is about 200 KB smaller: unused admin fonts and a few never-used files are gone, and the theme screenshot is now WebP (new child themes from the setup wizard get it too).
5.31.53 2026-09-30
Changed
- The dashboard's Changelog panel shows the theme changelog from Dirigible Support: full history, always current, with this site's release marked. If it can't load, the panel links to the changelog instead.
- The theme no longer ships readme.html.
5.31.52 2026-09-30
Security
- Error replies to REST and ajax requests never include server file paths or error details, whatever the site's WP_DEBUG_DISPLAY setting (WordPress includes them by default).
Changed
- A plugin error that happens while that plugin is being updated shows "This site is updating, please refresh in a minute" (HTTP 503) instead of the critical-error page, as the theme already does for itself.
- The Tools & Maintenance accessibility audit loads its checker (axe-core 4.12.0) from jsDelivr when you run it instead of shipping it in the theme. If your network blocks jsDelivr, the audit says so and stops.
- The Welcome page's changelog shows the 50 most recent releases (link renamed "Recent releases"), and the theme zip is smaller again (unused files removed).
Fixed
- The Tools & Maintenance accessibility audit works again in current Chrome; since 5.28.54 it had been failing to read pages (or reporting no issues).
5.31.51 2026-09-30
Security
- Managers no longer see the Tools & Maintenance tools that make sitewide or permanent changes: Find & replace, Delete unused image sizes, Missing media files, Purge revisions, Optimize database tables, Autoloaded options, Orphaned metadata cleanup, Spam & trashed comment purge, and deleting entries in Forms cleanup. Administrators see everything.
- "Block updates available" shows the Run button only to administrators; Editors see a note to ask one and can still dismiss it.
Changed
- If a visitor loads a page while the theme is mid-update, they get a short "This site is updating, please refresh in a minute" page (HTTP 503) instead of WordPress's critical-error page, so browsers and the edge retry instead of holding onto the error.
- The installable theme zip leaves out Sass/JS sources, release scripts, translation sources and Markdown files: 924 files instead of 1,459, about a quarter smaller, so bulk updates finish copying sooner.
- The site report says why the update server last refused each Dirigible product, so a site stuck on an old version shows the reason.
- Tools & Maintenance loads its script with a content-based version, so updates show up without a hard refresh.
- Starting templates docs: only Editors and up can set a page's starting template (with Dirigible Blocks 4.10.102).
Fixed
- The background "Generate missing image sizes" job uses a fraction of the database queries it did.
- Audit broken links no longer hangs on pages that link to slow or unresponsive sites; long checks continue in the next request.
5.31.50 2026-09-29
Fixed
- Mobile drawer menus with a dark background and Reverse Print on show white links again. Since 5.30.83 the drawer Link Color defaulted to the Text color, which left the links unreadable. A Link Color other than Text still applies.
5.31.49 2026-09-29
Fixed
- Unused image sizes no longer deletes files that are still in use. It now keeps Site Icon sizes (favicons and app icons), SVG originals and any file shared with a size that's still registered, and files whose URL appears in content, custom fields or settings. The scan lists what it keeps and why. Before this, running the tool could delete a site's favicon sizes or the original file of an SVG.
5.31.48 2026-09-29
Security
- Staff accounts (anyone who can edit content, plus Managers and Shop Managers) must choose a strong password whenever they set a new one: at least 12 characters, not a common password, and not based on their name, email or the site name. This applies on the profile, Add User, password-reset and WooCommerce account pages. Existing passwords keep working; customers and subscribers are unaffected.
- The Maintenance deep link can only auto-run Update blocks, and only from a link the theme created. Destructive maintenance actions are confirmed on the server as well as in the page.
- Forms cleanup only deletes orphaned files from the chosen form's own upload folder.
- The duplicate-upload notice no longer names media the uploader can't see.
- The Site Health summary only sends admin cookies to the site itself.
- Theme Setup's live-site colour fetch re-checks redirects, and the page generator only loads page templates.
Fixed
- Apostrophes in addresses (footer, People, Locations) show as curly quotes again inside page content.
- A background job (integrity scan, block usage, restoring block settings) that crashes on one post or folder now skips it after 3 tries instead of retrying forever.
- Saving the Customizer no longer fails on sites without ACF.
- The Bookings admin pages no longer fail when a booked product was deleted.
5.31.47 2026-09-29
Security
- Managers can no longer create Administrators or edit, promote or delete Administrator accounts. They still manage all other roles.
- Authors and Contributors can no longer save raw iframe, style or link tags, or edit protected custom fields directly through the Custom Fields panel. Existing content and what visitors see are unchanged.
- Block class names and anchors can't contain quote or angle-bracket characters.
- Structured data (JSON-LD) output escapes HTML tags.
Added
- Builder docs: User Roles and Security (Site Care) explains what each role can do.
5.31.46 2026-09-29
Fixed
- The mobile menu (hamburger) and drawer close icons no longer turn dark and disappear when visitors use Samsung Internet's or Chrome for Android's automatic dark mode. They're now drawn as inline SVG in the same colours as before.
5.31.45 2026-09-29
Added
- The studio's signed site report includes a file and administrator inventory (health.integrity) so studio tooling can spot plugins and code hidden from wp-admin, PHP files in uploads, and plugins changed without an update. It runs in the background; nothing on the site is changed.
5.31.44 2026-09-29
Security
- Instagram: the Social Relay can now confirm that a connect really started on this site, so no one can connect Instagram under this site's address.
- Instagram: only administrators can complete an Instagram connection; other logged-in users are refused.
5.31.43 2026-09-29
Fixed
- Actions on the Dirigible → Tools page show an error instead of nothing when they fail, for example after the page has been open too long ("This page has expired. Reload it and try again.").
5.31.42 2026-09-29
Changed
- jQuery Safe Defer now also defers jQuery on pages with a Gravity Form. Gravity Forms already deferred its own scripts, but WordPress couldn't see that, so jQuery stayed render-blocking (150–300 ms in Lighthouse). jQuery still loads normally when another plugin needs it right away, and on sites running GP Easy Passthrough, whose add-on runs jQuery code the moment the page loads.
Fixed
- When a Background, Hero or slider opens the page, its background photo now loads first (
fetchpriority="high") instead of a logo or image placed inside it, so the page's main image appears sooner.
5.31.41 2026-09-29
Changed
- Update blocks records pages it skips because their blocks can't be saved reliably (Gravity Forms and other API v2 blocks) separately: they're still skipped on later runs, but no longer counted as updated.
Added
- The studio's signed site report shows, per Dirigible block, how many posts Update blocks has re-saved and at which upgrade version, so old block deprecations can be retired safely. After updating, each site re-runs its block usage scan once in the background.
5.31.40 2026-09-29
Changed
- The studio's signed site report now includes the block-settings repair status and the Update blocks manual-fix count, so fleet tooling can confirm repairs without opening each site. No builder-visible change.
5.31.39 2026-09-28
Changed
- The Dirigible → Flags page loads faster on sites with many videos: the video cover check loads videos and their covers in batches instead of several queries per video.
5.31.38 2026-09-28
Fixed
- With the GDPR banner on, cached pages no longer carry one visitor's consent choice to everyone else. Consent is checked in each visitor's browser, so visitors who accepted get their UTM parameters captured in Gravity Forms even on cached pages, and visitors who haven't never do.
Changed
- With the GDPR banner on, the no-JavaScript Tag Manager and Facebook Pixel fallbacks are no longer printed, since a visitor without JavaScript can't accept the banner.
- WooCommerce Enhanced Ecommerce product-view and Ajax add-to-cart events are queued on every page and sent once the visitor has accepted. Purchase tracking is unchanged.
5.31.37 2026-09-28
Added
- When Update blocks has left pages that need manual block fixes, the dashboard shows a small line with the count just above the changelog, linking to the tool. Nothing shows when there are none. Admins only.
5.31.36 2026-09-28
Added
- Update blocks (Tools & Maintenance) remembers each page it finished and skips it next run, so a stopped run picks up where it left off. Edited pages, and every page after a Dirigible Blocks markup update, are checked again; tick Re-check all pages to check everything.
- Pages that Update blocks skipped because of invalid blocks stay listed on its card with edit links, and Re-run skipped works from that list after a reload. Dirigible → Flags shows the count.
- A signed, read-only site report endpoint for the studio's fleet tooling. No builder-visible change; turn it off with
DS_SITE_REPORT_DISABLEDinwp-config.php.
Changed
- Block Usage on Dirigible → Flags refreshes weekly in the background and records posts per block and block style counts.
5.31.35 2026-09-28
Changed
- The theme no longer bundles its six stock photos, so the download is about 1.4 MB smaller. Sites download them once into
uploads/dirigible/stock/the first time the block editor opens, and Theme Setup downloads them itself. Pages that still show a default placeholder background now show a flat colour of the same size instead of the photo — pick a real image for any block still using the placeholder. - The dashboard Welcome → Fonts panel reads font details through Dirigible Fonts, so it keeps working once the fonts plugin reads its catalog from the font host.
5.31.34 2026-09-28
Changed
- Theme Setup reuses the theme's default background photos instead of shipping a second identical copy, cutting the theme download by about 1.4 MB. Theme Setup uploads the same photos with the same names as before.
5.31.33 2026-09-28
Changed
- Images further down a page load lazily and at the size they're shown, instead of downloading a full-screen-width file up front (Lighthouse flagged 150–280 KB of oversized images on client homepages). Whatever opens the page — a hero, a background, a Media Callout, an image pair or a gallery — still loads right away, and if the first block has no large image, the next image loads right away too.
5.31.32 2026-09-28
Fixed
- Blocks with the fade-in, pop-in or slide-down animation classes no longer collapse for a moment as the page loads, which made the content below them jump (for example, a logo image with fade-in above a page's heading). The animations look the same, and popups still fade in when opened.
5.31.31 2026-09-28
Changed
- The main stylesheet is about 1.9 KB smaller (gzipped). Styles that are rarely on the first screen — grids, galleries, comments, tables, sticky columns, text and icon size utilities, separator lines and animation, and slider button and dot styling — load with the secondary stylesheet again. Separators and sliders keep their size and layout in the main stylesheet, so pages still don't jump when they load.
Removed
- The unused Flex Grid layout styles (
flex-grid), which no Dirigible markup uses.
5.31.30 2026-09-28
Changed
- Every theme stylesheet — wp-admin, the login screen, the admin bar, the block editor, Dirigible dashboard and Tools pages, maintenance tools, the setup wizard and the Bookings admin pages — is now versioned by its contents instead of the theme version, so logged-in users only re-download a stylesheet when it actually changes.
- The block editor loads the front-end stylesheets at the same address as the front end, so editors no longer cache a second copy after each release.
5.31.29 2026-09-28
Fixed
- Plain links and text in Reverse Print sections now turn white instead of keeping the page's dark text color, so they stay legible on dark backgrounds. This covers links outside paragraphs and lists, such as links in Custom HTML and plugin blocks. Text inside cards and groups set to Dark Text in those sections stays dark. Color settings, buttons and headings keep their own colors.
5.31.28 2026-09-28
Changed
- Theme stylesheets and scripts are now versioned by their contents, so visitors only re-download them when they actually change instead of after every theme update. The first page view after a theme update is faster on sites whose CSS didn't change in that release.
Fixed
- Theme changes to the Events Calendar and Gravity Forms styles now reach visitors right away. Before, those files kept a fixed or Gravity Forms version number, so browsers could keep an old copy for up to a year.
5.31.27 2026-09-28
Fixed
- Links inside grid cards set to Dark Text now stay dark when the grid sits in a Reverse Print section. Before, paragraph links turned white on the light card, and their hover and underline colors were white too.
5.31.26 2026-09-28
Added
- Restore block settings from revisions (Dirigible → Tools & Maintenance) repairs pages where a save between theme 5.28.60 and 5.31.22 wiped every block's settings (image choices, colors, layout, hero options) while the text stayed — often shown as "This block contains unexpected or invalid content." It copies the settings back from the newest revision or autosave with identical content. Preview first, then apply; each repaired post gets a revision you can revert.
- The repair runs once in the background after this update, a few posts at a time, and applies only the matches it is sure of — including synced patterns, ACF blocks and other dynamic blocks when the rest of the page was repaired from the same revision. Nothing to run after updating. Progress and any posts left for review show on the tool card and under Dirigible → Flags.
Changed
- Run Restore block settings from revisions before Update blocks or Purge revisions: it needs the revisions and autosaves those tools remove. Until sites are repaired, opening a post in the editor no longer deletes autosaves from the affected period.
- With Attempt to recover invalid blocks on, Update blocks only rebuilds a Dirigible block when every word, image and link in it survives. Otherwise the block is left alone and the page is skipped for review.
- Hero gradient overlays, Fixed Background images, right-aligned text, button-styled header menu items, Page Blocks cells, People grids and aspect-ratio frames no longer shift when the secondary stylesheet finishes loading. The main stylesheet grows by under 0.3 KB gzipped.
Fixed
- Removing empty trailing paragraphs on save now cuts only those paragraphs and leaves every other block in the post exactly as saved. Paragraphs that hold only an inline image or icon are no longer removed.
5.31.25 2026-09-28
Changed
- The main stylesheet now includes every style that sizes or positions content (sliders, separators, spacing, icon and text sizes, sticky columns, the seamless header's menu), so pages no longer jump when the secondary stylesheet finishes loading. This fixes layout shift that 5.31.22–5.31.24 could cause on hero sliders, separators and grid-card gaps. The main stylesheet grows by about 2.6 KB gzipped; the secondary one shrinks by about 2.4 KB.
Added
npm run check:critical-css(also a CI job) fails if the deferred stylesheet sets a layout value again.
5.31.24 2026-09-28
Fixed
- SVGs uploaded before 5.27.68 (or while the old SVG Support plugin was active) no longer render as 1×1 images. Each one picks up its real width and height the first time it's shown, so it holds the right space while the page loads and shows its true shape in the editor and media library. There's nothing to run after updating.
- SVG sizes now return correct image URLs to code that asks WordPress for a specific size, and SVG uploads keep their file size in the media library.
5.31.23 2026-09-28
Fixed
- Saving a page that contains an empty paragraph no longer wipes the settings of every block on the page (image choices, heading levels, styles and so on), and special characters like "&" in block settings no longer turn into "u0026" and trigger block validation errors. This had been happening since 5.28.73.
- Links inside Reverse Print sections turn white again instead of staying dark on dark backgrounds: grid card Tab, Minimal and Bold link styles, and other
rs-linklinks across Dirigible blocks and plugins. Regression from 5.30.85.
5.31.22 2026-09-28
Changed
- The deferred stylesheet and the scroll-animation styles now download at low priority, so on slow connections they no longer compete with the main stylesheet, fonts, and hero image. In Lighthouse mobile tests, the first content appeared about 150 ms sooner.
Fixed
- Single posts no longer jump down 16 px when the deferred stylesheet finishes loading. The post's top padding now lives in the main stylesheet.
5.31.21 2026-09-28
Fixed
- Update checks for unlicensed or invalid Dirigible products no longer raise the "plugin metadata file does not contain the required 'name' and/or 'version' keys" notice on Dashboard → Updates. The licensing server's license errors are now caught before the update checker tries to read them as update info, for the theme and every Dirigible plugin.
Changed
- Dirigible → Licenses shows the licensing server's message on a product's card when its key is rejected during an update check (for example an invalid or expired key), so site owners can see why updates stopped. The message clears once a check succeeds or the license is re-activated or removed.
5.31.20 2026-09-28
Changed
- The block editor loads the theme's front-end stylesheets as cached files inside the editor canvas, instead of inlining about 190 KB of CSS into every editor page. Requires WordPress 7.1 or later; earlier versions keep the previous behavior.
- wp-admin screens load the theme's maintenance and video-cover flags in the same query as other settings. Plugins can add theirs with the new
ds_prime_optionsfilter. - Update-check cron jobs left behind by deactivated or deleted plugins are removed automatically, checked at most once a day from wp-admin.
5.31.19 2026-09-28
Added
- Trim Blank Edges on JPEG, PNG, WebP, and AVIF images (Media Library, Select Media, and the attachment edit screen): crops transparent or near-white margins after you preview the result, and Restore original brings back the untrimmed file. Nothing runs on upload.
Changed
- Header logos no longer claim the page's one
fetchpriority="high"slot, so the hero or featured image, usually the page's largest paint, loads first. - Changing a permalink slug in the Customizer (Events, People, Cards, Portfolio, and other Dirigible plugins) now refreshes permalinks once on the next page load, so new URLs work without re-saving Settings → Permalinks.
- Images in a post load their attachment details in one database query before blocks render, instead of one query per image, on pages served without the edge cache.
- Plugin settings groups and the small theme options read on every page now load in one query instead of about 19.
- Instagram feed sync schedules are re-checked at most every 12 hours instead of on every page load.
- The analytics loader no longer writes to the browser console. Add
?ds_tracking_debug=1to a page address to see the consent check and script loading. - Cards settings no longer include Category Slug: card categories have no pages of their own.
- The installable theme zip now unpacks to
dirigible/, the installed theme folder, and leaves out development files.
5.31.18 2026-09-23
Fixed
- Theme Setup OpenRouter step now points to Dirigible → AI / OpenRouter, not Tools →.
- Dashboard → Magic Classes: large-screen example uses
lg:mt-0; shadows areshadow-1–shadow-3;hiddenvshidewhen pairing withlg:block.
Changed
- Magic Classes feature docs use Dashboard → Magic Classes (the page is under Dashboard, not Dirigible).
5.31.17 2026-09-23
Changed
- Video cover backfill toast now shows how many covers are left (for example, “Generating video covers… 12 left”).
5.31.16 2026-09-23
Changed
- Feature gallery screenshots now show real site pages (Gravity Forms, WooCommerce, structured data, Tools & Maintenance, and the themed block editor canvas) instead of leftover Customizer crops.
Added
- The GitHub Release zip is built with
git archiveso builderdocs/(screenshot assets) are not shipped to sites. Use that attached zip; GitHub’s automatic Source code (zip) still includesdocs/.
5.31.15 2026-09-23
Fixed
- Dashboard → Documentation embed handshake: WordPress
wp_localize_scriptstringifiesprotocolVersionas"1", while JavaScript used a strict!== 1check, so parent context never applied and admin links stayed on the spinner. Version checks now accept string or number so inline admin links and Open chips resolve.
5.31.14 2026-09-23
Fixed
- Dashboard → Documentation embed handshake: the parent theme now resends
ds-docs-contexton everyds-docs-readymessage from Support, so inline admin links and Open chips stop spinning when the iframe loads before the child is listening.
5.31.13 2026-09-23
Added
- Builder docs: admin: inline links across theme Customizer, Usage, and Features pages (~109 links) so embedded Documentation can jump to the matching screen on the current site.
Changed
- Dashboard → Documentation iframe shows as soon as the Support docs frame loads (no longer waits for the handshake). Local dev defaults to Support on
http://localhost:10043. - Regenerated
ds-admin-docs-embed-min.jsfor the load/show-frame behavior.
5.31.12 2026-09-23
Added
- Dashboard → Documentation is now an in-admin iframe of Dirigible Support docs (
?embed=1) instead of an external link. Editors withedit_postscan browse docs beside their work. - Site-scoped admin shortcuts: Support docs with
adminDestinationmetadata show an Open button that launches this site’s Customizer or admin screen in a new tab after a secure handshake (no credentials sent to Support). - Builder docs: In-Admin Documentation feature page; Getting Started and overview link to the new screen.
Changed
- Documentation iframe falls back to an external Support link after a 20-second handshake timeout when Support is unreachable.
5.31.11 2026-09-22
Added
- Builder docs: Gravity Forms feature page covering theme-styled fields and buttons, submission limits, pop-up and footer newsletter forms, campaign parameters, and Forms maintenance tools. Building the form, notifications, and entries stay in Gravity Forms.
- Overview “Popular paths” link to the Gravity Forms feature doc.
5.31.10 2026-09-22
Added
- Builder docs: WooCommerce feature page covering theme-styled shop, product, cart, checkout, and account pages, including block cart and block checkout.
- Overview “Popular paths” link to the WooCommerce feature doc.
5.31.08 2026-09-22
Changed
- OpenRouter settings: Save Settings is a page-level primary button on the right, beside the quiet Remove Saved Key link, instead of sitting inside the Tone Tags card.
- Welcome changelog: the readme iframe uses compact monospace type, and the standalone changelog page is a 42rem column. The iframe cache key includes the readme file time so style updates show up.
5.31.07 2026-09-21
Changed
- Recapture Customizer control screenshots and Theme feature shots at 2× (retina), including Tools & Maintenance, Import/Export, Magic Classes, and the block editor canvas feature card.
- Import/Export feature screenshot caption now mentions Import sample data alongside Styles and Settings.
5.31.06 2026-09-21
Changed
- Flags: Tools-shell jump nav and cards for migration groups and Block Usage, with quiet reset/recount actions.
- OpenRouter settings: jump-nav cards for API key, site description, live URL, and tone tags with quiet Save / Remove actions.
- Theme Tools cards (Reset GDPR, Reset Popup, Gravity Forms spam protection): panel markup, stable ids, and quiet action links.
- Admin tools SCSS/CSS: tighter card spacing, full-width fields in tool cards, Flags table styles, and LLMs.txt / quiet-action layout shared with companion plugins.
5.31.05 2026-09-21
Added
- Magic Classes:
sm:hidehides an element below 640px, andmd:hidehides it below 768px. Both are listed under Mobile on Dirigible → Magic Classes.
5.31.04 2026-09-21
Added
- Import sample data on Dirigible → Import/Export: plugins register fixtures via
ds_sample_data_sources; builders can import demo content when WordPress Importer is available. - Builder docs for Import sample data on the Import and Export Theme Settings feature page.
Changed
- Import/Export (and Theme Tools) admin shell: jump-nav columns, per-tool cards, and quiet actions so sample-data sources list cleanly with the existing export/import tools.
- Retina / refreshed Theme feature screenshots (focal points, video cover, media library, flexible headers, and related feature cards).
5.31.03 2026-09-21
Fixed
- Floating masthead with Reverse Print on a seamless hero page now uses reverse link colors, hover, and the reverse logo before scroll. The seamless pre-scroll normal-print override no longer applies when
has-floating-mastheadis on the body.
5.31.02 2026-09-21
Changed
- Fonts handshake: Palette and Typography, Styles → Fonts, Embed Fonts, and General docs now link to the Dirigible Fonts collection for catalog and activation instead of duplicating that workflow.
5.31.01 2026-09-20
Changed
- Customizer docs: completed option gloss copy and refreshed signatures for nine controls (header layout/submenu/transparent masthead, pop-up position and headline styles, lightbox theme, site width).
- Embed Fonts docs: fixed Generic Font Embed gloss typo and added Optimized Font URL builder copy.
5.31.00 2026-09-20
Added
- Builder-facing documentation source under
docs/: overview, 12 feature guides, 9 usage workflows, and Customizer reference for 48 panels (glosses, screenshots, and entity copy for the Dirigible Support site). AGENTS.mdguidance to keep theme docs in sync when shipping builder-visible Customizer or feature changes.
Changed
- Dashboard Documentation submenu links to the published Dirigible Theme collection on the support site.
docs/**is excluded from the distributable theme zip via.gitattributes.
5.30.104 2026-09-18
Changed
- Frontend admin bar hide control: Escape now toggles the toolbar (hide and restore), and a small Esc hint appears beside the eye icon.
5.30.103 2026-09-18
Fixed
- Block editor:
.text-*-emsize classes no longer setfont-sizeon the wrapper in addition to--paragraph-size, so large quote text (and other blocks using em scale classes) matches the front end instead of compounding in the editor.
5.30.102 2026-09-18
Changed
- Tools & Maintenance → Update blocks: legacy Photo & Text (
ds/photo-and-text) blocks convert to Columns (ds/columns) during the parse/serialize pass, matching the editor-side legacy mapper shipped in Dirigible Blocks 4.10.72.
5.30.101 2026-09-18
Fixed
- Video covers: parallel wp-admin backfill no longer creates duplicate
-cover-1.jpgattachments. Per-video REST locks, ownership meta (_ds_video_cover_for), and owned-extra cleanup keep one generated still per video. - Video cover backfill now reaches a terminal
completedstate: bounded browser-capture failures persist inds_video_covers_backfill_failures, terminally skipped videos no longer block the queue, and Flags shows remaining/skipped counts. - One-time legacy duplicate cleanup (
ds_video_covers_dedupe_v1) conservatively removes exact race-created siblings (title, filename family, dimensions, and file hash must all match). Flags shows cleanup progress and how many exact duplicates were removed.
Changed
- Backfill uses Web Locks as a best-effort single-tab guard;
ds_video_cover_busyresponses retry without counting as failures.
5.30.100 2026-09-18
Fixed
- Core block validation for sparse-comment
core/columnsandcore/columnblocks: wrapper margin/padding that lived in saved HTML but was missing from comment JSON now validates viads-core-block-compatdeprecations that replay class+style and migratestyle.spacing(plus column background color andalignwide) back into the block comment.
5.30.99 2026-09-18
Fixed
- Core block validation for sparse-comment
core/accordion-headingblocks: toggle padding that lived in saved HTML but was missing from comment JSON now validates via ads-core-block-compatdeprecation that replays the buttonstyleand migratesstyle.spacing.paddingback into the block comment.
5.30.98 2026-09-18
Fixed
- Core block validation for sparse-comment
core/embedblocks (YouTube and other providers): empty block comments with the URL still in saved HTML now validate via ads-core-block-compatdeprecation that replays the figure and migratesurl,type,providerNameSlug, responsive/aspect classes, and alignment back into comment JSON.
5.30.97 2026-09-17
Added
- Video covers: first-frame JPEG stills for video attachments, captured in the browser (no server-side ffmpeg). Each still is saved as a normal Media Library image and set as the video’s featured image.
- Auto-generate on upload: new videos in the block editor or media modal get a cover automatically after upload.
- One-time backfill: existing videos without a cover are processed once on theme update while wp-admin is open. Flags shows
ds_video_covers_backfill(pending→completed); a working admin toast appears until the queue drains. - Manual control: attachment details include Generate Cover / Regenerate Cover for a single video.
- Block integration: with Dirigible Blocks, Section / Hero / Grid background videos use the generated cover as poster and mobile fallback (no separate poster picker).
Fixed
- Core block validation after sparse-comment damage from older Update Blocks runs: heading, image, column, button, gallery, and spacer blocks regain comment JSON from saved HTML via dedicated
ds-core-block-compateditor deprecations. - Separator controls are scoped to
core/separatoragain; core compat lives in its own editor bundle.
Changed
- Tools & Maintenance → Update blocks no longer saves a post when unresolved invalid core or third-party blocks remain, even with Dirigible block recovery enabled. Prevents re-corrupting partially migrated core markup.
5.30.96 2026-09-17
Fixed
- Masthead logo-variant show/hide rules (
.is-color-logo,.is-reverse-logo,.is-scroll-logo) are scoped to.site-logoso they no longer hide Logo Carousel or Logos block cells that reused the same class names.
5.30.93 2026-09-17
Added
- Frontend admin bar: a hide-toolbar icon next to Howdy collapses the bar and top offset for clean screenshots. Press Escape or refresh to bring it back.
Fixed
- Mobile drawer menu links now use Header & Menus → Mobile Link Color and Link Hover Color. The drawer sits outside
<header>, so labels previously inherited body text and stayed dark on a dark drawer.
5.30.92 2026-09-17
Added
- Theme Setup Colors step: each palette swatch now has a click-to-edit hex field (
#RRGGBB) between the lock and the native color circle. Type a six-digit hex instead of the browser picker; the swatch and preview strip update only after all six digits are entered, and incomplete edits revert on blur or Escape.
Changed
- Hex entry keeps the same inline look while focused—no separate edit box—so clicking the value feels like typing directly into the label.
5.30.91 2026-09-15
Fixed
- Footer logo SVGs with bad attachment metadata (e.g.
width="1024" height="1") no longer collapse to a 1px line. Display size comes from Logo Width CSS; the same strip already used for header logos now applies to all setting images.
5.30.89 2026-09-15
Added
- Global wp-admin toast stack on every admin screen: providers contribute descriptors through
ds_admin_toasts, RESTGET /dirigible/v1/admin-toasts, and deferredds-admin-toasts-min.jswith cross-tab refresh.
5.30.88 2026-09-14
Fixed
- Theme Setup Generate Content: Next shows a Generating… spinner and ignores extra clicks so the same pages are not created twice. Back and step dots stay locked until generation finishes.
5.30.86 2026-09-14
Fixed
- Header logos keep Logo Size after scroll when Change Size on Scroll is off (
--logo-height-scrollfalls back to the main height). Attachmentwidth/heightno longer force SVGs into a square box; CSSheightuses the file’s intrinsic ratio. The logo that appears after scroll is no longerloading="lazy".
5.30.85 2026-09-14
Fixed
- Inline link styling (Customizer Styles → Inline Links) no longer applies globally to every anchor via
theme.json. Prose links in paragraphs, lists, tables, definitions, and captions get the Customizer tokens; other anchors inherit surrounding color instead of browser default blue. Existingrs-link/rs-linksopt-out classes are unchanged. - Pagination
.page-numbersusecolor: var(--text)so they pick up reverse-print (and other token remaps) instead of inheriting the body’s computed color.
5.30.84 2026-09-14
Fixed
- Seamless overlay on a reverse-print masthead: menu hover now uses Link Hover Color while the overlay forces normal print (before scroll). After scroll, reverse hover returns with the sticky masthead background.
5.30.83 2026-09-14
Fixed
- Utility Nav banner text: plain text (no block HTML) is wrapped in a paragraph at render time so reverse-print
--textstyling applies on dark backgrounds. Existing headings, links, and other block markup are left unchanged.
5.30.82 2026-09-14
Added
- Header & Menus → Utility Nav: Link Color + Opacity and Link Hover Color + Opacity (
ds_utility_nav_color*), following the drawer pattern. Defaults (white / white at 0.75 hover) match existing reverse-print utility links so sites without stored values do not change. Reverse Print still controls banner, socials, and icon treatment.
5.30.81 2026-09-14
Changed
- Customizer
optionGroup/isGroupToggleon additional schema candidates: Header button, accent border, and logo size/scroll groups; Footer logo + width; Pop-up Settings Enable group; Blog post styles, return link, social sharing, archive image/link; Scripts ecommerce debug. Removed hardcodedpostStylesSwitchJS in favor of the generic group toggle binder. Display-only; setting keys unchanged.
5.30.80 2026-09-14
Changed
- Scripts → GDPR Banner: Enable toggle hides Layout through Decline Text via
optionGroup/isGroupToggle(display-only).
5.30.79 2026-09-14
Changed
- Customizer grouping replaces
fusewith schemaoptionGroup+isGroupToggle. Same-slug adjacent controls join via generated CSS (is-group-*classes); group toggles hide sibling controls through one generic JS binder (nav underline, header/utility socials, color + opacity pairs, icon groups, Site Overlay). Display-only; setting keys unchanged.
5.30.78 2026-09-14
Changed
- Header & Menus → Mobile: Menu Icon + Menu Icon Size and Close Icon + Close Icon Color + Close Icon Size are fused into grouped Customizer cards (
menu-icon/close-iconfuse slugs). Tag-group controls now accept the schemafuseproperty.
5.30.77 2026-09-14
Fixed
- Customizer fuse groups (desktop nav color + opacity pairs, nav underline, Site Overlay, etc.) load again:
ds-admin-min.jsnow depends oncustomize-controls,refreshFuseGroups()groups consecutive same-slug controls only, and palette + slider pairs have a CSS fallback when join classes are not yet applied.
5.30.76 2026-09-14
Changed
- Header & Menus nav/drawer color + opacity controls are grouped in the Customizer: label, opaque palette (no transparent; includes body text), then an opacity slider. Fixes reverse print hover opacity using its own key (
ds_header_nav_reverse_color_hover_opacity). Reusable Customizer fuse groups (fusein schema) join related controls into one card; nav underline, color + opacity pairs, Site Overlay + opacity, and conditional show/hide use it.
5.30.75 2026-09-14
Changed
- Masthead and drawer link colors moved from Styles → Navigation to Header & Menus (Desktop / Mobile). Each supports color + opacity; masthead adds a separate reverse print pair (default white, hover at 85% opacity). Values inject on
<body>as CSS variables;frontend.css/frontend-deferred.cssmap resting and hover states. Existing sites copy legacy Styles nav colors on first load (ds_header_nav_colors_v1).
5.30.74 2026-09-14
Fixed
- Seamless masthead overlay on a non-reverse first block (e.g. light hero with
reversePrint: false) no longer inherits site-wide Customizer reverse print before scroll. Color logo, nav links, and social icons use normal print over the hero; scrolled masthead still follows Customizer reverse.
5.30.72 2026-09-13
Changed
- Load Animations and Scroll Animations default on for new sites. Existing installs that never saved those keys are persisted off (
ds_animation_defaults_v1) so a theme update does not add motion. Theme Setup writes on only when a key is still unset.
5.30.71 2026-09-13
Fixed
- PHPCS WordPress.Security: sanitize leftover logo
urlon reverse/color generate AJAX (esc_url_raw). Attachment IDs still go throughid.
5.30.70 2026-09-13
Changed
- Header, drawer, and footer logos render through
wp_get_attachment_image()withsrcsetand asizeshint from the logo height/width options, so the browser can pick an intermediate size instead of the original upload. - Inactive color, reverse, and scroll logo variants use
display: noneso they are not fetched on first paint. Seamless reverse and scroll swaps are instant (no opacity crossfade). - Header, reverse, and footer logos store attachment IDs (
type: media). A one-shot migrate converts leftover URLs when the file is in the media library; unresolved URLs still render. Theme Setup and Customizer generate/write IDs. - Load-animation CSS ships inside
frontend.cssunder.has-load-animationsinstead of a second blockinganimation.cssrequest. Scroll-enter CSS isfrontend-deferred-animations.css(sameds-scroll-animationshandle).
Fixed
- Color and reverse logos no longer both download at full Customizer URL size when only one is visible.
5.30.69 2026-09-12
Added
- Scripts → Analytics & Tracking: Tracking Load Strategy. After Page Load (default) requests Google/Meta/LinkedIn/StackAdapt/Hotjar SDKs in a new task after
window.load. First Interaction also waits for a click, tap, key, or scroll so those scripts stay out of PageSpeed lab runs.
Fixed
- Tracking queues (
fbq,dataLayer,gtag, and the other vendor stubs) still install in the head, but third-party SDK requests no longer start during parse. A Safari content blocker that stallsconnect.facebook.net(or another tracker host) can no longer hold the tab in a loading state. GDPR Accept counts as the first interaction so that mode does not wait for a second gesture.
5.30.68 2026-09-12
Added
- Flags page can reset Block updater stamps so the Dashboard block-updates prompt re-arms without bumping
DS_BLOCKS_UPGRADE_VERSIONor rewriting posts. - Flags page can reset Theme Setup (Merlin) stamps (
ds_has_run_onboarderandmerlin_*_completed) so the wizard is a first run again.
Changed
- Flags tables no longer give
<code>values a gray background.
5.30.67 2026-09-12
Added
- Welcome card shows the parent theme version under the intro copy.
5.30.66 2026-09-12
Removed
- Unused theme block patterns (
patterns/*.php). They were inserter-only starters; existing pages keep their copied blocks. Column insert starters and starting templates cover the same layouts.
Fixed
- PHPCS WordPress.Security: unslash and sanitize
REQUEST_URIwhen deciding whether to register theme block patterns.
5.30.65 2026-09-12
Changed
- Theme block patterns (
patterns/*.php) register in the editor and REST only. Public requests skip core’spatterns/scan so expiredwp_theme_files_patternstransients are not deleted fromwp_optionsunder concurrent traffic.
5.30.64 2026-09-12
Changed
- The + inserter (and Browse all) shows the Dirigible blimp after
ds//fleet//acf/block titles, matching the slash menu.
5.30.63 2026-09-12
Changed
- Public critical/rest CSS is
frontend.css/frontend-deferred.css(wassite.css/deferred.css). WordPress handlessiteandds-deferredare unchanged.
5.30.62 2026-09-12
Fixed
- Media Library focal point picker shows SVG attachments (width 100% so viewBox-only files do not collapse) and keeps the marker aligned with clicks.
5.30.61 2026-09-12
Changed
- Admin bar CSS compiles with the rest of the theme (
styles/css/admin-bar.css). Unused leftover sheets instyles/css/plugins/are gone.
5.30.60 2026-09-12
Changed
- Theme Setup Welcome gives the heading, copy, and footer more padding, and a slightly wider card.
5.30.59 2026-09-12
Changed
- Theme image URLs in compiled CSS are relative (
../../images/...) instead of/wp-content/themes/dirigible/..., so icons follow the actual theme folder. Woo bundle styles now compile tostyles/css/woo-*.cssandstyles/css/woo-extensions-*.css.
5.30.58 2026-09-12
Fixed
- Theme Setup Site Setup no longer restarts the wizard when it activates a child theme. Install creates the child, then installs each core plugin one by one, marks each row Active, and only then advances.
5.30.57 2026-09-12
Changed
- Group blocks no longer force
width: 100%on every child. Nested content can size naturally; the group itself still fills its column unless it is wide or full.
5.30.56 2026-09-12
Fixed
- Theme Setup Active-check markup is printed through
wp_kses, so PHPCS WordPress.Security stays at 0 errors / 0 warnings.
5.30.55 2026-09-12
Changed
- Theme Setup License step replaces the key field with an animated check and Active once a product is licensed. Submitting a valid key converts that row in place. A non-empty key is also validated when the field loses focus. The “all licenses active” copy only appears when every product is licensed.
- Theme Setup Site Setup shows the same animated check next to Active (and the child theme name when a child is active).
- Theme Setup step dots use the same grayscale as Skip / Next instead of blue.
5.30.53 2026-09-11
Changed
- Theme Setup License and Site Setup include Dirigible AI Alt Text (
dirigible-ai-alt-text) with Blocks, Fonts, SEO, and Optimize.
5.30.52 2026-09-11
Fixed
- Theme Setup and theme Plugin Update Checker send
licenseKeyas nestedlicense/isValidfields, matching installed plugin updates. A scalarlicenseKeyhung/api/updates/{slug}with 0 bytes. - Theme Setup Site Setup keeps Install errors visible (red step copy) instead of running Merlin’s vanish animation, and refreshes the plugin status list from the AJAX response.
5.30.51 2026-09-11
Changed
- Combined Theme Setup Install errors are separate sentences.
5.30.50 2026-09-11
Changed
- Theme Setup downloads use each plugin’s own stored key and slug (
dirigible-fonts,dirigible-optimize, …), the same product ids live Plugin Update Checker uses.
5.30.49 2026-09-11
Changed
- Theme Setup plugin downloads use Plugin Update Checker query args (
checking_for_updates=1), WordPress’s default User-Agent, and a 15s metadata timeout. Failures name the product. A licensing ZIP/metadata error no longer blocks the remaining plugins.
5.30.48 2026-09-11
Changed
- Theme Setup License collects a key per product (Studio, Blocks, Fonts, SEO, Optimize) in a two-column layout. Site Setup downloads use each plugin’s own stored key, not the theme key. Empty keys after Next reveal Continue Anyway and rename Next to Retry.
5.30.47 2026-09-11
Added
- Theme Setup License step before Site Setup. Next activates the theme license (and best-effort the four core plugin slugs with the same key). Skip remains available.
Changed
- Theme Setup Site Setup installs missing Dirigible Blocks, Fonts, SEO, and Optimize from the licensing server (
/api/updates/{slug}) instead of GitHub releases.
Fixed
- Theme Setup Site Setup uses each plugin’s stored license instead of the theme key.
5.30.45 2026-09-11
Added
- Theme Setup plugins can insert wizard steps with
ds_theme_setup_stepsand add prompt facts withds_merlin_ai_extra_facts(palette, typography, social, copy, and logo generate). - Theme Setup OpenRouter step and Tools → AI / OpenRouter note that later AI generation is billed to the OpenRouter account, and that Theme Setup can still be completed by hand.
- Theme Setup Generate Content fills
{ds_copy:id:N}tokens on Home, About, and Contact with OpenRouter copy from the site description and tone tags when a key is present, or N-word lorem if not. Gutenberg markup and media-library image tokens are unchanged. - Theme Setup logo generate has Raster / Vector format chips. Raster (default) uses Recraft V4.1 Pro with a transparent PNG; Vector stays Recraft V4.1 Pro Vector SVG.
Changed
- Theme Setup Site details now comes right after OpenRouter, so later AI steps can use the saved site title.
- Theme Setup footer is one flex row (Back, step dots, Next) flush to the panel with a top hairline, 14px dots, and a light gray Next button instead of the colorchange pulse.
- Site Details field rows shrink inside the card so the three-column Title / Tagline / Copyright line no longer overflows horizontally.
- Theme Setup card outline is a real
borderinstead of an inset box-shadow, so the footer can sit flush to the panel edge. - Theme Setup footer no longer uses negative side margins, so Next is not clipped by the card overflow.
- Theme Setup Site Setup (child) card is 480px wide instead of shrinking to the status list.
- Theme Setup OpenRouter puts Live URL and Tone tags on one row, and makes field helper text smaller and lighter.
- Theme Setup drops the decorative step icons and uses 33px padding on all sides of the step content.
- Theme Setup sequential image tokens (
{SEQUENTIAL_IMG_N}/_ID/_SRC) are filled withpreg_replace_callbackinstead of explode/ltrim. Token shapes and media-library stamping are unchanged. - Theme Setup stock photos load from the theme filesystem
onboarder/images/directory instead of the theme URI.
Fixed
- Raster logo drafts punch Recraft’s white canvas to transparency and crop tight to the mark, matching the checkerboard preview.
5.30.44 2026-09-11
Fixed
- Generate from Color Logo knocks out Recraft’s white-filled letter counters and icon holes instead of painting them as solid white ink.
Changed
- Logo generate/refine prompts require true transparent cutouts (compound paths / even-odd fill) instead of white fills for counters and negative space.
Removed
- Customizer “Remember Me” Length (
ds_auth_cookie_weeks). Login cookies now use WordPress defaults: 14 days with Remember Me checked, 2 days without. Existing cookies keep their original expiry until they lapse or the user logs out.
5.30.43 2026-09-11
Added
- Theme Setup Logos can Generate Logo / Refine Logo from the site profile, palette, and an optional prompt (OpenRouter Recraft V4.1 Pro Vector SVG). The result stays a draft until Use this logo, which writes the color slot only. Reverse print stays the existing Generate from Color Logo button. Without an OpenRouter key, generate controls stay hidden.
Changed
- Logo and Typography generate wells start collapsed behind a quiet Generate a logo / Generate typography control. Expanding shows chips, prompt, Generate, and Refine. A logo draft is a single color checkerboard preview. Color Generate Palette stays always visible.
- Logo generation now uses a tighter production brief built around one memorable idea, exact wording, optical balance, header-size legibility, clean paths, and restrained solid fills. Refinement preserves unspecified source artwork, avoids palette re-steering, and turns common wording instructions such as “add ‘Studio’ after Dirigible” into exact required final text for Recraft.
5.30.42 2026-09-11
Added
- Theme Setup Logos and Customizer Logos can Generate from Color Logo (white-ink reverse print) and Generate from Reverse Logo (site text color). If that slot already has a file, the button becomes Regenerate from … and is visually quieter. SVG or transparent PNG/WebP/GIF; JPEG / opaque raster is rejected. Recolors the uploaded file — does not invent a mark.
5.30.41 2026-09-11
Changed
- Theme Setup Typography is capped at 90vh and scrolls as a card, so both columns can grow without clipping the specimen.
- Active fonts sit under the preview instead of the left-column controls.
- After Generate Typography, the button becomes Regenerate Typography. Refine Typography is available from the start so a Quick Typography pairing can be honed in place. The Feel field is labeled Feel & Prompt.
- Generate and Refine Typography can set button border radius (0–100px) and button color as a palette role (
primary,secondary, …), matching Quick Typography and Customizer.
5.30.40 2026-09-11
Changed
- Theme Setup Quick Typography chips lazy-inject each pairing’s
@font-facewhen the chip is on screen, so woff2 files are not all fetched on first paint. - Theme Setup Typography preview sits on the page (no gray well) and can be scrolled to read the full specimen.
- Theme Setup Generate Typography includes a 1 / 2 / 3 font-count switch (default 2) and enforces that many families.
- Headline and body style controls default to “Any.” Generation chooses from compact, curated one-, two-, and three-family systems and follows stricter role, readability, and type-scale guidance for consistently cohesive results.
- Theme Setup Quick Typography is a two-column grid; Keep current sits in the footer to the left of Next and leaves existing fonts unchanged.
Fixed
- Typography specimens apply heading font properties independently, so an invalid family token can no longer discard the generated size, weight, and line height. Numeric family names are escaped in generated stacks.
- Sparse-comment core blocks (
image,button,column,gallery,spacer) no longer hit Recover when ids, colors, dimensions, spacing, and gallery crop state live only in HTML. These compatibility migrations decline HTML they cannot represent without loss. Update blocks no longer saves a mixed page when recovery is off; recovery-on is limited tods/*blocks and leaves core and other plugin markup untouched.
5.30.39 2026-09-11
Changed
- Theme Setup Typography uses bundled Dirigible Fonts instead of Google Fonts CSS. Controls sit on the left (Generate, Quick Typography, active fonts) with a height-capped specimen on the right. Next activates those families, writes the type scale, and clears
ds_google_fonts_url. Generate Typography (OpenRouter) picks families and scale from headline/body chips, an optional feel field, and the site profile.
5.30.38 2026-09-11
Added
- Theme Setup Site Setup installs and activates Dirigible Blocks, Fonts, SEO, and Optimize (GitHub latest release when missing) and shows a child-theme / plugin status checklist on revisit.
Changed
- Theme Setup Color Palette is 900px wide. Quick Colors Default shows the site’s current palette (click restores it). A live swatch strip sits under the color cards.
- Theme Setup browser tabs include the current step (
Theme Setup: Typography ‹ …). - Theme Setup Generate Palette (Live site on) follows homepage CSS, ranks brand vs neutral colors, and snaps model hexes onto that list instead of inventing nearby values.
5.30.37 2026-09-11
Changed
- Theme Setup runs Color Palette before Typography.
5.30.36 2026-09-11
Changed
- Theme Setup Color Palette: Live site is a reusable switch beside Generate Palette. On uses scraped live-site colors only (locks still apply); off uses the site description and tone tags. Well copy and the step intro follow that mode.
5.30.35 2026-09-11
Changed
- Theme Setup AI wells (Social and Color Palette) share
.ds-merlin-ai-fillwith the 1px border. Wand actions use a 14px SVG mask. Generate Palette treats locked colors as anchors, uses the site description and emotional tags for mood, and offers a session Use live site colors toggle when a Live URL is stored.
5.30.34 2026-09-11
Added
- Theme Setup Color Palette: lock individual colors, then Generate Palette (OpenRouter key required) fills the rest from the site profile and live URL. Locked colors are also skipped when picking a Quick Color. Next still saves as usual.
5.30.33 2026-09-11
Added
- OpenRouter profile stores an optional Live URL (
ds_openrouter_live_url, autoload off) on the Theme Setup OpenRouter step and Tools → AI / OpenRouter, for reading the production site from staging or local. - Theme Setup Social shows Attempt Fill when an OpenRouter key is present. It fetches the Live URL when set, asks OpenRouter (with web search) for matching profiles, and fills empty fields only; Next still saves as usual. A Remove all control clears the form without saving.
5.30.32 2026-09-11
Added
- Theme Setup OpenRouter step and Tools → AI / OpenRouter store a site description and comma-separated tone tags (
ds_openrouter_site_description,ds_openrouter_site_tags) for later AI-assisted onboarder fields.
5.30.31 2026-09-11
Added
- Skippable OpenRouter API key step in Theme Setup (after Site Setup). Saves into the existing encrypted site-wide key store; skip or empty Next leaves the key unchanged.
Changed
- Theme Setup writes are allowlisted through
ds_settings_lookup()instead of instantiating Customizer schema objects. Content/logo helpers use setting names (setSetting,data-setting) and still accept the oldsetThemeMod/data-modkeys. - Theme Setup Social lists every network from the Customizer
ds_socialJSON group in a scrollable field grid, so new socials do not need a second hardcoded list.
5.30.29 2026-09-10
Fixed
- Customizer preview no longer fatals when sanitizing grouped option settings (
ds_settings_site[key]): number/choices/options sanitizers look up the control by namespace.
5.30.28 2026-09-10
Added
- Media Focal Points picker on the classic attachment Edit screen (Media Library list → Edit, or Edit more details): click the preview or enter X/Y values; saves via AJAX like the media modal.
5.30.27 2026-09-10
Added
- Media Focal Points picker in the Select Media / Edit Gallery attachment sidebar: click the preview (or enter X/Y values) to set the attachment focal point.
5.30.26 2026-09-10
Fixed
- Hero Slider (
ds/slider-hero) uses media-library focal points: attachmentfocal_pointis exposed to the media modal, and frontend markup is rewritten from that meta at render.
5.30.25 2026-09-10
Removed
- Customizer “Media Focal Points” toggle (
ds_media_focal_points). The media focal points extension always loads.
5.30.24 2026-09-10
Changed
- Welcome Changelog is a lazy-loaded, fixed-height iframe of parent
readme.htmlinstead of a cached HTML excerpt.
5.30.23 2026-09-09
Added
- Flags page shows an on-demand sitewide block usage count. Recount walks posts, templates, and reusable blocks and stores the snapshot; it does not run on theme upgrade or save.
5.30.22 2026-09-09
Changed
- Posts whose first block is core Post Title skip the auto-inserted title section (same as the old Blog Post Header).
- Update blocks converts leftover Blog Post Header (
ds/post-title) to core Post Title plus an optional Heading.
5.30.21 2026-09-09
Changed
- Update blocks converts leftover Icon / Numbered / Runner structured-list children to the catch-all List Card.
5.30.20 2026-09-09
Changed
- Update blocks converts leftover Text / Icon / Video / YouTube grid cards to the catch-all Card block.
5.30.19 2026-09-09
Fixed
- Update blocks uses the Quote block’s own large/small → Quote mapper when Gutenberg
switchToBlockTypedoes not convert.
5.30.18 2026-09-09
Changed
- Update blocks converts deprecated Large Quote and Small Quote (
ds/large-quote,ds/small-quote) to the catch-all Quote block. Testimonials page pattern usesds/quote.
5.30.17 2026-09-09
Removed
- Customizer “Section Transitions” toggle and background SVG grow-on-scroll behavior (
ds_scroll_section_transitions). Background shapes stay at full height.
Fixed
- Safari Dashboard paint loss while scrolling: Welcome jump-nav is not sticky when ACF adds
acf-browser-safari. Other browsers and docs pages keep sticky nav.
5.30.16 2026-09-09
Changed
- Load and scroll animation CSS share one source tree.
animation.cssstays a small blocking sheet for page-load (ds_animations); scroll enter + section transitions ship as deferredanimation-deferred.css(ds_scroll_animations/ds_scroll_section_transitions). Scroll JS waits for that sheet and skips hiding content if it is missing, errors, or times out.
5.30.13 2026-09-09
Changed
- Block-updates prompt is a Welcome jump-nav tab when pending, not a Dashboard admin notice. Run block updater still opens Tools & Maintenance.
5.30.11 2026-09-09
Fixed
- Restore license activation against the deployed API's query-parameter contract until it supports POST bodies. Activation and removal now show busy states and readable success or error messages.
5.30.10 2026-09-09
Fixed
- PHPCS WordPress.Security: ignore the welcome Fonts panel
@font-faceCSS echo (ds_font_face) so CI stays at 0/0.
5.30.08 2026-09-09
Changed
- Form Parameters is a welcome jump-nav panel (before Changelog) when Gravity Forms is active, instead of its own Dashboard submenu page. Old
page=ds-gform-parametersURLs redirect to the Dashboard. Appearance is no longer in the Dashboard dropdown. - Welcome description, intro panel copy, greeting icon, and jump-nav sections are filterable (
ds_dashboard_welcome_description,ds_dashboard_welcome_intro,ds_dashboard_welcome_icon,ds_dashboard_welcome_sections). Plugins can add panels with acallback. The greeting row shows the site icon when one is set.
5.30.06 2026-09-08
Changed
- Welcome widget CSS loads only on the Dashboard (
admin-welcome.css). Magic Classes and Form Parameters are their own.wrappages; each category is its own inset panel (admin-docs.css). Globaladmin.cssstill has the tools menu icon. The Dashboard welcome page uses the same jump nav as docs (Welcome, Palette, Plugins, Logos, Fonts, Typography, Changelog). Sections live infunctions/dashboard/pages/welcome/and are ordered fromds_dashboard_welcome_sections(). The typography specimen is an iframe that injects Dirigible Fonts@font-faceplus theme type variables, matching the block editor canvas. The Plugins panel is a fixed core catalog (Blocks, People, Locations, Events, Portfolio, Mega Menu, Fonts, SEO, Cards, Footer, Documentation, AI Alt Text) with active plugins highlighted. The Fonts panel lists active Dirigible Fonts families with a live preview. Welcome intro copy is corrected (typos, spacing) and still mentions the plugin suite; Fonts vs Typography subcopy distinguishes loaded families from the applied type scale.
5.30.04 2026-09-08
Changed
- Therma Customizer keys are a global plugin option (
ds_settings_thermastor), loaded whenthermastor-pluginis active. They are no longer child-scoped to thetherma-themestylesheet.
5.30.02 2026-09-08
Fixed
- Settings migrate turns old
type: imageattachment IDs into URLs (WP_Customize_Image_Control). Existing URL strings andtype: mediaIDs are left alone. Aliascb_catalog_request__image→cb_catalog_request_image.
5.30.00 2026-09-08
Changed
- Lean canonical settings cutover. Runtime reads use compact generated PHP maps and grouped options only. The theme_mod compatibility bridge, request-time promotion, group priming, persisted registry, and migration backup are gone after a verified v2 migrate.
- Ship companion plugins and child themes first (they fall back to
get_theme_mod()only whends_get_setting()is missing). This parent theme last. After migrate, Dirigible keys are removed fromtheme_mods_*rows except WordPress-owned values.
Added
- Generated runtime/provider maps (
bin/ds-settings-generate-maps.py) and a historical migration route map for aliases, dead keys, and inactive providers. - Autoloaded completion marker
ds_settings_ready. Ordinary requests return immediately without reading migration state. - Never-read
ds_settings_quarantinefor unclassified leftover keys, shown only on Flags. - Guarded v2 selftest, theme-mod call check, and updated Flags/benchmark docs.
Notes
- Publish or discard draft Customizer changesets before upgrading.
- CPT slug registration in companion plugins must run on
initso the canonical store exists.
5.29.04 2026-09-08
Changed
- After settings migrate completes,
ds_settings_registryis deleted and no longer autoloaded. Schema keys are rebuilt from JSON each request; unschematized keys hydrate fromds_settings_legacyand the active child group.
5.29.03 2026-09-08
Added
- Canonical Customizer storage: Dirigible settings now live in parent-owned grouped options (
ds_settings_*) so child themes keep global values. A bidirectionaltheme_modbridge remains for old readers, writers, and downgrades. The first front or admin request after upgrade copiestheme_mods_*into those options (locked, idempotent); later requests are a no-op. - Settings import/export v2 envelope
{ "format":"ds-settings", "version":2, "groups": { … } }. v1[value,key]files still import. Unknown uploaded groups are reported and not created. - Guarded WP-CLI selftest:
wp eval-file bin/ds-settings-storage-selftest.php(local/development, orDS_SETTINGS_ALLOW_SELFTEST). Benchmark notes:reports/settings-storage-benchmark.md. - Flags under Dirigible (
manage_options): read-only table of stored migrations and version stamps (settings storage, theme, blocks, and active companion plugins).
Changed
- Customizer controls keep logical IDs; settings register as multidimensional options (
ds_settings_header[ds_header_logo]). Preview JS binds throughwp.customize.control(logicalId).setting. - Compiled CSS cache is only
ds_head_css. Palette/type/width style keys live inds_settings_stylesbut are not autoloaded or primed: the front end prints the cached CSS, and the group loads only on Customizer preview, cache miss, or save. The duplicatedtheme-stylestheme mod is no longer written. - Tools, Merlin, restore-defaults, and plugin activation writers use batched store APIs and do not overwrite explicit falsy values.
Notes
- Publish or discard draft Customizer changesets before upgrading. Old theme_mod changeset keys will not match the new option IDs.
- Direct
get_theme_mod()/set_theme_mod()calls still work through the compatibility bridge. Do not remove that bridge in this release.
5.29.02 2026-09-08
Changed
- Magic Classes and Form Parameters: jump menu on the left; titles and descriptions sit with the class lists on the right.
5.29.00 2026-09-08
Security
- Tools & Maintenance REST now matches the admin screen:
manage_optionson comment purge (alsomoderate_comments), admin audit, stale/mixed/no-featured/missing-alt scans, media read routes, and plugin/theme audit. Forms cleanup scan/recount ismanage_options; act routes still needgravityforms_delete_entries. - Destructive REST requires
confirm: true(orphaned-meta clean, comment purge, auto-draft purge, unused-image-sizes delete, missing-media delete, flush-transientsmode=all). - Redirect CSV prefixes a
'on fields that start with=+-@tab/CR. Link audit caps 30 unique URLs per post and returnstruncated. Email deliverability analyze caps 8 domains and times DNS lookups (2s each, 8s budget).
Fixed
- Orphaned-meta clean on MySQL 8:
SELECTidsLIMIT 500, thenDELETE … WHERE id IN (…)(tupleINforterm_relationships). Scan still listed orphans; clean had been a no-op (DELETE … JOIN … LIMIT→ 1064). - Missing-media delete and fix-image-refs apply return 400
ds_maintenance_offload_blockedwhen uploads are offloaded.term_relationshipsstays default-off and needs an extra confirm before clean.
Changed
- Flush transients
all/expiredin chunks of 500 withremainingso the UI can loop. Sharedrestrunner lives injavascript/src/maintenance/core/rest-runner.js. Removed unusedjavascript/src/ds-maintenance.legacy.js.
5.28.99 2026-09-04
Changed
- Revision limit default is now live: sites with no saved override keep 10 revisions per post (was unlimited until you clicked Save). Numeric or disabled
WP_POST_REVISIONSin wp-config is unchanged. Excess revisions still trim on the next save of that post, not in a bulk purge.
5.28.98 2026-09-04
Added
- Last active column on the Users screen (sortable), stamped when someone saves posts, pages, CPTs, media, Customizer, menus, or terms. Helps when Rocket.net SSO skips
wp_loginso last login stays empty. Administrator audit lists last active next to last login (dormant flags still use last login).
5.28.96 2026-09-03
Added
- More background-block transition shapes (clouds, layers, slants, waves, triangles, and related masks).
5.28.91 2026-09-03
Added
- Speed slider (slow to fast) on animated Wavy, Thin Waves, and Zigzag separators.
5.28.90 2026-09-03
Added
- Animate and Reverse toggles on Wavy, Thin Waves, and Zigzag separators.
5.28.89 2026-09-02
Fixed
- Cache-bust
admin-dashboard.csswithTHEME_VERSIONon thecolorshandle so Dashboard CSS updates are not stuck on the WordPress version query arg.
5.28.88 2026-09-02
Fixed
- PHPCS WordPress.Security: put the Tools-screen
$_GET['page']read on thephpcs:ignoreline so CI stays at 0/0.
5.28.87 2026-09-02
Changed
- Preview Plus Jakarta Sans as the wp-admin UI font via
--font. Self-hosted latin variable woff2; Albert Sans and earlier preview files kept for revert.
5.28.86 2026-09-02
Changed
- Preview Albert Sans as the wp-admin UI font via
--font. Self-hosted latin variable woff2; Figtree and earlier preview files kept for revert.
5.28.85 2026-09-02
Changed
- Preview Figtree as the wp-admin UI font via
--font. Self-hosted latin variable woff2; Urbanist, Outfit, and Poppins files kept for revert.
5.28.84 2026-09-02
Changed
- Preview Urbanist as the wp-admin UI font via
--font. Self-hosted latin variable woff2; Outfit and Poppins files kept for revert.
5.28.83 2026-09-02
Changed
- Preview Outfit as the wp-admin UI font via
--font. Self-hosted latin variable woff2; Poppins latin files kept for revert.
5.28.82 2026-09-02
Performance
- Admin Poppins is one
@font-faceinadmin.css(latin 400 + 600, ~16 KB) instead of a 106 KB variable file declared in CSS and again as inline admin-bar CSS. Unused Poppins cuts removed.
5.28.81 2026-09-02
Performance
- Load tools/import-export JS (and jQuery) only on those Dirigible screens, and login CSS/JS only on
wp-login.php. Dashboard and other wp-admin pages no longer downloadds-tools,ds-admin, or login styles.
5.28.80 2026-09-02
Fixed
- Customizer fields marked HTML Allowed render as HTML (including inline SVG): footer contact / additional info / newsletter / search descriptions, utility banner, GDPR and popup bodies, search-results lead, and archive default description. Echo with
wp_kses_postin adiv, notesc_htmlinside ap.
5.28.79 2026-09-02
Added
- First-party Theme Setup screen under Appearance (
themes.php?page=onboarder;page=merlinredirects). Same wizard steps and onboarder data (typography, palettes, logos, site info, social,DirigibleGeneratorcontent, child-theme Site Setup) on a normal wp-admin page: no custom HTML document, noob_end_clean, no jQuery/Spectrum/MerlinWP importer stack. Auto-opens on first activation of Dirigible or a Dirigible child until setup is completed.
Security
- F-035 closed. Deleted the vendored MerlinWP importer path (WXR / widgets / Customizer.dat / Redux,
Merlin_Downloader, Monolog). Remotemerlin_import_filescan no longer be enabled.
Changed
- Admin stylesheets:
merlin.css→admin-onboarder.css,dashboard.css→admin-dashboard.css,maintenance-admin.css→admin-maintenance.css. Onboarder Sass partials live instyles/scss/admin/onboarder/.
5.28.78 2026-09-02
Performance
- Stop wrapping already-filtered WordPress HTML in
wp_kses_post: excerpts,term_description, pagination, prev/next helpers, Woo short description, Instagramwp_get_attachment_image, hardcoded maintenance SVGs, and generated head CSS. PHPCS ignores those echoes. Keep kses on pasted Customizer HTML (dsfooter_socials_html, GDPR/fonts) and Woowc_price()/ gift-card copy.
5.28.77 2026-09-02
Performance
- Instagram schema: skip
SHOW TABLES/DESCRIBE/read_keyencrypt whends_ig_db_versionalready matches; memoize those probes for the upgrade request - Use
has_nav_menu()to decide whether a location is assigned, thenwp_nav_menu()in the template (noecho => false+wp_kses_poston walker HTML). Footer submenu vs flat uses menu item parents, notstrposon rendered markup
5.28.76 2026-09-02
Security
- EscapeOutput leftover pass:
wp_kses_poston nav/footer menus, Customizer social HTML, Instagram attachment images, Woo short descriptions/gift-card pending copy/login messages;esc_json the Analytics property ID;wp_json_encodefor JSON-LD (ds_jsonld_outputnow filters the data array);esc_url/esc_attron product placeholder thumbs;wp_kseson hardcoded maintenance SVGs.phpcs:ignoreonly forthe_content, Woo mini-cart/Commentsdo_blocks, Customizer head/footer embeds, Customizer partial callbacks, and_doing_it_wrong. PHPCS WordPress.Security baseline 37 → 0.
5.28.75 2026-09-02
Security
- EscapeOutput templates pass (excerpts and HTML helpers):
wp_kses_poston card excerpts, search-card copy, pagination, term descriptions, search-lead interpolations, and prev/next/return link HTML; inline tag/category comma spans;phpcs:ignoreon core password forms (wp_kses_postwould strip<form>). Left nav/footer menus,do_blocks, Customizer social HTML, Instagram avatars, JSON-LD/analytics/embeds, and Woo leftovers. PHPCS WordPress.Security baseline 59 → 37.
5.28.74 2026-09-02
Security
- EscapeOutput templates pass (class tokens + simple attributes):
esc_attrat echo on layout/class strings,is-style-*, spacing,data-delay/data-expiry/data-context/data-version, logo width/height/alt, overlay CSS tokens, and share colors;esc_urlon leftover drawer/footer logo src, search-card permalinks, share icon masks, and card image placeholders. Left nav HTML,do_blocks, excerpts, avatars, Customizerdsfooter_socials_html, and HTML delimiters. PHPCS WordPress.Security baseline 197 → 59.
5.28.73 2026-09-02
Security
- EscapeOutput templates pass (URLs + text):
esc_urlon permalinks, home, privacy policy, term links, theme-directory masks, logo src, header buttons, and share links;esc_htmlon address, banner, dates, and term names;tel:/mailto:hrefs. Left class tokens, nav HTML,do_blocks, excerpts, and avatars. PHPCS WordPress.Security baseline 298 → 197.
5.28.72 2026-09-02
Changed
- Header and footer accent borders are a solid palette color only. Removed the gradient “Palette” mode and its blend, points, and per-swatch toggles (14 theme mods). Existing
palettevalues map to primary on upgrade.
Security
- EscapeOutput Woo Bookings admin pass: escape Today/Weekly cards (order edit URL via
get_edit_order_url(), status classes, names, counts), add-on meta withwp_kses, dates, dashboard links, and date-nav example URLs viaadmin_url(). PHPCS WordPress.Security baseline 319 → 298.
5.28.71 2026-09-02
Security
- EscapeOutput Customizer pass: print preview theme-mod JSON with
wp_json_encode(JSON_HEX_TAG | JSON_HEX_AMP),esc_htmlpage-select labels,$this->link()instead of echoingget_link(), andesc_attron control<li>id/class (shared opener). PHPCS WordPress.Security baseline 340 → 319.
5.28.70 2026-09-02
Security
- EscapeOutput easy pass (no
templates/mass-escape):esc_html/esc_attr/sanitize_html_class/esc_url/checked()/wp_kses_poston page/search/landing body class, header--nav-offset, dashboard greeting and readme snippet, licensing UI, GDPR version, YARPP classes and dates, post Display defaults, maintenance checkboxes, Gravity Forms spam-settingswp_die, Woo placeholder image URL, status chip, and notice page. PHPCS WordPress.Security baseline 371 → 340.
5.28.69 2026-09-02
Security
- F-034: encrypt Instagram feed
read_keyat rest (sodium secretbox / AES-GCM, same pattern as OpenRouter, distinct HMAC context). Widen the column totext, migrate existing plaintext rows, decrypt only in memory for sync/disconnect. Rotating WordPress salts invalidates keys; reconnect the feed. - Remove committed leftover
schema/exports/*.json(pre-F-002 files were still publicly fetchable) and gitignore that path.
5.28.68 2026-09-02
Security
- F-016: remove dead Dirigible Tools JS (
ds_restore_default_styles,ds_restore_default_settings,ds_test_styles_class) that posted without a nonce and had no PHP handlers - F-017: cap find-replace regex at 500 characters, reject nested quantifiers such as
(a+)+, and return an error when PCRE hits a backtrack/recursion limit instead of silently skipping the replace
5.28.67 2026-09-02
Security
- F-014: patch vulnerable dev npm packages. Replace unmaintained
npm-run-allwithnpm-run-all2(drops criticalshell-quote). Bumppostcss,esbuild,cssnano, andautoprefixer. Override nestedlodash,yaml,fast-uri, andfollow-redirects. Productionnpm audit --omit=devstays 0; full audit critical is 0. Remaining highs are nested underbrowser-sync@3.0.4(latest).
Changed
- Require Node
>=24.15.0(.nvmrc24 + CI).npm-run-all2v9 needs^22.22.2or^24.15.0; we use current LTS.
5.28.66 2026-09-02
Fixed
- Wistia oEmbed no longer trips
_doing_it_wrongon WordPress 7.1. Register viawp_oembed_add_provider()([endpoint, true]) instead of a bare URL string onoembed_providers.
5.28.65 2026-09-02
Fixed
- Merlin wizard loads jQuery again. 5.28.58 removed the
admin_initrenderer, so the submenu callback ran after the admin header,ob_end_clean()discarded jQuery, and merlin.js ran without it. Render onload-{hook}(beforeadmin-header.php) and enqueuejquerybefore Merlin scripts. Capability gate unchanged.
5.28.64 2026-09-02
Security
- Escape Merlin wizard output with the right helper per context:
esc_attron attributes/JSON/IDs/input values,esc_urlon href/src,esc_htmlon visible labels (replacinghtmlspecialcharson JSON) - Escape titles and visible copy site-wide (
get_the_title, site name, heading/theme-mod text, GDPR/popup/footer copy)
Process
- PHPCS WordPress.Security baseline is 371 errors / 0 warnings. Leftover
EscapeOutputis URLs, classes/styles, HTML helpers, and Customizer walkers
5.28.63 2026-09-02
Security
- Unslash and sanitize request input after existing nonce/capability guards: tools AJAX, style import uploads, Instagram admin, Merlin AJAX/wizard, licensing, GDPR cookies, focal points, Woo thank-you order key, bookings calendar GET, post options, maintenance embed, OpenRouter notices
- Instagram OAuth connect-return still verifies signed
state/sig(no WordPress nonce on that GET). Merlin vendor forms keep their own nonce protocol
Process
- PHPCS WordPress.Security baseline is 496 errors / 0 warnings. Remaining findings are template
EscapeOutputonly (opportunistic, not a mass-escape pass)
5.28.62 2026-09-02
Process
- GitHub Actions CI on
master: productionnpm audit --omit=dev, and PHPCSWordPress.Securityon first-party PHP. Existing tree is 574 errors / 33 warnings (mostly templateEscapeOutput); CI fails if either total rises. Working that baseline down is on the roadmap. - Park F-019 (always-on CSS split). Coverage-based unused-CSS purge cannot work across the fleet;
site.cssvsdeferred.cssstays the critical-vs-rest split.
Changed
- Read shared masthead/nav appearance from
ds_get_appearance_flags()(floating, sticky, reverse, utility, button color). Theme mods were already one option per request; this is template clarity and a single sticky default (true, matching the masthead).
5.28.61 2026-09-02
Performance
- Cache editor embed font CSS (
ds_editor_embed_font_css) by URL hash; invalidate on Customizer save so editor loads do notwp_remote_getGoogle Fonts / Typekit on every open - Uninstall unused
simple-parallax-js(parallax is customds-parallax.js) - Load Poppins only in wp-admin; frontend admin bar keeps layout CSS without the variable font
- On theme upgrade, regenerate
ds_head_cssand write only if the output changed; stop deleting the option so a public pageview is not the first writer. Fill-on-miss remains as a backstop
5.28.60 2026-09-02
Performance
- Strip empty top-level
core/paragraphblocks on save (wp_insert_post_data) instead of parsing everythe_contentrender; skip revisions/autosaves and skip serialize when nothing was removed
Changed
- Point
npm run serveathttp://localhost:10003(local WordPress)
5.28.59 2026-09-02
Security
- Allowlist Instagram media sideloads (
instagram.com,cdninstagram.com,fbcdn.net) and editor font stylesheet fetches (fonts.googleapis.com,fonts.gstatic.com, Typekit); reject private/loopback URLs - Require
manage_optionsfor maintenance writes that mutate files or post content (fix-image-refs, unused-image-size delete, missing-size generate, media-hash index) - Cap “Remember me” at 8 weeks (default 2); existing 12-week mods are clamped at login
- Move Merlin logs out of uploads to
wp-content/merlin-wp/with rotation,0600files, directory deny rules, and redacted query strings - Cap Instagram relay JSON (1 MB, depth 8,
postsmust be an array); do not deactivate a feed on an invalid payload; sync at most 24 posts - Load Action Scheduler only when already present, from the theme vendor copy, or from an active WooCommerce / Social Relay plugin
5.28.58 2026-09-02
Security
- Restrict style/settings JSON import to schema-known keys and Customizer sanitizers; cap uploads, require a real uploaded file, and limit JSON depth
- Escape searchform attributes and font
<link>/ embed markup - Allowlist Merlin
updateOption/ theme-mod keys, author generated pages as the current user, and honorDISALLOW_FILE_MODSfor child-theme writes - Document Manager as a site operator (
manage_options); stop hiding Dirigible Tools behind menu removal
Performance
- Stop committing source maps; ignore
*.map - Load Tribe Events CSS only on event views
- Load Gravity Forms CSS via async
ds_load_defer_stylewhen Gravity Forms enqueues a form (native block/shortcode in head, ACF/PHP/footer at render) - Split Gravity Forms UTM helper into
ds-gforms-min.jsand enqueue it only when Gravity Forms is active
5.28.57 2026-09-01
Security
- Gate the Merlin wizard: no unauthenticated
admin_initrenderer; require a logged-in user withmanage_options; disabledev_mode - Remove
scriptand iframesrcdocfrom post KSES; narrow iframe attributes; restrict SVG<use>hrefs to fragment identifiers - Stream style/settings JSON exports as a download instead of writing
0777files under the theme - Remove the public Instagram
connect-returnREST route; verify OAuth state before any relay HTTP - Require licensing HTTP 2xx and
valid === true; send the key in the POST body; show API errors as text
5.28.16 2026-07-02
- Surface specific relay OAuth error codes on connect return
- Use admin-post connect return with relay handoff for local dev
- Fix Instagram connect redirecting to dashboard instead of OAuth
5.28.12 2026-07-02
- Use Instagram app ID for OAuth, not Facebook App ID
5.28.11 2026-07-02
- Set relay signing public key for Instagram connect-return verification
5.27.96 2026-06-08
- Enhanced ecommerce events:
view_item,add_to_cart, and related GA4 debugging
5.27.73 2026-06-02
- Tools & Maintenance page, including: - Content gardening (sync alt tags, update blocks) - Link audit - Object cache flush - Purge revisions - Accessibility audit
- Scroll-animation CSS rules
5.27.42 2026-05-21
- Say hello to the 'Pills' block, a block that allows you to put little customizable pills anywhere on your site!
5.27.06
- Less jittery block editor. Made all block appenders floating so that they don't interrupt and re-layout the block flow when blocks become active, so you should find stuff moving around less in the editor. Overall, just a better experience for you. Also made columns have a slight highlight when hovered over, so you can see where the column is.
- Social brand color option. You can now choose to use social brand colors for social icons instead of your own brand
- ds_nav_links action hook. You can now add custom links to the navigation menu by using the ds_nav_links action hook.
5.26.70 2026-02-25
- Blur option to hero and background blocks. You can now add a blur effect to the hero and background blocks.
5.26.55 2026-02-19
- Social Sharing Buttons. Added new social sharing buttons toggle for blog posts. You no longer need to rely on a third party plugin for this, so say goodbye to the AddToAny bloat.
- Authorship support added to Dirigible People. You can now use our Dirigible People plugin to display and manage authorship for pages and posts on your site. You can add people as contributers to pages and posts, display them on the post pages, and display their posts on their author pages.
- Tracking parameters added to Gravity Forms. We now include common tracking parameters for you to use in Gravity Forms to capture first-touch attribution data from your marketing campaigns. This respects GDPR settings.
- Added new debug mode to the theme. This allows you to see hidden fields in Gravity Forms for debugging purposes. This is only visible to admins.
- Add more tracking scripts to GDPR script loading including Hotjar, Google Tag Manager, and Google Analytics.
- Added more aria labels to the theme for better accessibility.
- Hardened licensing to prevent exposure of keys to unauthorized users.
5.26.12 2025-12-05
- GDPR Banner. Added new GDPR banner to the theme. This allows you to add a GDPR banner settings from the theme settings, which works automatically with our analytics system. As long as you enter your analytics IDs in the analytics settings, banner will block these tracking scripts until the user accepts the cookie notice.
- Media Library Search. Added improved media library search to the theme. This allows you to search for media in the media library by title, description, caption, alt text, and filename.
- Move site schema json+ld to a function so we can override it with Dirigible SEO if it is active.
- Prevent is_seamless and is_seamless_reverse from being exposed to REST API. These generated on save_post in masthead.php and were causing conflicts with cloned posts.
5.26.11 2025-12-04
- Separator styles. Added new separator styles: Wavy, Zigzag, and Thin Waves. You can now choose from these styles when adding a separator to your posts and pages.
- Media focal points. Added new media focal points extension. This allows you to set focal points on media items in the media library and post editor. We will use this automatically when displaying the featured images, such as in the block archives. Should open up some new possibilities for image cropping and positioning! There is also an option to disable this by going to Customizer > Site Settings > Media Focal Points. We will remove this option if at some point wordpress adds this functionality to the core.
- Underline option for header nav link active and hover states. You can change this by going to Customizer > Header > Desktop > Underline Links.
- Custom Blog Layout. You can now create a custom blog layout by going to Customizer > Site Settings > Blog > Custom Layout. This will allow you to create a custom layout for your blog posts.
- added option to change the submenu background when the masthead is transparent.
- added option to control how long the "Remember Me" cookie lasts when users check the "Remember Me" checkbox on the login page.
- added new alignwide block style for paragraphs. This allows you to make any paragraph wide by adding the "Wide" style to the block. A bit of a workaround.
- added new mobile width magic classes. This allows you to set the width of an element on mobile screens.
- an edge case with seamless nav, reverse print headers, and submenu backgrounds.
5.25.52 2025-10-22
- Added gradent option to background/section blocks. This means you can create a gradient from any brand color and control it's depth. Much more useful than the old two-color split.
- New blog post style: Cards. This makes the blog posts look like grid cards with darkened backgrounds.
- UPDATED: Added new button hover background color calculation - now using hsl instead of rgba. This means buttons can get darker instead of lighter on hover, which is better for ADA accessibility.
- FEATURE: Added rest API endpoints for D5 metafields and Page Settings.
5.25.38 2025-10-14
- add hide post meta support to blog post aside
5.25.35 2025-10-09
- Added new prev/next posts layout to the theme, opting for 'older' and 'newer' language to make it more clear.
- Added new 'canvas' color that will paint the html for wide sites.
- Added new 'body background' setting for users to adjust the default body background color.
- ADA issues for seamless, reverse print nav and skip link not reading as accessible for automated tools.
- Fixes
- some minor layout issues for single posts without a post background.
5.25.15 2025-09-16
- Added new mobile image size. (480px)
- Added new tiny image size. (96px)
- Added new mini image size. (160px)
- Added new hubspot form shortcode option as plugin.
- Added new debug mode option to the theme.
- SPEED
- Massive page speed insights improvements across the board.
- Moved more styles out to deferred styles to further improve load times.
- Removed global transitions that were being applied to every element.
- Removed font smoothing that was being applied to every element.
- Consolidated media queries to be more efficient.
- Moved to postcss for css processing from Codekit.
- Refinements
- More DRY CSS.
- More efficient CSS.
- Move block styles to deferred styles.
- Changed font and image URLs to use absolute URLs for sites that have a different domain than the one the theme is installed on.
- Changed login image URL to use absolute URL.
- Changed image placeholder URL to use absolute URL.
- Changed more template svg images to use absolute URLs.
5.24.92 2025-09-03
- NEW
- Added new beta ‘animation’ option to animate the website with new css rules.
- Added new font preload option to the theme that works with Dirigible Fonts plugin.
- Fixes
- Finally, a fix for the longstanding bug where fixed background images looked insane in safari as the user scrolled.
- Optimizations
- Move image sizes to after_setup_theme hook.
- Remove cron job for setting roles, but move it to when plugins are activated, deactivated, and when the theme is switched.
- Less reliance on get_template_part and get_theme_mod within loops.
- Moved schema json to head element.
- Updates
- Update WooCommerce template versions
- Changes
- Move the cart page to default Woo templates, style in woo-deferred
- readme
5.24.82 2025-07-02
- Added new footer layout: ‘Reverse Split’. This is a new footer layout that is a reverse of the ‘Split’ layout with the menu on the left the contact section on the right.
- Added new subtle button style.
- Added new popup image option that will correctly display the alt tag.
- Added new sidebar content widget area. This is a new sidebar area that can be used to display content in the sidebar of the post pages - this is useful for displaying content that is not a widget but still needs to be displayed in the sidebar, especially with the Columns layout.
- Improvements
- and improved the styling of the bookings today and weekly pages.
- Added missing lg:height classes to fix yearbook
- Moved some height and width classes to deferred styles to further improve load times.
- Minified the posts block view script.
- Fixes
- Fixes video background image fallback to correctly take up the full height of the background.
- Alignwide no longer gets gutters when inside of a Columns block.
5.24.66 2025-05-30
- Added new layouts for the post pages, including:
- Hybrid: Like the columns layout, but with the sidebar on the bottom.
- Sidebar Bottom: Like the default layout, but with the sidebar on the bottom.
- Wide Width: Like the default layout, but with content stetched to wide width.
- Added new grid classes to the grid module.
- min-2, min-2-per-row: Minimum 2 columns.
- min-3, min-3-per-row: Minimum 3 columns.
- min-4, min-4-per-row: Minimum 4 columns.
- More icon svgs included in the theme.
- Improvements
- Changed to aria-labels for search and submit buttons, better accessibility.
- Changed to aria-labels for logo, better accessibility.
- Changed to aria-labels for social media icons, better accessibility.
- Changed to aria-labels for login button, better accessibility.
- Changed to aria-labels for drawer login button, better accessibility.
- Changed to aria-labels for breadcrumb in woocommerce login page, better accessibility.
- Fixes
- links in heading with user-selected text color to inherit from the text color.
- inset search button block to no longer have a background color.
- lightbox image scaling.
- Cleaner default 404 page to bypass unnecessary db calls.
- social media links to no longer urlencode the handle.
- sticky header height default value for sticky header option offset.
- sticky offset for search pages
5.24.46 2025-04-15
- We have made some big changes to our posts block!
- Renamed block to ‘Blog Posts’ from ‘Better Posts’. Seems more descriptive.
- Added option to manually select blog posts.
- Added pagination option to the blog posts block! This will load new posts via ajax inline, letting users read your entire blog without leaving the page!
- Changed from inline SVG images to load the empty image placeholder for blog posts from the theme. This way it will get cached instead of ballooning html size.
- And some bug fixes
- regression where font embeds were not included in the editor. We still recommend using Dirigible Fonts wherever possible.
- subscriber permissions from the bad-old-days of multisite everything.
- the welcome so that the warning panel is now a bit more visible if the site is not set to public.
- bug where comments that overflow the viewport broke the sidebar layouts.
- WooCommerce Changes
- Less reliance on template overrides, more reliance on styles
- Less opinionated on WooCommerce styles. Let it do its thing and let the maintainability nightmare end.
- sticky on single product page
- Refined styles for sidebar. Removed legacy option for alignfull shop.
- Moved more styles to load async
- Better review form star ratings
- General Theme Changes
- New footer style ‘truncated menu’, which recreates the old ‘split’ style when the now-deprecated option to restrict the nav depth in the footer was turned on.
- We now use the native WordPress comment system instead of a custom coded Comment Walker. This should make it easier to maintain and update the theme in the future.
- alignwide
5.24.35 2025-03-31
- additional css cache for editor
- footer logo namespacing
- option to hide logo
- aligncenter Image blocks within columns.
5.24.33 2025-03-31
- split scroll
5.24.30 2025-03-27
- Store logic for post title insertion in post so we are not calculating it every page
- Remove auto insertion of h1 on page. Let’s trust the user a bit more on this one. Screen reader texts for h1 elements are likely to be viewed as a bit hacky by crawlers anyway.
- Remove setting meta updates on auto save or post revisions.
- Ensure post featured image block is width 100%
- Ensure dropdown menus are above mega menus
- Ensure seamless nav with reverse print is legible on hover
- Unify Merlin styles and remove scss imports
- Merlin style regression
5.24.22 2025-03-26
- calculating is seamless and is seamless reverse.
5.24.19 2025-03-26
- dashboard welcome page. Should load more efficiently and no longer loads hidden meta box on every page.
5.24.18 2025-03-26
- More efficient gravity forms loading!
5.24.17 2025-03-26
- Lighter theme update checks
5.24.16 2025-03-26
- Smart button color switching depending on background
5.24.14 2025-03-25
- Slight footer fixes for ‘columns’ layout
5.24.11 2025-03-21
- Defer more styles, and fix flashes of unstyled content on load.
5.24.05 2025-03-18
- admin checkboxes and radio buttons
5.24.04 2025-03-14
- Rewrite all CSS to no longer use imports. Yeesh.
5.24.03 2025-03-14
- woo closer
- functions changes
- clean up head
- tribe
- gforms
- dashboard css
- admin.css
- site.css done
- editor css file
- deferred
- woo
- finished enqueue removal
- mid-css revamp
5.23.89 2025-03-06
- Only load gravity forms when block is present
- Load gravity forms css in footer if its only in the footer
- Load as style sheet instead of inline to avoid html bloat
5.23.84 2025-02-21
- Remove empty svg elements on admin.
5.23.83 2025-02-21
- Remove embedding of support site.
- disable plugin and theme update notifications
- Update README.md
5.23.82
- background seamless reverse print class for default values.
5.23.80 2025-02-18
- background seamless class for background blocks without as their background.
- Less intrusive use role checking!
5.23.77 2025-02-11
- Move the schema for blog posts to the head element
5.23.75 2025-02-07
- Moved posts and map block to use block.json - should fix some of the weirdness.
5.23.74 2025-02-03
- New system for blogs templates!
5.23.71 2025-01-31
- Added magic classes page to the dashboard.
5.23.69 2025-01-21
- icons in the editor
5.23.68 2025-01-15
- Added support for lots of new social media links!
5.23.67 2025-01-14
- Seamless masthead now works for background blocks with images as their background in addition to hero blocks.
5.23.65 2024-12-05
- Added support for the new WooCommerce single product image viewer and EWWW Image Optimizer picture webp rewriting.
5.23.63 2024-12-04
- the manager role capabilities so that they are updated correctly when plugins are activated, deactivated, and when the theme is switched. This should be the final fix for this. Hopefully.
5.23.61 2024-12-04
- readme
5.23.60 2024-12-02
- Updated the onboarder templates to use the new block markup.
5.23.57 2024-11-29
- the bookings product block so that the current day is no longer highlighted on intial load.
5.23.55 2024-11-18
- Updated for compatibility with Wordpress 6.7.
5.23.52 2024-11-15
- Gravity Forms quiz styling and support.
5.23.43 2024-11-07
- We no longer rely on ACF to display the post meta fields. We now use the native meta fields that come with WordPress. This should make it easier to maintain and update the theme in the future.
- ol and ul lists in the editor that were not displaying the list style.
- the order of the metafields in the post edit screen.
- Hid the display of the handle-order-higher and handle-order-lower buttons in the post edit screen.
- a Gravity Forms styling issue where the admin menu was not being styled correctly and appearing white.
5.23.36 2024-11-05
- Added support for preloading the first image in a post or page.
5.23.34 2024-11-04
- the menu name truncation for long menu items in WP Dashboard.
5.23.33 2024-11-04
- Added support for woff and woff2 mime types. You can now upload woff and woff2 files to the media library and use font-face statements to use fonts in your theme locally.
5.23.30 2024-10-30
- Push out the new styles and color scheme for the admin dashboard.
5.23.25 2024-10-10
- Group should be full width of the container if its inside a column.
5.23.24 2024-10-07
- media modal when trying to select media in the frontend. Wordpress is doing this in an absolutely archaic way that just does not jive with css grid.
5.23.23 2024-10-02
- the gallery alignfull margin.
5.23.22 2024-10-02
- the media library so that the attachments are no longer very wide on the modal view.
5.23.21 2024-10-02
- Added new experimental media styles for the media library.
5.23.11 2024-09-27
- Re-ordered the menu items in the admin area. Posts, Pages, and Media are now below the dashboard… ALWAYS
5.23.10 2024-09-27
- some admin styles for pages that only show up every so often, like the admin email checker and the update page.
5.23.08 2024-09-27
- Added new experimental admin styles for multisite.
5.23.07 2024-09-27
- Added new experimental admin styles
5.23.04 2024-09-26
- Added dark mode to the admin multisite menu.
- Better multisite menu styling.
5.23.01
- Scoped the login styles to the login page only.
5.23.00 2024-09-26
- Added new login styles to fix the checkbox
5.22.99 2024-09-25
- Added checks to fix js error that happened on landing pages with no menus.
5.22.98 2024-09-23
- fix 3 week view
5.22.95 2024-09-16
- error in roles.php
5.22.83 2024-09-09
- Added packery gallery style.
5.22.82 2024-09-07
- Different styles for gravity form address fields that have country code vs just United States.
5.22.81 2024-09-05
- Remove unused woo image styles. Fixes for new editor styles.
5.22.68
- Major overhaul to editor styles. Now using the native add_editor_style to enqueue our site.css, isntead of building an editor.css file that tries to wrap everything inside of classes. This should make the editor more accurate to the front end, and keep it more future proof. This will also allow pattern and block previews to work as expected.
5.22.65 2024-08-26
- Use new native pattern loader Remove some legacy cleanup code that was no longer necessary, less code is better code.
5.22.63 2024-08-26
- Kill attachment pages for images.
5.22.57 2024-08-21
- Set navlinks to center. Basically just for the edge case where users try to put way too many things in the menu and they span multiple lines, even on desktop.
5.22.56 2024-08-20
- Add font family name to theme.json
5.22.55 2024-08-13
- More error handling to filter.js
5.22.54 2024-08-13
- subtle border utlity classes. Added loggedin:show class Added socialshtml class.
5.22.51 2024-08-02
- Moved some deferred styles out to the main stylesheet.
- defer no more
5.22.50 2024-07-26
- Add DNS prefetch for cdn images
5.22.48 2024-07-26
- Handling for disabled inputs
5.22.47 2024-07-22
- cart styles for new woocommerce
5.22.46 2024-07-22
- navlinks in WP 6.6
5.22.45 2024-07-19
- link-no-underline class fix header link weight
5.22.44 2024-07-19
- Added support for marquee block FIX: Fix typography for wordpress 6.6
5.22.43 2024-07-10
- Add more embed ratios for wp block embed.
5.22.40 2024-07-02
- Adjusted the css for gravity forms to now use CSS grid so that backend adjustments are more present on the frontend.
5.22.39 2024-06-26
- No longer hide menu when drawer is open
- fix case where not all images have captions.
- image captions working
- begin woo captions
5.22.34 2024-05-29
- columns max width in editor
5.22.33 2024-05-28
- Update gravitfy forms css to have consistent spacing when the sublabel is both above and below the input.
5.22.31 2024-05-20
- the null thing where sometimes it wasn’t saving out right.
5.22.28 2024-04-30
- error where sometime a 0 value did not get saved in the customizer, instead it was seeing it as null and reverting to the default value. Added new editor styles to remove some of the jumpiness of appenders and inserters.
5.22.26 2024-04-25
- Enable different logo on scroll.
5.22.25 2024-04-23
- Compatibility for the WP Query block, and the Woo Product Block Update Templates for WooCommerce 8.8
5.22.22 2024-04-11
- Added giant warning screen when the blog is set to private.
5.22.21 2024-04-09
- Remove leading spaces
5.22.20 2024-04-03
- Wordpress 6.5 Support
5.22.19 2024-04-02
- Added AND and OR to post block query builder.
5.22.18 2024-04-02
- Hide SEO Robots option to prevent people from getting in trouble.
5.22.17 2024-03-28
- video embeds aspect ratio.
5.22.16 2024-03-26
- Added better handling for important css FIX: Fixed the buttons for not ruining page layouts when very long.
5.22.15 2024-03-22
- Changed the logos to be included via actions, so that we can deregister and replace the logo action from plugins.
5.22.12 2024-02-22
- Add some normal-print styles for sections that are within a reverse-print block.
5.22.10 2024-02-20
- Remove py-block from columns layout.
5.22.09 2024-02-19
- Added default support for YARPP with a custom template and options in the customizer if the plugin is enabled. NEW: Added option to display the post meta either above or below the post content on single blog pages.
5.22.08 2024-02-06
- alignwide group blocks within alignwide.
5.22.06 2024-02-05
- grids in the editor that were not in a section block. This was a CSS issue that only affected the editor. FIX: Fixed grids not correctly displaying the grid gap in the editor by moving the default value to the variable declaration, isntead of declaring a default value for the variable itself. UPDATE: New icon background for dirigible UPDATE: Map and Posts block uses the new icon background.
5.22.05 2024-02-01
- Style Update: Made the ‘group’ block always be full width of its parent.
5.22.03 2024-01-31
- JK, now we’ve fixed the lightbox. (Fixed the lightbox for images that are taller than the viewport.)
5.22.02 2024-01-30
- Finally truly maybe almost actually fixed the lightbox?
5.22.01 2024-01-30
- You can now set the maximum amount of form submissions allowed in an hour for Gravity Forms. This is useful for preventing spam. The default is 5, and is calculated by user IP address globally across the site. This means that if a user submits 5 forms in an hour, they will be blocked from submitting any more forms for an hour. This is a global setting, and cannot be set on a per-form basis.
5.22.00 2024-01-29
- Kill logs that were logging the image mime type array every time it was used.
5.21.97 2024-01-22
- Add tag option to block archive.
5.21.96 2024-01-22
- Added some scaffolding to post cards markup.
5.21.93 2024-01-16
- Enable tags on Posts block. This allows users to display their tags anywhere they display posts.
5.21.92 2024-01-16
- Add action to footer so that we can hook into it to add content.
5.21.91 2024-01-09
- desktop popup when the popup is in the right hand corner.
5.21.89 2024-01-02
- Update onboarder with new block markup.
5.21.88 2023-12-15
- embeds aspect ratio
5.21.87 2023-12-12
- login rememberme input.
5.21.86 2023-12-12
- link size inheriting
5.21.84 2023-12-07
- lightbox for safari!
5.21.83 2023-12-06
- Support classes for new grid card
5.21.82 2023-12-05
- woo for new bookings plugin updates!
5.21.79 2023-12-01
- Update image galleries with new lightbox.
5.21.78 2023-12-01
- Add IP rate limiting to gravity forms!
5.21.75 2023-11-28
- Deferring styles test
5.21.74 2023-11-27
- Update bookings-weekly.php
- myOrder
5.21.72 2023-11-27
- Change subtle input css ordering
5.21.71 2023-11-27
- Get attachment url differently for logo
5.21.70 2023-11-27
- Add new deferred style sheet. Explicitely declare logo width and height.
5.21.69 2023-11-27
- the 404 template loader when not selected.
5.21.68 2023-11-22
- Remove some old actions than run when they shouldn’t.
5.21.67 2023-11-22
- Center menus vertically
5.21.66 2023-11-22
- WooCommerce fix for new version.
5.21.65 2023-11-22
- Bump bundled ACF version for PHP 8.1 compatibility.
5.21.64 2023-11-20
- permissions for woocommerce. Again.
5.21.63 2023-11-20
- Edit users
5.21.62 2023-11-20
- Remove support for old google analytics.
5.21.61 2023-11-17
- Add X to socials.
5.21.60 2023-11-16
- New helper class for block API update (p-margin-0)
5.21.58 2023-11-14
- stripe “save info” checkbox.
- T&C checkbox.
- 404 default template.
5.21.56 2023-11-09
- Added weekly stuff for bookings view
5.21.55 2023-11-09
- range control
5.21.53 2023-11-02
- coupon post method
5.21.52 2023-11-02
- Move coupon out of checkout form
5.21.51 2023-10-30
- Revert to stock woocommerce checkout tables
5.21.50 2023-10-24
- Bump woocommerce versions
5.21.49 2023-10-16
- Merge branch 'master' of https://github.com/DirigibleStudio/dirigible-studio-5
- remove period from url sanitization for delta linkedin link
5.21.46 2023-10-11
- Add alt to lightbox.
5.21.44 2023-10-11
- Update to product grid styling
5.21.43 2023-10-11
- Update to product grid styling
5.21.42 2023-10-05
- table outline
5.21.41 2023-10-05
- table scroll bars
5.21.39 2023-10-02
- Rewrote our lightbox to be native js!
5.21.38 2023-09-26
- Revert - bookings check IS initialized.
5.21.37 2023-09-26
- Remove bookings check - not sure if its initialized yet.
5.21.36 2023-09-26
- Add bookings post type to cron job.
5.21.35 2023-09-26
- batch limit!
5.21.34 2023-09-26
- Update cron worker to every 5 minutes.
5.21.33 2023-09-26
- Change the auto-delete worker to a cron job instead of on page load.
5.21.32 2023-09-26
- More year options for order auto-delete.
5.21.31 2023-09-26
- Remove trashing, just delete it.
5.21.30 2023-09-26
- Change default batch size to 10.
- Update options.json
5.21.29 2023-09-26
- Add more batch sizes.
5.21.28 2023-09-26
- Add batch size to auto-delete old orders.
5.21.27 2023-09-26
- Added auto-delete old orders functionality. BE CAREFUL!!!
5.21.26 2023-09-25
- Added url arguments to the today’s booking page for the bookings.
5.21.24 2023-09-18
- Add support for woo product bundles extenstion.
5.21.21 2023-08-17
- automate woo unsubscribe form
5.21.20 2023-08-17
- Support for woocommerce plugins: automate woo, square, twilio, subcriptions, and bookings. Adds option to control Related Products text.
5.21.19 2023-08-16
- Support of woocommerce bookings blocks.
5.21.17 2023-07-21
- deprecation errors for php 8.2 for DS Licensing Fix stylesheet for tribe events calendar pro not getting correctly enqueued.
5.21.16 2023-07-13
- Change form acf fields to be registered in the acf/init hook.
5.21.15 2023-07-11
- Added a very strong warning message to people onboarding their sites a second time.
5.21.14 2023-07-10
- Added option to limit the popup to only show on selected pages.
5.21.11 2023-06-13
- Allow admins to embed iframes in multisite installs.
5.21.10 2023-06-12
- Allow managers to edit CSS in customizer for multisite installs.
5.21.09
- Specify border utility classes for desktop.
5.21.08 2023-06-06
- Add darken border color.
5.21.07 2023-06-05
- the uploaded in the Generate Content part of the site.
5.21.06 2023-05-31
- Editors and administrators can now edit privacy policy options and pages.
5.21.04 2023-05-25
- Admins can now edit users on multisite with the user role editor plugin.
5.21.01 2023-05-25
- Recognize update
5.21.00
- Re-add login template.
5.20.99 2023-05-25
- Merge changes
5.20.98 2023-05-25
- Added login template.
- remove space at beginning of images.php
5.20.94 2023-05-12
- Added class aliases for CB.
5.20.93 2023-05-12
- ACF image origin display
5.20.92 2023-05-11
- GF error styling
5.20.91 2023-05-10
- Featured image width
5.20.90 2023-05-09
- onboarder colors
5.20.89 2023-05-09
- Update onboarder with images.
5.20.88 2023-05-04
- Add support for actions, typography themes, and palette selection to onboarder.
5.20.87 2023-05-04
- Add support for alignleft and alignright.
5.20.86 2023-05-02
- is-style-p A fix.
5.20.85 2023-04-27
- Gravity Forms fixes:
- text size for forms when text size increase option is enabled on blog single pages
- description margins when below the input
- product with radio buttons line height issue
- ‘other’ option on radio buttons styling FIX: Reverse print embed input text is now legible in the placeholder block box in the editor
5.20.83
- Change sidebar breakpoint on blog to happen earlier for tablets.
5.20.82 2023-04-25
- custom post single pages for sites that use blog post styles.
5.20.81 2023-04-25
- ENHANCEMENT: Add block styles to post title block.
5.20.80 2023-04-24
- alignwide separator.
5.20.79 2023-04-21
- Style for select all button in gravity forms.
5.20.78 2023-04-21
- Adjust KSES to allow iframes and scripts
5.20.77 2023-04-20
- button transform when hollow button is applied.
5.20.76 2023-04-18
- Re-implement the disabling of legacy markup, but doing with the workaround for gravity forms object casting error.
5.20.75 2023-04-17
- gravity forms lists.
5.20.74 2023-04-13
- Disable post features for blog category archives.
5.20.73 2023-04-13
- for aligncenter images.
5.20.72 2023-04-13
- for new gravity forms version throwing a fatal error. ENHANCEMENT: Added options for single post page including: background, text size, border top, new layouts.
5.20.71 2023-04-10
- ENHANCEMENT: Automatically add an h1 to blog posts that don’t have one.
5.20.70 2023-04-10
- ENHANCEMENT: Add h1 to archive pages that have post features.
5.20.69 2023-04-06
- Re-arrange CSS to be per-block. UPDATE: Block styles are now integrated into the block stylesheet to minimize number of assets loaded.
5.20.68
- Add CSS to wordpress table block.
5.20.67 2023-03-31
- Variable products with more than 5 variations now show as a dropdown select instead of a radio button tag list. FIX: Fixed a bug with variable products that shared a name causing ID’s to collide.
5.20.66 2023-03-29
- Mobile menu options galore. You can now choose:
- Hamburger Icon style, size, and color. Close Menu Icon style, size, and color. Drawer menu width. The overlay color and opacity when the drawer is open.
- Mobile options have been moved to the mobile section of the header. Slight renaming of customizer panels to be more accurate and descriptive.
5.20.65 2023-03-27
- Better compatibility for gravity form stripe fields.
5.20.63 2023-03-27
- Allow scrollable mobile menus in case something goes really, terribly wrong with site hierarchy.
5.20.62 2023-03-27
- mobile menu drawer not appearing for odd breakpoint settings. UPDATE: New layout for better comment readibility and ux on mobile. UPDATE: Post prev/nav will be exactly half width, rather than expanding to fit text length.
- nija update
5.20.61
- Changed some editor css for alignwide.
5.20.60 2023-03-22
- IMPROVEMENT: Moved gravity forms to their own CSS file that only loads if it’s installed.
5.20.58 2023-03-21
- Compatible with new version of gravity forms.
5.20.57 2023-03-21
- dirigible.js no longer uses any jQuery!
5.20.56 2023-03-21
- Changed popup js to native js for speed. NEW: Added option to manually change Popup transient in Dirigible Tools. BACKEND: Moved templating for popups to its own directory. BACKEND: Moved popup js to only load if enabled. BACKEND: Added generalized tool scaffolding to make it easier to add tool modules.
5.20.54
- GDPR now uses native javascript instead of jquery.
5.20.53 2023-03-17
- pop up with a lot of content or very tall forms on mobile. This way users can actually exit out of it.
5.20.52 2023-03-16
- Moved event calendar css to the block itself.
5.20.50
- Added soundcloud to socials
5.20.49 2023-03-13
- GDPR Banners are finally here! UPDATE: Reposition Customizer Header and Footer settings so so there’s less bopping around - Appearance settings are all now consolidated under Appearance.
5.20.48 2023-03-13
- sticky header button text color in circumstances where the hero is seamless and gets reverse print applied, but is not reverse print on scroll.
5.20.47 2023-03-13
- sanitizer errors for popup toggles FIX: Fixed border radius for popup when sites have very large values for button border radius.
5.20.46 2023-03-09
- Support for DS Products plugin.
5.20.45 2023-03-08
- Added aria accessibility tags to search labels.
5.20.44 2023-03-08
- Better checkboxes!
5.20.43 2023-03-08
- New version of woo product add-ons.
5.20.42 2023-03-08
- for WooCommerce product add-ons.
5.20.41 2023-03-08
- sanitizer for popup text fields.
5.20.40 2023-03-07
- Gallery block widths.
5.20.39 2023-03-06
- styles for multisite user registration. Also fixed some of the random WordPress user interaction pages, they should be more consistent now.
- readme
5.20.38 2023-03-02
- sanitizer for blog card Read More link text field.
5.20.37 2023-03-02
- Add gutter src declaration for rs-gutter class.
5.20.36 2023-03-02
- link underline appearing on search cards for the search page. Fix gallery width in Safari. New Single Post featured post for blog page.
5.20.35 2023-02-27
- Multi page form fix
5.20.33 2023-02-27
- hero and photo feature alignwide display.
5.20.32 2023-02-23
- Slight styling tweaks for posts block.
5.20.31 2023-02-22
- Support for new Events properties
5.20.29 2023-02-17
- Remove h1 styling from page title in editor.
5.20.28 2023-02-17
- New styles to pick from in the onboarder. FIXED: Import/Export styles and settings works better and more reliably.
5.20.27 2023-02-15
- space-x and space-y now respects hidden elements
5.20.25 2023-02-13
- Alignwide thick hr fix.
5.20.24 2023-02-13
- Added a sanitizer to handle military time for Dirigible Hours.
5.20.22 2023-02-10
- sanitizer for social media accounts.
5.20.21 2023-02-10
- DEV UPDATE: We now sanitize every single theme mod option. Vulnerabilities? Gone. UPDATED: New post meta and prev/next options! IMPROVED: Improved post schema implementation is no longer dependent on markup, and provides more information.
5.20.20
- UPDATED: Updated the onboarder templates layouts as well as updated all block markup version so deprecations no longer occur. FIX: Fixed some understated button weirdness in the editor.
5.20.19 2023-02-08
- some separator bugs inside of columns
5.20.18 2023-02-08
- Add CSS var defaults to separators.
5.20.17 2023-02-08
- We’ve cleaned up the existing separators and added the separators that we found ourselves often custom coding into client websites as core options. You can access them through block styles. Options: Default, Wide, Dots, Thick, Accent, Vertical, Mark, Weighted, or Fading. NEW: Added some more utility colors to the default Wordpress color picker.
5.20.16 2023-02-06
- a bug where anchor links in tag lists get the wrong text size.
- post titles
5.20.15 2023-02-06
- background padding for single.php blog posts.
5.20.14 2023-02-02
- Title fix.
5.20.13 2023-02-02
- Added granular options to change the sidebar display on a per-post basis!
5.20.12 2023-02-02
- Reset block widths for single blog posts with a sidebar. IE, make sure all the alignwides and alignfulls all line up nice and neat.
5.20.10
- Single blog posts can sidebars independently of the main blog page.
5.20.09 2023-02-02
- Featured Post styles for the blog, including: Wide, Full, Strips, or Uniform. Each of these styles can use the card styles: Inset, Overlay, Stretch, or Reverse. NEW: Blog styles galore! Rather than just grid or list, you can now use Columns, Adjacent, or Magazine styles on the blog. NEW: Added option to hide sidebar on mobile. PLUS: All these new formats have been added to the Posts block. DEV: Move blog template from index.php to template file to allow overriding in child theme. Break out all blog related files into templated options.
5.20.07 2023-01-25
- Allow buttons to be hidden on the grid.
5.20.06 2023-01-25
- Menu and logo height will now correctly show size change previews in customizer.
5.20.05 2023-01-25
- Added a customizer setting to change the desktop dropdown width.
5.20.03
- backend spacing for how the new version of Wordpress handles it. Remove link underlines on post previous/next buttons.
5.20.02 2023-01-23
- Remove fixed backgrounds on mobile. Add data attribute tags for easy css hooks.
5.20.00
- Add data property css hook for mega menu.
5.19.99 2023-01-17
- a bug where bottom borders on links in the body were not showing up.
5.19.98 2023-01-16
- z-index hover issue when a normal submenu was listed before a mega-menu.
5.19.97 2023-01-16
- Enable block spacing for core blocks.
5.19.96 2023-01-09
- the gravity forms honeypot sometimes causing massive x overflow.
5.19.94 2023-01-06
- nav link reverse print mobile menu colors.
- change phone schema in footer to telephone
- readme
5.19.92 2022-12-19
- Changes to post meta footer to be more consistent.
5.19.91 2022-12-13
- multiple ids for search form submit..
5.19.90 2022-12-13
- multiple form labels for searches. FINALLY!
5.19.89 2022-12-09
- array offset errors for missing images in the blog archives.
5.19.88 2022-12-09
- PHP error in blog post images for edge cases.
5.19.86 2022-12-09
- PHP warnings when there is no menu assigned in the footer.
5.19.85 2022-12-09
- PERFORMANCE UPDATE We now only load IE compatibility scripts if we are on IE. We now only load parallax if its enabled. Total theme scripts on every page load from 50kb to 17kb.
5.19.84 2022-12-09
- menu cart for reverse print headers
5.19.82 2022-12-09
- Remove account and cart buttons from mini cart sidebar widget. Fix header for indicator on reverse and primary bgs.
5.19.81 2022-12-08
- Stop the ajax on page load.
5.19.79 2022-12-07
- WOO: Only do ajax if we need to. If there is no cart icon, don’t bother.
5.19.78 2022-12-07
- sold out items badge not being in teh center FIX: Hollow buttons
5.19.77 2022-12-07
- Lead cart specific things via ajax, which will allow cacheing of non-shop pages!
5.19.76 2022-12-05
- Add and functionality to change the “Required” prompt for form fields that are required. Fix index.php opening php tag when requiring the footer.
5.19.75 2022-12-02
- –card-darken will now respect the gray color chosen on white backgrounds, and changes to white on gray backgrounds. It works the same on any other background color.
5.19.74 2022-12-01
- hotfix for the word break fix!
5.19.73 2022-12-01
- Revamp search result page. Update all woocommerce templates that were out of date.
5.19.72 2022-11-29
- Change empty links from nofollow to spans for better SEO.
5.19.71 2022-11-29
- Add gravity form referrer.
5.19.70 2022-11-28
- Update gravity.php
5.19.68 2022-11-28
- Added text background option to hero.
5.19.67 2022-11-22
- Add nofollow to empty links
5.19.65 2022-11-22
- Support for 6.1.1 Search page input clarity Fixed gravity forms fields, including Date and Products
5.19.63 2022-11-21
- replace only the first instance of ginput_total in gf total fields
5.19.52 2022-11-08
- change role creation to admin init
- 6.1
- filter to action
- confirm that managerRole exists before checking for denied caps
- add shop assistant role
5.19.30 2022-09-15
- Merge branch 'master' of https://github.com/DirigibleStudio/dirigible-studio-5
- popup
- added margin left and right auto to handle non full width sites
5.19.18 2022-08-16
- added wistia support to oembeds
5.19.17
- Added support for Wistia in Wordpress oEmbeds.
5.19.13 2022-08-10
- Update kses.php
5.19.12 2022-08-08
- moved after customer details hook to not break flex layouts
5.19.07 2022-07-18
- add 'view_admin_dashboard' cap to manager role
5.18.87 2022-05-24
- add plugin functions
- update role declaration as well
- updating map meta check for manager rules to allow unfiltered html
5.18.77 2022-04-29
- NEW! Change your logo size on mobile or on scroll. We’ve found ourselves adding this with custom css on so many sites we decided to add it into the base theme.
- NEW! Use the utility menu to display straight banner text if you’d like.
- FIX! Utility nav font size is fixed for onboarder themes.
5.18.74
- More scrolling options
5.18.72 2022-04-28
- Better .rs-link class
5.18.71 2022-04-28
- mobile paragraph size getting the ‘small’ size assigned instead of the ‘mobile’ size.
5.18.69 2022-04-22
- Mini cart in sidebar fix.
5.18.66 2022-04-22
- Authorize.net support
5.18.65 2022-04-22
- Local pickup plus edits
5.18.64 2022-04-22
- Remove more stock card darkening, replace with site palette gray darkening.
5.18.63
- Substantial changes to the WooCommerce dashboard, checkout, and cart pages. More consistently use theme colors.
5.18.60 2022-04-14
- for number inputs on gravity forms.
5.18.59 2022-04-13
- UseInnerBlockProps smarter support for appenders. Goodbye extra dom elements!
5.18.58 2022-04-13
- Update permissions for bookings.
5.18.56 2022-04-07
- ADDED: Tailwind gap
- Child card appenders
5.18.55 2022-04-06
- mobile version of utility menu.
5.18.54 2022-04-06
- menu overlay.
5.18.53 2022-04-04
- Support for grid gap.
- throttle
5.18.52 2022-03-31
- Throttle quicklink to 2 concurrent requests.
5.18.49 2022-03-30
- More hover states!
5.18.46 2022-03-25
- NEW! Structured Lists now support both block widths AND an entirely new grid layout! Welcome to the future.
- DEV NOTE: Support block level grids for structured list.
5.18.44 2022-03-25
- Moved structured list css from block instance to themewide css.
- Merge branch 'master' of https://github.com/DirigibleStudio/dirigible-studio-5
- reset unfiltered HTML settings
- reset unfiltered HTML settings
- explicitly add unfiltered_html cap to manager role
- try fixing unfiltered_html errors for the manager role
5.18.40 2022-03-25
- Quicklink redux. Better implementation of quicklink that will ignore dashboard links, ajax requests, nonces, etc.
- Removed some of the notifications when our plugins are not licensed.
- dequeue quicklink due to conflicts with woocommerce
5.18.38 2022-03-21
- Add quicklink.js
5.18.37 2022-03-18
- Customizer accessibility and branding updates.
5.18.36 2022-03-17
- Simplify login
5.18.35 2022-03-17
- Internal style fixes for the dashboard.
5.18.34 2022-03-17
- More consistent use of branded colors in dashboard.
5.18.33 2022-03-17
- Light theme now uses blue instead of orange for active states.
5.18.32 2022-03-17
- update icons
5.18.31 2022-03-17
- Mobile dashboard.
5.18.30 2022-03-17
- Better UI for the dashboard.
5.18.29 2022-03-02
- Better layout for image placeholder in Columns.
- Slider support for variable heights.
5.18.27 2022-03-01
- FIX! Blocks with the circle style now have the correct height
- FIX! Image blocks now play nicely with column justification and alignment
5.18.26 2022-02-28
- Added support for the new Socials block!
5.18.24 2022-02-24
- Re-layout a few onboarder pages and add some guiding text to clarify things like what the street address and email entered here is actually used for.
5.18.23 2022-02-24
- a typo in the onboarder.
5.18.22 2022-02-24
- Bump bundled version of ACF to 5.12
- New circle logo for Dirigible admin page! This behaves more in line with other icons in the editor.
5.18.21 2022-02-24
- NEW! Set default settings for new blog posts, including Featured Image, Title, and Meta. This way, if you find yourself changing the same settings every time on blog posts, you can just set it site-wide!
- More internal font weights for Poppins.
- Updated some visual elements and prompts in the Onboarder.
- some customizer styles.
- split scroll paddings. It will now respect sticky and non sticky menus sensibly.
5.18.20 2022-02-23
- Load fonts internally for dashboard.
5.18.18 2022-02-23
- Why should wavy background transitions be confined only to the elite admins and superadmins? We won’t stand for it! Wavy blocks for all.
- We’ve fixed kses killing preserveAspectRatio for svgs.
5.18.17 2022-02-23
- Say goodbye to block deprecations. Fixed some crucial KSES errors that were killing blocks for non superadmins and admins.
5.18.09 2022-02-21
- some blockquote formatting.
5.18.07 2022-02-17
- Better appenders, all around. Should work more like expected.
- Move Columns and Column to apiVersion 2.
- Move Slider to apiVersion 2
- Move Timeline to apiVersion 2
- Move Logos to apiVersion 2, refine funtionality
5.18.06 2022-02-17
- Force use of Dirigible Admin Theme
- inserters when no content is in Inner Blocks
5.18.04 2022-02-15
- New! Backend light and dark mode for Dirigible Styles
- Added quick links in the dashboard to important backend functionality!
- grid-template-columns: repeat(4, 1fr);
5.18.00 2022-02-13
- New backend style
5.17.99 2022-02-11
- More options for the post block.
- Add a new welcome screen.
5.17.95 2022-02-09
- some tribe event settings.
5.17.93 2022-02-07
- Support block icon colors.
5.17.92 2022-02-04
- gallery styles
5.17.91 2022-02-04
- new gallery style
- groups in the editor
5.17.90 2022-02-03
- Add block styles to groups, include WELL and BORDER
- separators
5.17.89 2022-02-03
- Block size and column support
5.17.88 2022-02-03
- Add support for grid inside columns
5.17.87 2022-02-02
- Add support for overlay gray and muted
5.17.86 2022-02-01
- grid appenders.
- 4.17.85
- additional css so its correctly namespaced
5.17.83 2022-01-31
- NEW! Link in Bio pages and the blocks have been added!
5.17.82
- Add support for link in bio pages and blocks.
5.17.81 2022-01-27
- Adds Wordpress 5.9 support. Removes temporary fix for Chrome copying and pasting.
5.17.79 2022-01-24
- Allow tags as a list style.
5.17.78 2022-01-24
- some all caps stored in html on showcase template. Allow google maps to be saved again.
5.17.77 2022-01-19
- Adjustment for layout-blocks not contained in background block.
5.17.76 2022-01-19
- Allow for meta tags that schema needs. Fixed some editor formatting.
5.17.75 2022-01-14
- white src rgb.
5.17.74 2022-01-14
- alignfull footer permuations.
5.17.73 2022-01-13
- alignwide in editor.
5.17.72 2022-01-13
- Hotfix for footer margin permutations
- fix footer
5.17.71 2022-01-13
- Added infrastructure to support DS Footer Plugin theme overriding.
- Footer no longer has special CSS rules.
5.17.70 2022-01-13
- Rename header styles to be more clear.
- Remove beta theme.json file that was causing errors when no child theme was used.
5.17.69 2022-01-12
- Temporary Fix for Google Chrome adding random meta tags and killing post editing. This was a fucking doozey.
- Support for WooCommerce 6.1
- Move licensing init to admin.
- Bump up bundled ACF version to most recent!!
5.17.68 2022-01-11
- readme
5.17.67
- Add CSS support for default select box in customizer.
5.17.66 2022-01-07
- Revamp tools page.
5.17.64 2022-01-06
- Add relative page dots for flickity.
5.17.63
- Sticky split scroll
5.17.62 2022-01-05
- Add classes for body, display, and alt fonts.
- Add styles to headings for body, display, and alt fonts.
- Update booking-addons.php
5.17.61 2022-01-03
- Add product add-ons support for Bookings Today page.
5.17.60 2022-01-03
- woocommerce admin on bookings page.
- Ensure line wrap works on bookings today page.
5.17.59 2022-01-03
- bookings empty posts handler.
5.17.58 2022-01-03
- Add manage_bookings to manager role.
5.17.57 2022-01-03
- Add pseudo styles to headings.
5.17.56
- Move bookings today from page to subpage under ‘Bookings’.
5.17.55 2021-12-30
- Order link on Bookings Today page now goes to correct url.
5.17.54 2021-12-30
- Update bookings format
5.17.53 2021-12-30
- php 7.4 error
- Update bookings format
5.17.51 2021-12-30
- Better display for bookings in customer dashboard
- New ‘Bookings Today’ page for admin users to see all the bookings taking place today.
- Search
5.17.50
- search results pages with less than 3 results
5.17.49 2021-12-20
- Drops support for the old ACF version of the gallery altogether.
- Change ACF blocks to use templates rather than callbacks.
5.17.48 2021-12-17
- Add space-y-block
- readme
5.17.47 2021-12-17
- Adds breadcrumb template support, as well as some fixes for manifest.
- update readme
5.17.46 2021-12-16
- Correctly minify CSS for theme variables. No longer removes spaces inside of quotations.
5.17.45 2021-12-14
- Alignwide in the block editor now 56rem.
- Header Refactor
5.17.44
- Menu buttons! Visit Customizer>Header>Button to set a custom menu button for your header. There’s no longer any need to mess around with arcane classes in the Wordpress menu editor.
- Stacked menu style! This shows the logo on one line and the menu underneath it.
- Nav item spacing is now a setting in Customizer>Header>Appearance and no longer relies on the padding style in Customizer>Styles>Nav.
- All nav and utility nav heights to Header in customizer. These work more reliably and calculate correctly for full-height headers.
- Allow you to choose menu breakpoint in customizer
- Choose footer social icon sizes.
- Woo Product Category widget is now supported.
- Nav Link padding is a new feature in Customizer>Styles>Nav that allows you to adjust the click area for nav links. If a nav link has a background color on hover, this will now also determine the size of that background as it will fill the padded space.
- There are too many fixes to count, but notably:
- Menu item edge cases should be resolved. No longer will there be phantom padding or disappearing padding on the menu edges.
- Styles added in Customizer > Additional CSS will now attempt show in the block editor. Note: the block editor DOM markup can be different from the frontend, in which case the styles will not properly appear. Should mostly work for core blocks.
- Moved cart AJAX to a template, making it much more reliable.
- Menu templating has been overhauled and should be much easier to understand.
- Customizer previews work more reliably! Phantom elements are now inserted when things are disabled in the customizer (like the menu cart), which gives them a DOM hook to pop in again when they are then enabled.
- Menu hooks for customizer are fixed, so multiple copies of the menu don’t get added when you change something. This not only makes customizer faster, but also fixes the stacked accent border problem whenever anything was changed.
- Menu height is no longer tied to nav link height, making it much more flexible.
5.17.35 2021-12-01
- ginput_container_fileupload
5.17.17 2021-11-23
- update roles permissions for platform
5.17.07 2021-11-05
- Update reset.php
5.16.99 2021-10-25
- reenqueue selectWoo for checkout field editor compatibility
- added many tribe events permissions to manager role
- update popup module z-index
5.16.90 2021-10-05
- remove error log
- merge master into local
- add additional privacy capabilities to manager role via map_meta_cap action.
5.16.56 2021-07-12
- Update sidebar.php
5.16.49 2021-06-30
- Add Prettier
5.16.39 2021-06-23
- Update style.css
- fix flash
5.16.33 2021-06-21
- Update fields.php
5.16.20 2021-06-14
- Update enqueue.php
5.16.9 2021-06-09
- Update index.php
5.16.6 2021-06-03
- Update list-card.php
5.16.4 2021-06-02
- Update style.css
5.13.19 2021-03-17
- Update product-thumbnails.php
5.13.8 2021-03-16
- tailwind woo
5.13.6 2021-03-11
- Woo mini nav fix
- Arrange Gutenberg
5.13.1 2021-03-08
- minify
5.13.0 2021-03-08
- tailwind intermediate
- move to tailwind
5.12.18 2021-03-02
- remove some dom stuff
5.12.9 2021-02-25
- Update style.css
- update for woo
- Update page.php
5.12.3 2021-02-25
- compress tribe
5.11.19 2021-02-22
- header fix
- Fix Menu Stuff
5.11.15 2021-02-19
- Detect first block
5.11.0 2021-02-18
- update woo
- move woo inc
- acf update
5.9.35 2021-01-14
- updating licensing for plugin + theme simultaneously
- Fix woocommerce slider breaking previews.
- Fix forms
- Fix Menu
- rows of 5
- fix ids
5.9.28 2021-01-13
- fix password form
- 5.9.265.9.26
5.9.24 2021-01-08
- fix page numbers
5.9.21 2021-01-08
- update cart
- Update reset.php
- Update page-landing.php
- more collection types
- Table update
- change to jawg
- Open Map Support
- Uniform tags and forms on products page
- typo fix in css
- cart margins
- local pickup fix
- fix header cart
- local pickup plus style
- local pickup plus support
5.9.7 2020-12-22
- fix fields
- tel fix
- woo fixes
- fix checkout
- update licensing defaults
- push version
- hotfix
- save save
- fix-split-scroll
- update inc
- version bump
- All blocks converted
- Block overhaul
- Release
- Bookings fix
- Woo Update
- Woo fixes
- fix grid
- Fix buttons and media blocks
- Rem change
- More robust collections
- .DS_Store banished!
- remove config
- update ignore
- Finish Events
- Locations Done
- Removing another sneaky DS_Store in inc
- Change how the licensing package looks for the theme name to better handle child themes, and testing and add DS_store to gitignore
- CSS Fixes
- Rewrite CSS
- Text Align
- Card Blocks
- Add collections support
- single person page
- Finshed Search Page
- passwords
- Footer Finish
- Footer Templates
- remove images
- Cards
- Switch to templates halfway
- Update enqueue.php
- NO MORE FONT AWESOME
- fix people
- add support for bookings
- Fix some woo stuff
- fix lists
- add roles
- Add Manager role
- BG Fixed
- bg theme
- Add support for search block
- better actions for before and after footer specific social media icons
- add actions to footer and footer utility functions
- Plax test
- Add landing page
- Woo fixes
- Woo Fixes
- fix slider
- Fix Buttons again
- Fix for dependency
- Update style.css
- Fix Buttons
- Fix woo login
- fix reset
- fix forms
- Update style.css
- add text color support
- Update \_variables.scss
- update acf blocks for 5.5
- 5.5 Fixes
- fix innerblocks
- 5.5 core blocks fix
- Fix first child editor
- Add gradient easing to backgrounds
- Enable gradients for backgroudns
- Mobile utility menu
- Fix for 5.5
- Fixes for 5.5
- update local
- Fix affiliate theme
- Add all icons
- update latest posts
- add comments
- Add Cover image and embeds
- Cover Block
- Verse and Pre
- updatealignment
- Update gutenberg.php
- Change text align center
- Revert
- sure
- Initial
- Initial commit
0.0.4 2021-03-22
- minify
Built by Dirigible Studio. Get in touch