<?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>Thu, 02 Jul 2026 16:48:14 -0000</pubDate>
    <lastBuildDate>Thu, 02 Jul 2026 16:48:14 -0000</lastBuildDate>
    <ttl>1440</ttl>

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

    
    

    
    
    <item>
      <title>Confirmation emails</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>News</category>
        
      
      <description>&lt;h1&gt;Confirmation emails&lt;/h1&gt;
&lt;p&gt;One of the very first features we added to LiberaForms was the possiblity for form editors to include a checkbox at the foot of the form so that their public could request confirmation via email when the form was successfully submitted.&lt;/p&gt;
&lt;p&gt;That is a nice feature and many people have uses it over the last five or so years.&lt;/p&gt;
&lt;p&gt;But times change.&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/07/02/confirmation-emails/</link>
      <pubDate>Thu, 02 Jul 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/07/02/confirmation-emails/</guid>
      
    </item>
    
    <item>
      <title>Version 4.10.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.10.0&lt;/h1&gt;
&lt;p&gt;This is the tenth release in the version 4 series.&lt;/p&gt;
&lt;h2&gt;Localization&lt;/h2&gt;
&lt;p&gt;Public facing forms have been translated to Lithuanian!&lt;/p&gt;
&lt;p&gt;Thank you @kamiccolo :)&lt;/p&gt;
&lt;p&gt;This release also includes lots of i18n updates from the kind translators.&lt;/p&gt;
&lt;p&gt;Thank you too!&lt;/p&gt;
&lt;h2&gt;Optional email confirmation&lt;/h2&gt;
&lt;p&gt;LiberaForms lets you enable a checkbox so that your audience may receive a confirmation email.&lt;/p&gt;
&lt;p&gt;This feature is now disabled by default. &lt;a href=&#34;/2026/07/02/confirmation-emails/&#34;&gt;Read why&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It &lt;a href=&#34;https://codeberg.org/LiberaForms/server/src/branch/main/docs/confirmation-email.md&#34;&gt;can be enabled&lt;/a&gt; in the &lt;code&gt;.env&lt;/code&gt; file.&lt;/p&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;h3&gt;Emails&lt;/h3&gt;
&lt;p&gt;In version 4.9.0 we swapped the email library to fix a bug kindly reported and investigated by @mark-wieczorek.&lt;/p&gt;
&lt;p&gt;Unfortunately we did not thoroughly read-the-docs (my bad), and many emails threw an error like, for example, the Recover password email.&lt;/p&gt;
&lt;p&gt;This should be all good now. Please update.&lt;/p&gt;
&lt;h3&gt;Rate limiting&lt;/h3&gt;
&lt;p&gt;Extra long URL&#39;s were throwing an error. Fixed.&lt;/p&gt;
&lt;h2&gt;Thanks&lt;/h2&gt;
&lt;p&gt;To all of you who use LiberaForms. Enjoy!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/07/02/version-4100/</link>
      <pubDate>Thu, 02 Jul 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/07/02/version-4100/</guid>
      
    </item>
    
    <item>
      <title>We&#39;ve got a new website!</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>News</category>
        
      
      <description>&lt;h1&gt;We&#39;ve got a new website!&lt;/h1&gt;
&lt;p&gt;Our website needed an update. It was built years ago and has been pretty much abandoned ever since.&lt;/p&gt;
&lt;p&gt;Between then and now the ini...&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/06/26/weve-got-a-new-website/</link>
      <pubDate>Fri, 26 Jun 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/06/26/weve-got-a-new-website/</guid>
      
    </item>
    
    <item>
      <title>Version 4.9.2</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.9.2&lt;/h1&gt;
&lt;p&gt;Fixes rate limiting when requested URLs contain non-ascii characters.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/06/06/version-492/</link>
      <pubDate>Sat, 06 Jun 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/06/06/version-492/</guid>
      
    </item>
    
    <item>
      <title>Version 4.9.1</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.9.1&lt;/h1&gt;
