<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    
    <title>blog.liberaforms.org</title>
    <description>LiberaForms blog</description>
    <link>https://blog.liberaforms.org/</link>
    <atom:link href="https://blog.liberaforms.org/feed_rss_created.xml" rel="self" type="application/rss+xml" />

    
    
    
    <language>en</language>

    
    <pubDate>Fri, 10 Apr 2026 16:12:56 -0000</pubDate>
    <lastBuildDate>Fri, 10 Apr 2026 16:12:56 -0000</lastBuildDate>
    <ttl>1440</ttl>

    
    <generator>MkDocs RSS plugin - v1.16.0</generator>

    
    

    
    
    <item>
      <title>Version 4.8.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.8.1&lt;/h1&gt;
&lt;p&gt;We have found a bug that unfortunately causes some forms to fail to render.&lt;/p&gt;
&lt;p&gt;With LiberaForms &lt;code&gt;v4.7.0&lt;/code&gt; we upgraded the upstream formBuilder (we like to keep things up-to-date).
Then, with LiberaForms &lt;code&gt;v4.8.0&lt;/code&gt; we upgraded again.&lt;/p&gt;
&lt;p&gt;To our dismay, we have discovered that unexpected Header and Paragraph field parameters are saved to
the database when forms created before v4.7.0 are then later edited by v4.7.0.&lt;/p&gt;
&lt;p&gt;Consequently, after upgrading to LiberaForms v4.8.0, these fields throw and error.&lt;/p&gt;
&lt;p&gt;v4.8.1 now looks for these rouge fields and repairs inconsistencies in the background, but this only happens when forms are edited or saved.&lt;/p&gt;
&lt;p&gt;You should preventively repair the forms on your installation.&lt;/p&gt;
&lt;p&gt;Follow the upgrade instructions below and then run&lt;/p&gt;
&lt;p&gt;&lt;code&gt;source ./venv/bin/activate
flask site repair-forms&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sorry about that!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/04/10/version-481/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2026/04/10/version-481/</guid>
      
    </item>
    
    <item>
      <title>Version 4.8.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.8.0&lt;/h1&gt;
&lt;p&gt;We&#39;ve been busy for the last few months. This version comes with new features and the usual tweaks and improvements.&lt;/p&gt;
&lt;h2&gt;Multi-page forms&lt;/h2&gt;
&lt;p&gt;We&#39;ve built a new field type to insert page breaks into your forms.&lt;/p&gt;
&lt;p&gt;Your users will be able to navigate back and forth between pages but only advance when &lt;code&gt;required&lt;/code&gt; fields have been answered.&lt;/p&gt;
&lt;p&gt;Pages can also be conditioned just like any other field, meaning that fields within a conditioned page are also conditioned!&lt;/p&gt;
&lt;h2&gt;Inline help&lt;/h2&gt;
&lt;p&gt;The contextual help code and much of the content has been completely rewritten.&lt;/p&gt;
&lt;p&gt;Hopefully you will find the help more ... helpful.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Searching for help gives better results&lt;/li&gt;
&lt;li&gt;Indexing the help pages is powered by keywords&lt;/li&gt;
&lt;li&gt;New popup windows provide useful on-the-spot information&lt;/li&gt;
&lt;li&gt;Improved interface to navigate the help pages&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bulk form attachment downloads&lt;/h2&gt;
&lt;p&gt;It is now possible to download all the files attached to the answers in a zip file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Select which file fields to include in the zip file (when applicable)&lt;/li&gt;
&lt;li&gt;E2EE files are optionally decrypted&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;My media&lt;/h2&gt;
&lt;p&gt;The code that renders lists of data has been extended to list your media files too.&lt;/p&gt;
&lt;p&gt;This makes the &#39;My media&#39; much more responsive.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;p&gt;Most importantly, the &#39;Satisfaction&#39; form field now works correctly on the latest version of Firefox.&lt;/p&gt;
&lt;h2&gt;Thanks&lt;/h2&gt;
&lt;p&gt;Thank you to the people who contributed code, to all the translators who are amazing, to all of you for using LiberaForms, and to &lt;a href=&#34;https://nlnet.nl/&#34;&gt;NLnet&lt;/a&gt; for supporting this release. ♥&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/03/18/version-480/</link>
      <pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2026/03/18/version-480/</guid>
      
    </item>
    
    <item>
      <title>Version 4.7.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.7.0&lt;/h1&gt;
