Announcing the start of SMF 3.0 development
November 05, 2023, 07:55:26 PM Posted by Sesquipedalian on November 05, 2023, 07:55:26 PM in Announcing the start of SMF 3.0 development | 61 CommentsHello everyone,
We have a couple of important announcements to make regarding SMF development.
First, @shawnb61 has recently decided to step down as lead developer. We're sad to see him leave that role, but the good news is that he will still be around as a contributor. I will be taking over the role of lead developer in the interim until the next team elections in July 2024. Thanks, shawnb61, for all that you have done for us!
Second, the Dev Team also wants to let you know that we are making a significant change to the currently published roadmap for SMF. Specifically, we have decided not to create an SMF 2.2 branch. Instead, we are launching development of SMF 3.0.
The revised development roadmap is as follows:
The largest change in SMF 3.0 is a massive overhaul and modernization of under-the-hood code. Specifically, the code in SMF 3.0 Alpha 1 has been entirely rewritten to use modern, object oriented programming paradigms. This is a major update that helps ensure the continued longevity of SMF and, we hope, will also prove attractive to new generations of PHP coders who want to contribute.
Additionally, a great deal of effort has gone into maintaining backward compatibility with modifications and integrations that rely on integration hooks. Generally speaking, mods designed for SMF 2.1 and marked as "hooks only" in the SMF Customization database should be compatible out-of-the-box with SMF 3.0.
User facing improvements in SMF 3.0 will include a fresh, modern theme with better accessibility for users with various disabilities, improvements to the likes system, easy anonymization upon account deletion (important for GDPR), and more.
To help ensure a timely release, the development roadmap for 3.0 will remain tightly defined. As always, the timeline for the release is "when it's ready" (so don't bother asking ) but our intention is to stick closely to our roadmap and release once those goals are reached. We might add some more features and changes to the roadmap beyond those already listed, but a convincing case will need to be made for any such additions.
We have a couple of important announcements to make regarding SMF development.
First, @shawnb61 has recently decided to step down as lead developer. We're sad to see him leave that role, but the good news is that he will still be around as a contributor. I will be taking over the role of lead developer in the interim until the next team elections in July 2024. Thanks, shawnb61, for all that you have done for us!
Second, the Dev Team also wants to let you know that we are making a significant change to the currently published roadmap for SMF. Specifically, we have decided not to create an SMF 2.2 branch. Instead, we are launching development of SMF 3.0.
The revised development roadmap is as follows:
Release | Functional Updates | Technical Updates | Maintenance Focus |
2.1.5 |
|
|
|
3.0 |
|
|
|
The largest change in SMF 3.0 is a massive overhaul and modernization of under-the-hood code. Specifically, the code in SMF 3.0 Alpha 1 has been entirely rewritten to use modern, object oriented programming paradigms. This is a major update that helps ensure the continued longevity of SMF and, we hope, will also prove attractive to new generations of PHP coders who want to contribute.
Additionally, a great deal of effort has gone into maintaining backward compatibility with modifications and integrations that rely on integration hooks. Generally speaking, mods designed for SMF 2.1 and marked as "hooks only" in the SMF Customization database should be compatible out-of-the-box with SMF 3.0.
User facing improvements in SMF 3.0 will include a fresh, modern theme with better accessibility for users with various disabilities, improvements to the likes system, easy anonymization upon account deletion (important for GDPR), and more.
To help ensure a timely release, the development roadmap for 3.0 will remain tightly defined. As always, the timeline for the release is "when it's ready" (so don't bother asking ) but our intention is to stick closely to our roadmap and release once those goals are reached. We might add some more features and changes to the roadmap beyond those already listed, but a convincing case will need to be made for any such additions.
Comments
Sounds useful.
Awesome, awesome, awesome.
@Sesquipedalian great work man, great work.
[offtopic]
I must say I am confused by the min version for 3.0 being 8.0 if 2.1.6 is adding php 8.3 support... I guess my question is really why target a version that is about to drop security support?
[/offtopic]
Guess it's time to knock the dust off
@Sesquipedalian great work man, great work.
[offtopic]
I must say I am confused by the min version for 3.0 being 8.0 if 2.1.6 is adding php 8.3 support... I guess my question is really why target a version that is about to drop security support?
[/offtopic]
Guess it's time to knock the dust off
Quote from: Tyrsson on November 05, 2023, 10:08:56 PMI must say I am confused by the min version for 3.0 being 8.0 if 2.1.6 is adding php 8.3 support... I guess my question is really why target a version that is about to drop security support?
SMF 2.0's maximum supported PHP version is 8.0. Pegging SMF 3.0's minimum supported version to PHP 8.0 is intended to ease the upgrade path for forum admins that are still running SMF 2.0. We might decide later to raise the minimum PHP version requirement to something more recent, but for the time being that is where we have put it.
Quote from: Sesquipedalian on November 05, 2023, 10:46:06 PMMakes sense.Quote from: Tyrsson on November 05, 2023, 10:08:56 PMI must say I am confused by the min version for 3.0 being 8.0 if 2.1.6 is adding php 8.3 support... I guess my question is really why target a version that is about to drop security support?
SMF 2.0's maximum supported PHP version is 8.0. Pegging SMF 3.0's minimum supported version to PHP 8.0 is intended to ease the upgrade path for forum admins that are still running SMF 2.0. We might decide later to raise the minimum PHP version requirement to something more recent, but for the time being that is where we have put it.
Lovely!
Awesome news!
I'm excited for this!
Great to see. I'm not all that familiar with OOP (at least not on the PHP side of things - I did some with Visual Basic / C# and ASP .NET years ago in college), but I'm always willing to learn new things. Looking forward to playing around with it more once the installer fixes get merged in.
Quote from: Oldiesmann on November 06, 2023, 09:37:41 PMGreat to see. I'm not all that familiar with OOP (at least not on the PHP side of things - I did some with Visual Basic / C# and ASP .NET years ago in college), but I'm always willing to learn new things. Looking forward to playing around with it more once the installer fixes get merged in.Install ran fine for me....
Quote from: Tyrsson on November 06, 2023, 10:26:21 PMQuote from: Oldiesmann on November 06, 2023, 09:37:41 PMGreat to see. I'm not all that familiar with OOP (at least not on the PHP side of things - I did some with Visual Basic / C# and ASP .NET years ago in college), but I'm always willing to learn new things. Looking forward to playing around with it more once the installer fixes get merged in.Install ran fine for me....
Not for me. See https://github.com/SimpleMachines/SMF/issues/7852
Quote from: Oldiesmann on November 06, 2023, 10:30:34 PMCheck my question on Discord. Might be relevant.Quote from: Tyrsson on November 06, 2023, 10:26:21 PMQuote from: Oldiesmann on November 06, 2023, 09:37:41 PMGreat to see. I'm not all that familiar with OOP (at least not on the PHP side of things - I did some with Visual Basic / C# and ASP .NET years ago in college), but I'm always willing to learn new things. Looking forward to playing around with it more once the installer fixes get merged in.Install ran fine for me....
Not for me. See https://github.com/SimpleMachines/SMF/issues/7852
I am looking forward to.
Hello, Great Announcement!!
Do you have any estimate on the possible dates of these implementations?
.. or when can there be a working version of SMF 3.0 for production?
aprox.
Do you have any estimate on the possible dates of these implementations?
.. or when can there be a working version of SMF 3.0 for production?
aprox.
And my day just got brighter! Great news.
Quote from: _sebas_ on November 10, 2023, 04:10:42 AMHello, Great Announcement!!
Do you have any estimate on the possible dates of these implementations?
.. or when can there be a working version of SMF 3.0 for production?
aprox.
You should know better than that.
The answer, as always is -- when it is ready.
Quote from: _sebas_ on November 10, 2023, 04:10:42 AMHello, Great Announcement!!It will definitely be done by Christmas.
Do you have any estimate on the possible dates of these implementations?
.. or when can there be a working version of SMF 3.0 for production?
aprox.
But not by Christmas this year.
Exciting news!
Is a Beta or so available?
No, not for a while yet. We're still working on Alpha 1.
You can download the code from GitHub (the "release-3.0" branch), but there aren't any frontend changes right now - it looks exactly the same as 2.1 (and features/functionality are the same as well - though not everything is working yet due to the code changes).
Great Job Guys, love that 3.0 includes recurring Calendar events!
Please don't forget to make it SEO Responsive with Indexing thanks
"SEO responsive"? that's a stupid buzzword that means nothing.
SMF is already pretty SEO friendly (and uses canonical to assist with that) but **NO** forum is ever going to be SEO "great" because it's user written content - not curated content.
SMF 2.1.x (and even 2.0.x) already responsive design (as long as the custom theme or mods don't break it)
SMF is already pretty SEO friendly (and uses canonical to assist with that) but **NO** forum is ever going to be SEO "great" because it's user written content - not curated content.
SMF 2.1.x (and even 2.0.x) already responsive design (as long as the custom theme or mods don't break it)
This is encouraging news.
A big thank you to @shawnb61 for all your work to date and to @Sesquipedalian for stepping up.
Given the whole world is moving that way - though I'm NOT suggesting it be integrated as core functionality or anything - but the potential use of AI should be contemplated as a design consideration.
That is, making it so that AI tools can be integrated into SMF in future.
I know very little about it or protocols etc (is there a version of 'hooks' for AI? )but I think it's a potential opportunity which if missed may make SMF less attractive as an option,. if other forum software does take it into account.
Ok I've even lost myself now
Anyway keep up all the good work ladies, gentlemen and well, everyone.
A big thank you to @shawnb61 for all your work to date and to @Sesquipedalian for stepping up.
Given the whole world is moving that way - though I'm NOT suggesting it be integrated as core functionality or anything - but the potential use of AI should be contemplated as a design consideration.
That is, making it so that AI tools can be integrated into SMF in future.
I know very little about it or protocols etc (is there a version of 'hooks' for AI? )but I think it's a potential opportunity which if missed may make SMF less attractive as an option,. if other forum software does take it into account.
Ok I've even lost myself now
Anyway keep up all the good work ladies, gentlemen and well, everyone.
@Sesquipedalian What's your take on jQuery? Do you think 3.0 is a good opportunity to drop it in favor of vanilla JS? (I know we're heavily relying on it. caret/atwho/scrollbar/datepicker etc...)
Quote from: asmith on November 27, 2023, 03:02:53 AM@Sesquipedalian What's your take on jQuery? Do you think 3.0 is a good opportunity to drop it in favor of vanilla JS? (I know we're heavily relying on it. caret/atwho/scrollbar/datepicker etc...)
Personally, I'm indifferent. However, I'm pretty sure @live627 wants to remove it. If he (or anyone else) wants to make that happen by the time 3.0 is ready for beta testing, I won't object one bit.
This is amazing to hear! Great work guys.
Quote from: _sebas_ on November 10, 2023, 04:10:42 AMHello, Great Announcement!!
Do you have any estimate on the possible dates of these implementations?
.. or when can there be a working version of SMF 3.0 for production?
aprox.
I'm willing to bet my nonexistent third nipple that it will be done before the year 2030.
I haven't used SMF since 2.0. I'm looking forward to seeing what 3.0 is like!
SMF coding style was always to use a separate line for curly braces.
However in 3.0, I'm seeing the opening curly braces on the same line.
Why this change? I myself was pretty much used to it. Was there a discussion?
Code Select
if (condition)
{
}
However in 3.0, I'm seeing the opening curly braces on the same line.
Code Select
if (condition) {
}
Why this change? I myself was pretty much used to it. Was there a discussion?
We've decided to change our coding standard to more closely align with PSR-12. It was a decision reached unanimously in discussion by the dev team.
Yep that also explains why single rule inside if statements are also wrapped in curly braces.
Anyway, the bigger picture is that SMF is still going strong and that's what matters *thumbs up*
Anyway, the bigger picture is that SMF is still going strong and that's what matters *thumbs up*
Not sure if I'm in the correct place, but can you place the "ADD A BOARD" BUTTON on the top of the category list. Instead of having to scroll down to the add a button. Would be nice if the 2 was updated.
Quote from: thepoorman on February 19, 2024, 11:07:39 AMNot sure if I'm in the correct place, but can you place the "ADD A BOARD" BUTTON on the top of the category list. Instead of having to scroll down to the add a button. Would be nice if the 2 was updated.
If memory serves its at the bottom of each category, so it's tied to that category rather than a generic "add board" button.
Adding the button at the top would make it generic and mean you just have to spend the same effort in a different time/place, namely selecting which category it goes in...
Oh, I somehow missed this announcement. Sounds wonderful. Thanks to @shawnb61 for your contribution!
I am wondering, for css, are you going to implement "&" nesting to make things a bit more lean and clear, now that almost all browsers support it?
Will it be necessary for custom themes to be adapted like it was for the transition from 2.0.x to 2.1.x ?
Anyways, I am pretty excited!
I am wondering, for css, are you going to implement "&" nesting to make things a bit more lean and clear, now that almost all browsers support it?
Will it be necessary for custom themes to be adapted like it was for the transition from 2.0.x to 2.1.x ?
Anyways, I am pretty excited!
Support for it is not ideal yet so it's not currently in the scope. Could still change during the next year, but for now the CSS still getting a cleanup regardless.
And yes, themes likely need to be adapted. However currently there is a 90% chance they work but it's only going to get worse (probably), so I'd advise to adapt them to avoid issues.
And yes, themes likely need to be adapted. However currently there is a 90% chance they work but it's only going to get worse (probably), so I'd advise to adapt them to avoid issues.
Quote from: Julius_2000 on February 20, 2024, 06:11:41 AMI am wondering, for css, are you going to implement "&" nesting to make things a bit more lean and clear, now that almost all browsers support it?no plans for a preprocessor like sass which enables such nesting
CSS now has native support for &, no preprocessor. But it's 2023 new, so fairly new support in browsers. https://caniuse.com/css-nesting https://developer.mozilla.org/en-US/docs/Web/CSS/Nesting_selector
Cool! Maybe we can implement such a structure in a future version once those newer browsers are more widely deployed.
Adding a preprocessor isn't that hard. The trick is actually splitting up the theme sanely.
But then you get to pass variables in from admin without juggling things oddly - it becomes possible to do things like upload new fonts to the admin and have them be available in the editor and in posts.
The other benefit is that you can have multiple files and assemble them into a single source to send to the user.
But then you get to pass variables in from admin without juggling things oddly - it becomes possible to do things like upload new fonts to the admin and have them be available in the editor and in posts.
The other benefit is that you can have multiple files and assemble them into a single source to send to the user.
Quote from: SleePy on February 20, 2024, 10:16:16 PMCSS now has native support for &, no preprocessor. But it's 2023 new, so fairly new support in browsers. https://caniuse.com/css-nesting https://developer.mozilla.org/en-US/docs/Web/CSS/Nesting_selector
Quote from: live627 on February 21, 2024, 12:26:58 AMCool! Maybe we can implement such a structure in a future version once those newer browsers are more widely deployed.Yeah, that was my reasoning for asking. Last year FF enabled nesting natively and I started to test it and it worked great.
Some of those are already in the Theme PR, definitely looking forward to other features we could utilize once the theme it's more polished.
Just confirming because SMF is widely used for forums where they're geared towards older generation computers (ones that for instance don't support HTTPS, or CSS/Java). Will 3.0 support that endeavor? I assume most if not all of the changes I'm concerned about are at the theme level, and not the core level.
Quote from: TaGBaN on February 26, 2024, 10:33:04 PMJust confirming because SMF is widely used for forums where they're geared towards older generation computers (ones that for instance don't support HTTPS, or CSS/Java). Will 3.0 support that endeavor? I assume most if not all of the changes I'm concerned about are at the theme level, and not the core level.
Since the release of SMF 2.1, our client-side requirements have been as follows:
Quote from: https://wiki.simplemachines.org/smf/SMF2.1:Requirements_and_recommendationsAny web browser that supports HTML5 and CSS3 and that is still supported by its vendor.
We currently have no plans to change that in SMF 3.0. If our client-side requirements do change before SMF 3.0 is released, we will make that information known.
Quote from: TaGBaN on February 26, 2024, 10:33:04 PMJust confirming because SMF is widely used for forums where they're geared towards older generation computers (ones that for instance don't support HTTPS, or CSS/Java). Will 3.0 support that endeavor? I assume most if not all of the changes I'm concerned about are at the theme level, and not the core level.
Failure to support HTTPS at this point in time is doing your users a disservice.
If running on HTTP only, you are putting your users at risk by the fact their password is transmitted unprotected. (2.0 used to try to protect users without HTTPS by way of using client side hashing, this is no longer done in 2.1 because the password hashing scheme is vastly more complex now.)
Quote from: TaGBaN on February 26, 2024, 10:33:04 PMolder generation computers (ones that for instance don't support HTTPS, or CSS/Java).Old text-based computers from 30 years ago and modern software mix just as well as oil and water; or, not at all.
Very good news. So, as I understand it, SMF 2.1 will be released for e.g. SMF 2.1.10 and that's it, and then SMF 3.0 comes in? And why is SMF 3.0 development now faster than SMF 2.1? I see it on github.
As always, I don't really like to predict too far in to the future.
3.0 will be ready when it's ready and generally releasing a new major version has not meant that work on the immediately previous version just completely stops. It may, and probably will, limit how much resources is put in to it, but it most likely does not mean that 2.1 is completely abandoned.
3.0 will be ready when it's ready and generally releasing a new major version has not meant that work on the immediately previous version just completely stops. It may, and probably will, limit how much resources is put in to it, but it most likely does not mean that 2.1 is completely abandoned.
as for being faster than 2.1 -- if you read the developers' blog posts, you'll understand.
Quote from: Kindred on February 29, 2024, 05:31:16 PMas for being faster than 2.1 -- if you read the developers' blog posts, you'll understand.
Can you give me a link to this blog?
Quote from: jsx on March 01, 2024, 04:30:30 PMCan you give me a link to this blog?It's this board you're in.
https://www.simplemachines.org/community/index.php?board=129.0
2.1 had several topics over a long period of time.
I remember reading ages ago that SMF 3 was supposed to use a framework like Symfony, has that idea been dropped somewhere along the road?
That not part of the plan, no.
I've never even used one.
Quote from: live627 on March 24, 2024, 02:32:09 AMI've never even used one.You should definitely try one some time.
I am a bit late, but I happy ot hear that people are working on SMF 3.0
A bug report has been split and moved to the appropriate location.
Need an alpha tester?
Quote from: Aoife on December 11, 2024, 08:28:13 AMNeed an alpha tester?Might take a little while for that.
If you don't want to wait for a package to be released/announced, you can just grab the latest files from GitHub and open any issues or pull requests