Luna 1.3 RC1 now available

Today, we’re happy to release the first Release Candidate for Luna 1.3 Denim. This update includes only bug fixes. As we didn’t found it to much to release another beta, we decided to go straight to Release Candidates, so here you go, enjoy. We might release a second RC, but we hope that our next release is the final, and that will land on December 25!

Luna 1.3 Beta 1 is now available

Today, I’m happy to announce the availability of the first beta for Luna 1.3 Denim. Denim is our forth Luna release and will be released later this month as final release. It’s not a major update that will bring a lot of new features, but it is a nice one anyway.

This first beta is feature complete which means that we won’t be adding new features beyond this point. It’s now bug fixes all the way. So lets go over some of the changes you can expect:

  • We reimagined Sunrise completely, its design is now based on Random from the early days.
  • Threads can now be marked as important.
  • You can now, optionally, allow the usage of a center and size tag.
  • You have now access to all globally recognized timezones and no longer as subset selected by Luna.
  • You can no longer enabled Daylight Saving Time, Luna will now take care of this itself.
  • Fifteen has an updated sidebar with categories and quick access links.
  • The behavior of some markup tags has been changed.
  • You can no longer change the size of embedded videos, instead, they are now responsive.
  • CSS files have been rewritten to be easier to read and manage.
  • PHP coding contentions have been updated and this includes major changes to our naming schemes.
  • Improved support for High-DPI screens.
  • Bootstrap and Font Awesome have been updated to version 3.3.6 and 4.5.0 respectively.
  • 9 bug fixes

So that wraps it up. Keep in mind that this is a beta and we do not recommend you to use this in a productive environment. The download is available on our home page and the download section.

Additionally, as announced, Luna 1.3’s release will mean the end of life for both Luna 1.1 and Luna 1.2.

Luna 1.2.4 now available

I’m happy to announce the availability of Luna 1.2.4. The fourth maintenance release for Cornflower Blue contains mainly bug fixes. We’ve solved an issue in the email check, fixed markup issues, migration improvements for ModernBB and other minor bugs. One functional change is that new installations and updates to which the settings where not available will now set a random accent color for both the Mainstage as the Backstage.

Luna 1.3 nearing beta

For the past couple of weeks, I’ve been working on both Luna 1.3 and 2.0. While more attention has gone to the 2.0 update, there is also work being done for the 1.3 update. So now that this update is nearing the beta stage, I think it’s a nice idea to talk a little bit about what’s in it. So, first the stuff that is already in:

Themes and Backstage design
Luna 1.3 will be a rather minor update on the surface. The obvious things first: we will bring along a major revamp for the Sunrise 2.0 theme, making it look more like the classic Random themes from ModernBB. Another major – also theme related change – is the Fifteen 1.3 update. The theme will now show categories and filter options in the sidebar on the index. Further, we made serious improvements to the mobile interface of the theme. Idem dito for the Backstage.

Features
We’re introducing the “important” label. It’s a lot like the “pinned”-label, but it simply doesn’t stay put on the top of the forum list. Talking about labels, we’ve also changed the “new”-label to match all the others.

System changes
We’ve done some major work on timezones. First of all, we’ve included a serious amount of new timezones that where missing prior to the 1.3-update. Secondly, we’re now also taking care of Daylight Saving Time ourselves, instead of the user needing to change it manually in the profile and admins in the Backstage. Further, this update includes a couple of minor developer changes.

Preparing for Luna 2.0
However, the biggest change in the codebase is probably the major renaming work that has been done to the database. We changed a couple of things to match our terminology – much – better and that includes the database update. This is done to make sure that we can keep Luna 2.0 as clean as possible. We’ve also included some brand new coding conventions for our CSS files.

However, the changes won’t stay limited to just those. Here are the features we’ve yet to include but are planned to land in the coming days:

BBCode enhancements
Luna 1.3 will include 2 new tags for BBCode: center and size. However, because we’re well aware that if you give users freedom, they will abuse it, the size-tag will be disabled by default. Additionally, we’re also planning to update the video-tag to use Bootstraps responsive video embed class instead of our own fixed widths. These 2 options will disappear from settings in that update.

High-DPI support
Luna is a rather High-DPI-compatible platform as we don’t use much that isn’t scalable. However, the things that can’t scale, are horrible. The default avatar, test image and emoticon set will receive an upgrade to work better with High-DPI screens. Additionally, I would like to recommend you to use emoji’s instead of emoticons. As of Luna 2.0, emoji’s will be enabled by default once more (after we decided to disable it by default during Luna 1.0s test phase due to complains about Chrome not using emoji’s, but honestly, I don’t care much anymore and I’m getting sick about Chromes weird behavior; so that’s that)…

