<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Formulize news</title>
    <link>https://formulize.org/news/</link>
    <atom:link href="https://formulize.org/news/feed.xml" rel="self" type="application/rss+xml" />
    <description>Your very own database. 100% free and open source.</description>
    <language>en</language>
    <item>
      <title>We&apos;re sponsoring Confoo!</title>
      <link>https://formulize.org/news/sponsoring-confoo-2027/</link>
      <guid isPermaLink="false">formulize-news-56</guid>
      <pubDate>Sat, 19 Sep 2026 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;Circle the last week of February 2027 on your calendars, because Formulize is sponsoring &lt;a href=&quot;https://confoo.ca&quot; target=&quot;_blank&quot;&gt;Confoo&lt;/a&gt;, the premier web technology conference in Canada!&lt;/p&gt;

&lt;p&gt;On Tuesday February 23, we’ll be the host sponsor of the community meetups happening that night before the opening day of sessions. We’re very excited to be part of the most grassroots part of the whole event, since Formulize has always been a very grassroots, open source project.&lt;/p&gt;

&lt;p&gt;And throughout the conference we will have a sponsor booth where you can find us showing off all the latest and greatest tips and tricks from Formulize 9, such as…&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Importing and exporting apps, thanks to configuration-as-code&lt;/li&gt;
  &lt;li&gt;Third party integrations through the public API and webhooks&lt;/li&gt;
  &lt;li&gt;All the most cutting edge AI capabilities&lt;/li&gt;
  &lt;li&gt;Configurable events throughout every workflow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So &lt;a href=&quot;https://confoo.ca/en/2027/register&quot; target=&quot;_blank&quot;&gt;get your tickets today&lt;/a&gt;, and come to Montreal in February. We can’t wait to see you there!&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Formulize hosting is open to everyone</title>
      <link>https://formulize.org/news/hosting-open-to-everyone/</link>
      <guid isPermaLink="false">formulize-news-52</guid>
      <pubDate>Tue, 15 Sep 2026 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;For the last twenty years, getting Formulize running well meant doing it yourself, or hiring us to build it with you. Now you can simply buy hosting, on our servers, in Canada, from $49 a month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formulize is still free, and always will be!&lt;/strong&gt; But if you just need a place for it to live, there is now an easy way to solve that problem&lt;/p&gt;

&lt;h3 id=&quot;every-plan-includes-everything&quot;&gt;Every plan includes everything&lt;/h3&gt;

&lt;p&gt;Unlimited forms, unlimited users, unlimited data, and the full AI integration — on every plan. Nothing is held back for paying customers, and there is no cut-down “community edition.” You get the complete Formulize software, and we run the server, keep it patched and monitored, and back it up every night.&lt;/p&gt;

&lt;p&gt;The only thing that changes between levels, is how much of our help you automatically get on top of that:&lt;/p&gt;

&lt;h4 id=&quot;we-host-it&quot;&gt;We host it&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A hosted Formulize system, on our servers in Canada&lt;/li&gt;
  &lt;li&gt;Community support, through Slack, Discord and GitHub Discussions&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;$49 a month&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;we-help&quot;&gt;We help&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A hosted Formulize system, on our servers in Canada&lt;/li&gt;
  &lt;li&gt;An orientation session&lt;/li&gt;
  &lt;li&gt;Unlimited email tech support — tell us what is wrong, and we will tell you how to fix it, within one business day&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;$149 a month&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;we-train-you&quot;&gt;We train you&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A hosted Formulize system, on our servers in Canada&lt;/li&gt;
  &lt;li&gt;Half a day of training&lt;/li&gt;
  &lt;li&gt;Support responses within four hours&lt;/li&gt;
  &lt;li&gt;Your own web address, instead of a formulize.net one&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;$199 a month&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;weve-got-this&quot;&gt;We’ve got this&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A hosted Formulize system, on our servers in Canada&lt;/li&gt;
  &lt;li&gt;Three days of training, system configuration and data migration&lt;/li&gt;
  &lt;li&gt;Phone/zoom support&lt;/li&gt;
  &lt;li&gt;When something breaks, &lt;strong&gt;we fix it for you&lt;/strong&gt; — first reply within the hour&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;$1,199 a month&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://formulize.org/pricing/&quot;&gt;See what is included at every level&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;your-data-stays-in-canada&quot;&gt;Your data stays in Canada&lt;/h3&gt;

&lt;p&gt;Every hosted plan runs on servers in Canada, backed up nightly. How far back those backups reach depends on the plan.&lt;/p&gt;

&lt;h3 id=&quot;formulize-is-still-free&quot;&gt;Formulize is still free&lt;/h3&gt;

&lt;p&gt;Download it, run it on your own server, and pay nothing, forever.&lt;/p&gt;