&lt;p&gt;This version comes with a mix of new features and fixes.&lt;/p&gt;
&lt;h2&gt;New features&lt;/h2&gt;
&lt;h3&gt;Form languages&lt;/h3&gt;
&lt;p&gt;Form Editors can now select the language used for the &#39;Send&#39; button, messages, and notifications from LiberaForms.&lt;/p&gt;
&lt;p&gt;The form&#39;s language can be set on a form to form basis, and the default is set on the user&#39;s settings page.&lt;/p&gt;
&lt;p&gt;This feature already includes five new languages, &lt;code&gt;Bulgarian&lt;/code&gt;, &lt;code&gt;Dutch&lt;/code&gt;, &lt;code&gt;Italian&lt;/code&gt;, &lt;code&gt;Chinese (traditional)&lt;/code&gt; and &lt;code&gt;Eesti keel&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;A Satisfaction form field&lt;/h3&gt;
&lt;p&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;20&#34; height=&#34;20&#34; domain=&#34;button&#34; tabindex=&#34;0&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;#ceb139&#34; stroke=&#34;#ceb139&#34; stroke-width=&#34;2.5&#34; stroke-linecap=&#34;round&#34; stroklinejoin=&#34;round&#34;&gt;&lt;polygon points=&#34;12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2&#34;&gt;&lt;/polygon&gt;&lt;/svg&gt;
&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;20&#34; height=&#34;20&#34; domain=&#34;button&#34; tabindex=&#34;0&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;#ceb139&#34; stroke=&#34;#ceb139&#34; stroke-width=&#34;2.5&#34; stroke-linecap=&#34;round&#34; stroklinejoin=&#34;round&#34;&gt;&lt;polygon points=&#34;12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2&#34;&gt;&lt;/polygon&gt;&lt;/svg&gt;
&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;20&#34; height=&#34;20&#34; domain=&#34;button&#34; tabindex=&#34;0&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;#ceb139&#34; stroke=&#34;#ceb139&#34; stroke-width=&#34;2.5&#34; stroke-linecap=&#34;round&#34; stroklinejoin=&#34;round&#34;&gt;&lt;polygon points=&#34;12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2&#34;&gt;&lt;/polygon&gt;&lt;/svg&gt;
&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;20&#34; height=&#34;20&#34; domain=&#34;button&#34; tabindex=&#34;0&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;#ceb139&#34; stroke=&#34;#ceb139&#34; stroke-width=&#34;2.5&#34; stroke-linecap=&#34;round&#34; stroklinejoin=&#34;round&#34;&gt;&lt;polygon points=&#34;12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2&#34;&gt;&lt;/polygon&gt;&lt;/svg&gt;
&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;20&#34; height=&#34;20&#34; domain=&#34;button&#34; tabindex=&#34;0&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;gray&#34; stroke-width=&#34;2.5&#34; stroke-linecap=&#34;round&#34; stroklinejoin=&#34;round&#34;&gt;&lt;polygon points=&#34;12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2&#34;&gt;&lt;/polygon&gt;&lt;/svg&gt;&lt;/p&gt;
&lt;p&gt;This new field includes options to display &lt;code&gt;Stars&lt;/code&gt; &lt;code&gt;Hearts&lt;/code&gt; and &lt;code&gt;Emojis&lt;/code&gt; with a choice of colours.&lt;/p&gt;
&lt;p&gt;Field conditions may also be configured using this field.&lt;/p&gt;
&lt;h3&gt;Anti-spam&lt;/h3&gt;
&lt;p&gt;Forms now come with two anti-spam measures. Both can be enabled/disabled on the form&#39;s options page.&lt;/p&gt;
&lt;h4&gt;Rate-limiting&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Users must take at least 20 seconds (by default) to answer a form&lt;/li&gt;
&lt;li&gt;When the form is answered sooner, the user is required to wait a little (the remaining seconds)&lt;/li&gt;
&lt;li&gt;Sysadmins may change the default or disabled this feature in the &lt;code&gt;.env&lt;/code&gt; file. See &lt;code&gt;dotenv.example&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Honeypots&lt;/h4&gt;
&lt;p&gt;Hidden fields designed to trick bots.&lt;/p&gt;
&lt;h2&gt;GDPR wizard&lt;/h2&gt;
&lt;p&gt;Now also available in &lt;code&gt;Dutch&lt;/code&gt;. Thank you @zandbelt!&lt;/p&gt;
&lt;h2&gt;Fixes&lt;/h2&gt;
&lt;p&gt;Amongst the numerous fixes and tweaks:&lt;/p&gt;
&lt;h3&gt;Maps&lt;/h3&gt;
&lt;p&gt;When a form&#39;s &lt;code&gt;Answer edition&lt;/code&gt; option was enabled, there was no way for a user to return and edit a map field.&lt;/p&gt;
&lt;p&gt;Also, empty map marker popups were displayed when no popup fields had been defined. And popups also displayed the labels of deleted fields, which definitely should not be the case.&lt;/p&gt;
&lt;p&gt;All fixed now.&lt;/p&gt;
&lt;h3&gt;Webhooks&lt;/h3&gt;
&lt;p&gt;We&#39;ve added the server&#39;s hostname to the JSON object, but more importantly..&lt;/p&gt;
&lt;p&gt;The JSON object posted on &lt;code&gt;Answer deleted&lt;/code&gt; has changed.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;answer_id&lt;/code&gt; type is now a &lt;code&gt;list&lt;/code&gt;. We have done this because an Editor may delete all the form&#39;s answers in bulk. Please check your webook&#39;s configuration for an example.&lt;/p&gt;
&lt;p&gt;If you are using this webhook you will need to modify the consumer.&lt;/p&gt;
&lt;h2&gt;Thanks&lt;/h2&gt;
&lt;p&gt;Thanks to @zandbelt for nudging us to get the new form language feature done, and to the people who submitted new translations.&lt;/p&gt;
&lt;p&gt;Thanks to @kapis for fixing the map field.&lt;/p&gt;
&lt;p&gt;And thank you @nlnet for supporting development.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/02/05/version-470/</link>
      <pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2026/02/05/version-470/</guid>
      
    </item>
    
    <item>
      <title>YunoHost includes LiberaForms</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>News</category>
        
      
      <description>&lt;h1&gt;YunoHost includes LiberaForms&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://yunohost.org/&#34;&gt;YunoHost&lt;/a&gt; is an operating system aiming to simplify server administration and therefore democratize ...&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/02/03/yunohost-includes-liberaforms/</link>
      <pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2026/02/03/yunohost-includes-liberaforms/</guid>
      
    </item>
    
    <item>
      <title>Version 4.6.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.6.1&lt;/h1&gt;