So these are 2 of the major additional changes that are coming. We’re planning some other minor changes beyond these. In case you didn’t notice, Luna 1.3 is more of a minor refresh that focusses more on details than that it is a major update 1.1 and 1.2. Most of my focus for major features has now shifted to 2.0; and I think that – if you guys see the result of that – you’ll be very happy that I did.

Round-up #17 – Fallow: Third time’s a charm

TL;DR: Luna 2.0 Fallow is in development. Ain’t that awesome?
For no “blast from the past”, skip first 6 paragraphs.

ModernBB 2 was an awesome release, the whole (or something around 95%) of the old FluxBB interface was rewritten in Bootstrap 3, making ModernBB one of the first forum engines to have a full responsive design without any compromises (that is, you won’t lose functionality just because you’re using a smaller screen). In future updates, we continued to refine that design and we nailed it with ModernBB 2.2 if I say so myself.

ModernBB 3 was mainly a rewrite on the back-end, but also contained a lot of improvements to our responsive design. It added quiet a lot of functionality and was refined in 8 subsequent updates (3.1 – 3.7 and 4.0). All bringing along new features that would eventually make up a part of the Luna feature set.

Luna was, just like ModernBB 3, a major jump in both the codebase and design. With Luna, we tried to reimagen forum software design from the ground up. We made – what we believe to be – the best management interface out there with Backstage 5 (sure the UX wasn’t on par with things like position numbers, it still isn’t). And we did away with the idea of individual forums and categories you needed to go look into to know what threads where updated thanks to the reworked index (as long as you had Fifteen as your theme).

These where the released versions of ModernBB/Luna and while we’re proud on these, we’ve had some projects in the past – 2 to be exact – that went beyond that. These 2 projects where named “Vanellope” and “Luna” respectively. Vanellope was a version we started developing during the beta stage of ModernBB 3 and was ment to be a full rewrite of ModernBB. It eventually got canceled but many ideas of it got inserted into ModernBB 3.1, 3.2 and 3.3.

The “Luna Project” was originally planned to be a major refactoring of our source code too. Rebuilding it from scratch. In stead, the project got cancelled once again and many of the ideas from this new project ended up in Luna 1.0 and following versions, the software you’re using today.

Twice we tried to rewrite our code, to break from the past and start anew with modern code. Twice we failed. Third time’s a charm, right? I hope so. In the past days and weeks, I’ve been asking for feedback on quiet a lot of things about Luna on our board. I’ve been showing of some design ideas and mock-ups of what could be “the future of Luna”.

Today, I’m pleased to announce that I am in fact working on a brand new piece of software that eventually will take the place of the then current version of Luna (which should be Luna 1.4 by then). This project is being written under the name “Fallow”, following on Aero, Bitterweet Shimmer, Cornflower Blue, Denim and Emerald, the codenames for the first 5 Luna releases. The version will – obviously – be “2.0”.

Fallow has been in development for a couple of weeks now and I think I’ve been making some nice progres. The codebase is being rebuild from scratch, we’ve got a shiny new core named Jewel, a framework developed by Studio 384 that contains some handy features, and a brand new database layer that has support for MySQL and anything based on that (MySQLi, MariaDB, etc.). SQLite support is coming soon!

Fallow is not only going to be a rewrite just for the sake of it. No, we want to build Luna from the ground up for a reason, or actually, a couple of reasons:

  1. Goodbye GPL. Our license has been holding us back, it has been holding the community back and I don’t like that. GPL is, despite being made by the Free Software Foundation, one of the most restricted open source Licenses out there. We’re currently looking into a new license and MIT or BSD(-like) are licenses we consider promising. Our we might ending up our very own license.
  2. Rewriting Luna means that we can start over again and use modern technologies at the core of Luna. Right now, it’s a hard task to mess with the true core of the project because it requires changes throughout the whole code and more often than not, that triggers unwanted side effects. A clean core is an important change, not only for that, but also because it is more future proof. Think extensions and so on. The PHP requirements won’t probably go up from PHP 5.3 (at this point).
  3. Rewritten markup, rewritten CSS. This might sound like something trivial and something we could easily do in other releases, but rewriting the whole interface is also a big plus for this. Our main focus for this point is to give Luna an overal more unified look. We got a lot of comments on the way Fifteen looked like in Luna 1.0 and 1.1 and fixed a lot of these issues in 1.2 and the upcoming 1.3, but we don’t feel like we’re done just yet. And Fallow is going to bring a much improved design, for both the Mainstage as Backstage. Oh, and we use Less now.
  4. Improved security. We’re taking the chance with Fallow to give our security a serious upgrade, make some serious improvements to encryption, limit the amount of login attempts that can be made within a certain period of time and more and ask new users a question to verify that they are in fact users and not bots.
  5. Very, very small. Luna has grown in size over the releases, now clocking in at over 1 MB when compressed. I’m quiet glad to tell you guys that at this point, the current core clocks in at just 70 kB. On a side note, by for not all features have been included yet, including the whole Backstage, but I have fait. Our goal is to keep Luna very small.

