Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 2019 Q2 review #22

Open
wants to merge 2 commits into
base: add-2019-q2-review
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 12 additions & 17 deletions june-2019/mybb-quarterly-review-q2-2019.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,32 @@

Hello, and welcome to the first MyBB Quarterly Review blog post.

You may be wondering what this means? We realise that we've been pretty poor at keeping the community abreast of what's going on in the project recently, which is something we want to rectify. Our plan from here on out is a continuous series of blog posts — one every quarter that cover the goings on within an around MyBB. These posts won't only be focused upon the MyBB core, but will also highlight notable plugins, themes and user contributions.
You may be wondering what this means? We have realised that we've been pretty poor at keeping the community informed of what's going on in the project recently, which is something we want to improve. Our plan from now is to publish a blog post every quarter of the year that cover current events in the MyBB project. However, these posts won't only be focused upon the MyBB core product, since the community is at the heart of the MyBB project, we will also highlight notable plugins, themes and user contributions.

As this is new to all of us, I'm sure it'll take some time to get used to and to settle into a consistent format. We'd welcome any feedback on the kind of content you'd like to see in these posts and ways we can improve the way we present the project and what's going on!

## 1.8 Development Update

MyBB 1.8 continues to tick along. As of the time of writing, we're putting the finishing touches on MyBB 1.8.21. We have only one issue currently open on [the associated milestone](https://github.com/mybb/mybb/milestone/28) which we plan to have resolved shortly.
MyBB 1.8 is still being actively maintained with MyBB 1.8.21 on track to be released soon. Did you know we have recently started publishing pre-release builds for public testing ahead of the main release? Get early access to 1.8.21 [here](https://community.mybb.com/thread-223241.html) and watch the [1.8 Development](https://community.mybb.com/forum-165.html) forum for the latest pre-release builds.

1.8.21 is quite a big release, with a total of 37 closed issues — not all of which are simple bug fixes. For example, **@effone** [has added support](https://github.com/mybb/mybb/issues/3681) for the [JSON Feed](https://jsonfeed.org) format for syndication along with fixing some syndication related issues. We also have [the latest version of SCEditor](https://github.com/mybb/mybb/issues/2542) integrated in the core, along with an [update to the current version of jQuery](https://github.com/mybb/mybb/issues/3640) — again thanks to **@effone**!
MyBB 1.8.21 is quite a big release, with a total of 37 closed issues — not all of which are simple bug fixes. For example, support for the [JSON Feed](https://jsonfeed.org) format for syndication has been [added](https://github.com/mybb/mybb/issues/3681), SCEditor has been [updated](https://github.com/mybb/mybb/issues/2542) to the latest version (2.1.3) and jQuery has also been [updated](https://github.com/mybb/mybb/issues/3640) to 3.3.1! Thanks to [effone](https://community.mybb.com/user-61867.html) for these changes!

We're also re-thinking our approach to releases. We currently release new versions when we reach a decent number of closed issues. This can sometimes mean there is a long wait between releases. For example, there were 5 months between releasing MyBB 1.8.19 and 1.8.20.

We're proposing that we move to a more strict release schedule, with a new release being made available every 2 months regardless of the number of closed issues. Milestones on GitHub would be assigned due dates, and if we neared the end of a due date with issues left open, these would be moved to the next milestone instead of blocking a release (except in the case of serious bugs). We would continue with our recent trend of releasing pre-release packages to the community via the forums. We hope that having a regular release schedule may help keep team activity trickling along rather than coming and going in waves as it currently does.
As a team, we're also considering our approach to when we release updates to MyBB. Currently we release new versions when we reach a decent number of closed issues. This can sometimes mean there is a long gap between releases. For example, there were 5 months between releasing MyBB 1.8.19 and 1.8.20. So we are proposing that we move to a more strict release schedule, with a new release being made available every 2 months regardless of the number of closed issues. Milestones on GitHub would be assigned due dates and if we are about to reach the due date with issues left open then these would be moved to the next milestone instead of blocking a release (except in the case of serious bugs). We will continue with our recent trend of releasing pre-release packages to the community on the [Community Forums](https://community.mybb.com/forum-165.html). We intend that having a regular release schedule will help the team maintain a consistent level of development activity rather than coming and going in waves as it currently does.

## 1.9 Development Update

Work on MyBB 1.9 continues to move slowly. The current blocking task is rebasing the 1.9 branch on top of the 1.8 branch. Due to the way that Git (the tool we use to manage development) works, 1.9 is worked on in a separate branch whilst 1.8 development carries on in the background. As the 1.8 branch moves forward, the 1.9 branch slowly goes out of sync, missing the recent changes from 1.8.

At the current moment, the 1.9 branch is in line with MyBB 1.8.16. As we mentioned in the previous section, we're currently preparing to release 1.8.21. This leaves us with 5 1.8 versions' worth of changes that we need to merge into 1.9. Unfortunately, this is not an easy process due to the nature of the changes in 1.9. There are a lot of conflicts which need to be resolved manually. To ease this process we have decided to rebase one version at a time. We've already jumped from 1.8.15 to 1.8.16 and plan to [jump to 1.8.17](https://github.com/mybb/mybb/issues/3683) then 1.8.18 within the next week. Some MyBB 1.8 releases contain a smaller amount of changes than others, and these are considerably easier to rebase too.

Once the re-base is complete, there are still a couple of other tasks for 1.9 before we can release our first Alpha and Beta releases. Some of these issues include:
Work on MyBB 1.9 continues to move more slowly than we would like. Development is currently being blocked by the need to synchronise changes made to MyBB 1.8 into MyBB 1.9. Due to the nature of the [version control system](https://en.wikipedia.org/wiki/Version_control) we use, MyBB 1.9 is maintained separately to MyBB 1.8. As the MyBB 1.8 codebase moves forward, the MyBB 1.9 branch slowly goes out of sync because it is missing the recent changes made to MyBB 1.8.

- [Implement a new email system](https://github.com/mybb/mybb/issues/2909). The current MyBB email system causes no end of support threads due to its limited support for slight variations in the way email servers speak the SMTP protocol. We're proposing that we adopt an existing well tested and support email sending library to manage the sending of emails. From a core point of view, this should be relatively simple since almost every email sent uses a single standard function (`my_mail()`).
Currently, the MyBB 1.9 contains all the changes up to MyBB 1.8.16. As we mentioned in the previous section, we're currently preparing to release 1.8.21. This leaves the changes from 5 releases of MyBB 1.8 which need to merge into MyBB 1.9. Unfortunately, this is not an easy process due to changes being made to the same pieces of code in both MyBB 1.8 and 1.9, such as the overhaul to the template system mean small changes relating to templates in 1.8 need manual intervention to apply them to 1.9. There are many similar cases where this conflicts need to be resolved manually and to ease this process we have decided to perform this process (called rebasing) one minor release of 1.8 at a time. So far, we've already applied the changes between 1.8.15 and 1.8.16 and plan to [jump to 1.8.17](https://github.com/mybb/mybb/issues/3683) then 1.8.18 within the next week.

Once the rebase is complete, there are still a couple of other tasks for 1.9 before we can release our first Alpha and Beta releases, including:

We're proposing that we adopt the new [`symfony/mailer`](https://github.com/symfony/mailer) library which provides easy ways to send email via SMTP as well as various email APIs such as Postmark.
- [Review any missed templates fro the Twig conversion](https://github.com/mybb/mybb/issues/3684). During the re-base effort, we've noticed some lingering uses of the old template system within the core. These need to be rounded up and eliminated to ensure the template system usage throughout is consistent.
- [Update the ACP to allow editing of Twig template files](https://github.com/mybb/mybb/issues/3686). So far, the team have all been editing Twig template files directly via the Twig files. While this is a great way to work (who doesn't want to use their own editor of choice?), being able to eat templates easily within the ACP is a useful feature that needs updating to work with the new template system. There is some discussion about looking at the JavaScript code editor that we use when editing templates to see if there are any better options on the market. An often requested feature has been the ability to edit multiple templates within tabs at the same time, an enhancement which would be very handy when working with new templates.
- [Implement a new email system](https://github.com/mybb/mybb/issues/2909): The current MyBB email system causes issues for forum administrators due to its limited support for slight variations in the way email servers communicate using the SMTP protocol. We're proposing that we adopt an existing well-tested and supported library to handle sending emails. Once adopted, it should be relatively simple to change the existing code since almost every email sent uses a single standard function (`my_mail()`). We're proposing that we adopt the new [`symfony/mailer`](https://github.com/symfony/mailer) library which satisfiers our requirements for SMTP as well as providing various APIs for sending email such as Postmark.
- [Review any missed templates from the Twig conversion](https://github.com/mybb/mybb/issues/3684): During the rebase effort, we have noticed some code using the old template system that has been missed. We need to identify all cases like this and ensure that we are only using the new template system.
- [Update the Admin CP to allow Twig template files to be edited](https://github.com/mybb/mybb/issues/3686): So far during development the only option has been to edit Twig templates directly via the filesystem. While this is a great way to develop (who doesn't want to use their own editor of choice?), being able to edit templates easily within the Admin CP is a useful feature that should be continued for the new template system. Currently there is a discussion about changing the JavaScript code editor that is used in MyBB 1.8 for editing templates to see if there are any better alternatives for MyBB 1.9. It has also been suggested before to support editing multiple templates within tabs at the same time, an enhancement which would be very handy when working with new templates.

We will also be starting to update and introduce documentation for 1.9. If there are any documentation pages that you would like to see updated or improved, now would be a great time to bring them to our attention!
In addition to developing MyBB 1.9, we will also be starting to update and introduce new documentation. If there are any documentation pages that you would like to see updated or improved, now would be a great time to bring them to our attention! The MyBB documentation is maintained in the [`mybb/docs.mybb.com`](https://github.com/mybb/docs.mybb.com) repository on GitHub and any contributions are welcome.

## Community Update

*... TODO ...*
*... TODO ...*