&lt;p&gt;Just a quick release that fixes a couple of bugs (moslty webhook issues).&lt;/p&gt;
&lt;p&gt;Importantly, LiberaForms was failing on python version &lt;code&gt;3.9.2&lt;/code&gt; Fixed.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/11/27/version-461/</link>
      <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/11/27/version-461/</guid>
      
    </item>
    
    <item>
      <title>Version 4.6.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.6.0&lt;/h1&gt;
&lt;p&gt;This release comes with Webhooks, first requested back in March 2023. Thanks for waiting!&lt;/p&gt;
&lt;p&gt;Webhooks are triggered when an event happens on the server.&lt;/p&gt;
&lt;p&gt;These events can be configure by the site&#39;s Admin:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;User created&lt;/code&gt; &lt;code&gt;User deleted&lt;/code&gt; &lt;code&gt;Form created&lt;/code&gt; &lt;code&gt;Form published&lt;/code&gt; &lt;code&gt;Form deleted&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And form Editors can configure these events on a form to form basis:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Answer created&lt;/code&gt; &lt;code&gt;Answer edited&lt;/code&gt; &lt;code&gt;Answer deleted&lt;/code&gt; &lt;code&gt;Form edited&lt;/code&gt; &lt;code&gt;Form published&lt;/code&gt; &lt;code&gt;Form deleted&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This release also includes various CSS tweaks and bug fixes.&lt;/p&gt;
&lt;p&gt;Notably, the &lt;code&gt;data-display&lt;/code&gt; component now correctly displays the &lt;code&gt;is_public&lt;/code&gt; status of a form (a bug introduced with v4.1.2).&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/10/23/version-460/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/10/23/version-460/</guid>
      
    </item>
    
    <item>
      <title>Version 4.5.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.5.1&lt;/h1&gt;
