News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Announcing the start of SMF 3.0 development

Started by Sesquipedalian, November 05, 2023, 07:55:26 PM

Previous topic - Next topic

Sesquipedalian

Hello 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:

Release  Functional Updates  Technical Updates  Maintenance Focus 
2.1.5
  • SVG support
  • Subscriptions
  • Attachments
  • Notifications
2.1.6
  • WebP support
  • PHP 8.3 support
  • Subscriptions
  • Attachments
  • Notifications
3.0
  • Custom board icons
  • Accessibility improvements
  • Theme & CSS simplification
  • Improved likes reporting
  • Recurring calendar events
  • Admin Panel layout
  • Custom profile field multi-select
  • Anonymization upon delete
  • Open redirect link in new window
  • Improvements to auto image resizing
  • URL autolinking improvements
  • OOP refactoring
  • Minimum PHP 8.0
  • UTF8MB4
  • MySQL 8+ changes
  • Theme Hooks
  • Upgrader improvements
  • Homoglyph detection
  • Separate languages from themes
  • TBD

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.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.



Tyrsson

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 :)
PM at your own risk, some I answer, if they are interesting, some I ignore.

Sesquipedalian

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.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

Tyrsson

Quote from: Sesquipedalian on November 05, 2023, 10:46:06 PM
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.
Makes sense.
PM at your own risk, some I answer, if they are interesting, some I ignore.

d3vcho

"Greeting Death as an old friend, they departed this life as equals"


TheRaven


Oldiesmann

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.
Michael Eshom
Christian Metal Fans

Tyrsson

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....
PM at your own risk, some I answer, if they are interesting, some I ignore.

Oldiesmann

Quote from: Tyrsson on November 06, 2023, 10:26:21 PM
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....

Not for me. See https://github.com/SimpleMachines/SMF/issues/7852
Michael Eshom
Christian Metal Fans

Tyrsson

Quote from: Oldiesmann on November 06, 2023, 10:30:34 PM
Quote from: Tyrsson on November 06, 2023, 10:26:21 PM
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....

Not for me. See https://github.com/SimpleMachines/SMF/issues/7852
Check my question on Discord. Might be relevant.
PM at your own risk, some I answer, if they are interesting, some I ignore.

CRM 114

German Wet Shaving Forum: www.gut-rasiert.de/forum

_sebas_

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.

thatjustit

And my day just got brighter! Great news.

Kindred

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.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Antechinus

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.
It will definitely be done by Christmas.
But not by Christmas this year. :)

JBlaze

Jason Clemons
Former Team Member 2009 - 2012

CrazyCreator

Ist jeder der sich nicht beschwert, am Ende wirklich unbeschwert?

Sesquipedalian

No, not for a while yet. We're still working on Alpha 1.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

Oldiesmann

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).
Michael Eshom
Christian Metal Fans

ColinJM

Great Job Guys, love that 3.0 includes recurring Calendar events!
Kind Regards

Colin

Thomas057

Please don't forget to make it SEO Responsive with Indexing thanks  :'(  :'(  O:)

Kindred

"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)
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

landyvlad

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.

"Put as much effort into your question as you'd expect someone to give in an answer"

Please do not PM, IM or Email me with questions on astrophysics or theology.  You will get better and faster responses by asking homeless people in the street. Thank you.

Be the person your dog thinks you are.

asmith

@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...)

Sesquipedalian

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.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

StarredSkies


m4z

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.
"Faith is what you have in things that don't exist."
--Homer Simpson

Es gibt hier im Forum ein deutsches Support-Board!

KensonPlays

I haven't used SMF since 2.0. I'm looking forward to seeing what 3.0 is like!

Owner of Mesozoic Haven

asmith

SMF coding style was always to use a separate line for curly braces.

if (condition)
{

}

However in 3.0, I'm seeing the opening curly braces on the same line.
if (condition) {

}

Why this change? I myself was pretty much used to it. Was there a discussion?

Sesquipedalian

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.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

asmith

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*

thepoorman

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.

Arantor

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...

Julius_2000

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!

Diego Andrés

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.

SMF Tricks - Free & Premium Responsive Themes for SMF.

live627

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

SleePy

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
Jeremy D ~ Site Team / SMF Developer ~ GitHub Profile ~ Join us on IRC @ Libera.chat/#smf ~ Support the SMF Support team!

live627

Cool! Maybe we can implement such a structure in a future version once those newer browsers are more widely deployed.

Arantor

#41
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.

Julius_2000

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.

Bugo


Diego Andrés

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.

SMF Tricks - Free & Premium Responsive Themes for SMF.

TaGBaN

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.

Sesquipedalian

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.
I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

Arantor

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.)

live627

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.

jsx

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.


Aleksi "Lex" Kilpinen

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.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

Kindred

as for being faster than 2.1 -- if you read the developers' blog posts, you'll understand.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

jsx

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?

Diego Andrés


SMF Tricks - Free & Premium Responsive Themes for SMF.

spiros

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?

Sesquipedalian

I promise you nothing.

Sesqu... Sesqui... what?
Sesquipedalian, the best word in the English language.

live627


Tyrsson

PM at your own risk, some I answer, if they are interesting, some I ignore.

DenDen60

I am a bit late, but I happy ot hear that people are working on SMF 3.0

Advertisement: