Fork me on GitHub

Sunday, October 29, 2023

Blog / General / Long way to FlatPress 1.3: Current status

Long way to FlatPress 1.3: Current status

2023-10-29_coding.jpgHey folks, quite some time has passed since the release of our last FlatPress version 1.2.1. And often the obvious question has been asked: β€œWhen will FlatPress 1.3 finally be released?”

Today, I’d like to give you an overview over the current status of development.

tl;dr: FlatPress 1.3 is almost ready, but a few annoying problems are still holding us back from releasing it. We ask for your help.

What we want to achieve with FlatPress 1.3

  • Main goal (and it’s about damn time!) is PHP 8.1 and 8.2 compatibility.
  • Also, we want to add a few more plugins for convenience. For example, FlatPress lacked a proper image gallery display and management.
  • And of course, known bugs and security issues should be fixed.

What is done already

2023-10-29_gallerycaptionsplugin.pngEven if you haven’t necessarily noticed it, a lot has happened since the last FlatPress release. As of today, we count 424 GitHub commits to be precise :)

Reading through the change log, you’ll find a lot of changes, fixes and additions. I want to highlight the most important ones:

  • We got FlatPress working with PHP 8.1 and 8.2.
    But there was a “little” catch: In previous versions, FlatPress utilized version 2 of the templating engine Smarty, which is outdated and does not support current PHP versions. So we switched to the current Smarty version 4, that came with significant API changes - we had to rework a lot of code and template files. Although that worked out great in general, we still have a few critical issues to fix (see below).
  • Some new plugins have found their way into the FlatPress standard, for example PhotoSwipe for stylish and responsive image gallery display, or the Gallery Captions plugin for maintaining the captions of gallery images in the Admin Area.
  • A proper metric ton of bugs and security issues has been fixed.
  • The FlatPress installer is now localized and looks better than ever.

If you’re curious, feel free to get the latest development version, it’s currently named “FlatPress”. The “dev” is not silent - it stands for “do not update your productive blog, some things might not work properly yet!”. But there’s absolutely nothing to be said against installing it in another folder of your web server to take a peek at the cool new features of FlatPress 1.3! After all, removing it afterwards is as simple as deleting this folder.

What still has to be tackled

There a still a few open issues, we gather them in a milestone on GitHub. Some of them are real blockers for the release of FlatPress 1.3 - we can’t ship as long as the contact form is not working, or saving entries is not possible under some circumstances. Also, the RSS feed delivers raw BBCode, which simply has to be fixed. Most of these issues relate to the Smarty update.

Greatest limiting factor is, no surprise, the developers’ spare time. Especially the Smarty issues are quite challenging and require more than one or two single hours of debugging.
So if you like to support us there, we’d appreciate any help!

What you can do to help us

  • We invite FlatPress users to download the lastest development version. Fiddle around with it, and let us know your findings on the support forum.
  • Template and plugin authors may want to prepare their templates and plugins for Smarty 4 in order to run with FlatPress 1.3. This helpful article on our wiki also contains tips on how to keep plugins backwards compatible.
  • As a PHP programmer, please feel free to tackle any of the open issues from the 1.3 milestone! We’re always very grateful for Pull Requests with your changes on GitHub.

So this is the current FlatPress 1.3 development status. Of course, we’ll keep you up to date whenever there’s something new. Make sure to follow the FlatPress accounts on Mastodon or Twitter, and subscribe to this blog’s RSS feed.

Keep blogging happily!
All the best,

Image: Slightly cropped “Coding Javascript” by Christiaan Colen - licensed under CC BY-SA 2.0