&lt;p&gt;Fixes a bug that caused some installations to throw an error when migrating to v4.3.0&lt;/p&gt;
&lt;p&gt;Includes other minor bug fixes and tweaks.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/09/23/version-451/</link>
      <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/09/23/version-451/</guid>
      
    </item>
    
    <item>
      <title>Version 4.5.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.5.0&lt;/h1&gt;
&lt;p&gt;Editors can style their forms with images and colours. Those options now include a collection of themes!&lt;/p&gt;
&lt;p&gt;Themes come in different colours each with light and dark modes. See &lt;code&gt;dark&lt;/code&gt; &lt;code&gt;orange&lt;/code&gt; &lt;a href=&#34;https://dev.liberaforms.org/just-for-fun&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This release also comes with a new &lt;code&gt;Dockerfile&lt;/code&gt; with numerous improvements!&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/09/17/version-450/</link>
      <pubDate>Wed, 17 Sep 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/09/17/version-450/</guid>
      
    </item>
    
    <item>
      <title>Version 4.4.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.4.0&lt;/h1&gt;
&lt;p&gt;LiberaForms speaks Ukrainian!&lt;/p&gt;
&lt;p&gt;Now available in English, Spanish, Basque, Catalan, French, Galician, German, Russian, Tamil, and Ukrainian.&lt;/p&gt;
&lt;p&gt;Thank you to all the translators, and to @Maksim2005UKR for making this release possible!&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/08/27/version-440/</link>
      <pubDate>Wed, 27 Aug 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/08/27/version-440/</guid>
      
    </item>
    
    <item>
      <title>Version 4.3.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.3.1&lt;/h1&gt;
&lt;p&gt;With v4.3.0 we fixed a bug that prevented conditional fields from loading correctly when anonymous answer edition was enabled.&lt;/p&gt;
&lt;p&gt;But we were careless and introduced another bug that caused conditioned field to be shown when indeed that should not have been.&lt;/p&gt;
&lt;p&gt;Let&#39;s hope we&#39;ve got it right this time!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/08/20/version-431/</link>
      <pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/08/20/version-431/</guid>
      
    </item>
    
    <item>
      <title>Version 4.3.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.3.0&lt;/h1&gt;
&lt;p&gt;This release introduces a new Moderator role.&lt;/p&gt;
&lt;p&gt;This won&#39;t mean much to people running an installation just for themselves but as the number of users grow, Moderators play an important part in maintaining a sane site.&lt;/p&gt;
&lt;p&gt;The four available roles are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Guest: These users can&#39;t create forms but can be invited to participate&lt;/li&gt;
&lt;li&gt;Editor: Creates forms, uploads media, creates Privacy statements, etc&lt;/li&gt;
&lt;li&gt;Moderator: Manages Forms and Users on the installation&lt;/li&gt;
&lt;li&gt;Admin: Manages the site&#39;s configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also included are the usual bug fixes and css tweaks.&lt;/p&gt;
&lt;p&gt;Thank you &lt;a href=&#34;https://nlnet.nl/&#34;&gt;NLnet&lt;/a&gt; for your oversight. ♥&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/08/19/version-430/</link>
      <pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/08/19/version-430/</guid>
      
    </item>
    
    <item>
      <title>Version 4.2.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.2.0&lt;/h1&gt;