&lt;p&gt;Formulize will always be fully open source under GPL-2.0, and the master branch is always stable and ready to install, so you do not have to wait for a formal release to get new features.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v8.21</title>
      <link>https://formulize.org/news/v8-21/</link>
      <guid isPermaLink="false">formulize-news-51</guid>
      <pubDate>Thu, 20 Aug 2026 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/902&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-820&quot;&gt;Changes since 8.20…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{element_handle}&lt;/code&gt; in searches to refer to the value in another element. ie: to find all entries in a form where the selling price was greater than the buying price, you can use: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;{buying_price}&lt;/code&gt; as a search term on the selling price column&lt;/li&gt;
  &lt;li&gt;When a linked element shows multiple values from the source entry, searches work for any of the values shown (not just the primary source value as before)&lt;/li&gt;
  &lt;li&gt;OR searches spread across multiple columns are now more readable by using a colon. ie: in a fruit column and a price column, you could search for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OR:apples&lt;/code&gt; for fruit and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OR:&amp;gt;3&lt;/code&gt; for price to find all entries where the fruit is apples or the price is greater than 3 (previously you did this with no colon)&lt;/li&gt;
  &lt;li&gt;In a one-to-many dataset, you can now search for entries on the “one” side that have no corresponding entry in the “many” side. Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EMPTYSET:&lt;/code&gt; to do this. ie: in a dataset where each Client has many Bookings, search a bookings timeslot column with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EMPTYSET:noon&lt;/code&gt; to find all the clients who have no bookings for the noon timeslot (a regular search for “not noon” would not work, because if someone has a noon booking &lt;em&gt;and&lt;/em&gt; a 1pm booking, that person would show up in the results thanks to 1pm being “not noon”).&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New filter types for date elements in list screens: Months of the year, and Last 12 months (as dropdowns instead of making users deal with a manual date range filter)&lt;/li&gt;
  &lt;li&gt;There is now a Copy button to copy the tool parameters and responses in the embedded AI assistant. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about Formulize and AI&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Fixed a bug affecting the saving of code-based content for static content elements&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed a bug affecting the API keys when re-saving AI settings&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v8.20</title>
      <link>https://formulize.org/news/v8-20/</link>
      <guid isPermaLink="false">formulize-news-50</guid>
      <pubDate>Thu, 6 Aug 2026 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/897&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-814&quot;&gt;Changes since 8.14…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;An embedded AI assistant — chat with an AI right inside Formulize to find entries, answer questions about your data, and get help working through your forms and lists (the webmaster needs to turn on the assistant first) &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about Formulize and AI&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Readable dates for searching, ie: “last Thursday”, “June 25”, etc…&lt;/li&gt;
  &lt;li&gt;Multiline textboxes can have a character or word counter, and optionally a limit&lt;/li&gt;
  &lt;li&gt;Shift-click a column header to add a secondary sort order (and tertiary…)&lt;/li&gt;
  &lt;li&gt;Improved handling of conditional elements (so they don’t disappear and reappear just because their trigger value changed)&lt;/li&gt;
  &lt;li&gt;Smoother mobile use of range sliders (no longer jump when you tap the track)&lt;/li&gt;
  &lt;li&gt;Lists now remember your scroll position when you open an entry and come back, and between pages — no more losing your place&lt;/li&gt;
  &lt;li&gt;Bullets for multiple values in lists&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;New configuration concept:&lt;/strong&gt; &lt;em&gt;entries-are-users&lt;/em&gt; forms, and &lt;em&gt;entries-are-groups&lt;/em&gt; forms
    &lt;ul&gt;
      &lt;li&gt;Entries-are-users:
        &lt;ul&gt;
          &lt;li&gt;The form will automatically have user account fields added (username, password, email, etc), plus you can mix and match those elements with elements you define like normal, and control which pages of which screens these all appear on&lt;/li&gt;
          &lt;li&gt;You can specify that users arising from entries in this form should automatically be assigned to certain groups, and the assignment can also be conditional on the values in the entry, ie: if the “Managers” checkbox is checked, assign the user to the Managers group&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Entries-are-groups:
        &lt;ul&gt;
          &lt;li&gt;Groups will be created based on every entry in the form, ie: create a Departments form and every entry will spawn a group that users can be assigned to (&lt;em&gt;bonus points:&lt;/em&gt; add a linked element in an entries-are-users form where a department can be chosen, and set conditional group assignment on the entries-are-users form to automatically make the user a member of the selected group)&lt;/li&gt;
          &lt;li&gt;Specify categories of users, ie: in the Departments form you could create categories for Managers and Staff, so each entry will spawn multiple groups for organizing your users&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Apply new or changed default values to existing entries, and select which existing entries to update (probably the ones that have no value, but you can be more specific)&lt;/li&gt;
  &lt;li&gt;Click &lt;em&gt;Usage&lt;/em&gt; in the list of elements to see everywhere an element is referenced throughout the system. This report also shows up automatically before you delete an element.&lt;/li&gt;
  &lt;li&gt;An embedded AI assistant — connect an AI directly inside Formulize to help you build and configure forms, set up elements, and shape your lists and reports (the webmaster needs to turn on the assistant first) &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about Formulize and AI&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Map Screens:
    &lt;ul&gt;
      &lt;li&gt;a new screen type that displays your entries on a map, with clickable popups that can link straight to the full entry&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;List Screens:
    &lt;ul&gt;
      &lt;li&gt;the initial sorting order can include multiple columns&lt;/li&gt;
      &lt;li&gt;a show/hide admin option for the Hide Repeating Data setting&lt;/li&gt;
      &lt;li&gt;select entries and change their ownership without going into each one&lt;/li&gt;
      &lt;li&gt;choose which connected forms to copy data into when cloning entries&lt;/li&gt;
      &lt;li&gt;Richer filtering: filters now work on standard metadata fields, yes/no dropdowns, and {BLANK} searches, with several subtle interpretation improvements&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Form Screens:
    &lt;ul&gt;
      &lt;li&gt;a new per-page option to disable all elements (good for Confirmation pages)&lt;/li&gt;
      &lt;li&gt;if there are multiple forms available to the screen, you can control which one’s elements come first, second, etc&lt;/li&gt;
      &lt;li&gt;more reliable conditional element rendering inside embedded full forms&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Sliders:
    &lt;ul&gt;
      &lt;li&gt;set a ‘no-value’ default, so users won’t save an unintended number just by saving the form. This also makes sliders work better with the ‘required’ setting.&lt;/li&gt;
      &lt;li&gt;support for decimal numbers&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Multiline textboxes:
    &lt;ul&gt;
      &lt;li&gt;enable a character or word counter, and optionally enforce a limit&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Time selectors:
    &lt;ul&gt;
      &lt;li&gt;a new 12/24-hour time preference that’s respected both when entering data and when searching.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Radio buttons and Checkboxes:
    &lt;ul&gt;
      &lt;li&gt;the ‘space’ delimiter is now five spaces by default, and configurable from 1 to 9&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Number boxes:
    &lt;ul&gt;
      &lt;li&gt;set a minimum and/or maximum value&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;More dynamic text everywhere — use &lt;em&gt;random:&lt;/em&gt; and &lt;em&gt;date:&lt;/em&gt; in the text of page titles, entry descriptors, and screen titles, plus new per-group filter terms for the current user’s full name and user ID.&lt;/li&gt;
  &lt;li&gt;an &lt;em&gt;Add element&lt;/em&gt; link on each element admin page (so you don’t have to keep going back up a level)&lt;/li&gt;
  &lt;li&gt;Menu links now move with a form if the form is assigned to a different app&lt;/li&gt;
  &lt;li&gt;Derived values are automatically conditional on any elements they refer to in code&lt;/li&gt;
  &lt;li&gt;now you can choose between pen or magnifying glass for the edit entry icon&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Backwards incompatible changes!&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Derived value formulas will preserve their existing value if the formula does not set it. Previously, unset values would be saved as null. If you were relying on a formula to enforce a null value under certain circumstances, this may not work the same anymore.&lt;/li&gt;
      &lt;li&gt;A &lt;em&gt;Table of existing elements&lt;/em&gt; can now include all elements, not just elements with data, which allows static text for display elements to be included. If you have any static text for display elements among elements that are included in a &lt;em&gt;Table of existing elements&lt;/em&gt;, you will need to reorder your elements, or adjust the number of columns and rows in the table so everything displays correctly.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A completely redesigned settings area.&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;All of your configuration — site identity, appearance, date and time formats, sign-in and two-factor options, email and SMS messaging, AI, logging, date formatting, and the advanced/debug options — now lives in one clean, tabbed interface inside the Formulize admin, instead of being scattered across separate system pages.&lt;/li&gt;
      &lt;li&gt;A theme editor to modify the html, css and js files for your theme from within the admin UI&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Manage all the &lt;em&gt;users&lt;/em&gt; and &lt;em&gt;groups&lt;/em&gt; in the system from the front side of your site&lt;/strong&gt;:
    &lt;ul&gt;
      &lt;li&gt;Add, update, search, sort, and delete like in a any other Formulize list&lt;/li&gt;
      &lt;li&gt;Deactivate users easily without deleting them&lt;/li&gt;
      &lt;li&gt;Easily ‘masquerade’ as any user from the list&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AI features:
    &lt;ul&gt;
      &lt;li&gt;Provide semantic information for AI per form, explaining the who, what, where, when, how, and why of your workflows&lt;/li&gt;
      &lt;li&gt;Enable an embedded AI assistant for your users and creators, choose which groups can use it, choose an LLM provider, model, 