&lt;p&gt;With v4.9.0 we changed the width of public facing forms on large screens.&lt;/p&gt;
&lt;p&gt;Unfortunately we neglected to tweak both the form&#39;s Thank you page and Expired page.&lt;/p&gt;
&lt;p&gt;Upgrade to this version to fix the widths of those pages.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/06/03/version-491/</link>
      <pubDate>Wed, 03 Jun 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/06/03/version-491/</guid>
      
    </item>
    
    <item>
      <title>Version 4.9.0</title>
      
      
        
      <author>tuttle</author>
        
      
      
      
        
      <category>Releases</category>
        
      
      <description>&lt;h1&gt;Version 4.9.0&lt;/h1&gt;
&lt;p&gt;Pleased to announce this release with a mixed bag of new features. 🎉&lt;/p&gt;
&lt;h2&gt;Editors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Individual answers can be downloaded one at a time as PDFs.&lt;/li&gt;
&lt;li&gt;Forms&#39; expiry date and time now respect your personal timezone configuration.&lt;/li&gt;
&lt;li&gt;Chronological graphs display dates and times correctly adjusted to your timezone.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Moderators&lt;/h2&gt;
&lt;p&gt;The new auto-expire form feature can enabled/disabled on a user to user basis.&lt;/p&gt;
&lt;h2&gt;Admins&lt;/h2&gt;
&lt;p&gt;When your site is &lt;code&gt;Invitation only&lt;/code&gt; a new option &lt;code&gt;Generic invitation link&lt;/code&gt; can optionally be enabled.&lt;br&gt;
Anyone with a copy of this link can create a user account.&lt;/p&gt;
&lt;h2&gt;Sysadmins&lt;/h2&gt;
&lt;h3&gt;Auto expire, auto purge&lt;/h3&gt;
&lt;p&gt;Form can be forced to expire and optionally, deleted after X days.&lt;/p&gt;
&lt;p&gt;See &lt;code&gt;dotenv.example&lt;/code&gt; and &lt;a href=&#34;https://codeberg.org/LiberaForms/server/src/branch/main/docs/expire-purge-forms.md&#34;&gt;docs/expire-purge-forms.md&lt;/a&gt; for more info.&lt;/p&gt;
&lt;h3&gt;Rate limiting&lt;/h3&gt;
&lt;p&gt;This release comes with backend rate limiting.&lt;/p&gt;
&lt;p&gt;In version 4.7.0 we added rate limiting
&lt;a href=&#34;https://blog.liberaforms.org/2026/02/05/version-470/#rate-limiting&#34;&gt;on the client&lt;/a&gt;,
but that was only half the plan.&lt;/p&gt;
&lt;p&gt;Sysadmins can now configure limits on &lt;code&gt;public form&lt;/code&gt;, and &lt;code&gt;user landing&lt;/code&gt; (such as login) endpoints.&lt;/p&gt;
&lt;p&gt;See &lt;code&gt;dotenv.example&lt;/code&gt; and &lt;a href=&#34;https://codeberg.org/LiberaForms/server/src/branch/main/docs/limiter.md&#34;&gt;docs/limiter.md&lt;/a&gt; for more info.&lt;/p&gt;
&lt;h3&gt;User registration honeypots&lt;/h3&gt;
&lt;p&gt;We&#39;ve added honeypots to the new user registration form.&lt;/p&gt;
&lt;h2&gt;Thanks&lt;/h2&gt;
&lt;p&gt;Thank you @barthalion for diving into the code and building the Individual answer PDF export feature.&lt;/p&gt;
&lt;p&gt;Thank you &lt;a href=&#34;https://nlnet.nl/&#34;&gt;NLnet&lt;/a&gt; for supporting in part this release.&lt;/p&gt;</description>
      <link>https://blog.liberaforms.org/2026/06/02/version-490/</link>
      <pubDate>Tue, 02 Jun 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/06/02/version-490/</guid>
      
    </item>
    
    <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>
    
  </channel>
</rss>