I’ll be talking a lot about the Fallow update for Luna in the near future, so keep an eye on our blog. Sneak peaks will be shown on our board most of the time, unless I’m going to do a serious blog post about that too. I hope you’re all up for some fun. It’s gonna be great!

I don’t have an ETA on when Fallow will land, or when even the first Preview will land, or when it will land on GitHub to begin with. The only target dates I can give right now are those of Luna 1.3 Denim and Luna 1.4 Emerald. And why do these releases matter? Well, Luna 1.4 is currently planned to be the final Luna 1.x release and thus it might be around for a long time. And both 1.3 and 1.4 will contain changes that prepare Luna for the Fallow update. Anyway, the release dates for both version are known for quiet some time now. Luna 1.3 is planned for a December 25, 2015 release, and Luna 1.4 will follow on April 13, 2016.

As mentioned above, SQLite support isn’t planned for the premiere release. And that might botter a lot of people out there. However, we’re planning to include it someday. 🙂 But this might not be something that will happen in Luna 2.0. That’s why Luna 1.4 will be a Long Term Support release, that’s the first time we do that since ModernBB 1.6. We’ll support Luna 1.4 for the then forseable future, until you guys can also migrate to version two point oh.

Luna 1.2.3 now available

Hey everybody! We’re happy to announce that Luna 1.2 “Cornflower Blue” Update 3 is now available – or in short version 1.2.3 – and ready to be used. Todays update contains a series of quality improvements for the code. Additionally, we’ve fixed some issues surrounding the SQLite 3 driver, we updated made a couple of small changes to the interface of the groups page and we extended the reach of our “comment count” update from Luna 1.1.1 to also include scenarios where you’re pruning a forum.

Round-up #16 – Our philosophy

There are a couple basic rules which we keep in the back of our head when developing Luna: our philosophy. And since this is actually nowhere ever explained in detail, let me do this right here. And yes, we’re doing another round-up, one year after #15.

First of all, Luna is supposed to be light. Light in that it has the basic features a board needs in 2015. We don’t want fancy features that are not essential to boards. Why? Because light means simple, simple is less and less is more.

No non-essential Javascript. Javascript is an amazing tool and it can make anything you could imaged dynamic. However, modern boards tend to over-use this and use Javascript anywhere, even when this is not needed. The result is a more bug-sensitive board and additional work for your browser. That is if you’re browser has Javascript enabled or even supports it (and Webkit-based browsers are horrible on this point, especially for the more advanced features). Luna uses Javascript, but only for the essential parts: making the Bootstrap framework work (with jQuery), improving the experience in tables and making sure notifications reach you whenever they are send to you.

No third-party influence. This is something a lot of our users have complained about, or actually, just some of them, but they did complain a lot to cover almost everyone: why is there no possibility build-in to login with your Facebook account? Well, that is because Facebook is a third-party. And we don’t do third-parties for a simple reason: you can’t possible predict whether or not that third party will continue to exist. Even Facebook will some day disappear. That might be a very distant future, but it could happen. A more possible issue is that third parties change their APIs rending your board unusable. And we’re only talking about registration and login here. That’s also the reason why Luna will no longer use CDNs – which where the one exclusion on the rule – and instead put all the packages in the core.

Simple code and simple installation. Another goal of Luna is to keep our code in the back-end simple too. It’s nice to have a simple-to-use piece of software, but its even nicer if you can also simply understand what makes all of that possible. That’s why we like to keep our code lean and simple, this will be something especially Luna 1.3 “Denim” will focus on with our reimaged coding conventions for CSS and PHP.

