github Difegue/LANraragi v.0.5.0
LANraragi v.0.5.0 -- The BFR (Big Fucking Release)

latest releases: v.0.9.21, v.0.9.20, v.0.9.10...
6 years ago

PSA - There was a small bug with update nagging on this release, which is now fixed in the 0.5.0 Docker image.
Users installing from source should use the code from the latest branch.


Guess I lied about 0.5 coming in 2019.

This is a huge update!
In fact, it has so much shit we're probably gonna spend the next 3 releases bugfixing everything introduced here.

Here's a meaty changelog:

Dropped CGI for good in favor of Mojolicious

When LANraragi was initially written in 2014, I based it on what I knew of Perl at the time - CGI scripting with an Apache2 backend.

4 years of excruciatingly slow development later, times have changed, and there are tons of alternatives.
CGI has also been removed from the Perl core for a good while now, so there really was less and less incentive to stay on that path.

As a result, I've scrapped the entire CGI script house of cards and ported most of the working code to Mojolicious. And it's been a pretty good ride!
Development of new features is now easier, and we now use an individual web server instead of relying on Apache and mod_cgi.

There's been no feature loss as a result of this (except the old batch tagging, which came back in the form of auto-tagging on upload)

Introduction of a Plugin System

It's new, it's hip, it's Plugins!
The entire metadata retrieval system has been revamped to introduce the flexibility needed for those.

If you have enough Perl knowledge, you can start writing your own right away.
And even if you don't, this system allows me to adapt to new metadata sources in a much easier way, so expect a few more plugins in future releases.

Namespace Support in Tags

Tags haven't changed much since 0.4, but if you add namespaces to them, they'll now be displayed properly. The new Plugins also now retrieve them when available.

Built-in Installer Script & Revamped Documentation(again)

To help manage the dependency hell caused by modern Web development, I've added an installer script that automates most of it.
It also performs basic checks to see if your environment can run LRR.

As a result of this, the install documentation has been rewritten and expanded, now also featuring a basic User Manual.

Native Windows version

You probably could have ran 0.4 before using WAMP or some other abomination, but with Mojolicious, we now have a confirmed working Windows setup.
It's just as much of a slog as installing on Linux, except you're running .msis instead of apt-get install. god bless

More to come on this front on future releases! I'd like being able to provide an all-in-one Windows installer.

Docker and Vagrant updates

Docker images now automatically build in the Docker Cloud on every commit this repository receives.
As for Vagrant, it's now basically a VM wrapping our Docker container.
The end result is surprisingly convenient! Be sure to give it a try if you thought this was a pain to install before.

Starting with this release, I'll move development to a dedicated dev branch, while keeping master for releases.
This will come with modifications to the Docker Cloud autobuilds, so that at any time you'll be able to pull:

  • latest, the latest build from the master branch (and henceforth stable)
  • nightly, the latest build from the dev branch (and henceforth not stable)
  • Numbered versions, in case you want to go back to 0.4 for the kicks of it.

Bugfixes and Miscellaneous Improvements

A lot! Here are some of the most notable ones:

  • LRR now uses a Background Worker to perform most of the grunt filesystem work - meaning you won't ever have to see that hourglass loading page again.
  • You can now change Themes from any page in the app.
  • Upgraded all Icons to FontAwesome V5.
  • Actual real Logging, everywhere! A dedicated page has been added to view them from the webapp itself.
  • Changed the way archive IDs are computed so that they depend on the file contents instead of the filename. This is the most embarrassing bug of all time, but at least it's fixed now.
  • The above change completely fucks databases from 0.4, so I added a migration script to get your data out safely.
  • Finally got rid of all Unicode filename-related issues after 4 years of desperate struggling. This is way bigger than I'm making it out to be.

Don't miss a new LANraragi release

NewReleases is sending notifications on new releases.