&lt;p&gt;For all you people who have been using LiberaForms over the last few years, no, you&#39;re not dreaming!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conditional form fields&lt;/strong&gt; have been a requested feature since forever, and today it is here. Yippie!&lt;/p&gt;
&lt;p&gt;We had turned a blind eye to this feature for so long because 1) We&#39;d always thought of LiberaForms as just a simple online form software and, most importantly 2) It was not clear to us how to integrate conditional fields into the third party &lt;a href=&#34;https://formbuilder.online/&#34;&gt;formbuilder&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But recently we had an idea. Instead of hacking the formbuilder, we could wrap the rendered form with custom code. This also meant we could craft our own configuration UI.&lt;/p&gt;
&lt;p&gt;Hope you like it!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/08/11/version-420/</link>
      <pubDate>Mon, 11 Aug 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/08/11/version-420/</guid>
      
    </item>
    
    <item>
      <title>Conditional form fields</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>News</category>
        
      
      <description>&lt;h1&gt;Conditional form fields&lt;/h1&gt;
&lt;p&gt;Since before the beginning of time people have been saying &#34;What about conditional fields?&#34; ☻&lt;/p&gt;
&lt;p&gt;Well, after some years of pretending not to listen, we&#39;ve got a beta ready for testing!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/07/18/conditional-form-fields/</link>
      <pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/07/18/conditional-form-fields/</guid>
      
    </item>
    
    <item>
      <title>Version 4.1.2</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.1.2&lt;/h1&gt;
&lt;p&gt;Really happy to release this version that is an important part of making LiberaForms a scalable software.&lt;/p&gt;
&lt;p&gt;In the beginning our database(s) were tiny, just a handful of users and forms. When an Admin was reading User or Form data, we would package everything on the server and send the whole lot down to the frontend that is built to display, order, and search data items. It worked fine.&lt;/p&gt;
&lt;p&gt;But, as our SASS installations started to hold more data, it became obvious that we needed to change things. When we hit 1000+ forms it simply took too long (eight+ seconds) to markup 1000 items and send them to the client. And why send all that data anyway?&lt;/p&gt;
&lt;p&gt;Server side pagination to the rescue!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/07/16/version-412/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/07/16/version-412/</guid>
      
    </item>
    
    <item>
      <title>Version 4.1.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.1.1&lt;/h1&gt;
&lt;p&gt;LiberaForms uses markdown to write HTML. We&#39;ve been using the &lt;a href=&#34;https://github.com/Ionaru/easy-markdown-editor&#34;&gt;EasyMDE&lt;/a&gt; editor for years now so this release includes some long overdue love and attention.&lt;/p&gt;
&lt;p&gt;Highlighted changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improves custom markdown editor code, UI, and usability&lt;/li&gt;
&lt;li&gt;Data-display correctly renders timezone adjusted dates&lt;/li&gt;
&lt;li&gt;Formbuilder&#39;s delete cloned field button now actually deletes the field&lt;/li&gt;
&lt;li&gt;Includes updated Spanish, French, and Galician L10n. Thank you to you all ♥&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other changes are minor code and CSS tweaks.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/05/19/version-411/</link>
      <pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/05/19/version-411/</guid>
      
    </item>
    
    <item>
      <title>Version 4.1.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.1.0&lt;/h1&gt;