Another thing is that a lot of projects out there tend to become more and more confusing on what you need to install their packages (especially pre-release versions). And we don’t like that idea. That’s why we continue to use our drag-‘n-drop methode. Easy and simple: just put the files on your server with any FTP program out there and go ahead. And updating? It’s basically just installing: drag-‘n-drop the files on the server over your previous version and just hit the “Update” button that appears on your board and you’re ready to go. No complicated upgrade processes that require you to replace only certain files or require you to go into your database and change stuff or change files in the Luna core… Just make a back-up and get started.

Luna 1.2.1 now available

Today, we’re happy to announce the Luna 1.2 Cornflower Blue Update, or version 1.2.1 of Luna. This update contains a couple of quality improvements over the previous version of Luna. Make sure to update. We don’t have much to say about it…

Luna 1.3 Preview 1 now out for Nightly users

Today, we’re pushing out a major update to our nightly branch. As said in a previous post, we will no longer blog about alpha versions – the Preview X’s – on here unless they bring important changes. And our very first preview since that announcements is one of these exceptions.

Luna 1.3 is targeted to be released at the end of the year and this first previews is a step towards that. Preview 1 of the Denim update doesn’t contain many major changes for end users, but it does do some serious code refactoring under the hood. Luna 1.3 contains rewritten CSS for Fifteen, Sunrise and the Backstage and all 24 accents. It also contains a much more uniform naming convention throughout the whole software, including the database – which will get a major update when this is applied.

Beyond that, this update contains an update to Fifteen with some much requested features, which includes categories in the sidebar. We’ve also added the search feeds (New, Active, Unanswered). Another new “feature” is the addition of what is currently known as Sixteen. However, there is a major visual glitch in the heading that makes it kinda unusable – but that will be fixed in the future.

Starting with this preview, we hope to push out many more previews for Luna 1.3. And don’t worry, new features will start making it into the software as of Preview 3 (or so). You have to keep in mind that Luna 1.3 was never meant to be a major feature upgrade.

Why no release?
Unlike previous Previews, we will not put this preview on our main website. You’ll have to fetch it yourself from GitHub. During the early phases of Luna 1.0, 1.1 and 1.2, we’ve noticed that many users complained about Luna being very unstable, and many of these users where of had been running a preview version (previews are alpha builds, not even beta!). To discourage users from using these early previews in productive environments, we will no longer post them on our site. Betas and Release Candidates will continue to be listed!

Luna 1.3 focus points

The Denim update for Luna has been planned to focus on improving the core of Luna quiet a bit. This mainly includes revamping our CSS-files to apply with the new coding conventions and updating our whole codebase to new naming conventions, including the database. So let me set out the main focus points for the Denim update as a whole.

Core 1.3
As mentioned before, the Luna Core is our main focus for this release and it’s all about conventions, both naming and coding. With this update, we want to make the Luna Core easier to understand and read and make it easier to develop for Luna by unifying the way things are named. A lot of work has already been done on this front.

Improved mobile interface: Fifteen 1.3
Further, we’ve received some feedback on Fifteen and we’re going to apply most of that into the next update. This mainly includes improvements for the mobile side of things (for smartphones, not for tablets as they use an interface similar to desktops instead). However, we’re also going to improve the desktop/tablet interface with some enhancements and additions.

Sunrise Revamped: Sunrise 2.0
We’ve been working for quiet some time now on a new theme named “Sixteen” for Luna. This theme is planned to be part of the final release of Luna before the end of 2015, and as it turns out, that is the Denim update. However, while the idea of Sixteen lives on, the theme itself got scrapped. Yep, we’re dropping that project. Instead, we’re updating Sunrise (and it will contain a lot of the Sixteen ellements) into a full standalone theme (Sunrise 1.2 is a small child theme based on Fifteen).

You can also take it as “Sixteen is being renamed to Sunrise”. The design language will be more in line with that of Fifteen, but the structure of the theme will remain like it is now.

Minor featurea additions
But don’t fear! It’s not all about coding conventions and theme updates. No! We’re also adding in some minor new features for you guys to enjoy. We don’t have a list of this yet, but you can expect the new “Important” label for threads as one of these small changes.

Preparing for Emerald
Most of all, the Denim update is a preparation for all the work that will be done for Emerald – or rather, is currenlty being done – which you might also know as Luna 1.4. We’re currently planning a massive update for the anniversary release (it will be released on our 3rd anniversary and one year after Luna 1.0). But more details on that later.