LnBlog 2.3.0 - No Need for RSS

It's that time again - time for a new LnBlog release!  I'm averaging about one a year at this point, which isn't too bad considering how little time I get to work on it.  As usual, you can grab it from the download page or from the GitHub page.

Anyway, this release comes with several new features and some caveats.  While perhaps not earth-shattering, some of the changes are fairly substantial.  

But first, a compatibility warning: PHP versions prior to 7.4 are no longer supported.  That's right, we're moving into the "modern" era and making PHP 7.4 or greater a hard dependency.  So if you're still on 7.3, sorry, but the new release won't work.  But on the other hand, 7.3 has also reached end-of-life and no longer even gets security updates, so you probably shouldn't be running it anyway.  Also, updating to 7.4 means I can start using more fancy new language features.

As a side-note, the above also means that if you installed from source, or want to do an in-place upgrade by pulling from the Git repo, you'll need to do a "composer install --no-dev" to update the dependencies.

Anyway, on to the changes. One of the big ones is that the RSS support has been completely revamped.  The old plugins were, frankly, crappy and half-baked, and had lain mostly untouched for over a decade.  So I ripped them out and replaced them with a new, unified RssManagement plugin.  In the process, I pulled all the actual feed generation logic out of plugins and into the core.  This allows us to leverage that to support additional export formats.  So in addition to the WordPress export that we added in the last release, we can now do all the formats that we generate feeds in.  This also made it much easier to add new feed formats, so in addition to RSS 1.0 and RSS 2.0, we can now create Atom feeds as well!

2022-09-16T17-41-47-162Z-small.png
The new RssManagement plugin settings.

Note that because we now have a new RSS plugin, you'll probably need to reconfigure the RssManagement plugin to match any customizations you had previously.  However, this time the config is all in one place.  So as you can above, there is now one config screen to choose what feed types to generate, where they appear, and what the sidebar panel looks like.  There are also some links to manually purge and recreate feed files (caveat: the UI needs a little work...).  These are useful if you decide to disable a particular format or want to migrate from RSS to Atom.

In addition to this, there are also some improvements to the post editor.  Instead of just supplying a couple of presets, you now have the ability to specify a full config object for TinyMCE.  That means you can customize the menus, toolbars, etc. to your liking.  (Of course, you'll need to look at the TinyMCE documentation to figure out the settings you want, but at least you can change them.)

We've also got some new changes to make dealing with post attachments easier.  The first is that you can now upload an attachment from the clipboard.  So you can copy an image from the web and paste it into the editor page with ctrl+V (or cmd+V if you're one of those people).  This will now actually upload the clipboard data and create an image attachment (note: you'll have to click outside of the actual editor box, otherwise TinyMCE will intercept the past).  We've also added controls next to the listed attachments that will insert links directly in the editor.  So once the attachment is uploaded, all you need to do to insert it at the cursor location is click the icon next to it in the attachment list.  When combined with the auto-scaling feature, I find that this takes nearly all of the friction out of adding image to your posts.  But that's just me.

Anyway, here's the official list of issues resolved in this release.  Enjoy!

  • #47 Improve RSS support (enhancement)
  • #44 Make TinyMCE editor configurable (enhancement)
  • #43 Better display of publication queue (enhancement)
  • #42 Support for "paste to upload" (enhancement)
  • #39 Encapsulation for controller logic (enhancement)
  • #38 Improve image quality for auto-scaling (enhancement)
  • #37 Move LBCode editor markup to a plugin (enhancement)
  • #36 Insert attachment links in editor (enhancement)
  • #35 Add cache busting for JS/CSS files (bug)
  • #33 Manage files for profiles (enhancement)
  • #32 TinyMCE not loading on generic file editor (bug)