API key, or allow users to specify their own. &lt;em&gt;If you provide an API key for a provider, you will incur usage charges for everything your users do with the embedded AI assistant!&lt;/em&gt;&lt;/li&gt;
      &lt;li&gt;The create and update element tools now support element order, and element display conditions, and static content elements (text-for-display)&lt;/li&gt;
      &lt;li&gt;New tools for creating and updating form screens, including page order and page conditions&lt;/li&gt;
      &lt;li&gt;New tools for creating and updating list screens&lt;/li&gt;
      &lt;li&gt;New tools for managing users and groups and permissions&lt;/li&gt;
      &lt;li&gt;New tools for managing the menus&lt;/li&gt;
      &lt;li&gt;Tuning of which and how much data we provide to AI assistants, to control context usage&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about Formulize and AI&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Derived value elements:
    &lt;ul&gt;
      &lt;li&gt;formulas now use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$elementHandle&lt;/code&gt; syntax to refer to elements&lt;/li&gt;
      &lt;li&gt;smarter handling of datasets and resolving values, when formulas refer to elements in other forms&lt;/li&gt;
      &lt;li&gt;cached data used by gatherDataset gets updated live when a derived value changes during the same page load&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Revised descriptions and UI for setting permissions, including the ability to make forms inherit all their permissions from other forms&lt;/li&gt;
  &lt;li&gt;Set the number of entries that can be entered into a form, on a per-group basis&lt;/li&gt;
  &lt;li&gt;The Edit Account page is now updated and unified with the user account management system&lt;/li&gt;
  &lt;li&gt;Webmasters can enable self-signup for user accounts, with optional, distributable tokens to control group membership&lt;/li&gt;
  &lt;li&gt;Condition filters that imply null will transparently include null on their own; you don’t have to add “OR NULL” on your own&lt;/li&gt;
  &lt;li&gt;Data handler class methods support metadata fields, not just regular elements&lt;/li&gt;
  &lt;li&gt;Constants are automatically generated for every form id, based on the form handles: FORMHANDLE_FORM_ID&lt;/li&gt;
  &lt;li&gt;Use PHP code in help text, by using &amp;lt;?php ?&amp;gt; tags&lt;/li&gt;
  &lt;li&gt;Better support for exotic common value connections between forms&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Backwards incompatible change!&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The Google PHP API client library is no longer distributed with Formulize, you will need to install it yourself if you need it. If you deploy by git, &lt;em&gt;you may end up removing your copy of the library!&lt;/em&gt; Check this as part of your update process.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;This release introduces a trailing zero tag structure for tenth-of-a-point releases: v8.20 (not v8.2)&lt;/li&gt;
  &lt;li&gt;There is a new writable folder: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/themes&lt;/code&gt; (required for the new admin side Theme editor)&lt;/li&gt;
  &lt;li&gt;New local dev environment options: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set PHP version and port numbers&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;There is a new, unified, patch and update process. You do not need to go to the Modules page to do a separate update any longer.&lt;/li&gt;
  &lt;li&gt;All elements now have proper classes and full AI support.&lt;/li&gt;
  &lt;li&gt;Extend any element class to &lt;a href=&quot;https://formulize.org/developers/API/custom_form_elements/&quot;&gt;create your own custom behaviours for elements&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;The entire functions.php file now has PHP docblocks (over 10,000 lines! 🥵)&lt;/li&gt;
  &lt;li&gt;Test-suite optimizations, including running concurrent tests, and basic unit test support&lt;/li&gt;
  &lt;li&gt;The test-suite now makes full use of the new entries-are-users and entries-are-groups features&lt;/li&gt;
  &lt;li&gt;Local docker environment optimizations, thanks @ettavolt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>Open Source Developer of the Year!</title>
      <link>https://formulize.org/news/open-source-developer-of-the-year/</link>
      <guid isPermaLink="false">formulize-news-1</guid>
      <pubDate>Mon, 2 Mar 2026 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;At the &lt;a href=&quot;https://confoo.ca/&quot;&gt;Confoo web technology conference in Montreal&lt;/a&gt;, Formulize Lead Developer, Julian Egelstaff, won the Open Source Developer of the Year award!&lt;/p&gt;

&lt;p&gt;The beautiful glass award now has a proud place in the office where the magic happens. The PHP Elephants love it.&lt;/p&gt;

&lt;p&gt;Formulize developer Arvin Singla was there at the conference and spoke many kind words of introduction. Julian thanked all the contributors to Formulize.&lt;/p&gt;

&lt;p&gt;“It’s cliché, but I stand on the shoulders of giants. This is very validating, of all the work that we’ve done this past year, and for the past 22 years,” he said.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v8.14</title>
      <link>https://formulize.org/news/v8-14/</link>
      <guid isPermaLink="false">formulize-news-49</guid>
      <pubDate>Wed, 21 Jan 2026 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/802&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-813&quot;&gt;Changes since 8.13…&lt;/h3&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;MCP element creation and updating tool descriptions are more clear. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about using Formulize with AI&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v8.13</title>
      <link>https://formulize.org/news/v8-13/</link>
      <guid isPermaLink="false">formulize-news-48</guid>
      <pubDate>Tue, 20 Jan 2026 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/798&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-812&quot;&gt;Changes since 8.12…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;The up and down controls in number boxes now respect the correct number of decimals&lt;/li&gt;
  &lt;li&gt;Number boxes are always initialized showing the correct number of significant digits (blank zeros at the end if necessary)&lt;/li&gt;
  &lt;li&gt;AI assistants can now specify the relationship to use when gathering datasets, or specify to use the form only and no relationship. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about using Formulize with AI&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Thumbnails for uploaded images generate as expected (detecting the available memory for this operation was improved)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Province Lists and Radio Button elements now work with dropdown filters in lists of entries&lt;/li&gt;
  &lt;li&gt;Importing data to linked elements can now be done by entry id of the source record, as well as the linked value&lt;/li&gt;
  &lt;li&gt;Multi-line text boxes, including rich text editors, pass their complete contents to Template Screens as expected&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;{BLANK} now works as a term for display conditions (and other conditions) that compare against linked elements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-a-few-more-little-fixes-and-improvements&quot;&gt;And a few more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v8.12</title>
      <link>https://formulize.org/news/v8-12/</link>
      <guid isPermaLink="false">formulize-news-47</guid>
      <pubDate>Tue, 13 Jan 2026 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/797&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-811&quot;&gt;Changes since 8.11…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New notifications options. Set your notification preference through the &lt;strong&gt;Edit Account&lt;/strong&gt; link in the header.
    &lt;ul&gt;
      &lt;li&gt;Get notifications through texts (SMS), not just email.&lt;/li&gt;
      &lt;li&gt;Get notifications through &lt;em&gt;Private Messages&lt;/em&gt; within Formulize, if you don’t wish to receive them through email or texts. An envelope icon is added to the page header for accessing messages, if &lt;em&gt;Private Message&lt;/em&gt; is your notification method. &lt;em&gt;Private Messages&lt;/em&gt; won’t clutter up your inbox, and cannot be intercepted since they are not transmitted anywhere.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AI assistants now understand how to create entries that include multi-select elements like checkboxes. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about using Formulize with AI&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/package/formulize-mcp&quot;&gt;An improved local MCP server (1.4.0)&lt;/a&gt; is available with more advanced error correction. For AI assistants that support MCPB, there is a &lt;a href=&quot;https://github.com/jegelstaff/formulize-mcp/releases&quot;&gt;new package available&lt;/a&gt;. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;Learn more about using Formulize with AI&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Improved layout of the &lt;em&gt;Save button&lt;/em&gt; when lists have editable elements in them, so that the page numbers are still visible at the bottom of the page&lt;/li&gt;
  &lt;li&gt;Streamlined the display of non-editable elements and entries, to remove elements without values by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New features that can be used inside the textboxes for captions and other configurable text that gets displayed to users, like radio button options, etc:
    &lt;ul&gt;
      &lt;li&gt;Use &lt;strong&gt;date:&lt;/strong&gt; to get a formatted date, e.g. [date:Y-m-d/Sept 26 2015] where the first part (Y-m-d) can be any valid format string for the &lt;a href=&quot;https://www.php.net/manual/en/datetime.format.php&quot;&gt;PHP DateTime format method&lt;/a&gt;, and the second part is optional and can be any date string valid for the &lt;a href=&quot;https://www.php.net/manual/en/function.strtotime.php&quot;&gt;PHP strtotime function&lt;/a&gt;. If no second part is specified, the current timestamp is used.&lt;/li&gt;
      &lt;li&gt;Use &lt;strong&gt;random:&lt;/strong&gt; to randomly choose text from the given options e.g. [random:How is your day?/How are you doing today?/What’s today been like?/Is [date:M j] a good one so far?]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Setup text notifications for users, through Twilio or another provider. See &lt;a href=&quot;https://formulize.org/developers/setup_sms_provider/&quot;&gt;https://formulize.org/developers/setup_sms_provider/&lt;/a&gt; for more details.&lt;/li&gt;
  &lt;li&gt;Uploaded files are now properly removed when entries with file upload elements are deleted, or the elements themselves are deleted&lt;/li&gt;
  &lt;li&gt;Standard condition filters (for element display, inclusion of entries in subforms, etc) now work with linked checkboxes correctly&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Added a __getDefaultValue__method to the base elements class so it can be called without instantiating an element-specific handler&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v8.11</title>
      <link>https://formulize.org/news/v8-11/</link>
      <guid isPermaLink="false">formulize-news-46</guid>
      <pubDate>Wed, 17 Dec 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/788&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-81&quot;&gt;Changes since 8.1…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;More descriptive page titles, so the history in your browser will show more clearly which page was which&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can now clone elements from one form to another&lt;/li&gt;
  &lt;li&gt;Alternate URLs now include page titles for multipage forms, so you can link directly to a specific page&lt;/li&gt;
  &lt;li&gt;New dynamic default values. This option on the Advanced tab lets you set the default value of an element, based on the value of another element in another form. ie: in an activity form, if the duration is dependent on the location, then you can set the default duration based on the chosen location.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New Log Viewer page to review the contents of event logs, if logging is turned on&lt;/li&gt;
  &lt;li&gt;Better UI for Import / Export of forms&lt;/li&gt;
  &lt;li&gt;Improved user selection on the Permissions tab of forms, now with an autocomplete list&lt;/li&gt;
  &lt;li&gt;The findAllEntriesWithValue method of the data handler, now supports the IN operator&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Added subform elements to the Museum application tests&lt;/li&gt;
  &lt;li&gt;GitHub test runs will report PHP errors, if any, when a test fails&lt;/li&gt;
  &lt;li&gt;Added a “final state” artifact to GitHub test runs, so you can download the way the system was when the tests finished&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v8.1</title>
      <link>https://formulize.org/news/v8-1/</link>
      <guid isPermaLink="false">formulize-news-45</guid>
      <pubDate>Tue, 25 Nov 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/deploying_locally/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/777&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-802&quot;&gt;Changes since 8.02…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New form screens will have &lt;strong&gt;a Close button in addition to a Save button&lt;/strong&gt;, by default. The Close button returns you to the prior page, without saving.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Clean error reporting.&lt;/strong&gt; A simple statement of an error will appear on screen, with the option of reporting details about it to the webmaster.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AI assistants can now create or update multiple entries at once&lt;/strong&gt;. Previously, they had to perform one operation per entry, which was slow. See the docs for &lt;a href=&quot;https://formulize.org/ai&quot;&gt;how to connect an AI assistant to Formulize&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;You will be warned when your session is about to timeout&lt;/strong&gt;. (As long as your site is using the default theme.)&lt;/li&gt;
  &lt;li&gt;There is a &lt;strong&gt;new Formulize logo and icon&lt;/strong&gt;!&lt;/li&gt;
  &lt;li&gt;Eliminated rare cases of random logouts&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Comprehensive AI integration for creating forms and updating their configuration.&lt;/strong&gt; See the docs for &lt;a href=&quot;https://formulize.org/ai&quot;&gt;how to connect an AI assistant to Formulize&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Major improvements and changes to adding and managing elements in forms.&lt;/strong&gt;  More element types, with fewer options in each, to make everything much easier to use.&lt;/li&gt;
  &lt;li&gt;For new forms, it’s now possible to &lt;strong&gt;create the principal identifier as part of saving the form&lt;/strong&gt;, all in one step.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Backwards incompatible changes!&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;If you have any custom element classes, you will need to update the signature of the loadValue method:
        &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;// old:
function loadValue($value, $ele_value, $element) {
    
// new:
function loadValue($element, $value, $entry_id) {
    $ele_value = $element-&amp;gt;getVar(&apos;ele_value&apos;);
    
// See modules/formulize/class/textElement.php for an example.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;        &lt;/div&gt;
      &lt;/li&gt;
      &lt;li&gt;If you have any &lt;em&gt;On Before Save&lt;/em&gt; or &lt;em&gt;On After Save&lt;/em&gt; code that checked for the old &lt;strong&gt;{WRITEASNULL}&lt;/strong&gt; flag, you may need to update the code. The &lt;strong&gt;{WRITEASNULL}&lt;/strong&gt; flag is no longer used, and such values are literally null.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Streamlined error reporting from end users.&lt;/strong&gt; They are automatically given the option of sending you error reports via email, that will include the full details, including a backtrace, and any notes they care to have written as well.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reorganized top level menus on the admin side&lt;/strong&gt;, now with quick links to Formulize admin pages and documentation&lt;/li&gt;
  &lt;li&gt;Setting/changing the entry owner is now part of &lt;strong&gt;an ‘Office use only’ section at the bottom of forms&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;When a page in a form screen references another screen, conditions on the display of pages within that other screen are now properly respected&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A new button is available for all form screens: Close&lt;/strong&gt;. This button closes the form without saving and returns the user to the prior page. It is turned on by default for all new form screens.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Importing data will now trigger On Before Save and On After Save events&lt;/strong&gt;, which is useful and important for consistency.&lt;/li&gt;
  &lt;li&gt;If you are using the &lt;strong&gt;Import/Export Forms and Apps&lt;/strong&gt; feature, it now handles most element references cleanly &lt;strong&gt;across sites&lt;/strong&gt;, meaning you can export from one system and import into another. The feature is still not complete and only handles forms and elements, and some element references may not be ported cleanly yet. Further updates to come.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Massive refactoring of code related to form elements&lt;/strong&gt;, so that almost all elements have their own class file now, allowing for multiple sub-types of elements to inherit from parents&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A new option to force synchronous queue processing&lt;/strong&gt;. &lt;a href=&quot;https://formulize.org/developers/API/classes/queue_handler/process/&quot;&gt;See docs for details&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A complete test suite that makes the Museum Demo application!&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;New setup for local Docker integration, to avoid any possible database corruption/misinterpretation between different operating systems&lt;/li&gt;
  &lt;li&gt;Moved anti CSRF tokens out of session and into files, which creates &lt;strong&gt;a new folder that must be writable by the server: /tokens&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>A November meetup, and Formulize on the conference circuit</title>
      <link>https://formulize.org/news/november-2025-meetup-and-talks/</link>
      <guid isPermaLink="false">formulize-news-55</guid>
      <pubDate>Wed, 12 Nov 2025 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;&lt;a href=&quot;/news/formulize-summit-2025/&quot;&gt;The Formulize Summit in October&lt;/a&gt; was excellent, and thanks to everyone who came along and provided terrific feedback and discussion.&lt;/p&gt;

&lt;p&gt;There was a sneak peek at Formulize 8.1, and how easy it is to create forms and apps, plus the updated AI tools that can act as your built-in gopher, analyst and engineer.&lt;/p&gt;

&lt;h3 id=&quot;on-the-road&quot;&gt;On the road&lt;/h3&gt;

&lt;p&gt;Julian and Arvin will be taking Formulize to two conferences in the Montreal area:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.dev-mtl.ca&quot;&gt;/dev/mtl/&lt;/a&gt; — November 28, 2025&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://confoo.ca&quot;&gt;Confoo&lt;/a&gt; — February 25 to 27, 2026&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The subject both times: adding modern DevOps best practices to an old codebase like Formulize. At Confoo, Julian also has a talk on why “a better flux capacitor will not make clients happy.”&lt;/p&gt;
</description>
    </item>
    <item>
      <title>A second Formulize Summit, and a first for AI-built forms</title>
      <link>https://formulize.org/news/formulize-summit-2025/</link>
      <guid isPermaLink="false">formulize-news-53</guid>
      <pubDate>Fri, 17 Oct 2025 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;Formulize users met for a second Summit on October 17, 2025, back at One King West in Toronto — the same venue as &lt;a href=&quot;/news/formulize-summit-toronto/&quot;&gt;the first Summit in 2022&lt;/a&gt;, this time in the King Gallery on the third floor.&lt;/p&gt;

&lt;p&gt;The highlight of the day was the first public demonstration of the form-building capabilities added to the MCP server in version 8.1 — attendees watched an AI assistant build a working Formulize form live, straight from a conversation.&lt;/p&gt;

&lt;p&gt;There was also plenty of discussion about where Formulize goes from here: how to reach more people, and which features will matter most to the next generation of users.&lt;/p&gt;

&lt;p&gt;And yes, the omelette bar at the breakfast buffet was a highlight in its own right.&lt;/p&gt;

&lt;p&gt;Want to be at the next one? &lt;a href=&quot;/connect&quot;&gt;Join the mailing list or find us on Slack and Discord&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Formulize 8 is out, and you&apos;re invited to the party</title>
      <link>https://formulize.org/news/formulize-8-is-out/</link>
      <guid isPermaLink="false">formulize-news-54</guid>
      <pubDate>Wed, 23 Jul 2025 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;Formulize 8 was released in June 2025. Plenty of people had heard about it for long enough to reasonably wonder whether it would ever happen. Well, it did happen, and the most powerful features in Formulize have been radically streamlined and made easier to use than ever before.&lt;/p&gt;

&lt;p&gt;To celebrate, there were a few gatherings, complete with snacks, so you know it was a party:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;July 30, 2025&lt;/strong&gt; — an informal meetup and drop-in to see Formulize 8, at 192 Spadina Avenue in Toronto.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;September 8, 2025&lt;/strong&gt; — another meetup, same general idea.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;October 17, 2025&lt;/strong&gt; — &lt;a href=&quot;/news/formulize-summit-2025/&quot;&gt;the second Formulize Summit&lt;/a&gt;: a full day with other users and developers, sharing ideas, tips, tricks, demos, wishlists and roadmaps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The version 8 cycle also introduced AI integration to Formulize. There is always a great deal of hype around AI, and you would be right to be skeptical. But honestly, with AI assistants now able to go beyond their chat windows and connect to other tools, like Formulize, this is the most revolutionary thing since the Internet became widely available thirty years ago.&lt;/p&gt;

&lt;p&gt;Formulize started with the dream of building an open source alternative to commercial database systems, and empowering anyone to create their own forms and databases and manage their own data in ways tailored to their own needs. A lofty vision! But as Thoreau said, if you have built castles in the clouds, now it is your job to put foundations under them.&lt;/p&gt;

&lt;p&gt;With version 8, plus AI, the foundations finally reached the ground.&lt;/p&gt;

&lt;p&gt;So this really is a huge milestone in the history of the Formulize project, and many people have helped make it possible in ways large and small. Thank you.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/community/&quot;&gt;Join the mailing list, or find us on Slack and Discord&lt;/a&gt;, and you will hear about the next one.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v8.02</title>
      <link>https://formulize.org/news/v8-02/</link>
      <guid isPermaLink="false">formulize-news-44</guid>
      <pubDate>Tue, 22 Jul 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;h3 id=&quot;formulize-and-ai-connect-an-ai-assistant-to-formulize&quot;&gt;Formulize and AI: &lt;a href=&quot;https://formulize.org/ai&quot;&gt;connect an AI assistant to Formulize!&lt;/a&gt;&lt;/h3&gt;

&lt;h3 id=&quot;local-development-set-up-formulize-in-docker&quot;&gt;Local development: &lt;a href=&quot;https://formulize.org/developers/development_environment/&quot;&gt;set up Formulize in Docker&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/709&quot;&gt;Discuss this release in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-801&quot;&gt;Changes since 8.01…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can now use an AI assistant with Formulize. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;More details on formulize.org&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Time elements are easier to use and more standardized and accessible (native HTML elements now)&lt;/li&gt;
  &lt;li&gt;Improvements to the layout of lists on different size screens&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Added confirmation before deleting connections between forms&lt;/li&gt;
  &lt;li&gt;Improved handling of fundamental filter searches in saved views&lt;/li&gt;
  &lt;li&gt;Comprehensive handling of { } element references within text-for-display elements, and textbox defaults&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can now enable AI integration for your users. &lt;a href=&quot;https://formulize.org/ai&quot;&gt;More details on formulize.org&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;The debug readout now shows up cleanly in the Anari theme&lt;/li&gt;
  &lt;li&gt;Better scope handling for anonymous users (without accounts), so they see appropriate data when passcodes are used&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Major reduction in warnings/notices&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v8.01</title>
      <link>https://formulize.org/news/v8-01/</link>
      <guid isPermaLink="false">formulize-news-43</guid>
      <pubDate>Sun, 22 Jun 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/691&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-80&quot;&gt;Changes since 8.0…&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Better handling of database updates from very old versions of Formulize&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v8.0</title>
      <link>https://formulize.org/news/v8-0/</link>
      <guid isPermaLink="false">formulize-news-42</guid>
      <pubDate>Wed, 18 Jun 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/691&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-74&quot;&gt;Changes since 7.4…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A new option at the bottom of lists, to “Hide Repeating Data.” This is useful in cases where the same values appear over and over making the table hard to read.&lt;/li&gt;
  &lt;li&gt;Significant performance improvements in saving derived values&lt;/li&gt;
  &lt;li&gt;On some systems, users would suddenly be back at the login screen seemingly for no reason. This has been eliminated in all cases.&lt;/li&gt;
  &lt;li&gt;You can now sort by the &lt;em&gt;Creator’s Groups&lt;/em&gt; column&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Formulize 8 has a streamlined admin experience:&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;A completely redesigned admin UI for managing forms and accessing their settings, including an optional &lt;em&gt;Click and Drag&lt;/em&gt; UI for organizing forms and creating connections&lt;/li&gt;
  &lt;li&gt;No need to create relationships anymore. Adding a linked element or a subform element to a form is all that’s required to connect forms. Everything else happens automatically now.&lt;/li&gt;
  &lt;li&gt;Any form can be used as a subform, you don’t need to setup the relationship first.&lt;/li&gt;
  &lt;li&gt;You can create a new form when making a subform element, you don’t need to create the form first.&lt;/li&gt;
  &lt;li&gt;All forms have a &lt;em&gt;singular&lt;/em&gt; and &lt;em&gt;plural&lt;/em&gt; version of their name automatically generated, and you can edit them to your liking. These are used elsewhere in the admin UI, and in screen titles and menu links.&lt;/li&gt;
  &lt;li&gt;Renaming a form will also rename any screens and menu links that are based on the simple name of the form. If you’ve edited any screen titles or menu links, those will be unaffected.&lt;/li&gt;
  &lt;li&gt;All connected forms are always available in new screens, no need to create and specify the relationship. Existing relationships still exist and are used in existing screens. New relationships are still possible if you need to focus only on specific forms on a specific screen.&lt;/li&gt;
  &lt;li&gt;You can specify which element is the &lt;em&gt;Principal Identifier&lt;/em&gt; for each form. The &lt;em&gt;PI&lt;/em&gt; is the element that gets linked to automatically when certain connections are created, and the &lt;em&gt;PI&lt;/em&gt; is sometimes used automatically as the default column in lists.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Other Formulize 8 improvements:&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Derived-value elements will update live if you give them display conditions based on the elements they depend on. ie: if you have an &lt;em&gt;Age&lt;/em&gt; derived value, that is based on a &lt;em&gt;Birth Date&lt;/em&gt; element, and you put a display condition on the &lt;em&gt;Age&lt;/em&gt; to only display if the &lt;em&gt;Birth Date&lt;/em&gt; is not {BLANK}, then the &lt;em&gt;Age&lt;/em&gt; will be updated live on screen whenever the user selects a &lt;em&gt;Birth Date&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;Form screen pages can refer to other form screens, so you don’t have to repeat configuration you have done elsewhere if a page of one screen is supposed to repeat the elements that another screen is already setup to use. If the referenced screen has multiple pages, all those pages are included when the screen is displayed.&lt;/li&gt;
  &lt;li&gt;Form screen pages can be generated from PHP code instead of picking form elements.&lt;/li&gt;
  &lt;li&gt;Checkbox elements now properly support alternate display fields, ie: if you link to &lt;em&gt;product name&lt;/em&gt; you can choose to display &lt;em&gt;product name&lt;/em&gt; and &lt;em&gt;product price&lt;/em&gt; as the value in the element&lt;/li&gt;
  &lt;li&gt;A new search type for columns in lists: a dropdown filter based on excluding the selected value. This way, you can select all the entries that do &lt;strong&gt;not&lt;/strong&gt; have the selected value.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Formulize 8 has a streamlined admin experience:&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;All connections between forms are now tracked automatically in a relationship called the &lt;em&gt;Primary Relationship&lt;/em&gt;. It has the id number -1 and is used as the default relationship for all screens. Creating a linked element, a subform element, or manually specifying a connection between forms, updates the &lt;em&gt;Primary Relationship&lt;/em&gt; automatically. Other relationships can still be created if you want to focus on just certain connections in certain situations.&lt;/li&gt;
  &lt;li&gt;The display of relationship details is dramatically improved for readability and easier comprehension&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Other Formulize 8 improvements:&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Subforms can have display conditions now, like any other element&lt;/li&gt;
  &lt;li&gt;You can specify how many rows should be displayed at once in a subform element, and move between pages, like in a list&lt;/li&gt;
  &lt;li&gt;If you’re setting up conditions involving an element that stores multiple values (like checkboxes), you can now use the equals operator instead of having to use LIKE&lt;/li&gt;
  &lt;li&gt;Formulize Preferences page has been completely reorganized&lt;/li&gt;
  &lt;li&gt;There is a preference for enabling/disabling the &lt;em&gt;Printable View&lt;/em&gt; buttons globally. If it off by default on upgraded systems. When this is on, the &lt;em&gt;Printable View&lt;/em&gt; buttons can be controlled in the screen settings.&lt;/li&gt;
  &lt;li&gt;There is a preference for turning on the revision history setting for all forms globally, so you don’t have to manage it per form.&lt;/li&gt;
  &lt;li&gt;Revised API functions:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://formulize.org/developers/API/functions/gatherDataset/&quot;&gt;gatherDataset&lt;/a&gt; (instead of &lt;em&gt;getData&lt;/em&gt;, but &lt;em&gt;getData&lt;/em&gt; still exists)&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://formulize.org/developers/API/functions/getValue/&quot;&gt;getValue&lt;/a&gt; (instead of &lt;em&gt;display&lt;/em&gt;, but &lt;em&gt;display&lt;/em&gt; still exists)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;The new &lt;a href=&quot;https://formulize.org/developers/API/functions/getValue/&quot;&gt;getValue&lt;/a&gt; function can also be used to get the raw value of an element as found in the database. See the &lt;a href=&quot;https://formulize.org/developers/API/functions/getValue/&quot;&gt;&lt;em&gt;raw&lt;/em&gt; parameter&lt;/a&gt; in the documentation.&lt;/li&gt;
  &lt;li&gt;Concurrent processing of the same queue items is disallowed. Instead, the prior queue run is allowed to finish by itself. If a queue has been running for more than 10 minutes, a restart can be attempted.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can now set PDO options via a constant in the trust path file, called SDATA_DB_OPTIONS. Set an array of options to pass to PDO and they will be used in your database connection. ie: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;define(&apos;SDATA_DB_OPTIONS&apos;, [PDO::ATTR_PERSISTENT =&amp;gt; true]);&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;PHP 8.1 or higher is required&lt;/strong&gt;. Certain string handling operations will not work as expected on PHP 8.0!&lt;/li&gt;
  &lt;li&gt;Many notices and warnings have been fixed/removed&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v7.43</title>
      <link>https://formulize.org/news/v7-43/</link>
      <guid isPermaLink="false">formulize-news-41</guid>
      <pubDate>Wed, 5 Mar 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/632&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-742&quot;&gt;Changes since 7.42…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Fixing an issue where derived values were not being stored properly after updates&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.42</title>
      <link>https://formulize.org/news/v7-42/</link>
      <guid isPermaLink="false">formulize-news-40</guid>
      <pubDate>Tue, 4 Mar 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/629&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-741&quot;&gt;Changes since 7.41…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Fixing a rare issue that could cause saving data to fail&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.41</title>
      <link>https://formulize.org/news/v7-41/</link>
      <guid isPermaLink="false">formulize-news-39</guid>
      <pubDate>Sat, 1 Mar 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/625&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-74&quot;&gt;Changes since 7.4…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Better handling of searches in the database that might include html special characters&lt;/li&gt;
  &lt;li&gt;Better handling of situations where no group ownership information is on file for an entry&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Proper enforcement of ‘required’ status on multiline textboxes, and other elements that don’t have more complex validation rules of their own&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New internal API feature: queues! Add code to a queue and have it processed later.&lt;/li&gt;
  &lt;li&gt;New Public API for interacting with Formulize data remotely&lt;/li&gt;
  &lt;li&gt;Better handling of situations where data is retrieved with getData, and then used to query the DB in a later getData function call&lt;/li&gt;
  &lt;li&gt;Fixing saving of empty Before Save and After Save code, so it actually clears out what was previously saved&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.4</title>
      <link>https://formulize.org/news/v7-4/</link>
      <guid isPermaLink="false">formulize-news-38</guid>
      <pubDate>Sat, 15 Feb 2025 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/621&quot;&gt;Discuss in the forum&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;changes-since-73&quot;&gt;Changes since 7.3…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;New metadata column available everywhere: Creator’s Groups. See which groups the entry belongs to, not just who made it.&lt;/li&gt;
  &lt;li&gt;Textboxes that are numbers only, use the proper numbers-only keyboard for data entry on mobile&lt;/li&gt;
  &lt;li&gt;Better messaging on the password reset page in the event of an error&lt;/li&gt;
  &lt;li&gt;Styling improvements for displaying the contents of rich text elements&lt;/li&gt;
  &lt;li&gt;Fixing rich text editor display after a page reload where no data was saved&lt;/li&gt;
  &lt;li&gt;Login links and redirection to login page is much smarter and will return you to the page you’re trying to view&lt;/li&gt;
  &lt;li&gt;Colour picker form elements now use the native HTML5 picker in the user’s web browser&lt;/li&gt;
  &lt;li&gt;Performance improvements to the speed of gathering of data&lt;/li&gt;
  &lt;li&gt;More complete unicode support for all emojis and special characters&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Improvements to how uploaded images are displayed&lt;/li&gt;
  &lt;li&gt;A form preview is available on the admin page that lists the elements&lt;/li&gt;
  &lt;li&gt;It’s now possible to use an alternate admin theme, if the public theme isn’t well suited for administrators&lt;/li&gt;
  &lt;li&gt;When importing data, you can specify a unique identifier field that indicates which entry the imported data should apply to&lt;/li&gt;
  &lt;li&gt;New form element: Duration. Suitable for recording an amount of time&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;You can now specify an alternate, ‘clean’ URL for any screen. ie: https://yoursite.com/activity-log Turn this on in the Formulize Preferences, after adding rewrite conditions to your web server, details in the Preferences page.&lt;/li&gt;
  &lt;li&gt;If your server supports shell_exec in PHP, all code you write is now checked for syntax errors before saving&lt;/li&gt;
  &lt;li&gt;All code you manually write is stored in files now in the modules/formulize/code folder&lt;/li&gt;
  &lt;li&gt;Smart saved views, where you can specify which options are active. Let’s you make saved views that layer in on top of searches and other actions the user has already done.&lt;/li&gt;
  &lt;li&gt;Throughout the admin UI, lists of elements are much more readable, now prefixed with the form title when appropriate&lt;/li&gt;
  &lt;li&gt;Use relationships with Template screens, to make a whole set of data available instead of having to gather it manually in code&lt;/li&gt;
  &lt;li&gt;The available element/variable names are easily found throughout the admin UI wherever you might write code manually&lt;/li&gt;
  &lt;li&gt;Custom buttons can now have one PHP code effect that operates once and an array of all selected entries is passed to it (previously the effect had to run once for every selected entry)&lt;/li&gt;
  &lt;li&gt;New Formulize Preference to control whether empty elements should be shown in read only mode (default is no, they should not)&lt;/li&gt;
  &lt;li&gt;Conditions now reference elements by ID so if you alter the handle of an element the conditions that refer to it elsewhere are not broken&lt;/li&gt;
  &lt;li&gt;New function: displayFileImageLink to get a clickable link for uploaded image files&lt;/li&gt;
  &lt;li&gt;New relationship options, to control which one-to-one behaviours a relationship should use&lt;/li&gt;
  &lt;li&gt;Comprehensive logging is now available. Turn on in Formulize Preferences.&lt;/li&gt;
  &lt;li&gt;Prototype work has been done towards storing ‘configuration as code.’ Forms and elements are supported so far.&lt;/li&gt;
  &lt;li&gt;The display function returns clean text now. Formerly, it perpetuated any html special characters in the database. &lt;a href=&quot;https://github.com/jegelstaff/formulize/discussions/621&quot;&gt;See the release discussion for more info&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Added screen handles for referring to screens&lt;/li&gt;
  &lt;li&gt;New property of form objects: elementsWithData&lt;/li&gt;
  &lt;li&gt;Textboxes have been refactored to use a proper element class file&lt;/li&gt;
  &lt;li&gt;Scaffolding in place for playwright tests&lt;/li&gt;
  &lt;li&gt;Datasets have data prepped to human-readable format on display, not retrieval, so it is now just-in-time instead of when the data is gathered&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v7.3</title>
      <link>https://formulize.org/news/v7-3/</link>
      <guid isPermaLink="false">formulize-news-37</guid>
      <pubDate>Sun, 28 Apr 2024 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;h3 id=&quot;changes-since-721&quot;&gt;Changes since 7.21…&lt;/h3&gt;

&lt;h4 id=&quot;for-users---people-who-fill-in-forms-search-lists-view-reports-etc&quot;&gt;For users - people who fill in forms, search lists, view reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Floating tabs at the top of forms, so the tabs are always visible as you scroll&lt;/li&gt;
  &lt;li&gt;Floating save buttons at the bottom of forms, so you don’t have to scroll to click Save&lt;/li&gt;
  &lt;li&gt;Images uploaded to forms show thumbnails instead of just the file name&lt;/li&gt;
  &lt;li&gt;Significant accessibility improvements throughout, most noticeably using the native HTML 5 date picker provided by the browser&lt;/li&gt;
  &lt;li&gt;Conditional form elements are processed in groups now, instead of one at a time, so the animation of appearing and disappearing elements is a lot smoother&lt;/li&gt;
  &lt;li&gt;Better handling of going directly to a URL for a specific entry, so that when you leave you properly end up on the right list and stay there&lt;/li&gt;
  &lt;li&gt;Corrected a minor issue that could have caused an “insecure page” warning from your web browser under some circumstances&lt;/li&gt;
  &lt;li&gt;Elements with the value zero will show up properly in the form (previously did not show, bug fixed)&lt;/li&gt;
  &lt;li&gt;If your account does not have an email address specified, we tell you this when you try to reset your password (requires webmaster intervention to change password in this case)&lt;/li&gt;
  &lt;li&gt;Clickable URLs inside lists of entries will now always work when opened in a new tab (they always worked when clicked, but under some circumstances they would show the wrong entry if you copied the link and opened it in a new tab)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-creators---people-who-make-forms-configure-lists-and-reports-etc&quot;&gt;For creators - people who make forms, configure lists and reports, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;A much more readable list of elements on the admin side&lt;/li&gt;
  &lt;li&gt;Drag and drop sorting of options when editing radio buttons, checkboxes, dropdown lists, list boxes, and autocompletes&lt;/li&gt;
  &lt;li&gt;Drag and drop sorting of the elements listed on the Entries tab when configuring List of Entries screens&lt;/li&gt;
  &lt;li&gt;Improvements to the display of “Tables of existing elements” (grids) so they blend in with regular form elements better&lt;/li&gt;
  &lt;li&gt;“Tables of existing elements” (grids) can display conditionally, like normal elements. The elements contained in the table/grid inherit the display conditions of their container.&lt;/li&gt;
  &lt;li&gt;Elements can now be disabled conditionally, the same as how they can be displayed conditionally. Elements can have a mixture of display and disabled conditions, referring to the same or different triggers.&lt;/li&gt;
  &lt;li&gt;Multiselect autocomplete elements now trigger conditions when users add to the list or remove items from the list&lt;/li&gt;
  &lt;li&gt;Element captions that reference other elements using { } syntax, will have their captions updated when they are conditionally displayed (if the other element is one of the elements that triggers the condition)&lt;/li&gt;
  &lt;li&gt;You can now use { } references to elements in help text, and the row and column headers in “Tables of existing elements” (grids)&lt;/li&gt;
  &lt;li&gt;When you specify which element should be used to sort a list by default, you can also specify either ascending or descending (used to be ascending only)&lt;/li&gt;
  &lt;li&gt;Anonymous users can have a Formulize homepage set, so you can send them to a specific screen through the Menu system if you want&lt;/li&gt;
  &lt;li&gt;Improvements to the Range Slider element, value is more distinct and sliders trigger conditions as well&lt;/li&gt;
  &lt;li&gt;Added an IN operator to the condition specification UI, for display conditions, linked element filters, etc&lt;/li&gt;
  &lt;li&gt;Improved parsing of display conditions, linked element filters, etc&lt;/li&gt;
  &lt;li&gt;No longer necessary to disable CSRF token processing when showing elements inline within lists&lt;/li&gt;
  &lt;li&gt;Subform elements properly use the default screen to display entries, if default screen is chosen (bug fixed)&lt;/li&gt;
  &lt;li&gt;Elements can be assigned a ‘datetime’ data type in the Advanced tab of the admin UI (Previously just date, or time, but elements could always be assigned any data type directly in the database)&lt;/li&gt;
  &lt;li&gt;In the Anari theme, the masquerade block is shown more clearly, if you are masquerading as another user&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-app-developers---people-who-build-applications-use-the-api-etc&quot;&gt;For app developers - people who build applications, use the API, etc&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;All code editing areas use syntax highlighting&lt;/li&gt;
  &lt;li&gt;New function: displayRichText() - works just like the display() function, but will preserve all the formatting from a multiline textbox that uses the rich text editor&lt;/li&gt;
  &lt;li&gt;New function: displayFileImage() - works just like the display() function, but will convert the URL for an uploaded file into an img tag that shows a 200px wide version of the image&lt;/li&gt;
  &lt;li&gt;viewEntryLink and viewEntryButton are available in Template screens, and you can specify the screen they should take users to in the options for the screen&lt;/li&gt;
  &lt;li&gt;New data handler method: findAllEntriesWithAllValues&lt;/li&gt;
  &lt;li&gt;Updated findFirstEntryWithAllValues to support an array of operators so you don’t have to use the same operator for searching for every value you’re looking for&lt;/li&gt;
  &lt;li&gt;Element classes now have a getDefaultValue method for specifying the default value when an entry is being saved the first time (existing element types with defaults are unaffected but this fleshes out the class structure for new elements or refactored elements)&lt;/li&gt;
  &lt;li&gt;A history of the notification queue is stored for one week, if you’re doing ‘notification via cron job’&lt;/li&gt;
  &lt;li&gt;Removed the deprecated “force hidden” setting for elements; this should have no effect other than cleaning up the admin UI&lt;/li&gt;
  &lt;li&gt;If your local development environment is Windows, and you are using SQL dumps from a Linux server to make a local copy of a database in Docker, there is now a special MariaDB .conf file to ensure the dump can be read correctly (the case-insensitive nature of Windows vs case-sensitivity in Linux, made some SQL dumps fail to load properly in a local Docker development environment) - for details, see the /docker/docker-db-help.txt file&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;for-core-developers---people-who-work-on-the-formulize-code-base&quot;&gt;For core developers - people who work on the Formulize code base&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Large scale refactoring of the operations in the displayElement function, and the compileElements function, which streamlines all the logical operations of displaying elements and whether they are allowed, and whether they are disabled&lt;/li&gt;
  &lt;li&gt;Refactored the parsing of submissions from the condition UI so they are all standardized&lt;/li&gt;
  &lt;li&gt;Refactoring the creation of subform entries so that defaults are assigned properly&lt;/li&gt;
  &lt;li&gt;Removed the ancient ‘profileform’ feature for integrating with XOOPS 2 user profiles prior to ICMS&lt;/li&gt;
  &lt;li&gt;Moved conditional element Javascript to its own file that is included properly&lt;/li&gt;
  &lt;li&gt;Many notices and warnings fixed/removed&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;and-many-more-little-fixes-and-improvements&quot;&gt;And many more little fixes and improvements!&lt;/h3&gt;
</description>
    </item>
    <item>
      <title>v7.21</title>
      <link>https://formulize.org/news/v7-21/</link>
      <guid isPermaLink="false">formulize-news-36</guid>
      <pubDate>Tue, 28 Nov 2023 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Docs available for &lt;a href=&quot;http://www.formulize.org/developers/development_environment/&quot;&gt;setting up a local Docker dev environment&lt;/a&gt;!**&lt;/p&gt;

&lt;p&gt;Also…&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Allow aborting of writing an entry in the On Before Save procedure (return false in the procedure to abort)&lt;/li&gt;
  &lt;li&gt;On Delete procedures now have access to the contents of the entry that was just deleted (variables named after the element handles in the entry)&lt;/li&gt;
  &lt;li&gt;On After Save procedures have a new flag called $newEntry that will be true or false depending if the entry was just saved for the first time or not&lt;/li&gt;
  &lt;li&gt;In &lt;a href=&quot;http://www.formulize.org/developers/API/classes/data_handler/&quot;&gt;the Data Handler class&lt;/a&gt;, the &lt;a href=&quot;http://www.formulize.org/developers/API/classes/data_handler/findFirstEntryWithAllValues/&quot;&gt;findFirstEntryWithAllValues&lt;/a&gt; method supports the IN operator. The values must be a valid comma separated set of values that will work in a SQL statement. This means strings need to be quoted.&lt;/li&gt;
  &lt;li&gt;When building a dropdown filter for a list of entries, ignore blank values in the element when compiling the distinct values for the filter&lt;/li&gt;
  &lt;li&gt;If you use an alternate database value for radio buttons, checkboxes, or selectboxes, but show the user a different readable value in the form and in lists, searches for the readable value now work (previously only searches for the database value would work)&lt;/li&gt;
  &lt;li&gt;Better handling of numeric values used in conditions, where they are compared against linked fields (if they don’t match a readable value, then they will be assumed to be foreign keys)&lt;/li&gt;
  &lt;li&gt;Fixing layout of non-row subforms&lt;/li&gt;
  &lt;li&gt;Updating the Google PHP API client&lt;/li&gt;
  &lt;li&gt;Various touchups, cleanups, etc.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.2</title>
      <link>https://formulize.org/news/v7-2/</link>
      <guid isPermaLink="false">formulize-news-35</guid>
      <pubDate>Sat, 11 Nov 2023 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Formulize 7.2 !!!**&lt;/p&gt;

&lt;p&gt;Now with &lt;strong&gt;Docker integration&lt;/strong&gt;. There is a docker-compose.yaml file in the root, and some other related folders and settings files. Integration is especially automatic in VS Code, including live debugging capabilities with Xdebug. See the developer docs on https://www.formulize.org/developers/ for more details.&lt;/p&gt;

&lt;p&gt;Also…&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;If you’re not logged in, you will be redirected to your original destination page after you login&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Much smarter filters&lt;/strong&gt; You can now use a drop down filter in a list-of-entries for any column, even if the form element is just a textbox. The filter will be made from the unique values entered in that element. Also available: date range filters and checkbox filters.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fixed position headers in lists&lt;/strong&gt; If your list of entries is long, the headers will stay at the top of the screen as you scroll down the page.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Choose how many entries to show per page in lists&lt;/strong&gt; And this setting is saved with your saved views too.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Alternate sorting order for any element&lt;/strong&gt; If element A doesn’t naturally sort in the way you want (maybe it’s a derived value of the first name and last name, or it’s a mass of HTML and text), but there’s another element B in the form that would provide the correct sorting to use, well now you can specify that when users sort by element A, the entries will be sorted using the values from element B.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Subform filters&lt;/strong&gt; Allow users to search through subform entries and limit which ones show up in the list.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Flat subforms&lt;/strong&gt; This new option for displaying subform entries inside their parent form, lets you show entries in the full form, and outside of a collapsible accordion container, so the entire page looks like one large form. This is especially suitable for screens that are meant to be printed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Conditions accept % as a wildcard when using the LIKE operator&lt;/strong&gt; So you can match things that begin or end with certain text: ie: Starts with%&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;UTF-8 compatibility for file uploads&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Changes to element handles will propagate to derived value formulas and text-for-display code&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;An on-delete procedure&lt;/strong&gt; Now you can trigger events when an entry is deleted in a form, in addition to the on-before-save and on-after-save procedures.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Improved handling of daylight savings time&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Improved entry locking/unlocking&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fixed a bug in the Find Users feature&lt;/strong&gt; On the admin side, if your site has more users than fit in the normal drop down list on the Edit Users page, the Find Users option on that page now works to allow you to select people to add to the list, who you can then delete, edit, or masquerade as (which is super useful for debugging user reported errors).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A new preference to control how the effects of custom buttons are written to the database&lt;/strong&gt; If you have custom button effects they will continue to use the old method. If you have none, you should switch this preference to use the new method before you make custom buttons.&lt;/li&gt;
  &lt;li&gt;And &lt;strong&gt;many, many&lt;/strong&gt; quality of life improvements, visual improvements, tweaks, fixes…&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.11</title>
      <link>https://formulize.org/news/v7-11/</link>
      <guid isPermaLink="false">formulize-news-34</guid>
      <pubDate>Sun, 18 Dec 2022 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Installer updated for PHP 8&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v7.1</title>
      <link>https://formulize.org/news/v7-1/</link>
      <guid isPermaLink="false">formulize-news-33</guid>
      <pubDate>Sat, 3 Dec 2022 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;The long awaited PHP 8 compatible version, plus several exciting features, including copying settings and permissions from one group to another.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v7.01</title>
      <link>https://formulize.org/news/v7-01/</link>
      <guid isPermaLink="false">formulize-news-32</guid>
      <pubDate>Mon, 12 Sep 2022 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
  &lt;li&gt;Fix for minor DB patch issue, affecting new installs only&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v7.0</title>
      <link>https://formulize.org/news/v7-0/</link>
      <guid isPermaLink="false">formulize-news-31</guid>
      <pubDate>Wed, 31 Aug 2022 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;This is what was on display at the Formulize Summit in Toronto, August 30, and now available for the world to enjoy. Featuring an all new theme, completely mobile friendly.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Formulize Summit — a day of sharing in Toronto</title>
      <link>https://formulize.org/news/formulize-summit-toronto/</link>
      <guid isPermaLink="false">formulize-news-2</guid>
      <pubDate>Tue, 16 Aug 2022 12:00:00 +0000</pubDate>
      <category>Announcement</category>
      <description>&lt;p&gt;It was time for Formulize users to get together, learn from each other, and redefine how they work with their data. Time for new users to learn from the experts. Time to strengthen the nascent community around this unique software. And time to launch Formulize 7, the completely redesigned and most mobile friendly version yet.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Who:&lt;/strong&gt; Formulize users of all stripes, and anyone who was curious&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;What:&lt;/strong&gt; A day of sharing and learning&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Where:&lt;/strong&gt; &lt;a href=&quot;https://www.onekingwest.com&quot;&gt;One King West&lt;/a&gt;, in the heart of downtown Toronto&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;When:&lt;/strong&gt; August 30, 2022, all day&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Why:&lt;/strong&gt; To see what’s possible and imagine the future&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;How:&lt;/strong&gt; Demos, examples, stories, insights and wishlists — putting our heads together so the whole is greater than the sum of the parts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;watch-the-opening&quot;&gt;Watch the opening&lt;/h2&gt;

&lt;p&gt;No one can be told what Formulize is; you have to see it for yourself. &lt;a href=&quot;https://youtu.be/AgbXjtLFUJ0&quot;&gt;The introduction from the first Formulize Summit is on YouTube&lt;/a&gt; — 27 minutes.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>v6.2</title>
      <link>https://formulize.org/news/v6-2/</link>
      <guid isPermaLink="false">formulize-news-30</guid>
      <pubDate>Fri, 21 May 2021 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;temporary fix for 2fa codes not being read properly in some databases&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;disabling autofill on password reset page, if browser is behaving properly&lt;/li&gt;
  &lt;li&gt;adding support for new tlds to validation logic for the email address form element&lt;/li&gt;
  &lt;li&gt;disabling validation logic for blank phone numbers when the phone number form element is not a required element&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>v6.1</title>
      <link>https://formulize.org/news/v6-1/</link>
      <guid isPermaLink="false">formulize-news-29</guid>
      <pubDate>Wed, 19 May 2021 12:00:00 +0000</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;2FA code not required for password change when 2FA is off!&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Improving imports, including by trimming whitespace from data so it is cleaner in the database&lt;/li&gt;
  &lt;li&gt;Restoring line breaks to multiple data points in a single cell in a list&lt;/li&gt;
  &lt;li&gt;Fixing presentation of multiple data points in a single cell in an exported spreadsheet, so they appear in the same cell properly&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