&lt;p&gt;Linking to PDFs hosted on some proprietary cloud server hurts, especially when you&#39;ve made the effort to use Free form software.&lt;/p&gt;
&lt;p&gt;Suffer no longer! This release comes with an option to upload PDFs to the media library, and makes it easy to link to them from the markdown editor.&lt;/p&gt;
&lt;p&gt;Also includes a new form option that makes a best-effort to stop a form from being answered twice on the same browser.&lt;/p&gt;
&lt;p&gt;Thank you @wander, @AimeeMaroux, and @neil. ♥&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/04/22/version-410/</link>
      <pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/04/22/version-410/</guid>
      
    </item>
    
    <item>
      <title>Version 4.0.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.0.1&lt;/h1&gt;
&lt;p&gt;This release contains a number of security and bug fixes. Users of all versions are encouraged to upgrade.&lt;/p&gt;
&lt;p&gt;Special thanks to @wander for your analysis, proposals, and candor. ♥&lt;/p&gt;
&lt;p&gt;Also includes some minor UI tweaks.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;Oh, and &lt;code&gt;Long text&lt;/code&gt; form fields now automagically grow longer when viewed on cellphones.&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/04/16/version-401/</link>
      <pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/04/16/version-401/</guid>
      
    </item>
    
    <item>
      <title>We&#39;ve moved to Codeberg!</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>News</category>
        
      
      <description>&lt;h1&gt;We&#39;ve moved to Codeberg!&lt;/h1&gt;
&lt;p&gt;Very much looking forward to becoming part of the vibrant community there.&lt;/p&gt;
&lt;p&gt;Visit us at [https://codeberg.org/LiberaForms](https:...&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/04/07/weve-moved-to-codeberg/</link>
      <pubDate>Mon, 07 Apr 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/04/07/weve-moved-to-codeberg/</guid>
      
    </item>
    
    <item>
      <title>Version 4.0.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.0.0&lt;/h1&gt;
&lt;p&gt;After some pondering, procrastinating, planning, and development, LiberaForms now comes with &lt;a href=&#34;https://docs.liberaforms.org/user-guide/e2ee&#34;&gt;End-to-end encryption&lt;/a&gt; built in. Yeah!&lt;/p&gt;
&lt;p&gt;This means that form answers are only known by the participating parties. No leaks!&lt;/p&gt;
&lt;p&gt;Everything E2EE happens on the client and to achieve that LiberaForms imports &lt;a href=&#34;https://openpgpjs.org/&#34;&gt;OpenPGP.js&lt;/a&gt;, a library that fits our needs very well indeed.&lt;/p&gt;
&lt;p&gt;As expected, private keys never leave the client and users must take responsibility for the safe keeping their key.&lt;/p&gt;
&lt;p&gt;Because the server cannot read a form&#39;s encrypted answers, some form features are disabled, like sending confirmation via emails. But a part from that, E2EE integration is seamless. :)&lt;/p&gt;
&lt;p&gt;Encryption is enabled on a form to form basis. SysAdmins set the &lt;a href=&#34;#upgrade-from-v3&#34;&gt;E2EE_MODE&lt;/a&gt; to make E2EE either optional, required, or disabled.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2025/02/27/version-400/</link>
      <pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/02/27/version-400/</guid>
      
    </item>
    
    <item>
      <title>Version 3.7.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 3.7.1&lt;/h1&gt;
&lt;p&gt;Just a quick release before we launch v4.&lt;/p&gt;
&lt;p&gt;This release comes with two notable bug fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Form edition &lt;code&gt;Cancel&lt;/code&gt; button now actually cancels the edition correctly&lt;/li&gt;
&lt;li&gt;CSV and JSON answer exports correctly handle fields with duplicate names&lt;/li&gt;
&lt;/ul&gt;</description>
      <link>https://blog.liberaforms.org/2025/02/18/version-371/</link>
      <pubDate>Tue, 18 Feb 2025 00:00:00 +0000</pubDate>
      <source url="https://blog.liberaforms.org/feed_rss_created.xml">blog.liberaforms.org</source>
      
      <guid isPermaLink="true">https://blog.liberaforms.org/2025/02/18/version-371/</guid>
      
    </item>
    
  </channel>
</rss>