We can now have a stable release - all steps done.

Comments

AdamPS created an issue. See original summary.

adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
geek-merlin’s picture

Title: [META] Plan key major items for next release » [META] Roadmap for stable
Issue summary: View changes

Worked a bit through the issue queue and made a first shot on this.

geek-merlin’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
adamps’s picture

@geek-merlin I'm a bit confused here - you seem to have deleted all the issues that I originally put in. Perhaps your idea is that they are contained with the link to all RTBC patches? I'm not so sure about that direction.

  1. I had added a sentence for each issue explaining why it is important and now that's lost.
  2. Patches can stop being RTBC, for example if someone (not necessarily even anyone who has any relevant expertise) makes a trivial objection. Conversely not every issue marked RTBC is necessarily important or even valid.
  3. The RTBC patches are likely the most important, and now they the least visible. Instead the reader will immediately notice the other issues you actually listed.

Surely the whole point of a roadmap as can be seen in many other places in this issue system is to actually list the relevant issues rather than just linking to a query? Please could you put back the information that you deleted?

adamps’s picture

@geek-merlin Thanks for putting in your time to help with this module. I would be very interested in a clear statement from someone knowledgeable (ideally a maintainer) about the relative status of the 1.x and 2.x branches. In particular

  • How complete is the 2.x branch and how stable is it?
  • Is every fix in 1.x also in 2.x?
geek-merlin’s picture

Issue summary: View changes

@AdamPS I really like that you care for this module like i do.
Sorry if i was too bold about the comments, so i re-added the stuff from that revision to the IS.

The situation was, i was able to put some hours in issue gardening and focused on a next workable step.
I have no objection to copy issue links and metadata to the IS and you are right about your objection not to do, but it had not been my prio for the first step.

I hopefully will be able to put some more work into this and think about offering to co-maintain, as i know how busy webflo must be. From what i saw how you care for this module, can you imagine help co-maintain?

geek-merlin’s picture

Issue summary: View changes

Added more issues to IS. What hat what prio is still to bikeshed!

geek-merlin’s picture

As of #9,

>I would be very interested in a clear statement from someone knowledgeable (ideally a maintainer) about the relative status of the 1.x and 2.x branches.

1.x uses an unsupported library (which even might have sec issues) so should be unpublished asap.

> In particular: How complete is the 2.x branch and how stable is it?
> Is every fix in 1.x also in 2.x?

Yes.

adamps’s picture

@geek-merlin You are doing a great job, thank you for your time. Sorry I should have been more appreciative of your hard work at the same time as making my suggestion. I'm happy with the clarity of the IS now.

I feel this is an important module. About 1 year ago I volunteered to be maintainer for simplenews D8. It was in a similar state to here, backlog of maintainer tasks, issues blocked, some nasty bugs. I discovered it was a tricky and complex module, but it's now in much better shape.

Swiftmailer is the officially recommended transport for simplenews. But right now the two of them don't even work together without swiftmailer patches (I currently put 4 on my sites). So yes for sure I would like to see some active work here.

I can help a bit, but I wouldn't like to promise too much in addition to the commitments I made already. If you want a second opinion on a tricky issue, or you have created an important patch and need a reviewer I can do that. I could perhaps spend a few hours bimonthly committing patches if the existing maintainers were willing to give me commit access.

adamps’s picture

1.x uses an unsupported library (which even might have sec issues) so should be unpublished asap.

That's an important point. However 2.x is used by 49 sites and 1.x by 33,000. There might be critical bugs when this module is used with the newer library. I propose that the next step is to create a 2.x-beta1 release - without even committing any more patches that might introduce new problems. At the same time we can stop accepting any patches to 1.x and adjust all the issues to version 2.x. We can commit some existing RTBC patches (especially ones that appear simple, safe and tested by many followers) to 2.x ready for 2.x-beta2. After a few weeks we can change the recommended release to be 2.x. Then a few weeks later we can stop supporting 1.x.

geek-merlin’s picture

#14: Yes, yes, and yes.
In other modules like EVA i 'm using a release scheme like you describe having e.g. 1.2 beneath 1.3-rc for some time. I'll pragmatically test if it is possible to have beta3-rc beneath beta2.

adamps’s picture

Some of the RTBC issues are not back-compatible, for example #2843327: Load CSS from a theme with CSS inlining which alters a constructor so would break a derived class.

Perhaps we should make the first release to be 2.x-alpha1? Then we can make a beta once all the non-BC issues are committed.

So @geek-merlin shall we do it?? Do you want to ask if we can be maintainers? We can at least try to clear the RTBC issues and move over to 2.x.

adamps’s picture

Issue summary: View changes
geek-merlin’s picture

> Some of the RTBC issues are not back-compatible, for example #2843327: Support CSS inlining which alters a constructor so would break a derived class.

Yes, let's review all for BC. While this is formally not a BC break now, i'd follow @berdir's pov in #3030640: [policy, documentation] Clarify Constructor BC policy and document best practices for subclassing other classes that it is. But this is simple to fix, either by setter injection, or (as i'd prefer) like outlined in that issue: ...added as new optional arguments, with a @trigger_error() + and fallback to \Drupal::service() if not provided.

Either way, let's make those issues NW.

> [Maintaining...]

Yes, i'd really like if you add yourself to #3121375: Offering to maintain SwiftMailer.

adamps’s picture

Either way, let's make those issues NW.

Well maybe. Good reference to that issue. However we are making a major version change so we don't have to be BC - especially before there is a beta release. I'm worried that if we set a lot of issues to NW then nobody posts new patches we made a backwards step for all the users of this module.

Yes, i'd really like if you add yourself to...

Done

geek-merlin’s picture

Aah i see, 2.x is only dev currently. Agreed.

adamps’s picture

I updated the project so that 8.2.x is the default branch and has automated testing. There is one test failing https://www.drupal.org/node/1163884/qa which looks somewhat similar to the patch in #3093209: Convert simpletest to PHPUnit test.

I will look at #3093209: Convert simpletest to PHPUnit test and #3096960: Drupal 9 deprecated code report for committing as these seem important. I have assigned myself.

I think it's best if I don't commit patches I authored so @geek-merlin please could you consider #3057200: Duplicate error message, #2843327: Load CSS from a theme with CSS inlining, #2812941: Make URLs in links and images absolute?

We should probably wait to create a 2.x alpha release until the tests are passing.

geek-merlin’s picture

Cool you push this forward! I'll look into those later this week.

adamps’s picture

OK I fixed the tests and created an alpha release.

adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
adamps’s picture

Version: 8.x-1.x-dev » 8.x-2.x-dev

Yes that's a very interesting issue. However it doesn't have a patch and I guess it would be quite a bit of work and destabilisation. Unless someone is offering to do it (I'm not) or to pay for someone to do it then I guess this would have to be left until "next time" 3.x.

geek-merlin’s picture

Issue summary: View changes

I have dug and clarified that issue so de-prioritizing.

adamps’s picture

Issue summary: View changes
geek-merlin’s picture

Issue summary: View changes
geek-merlin’s picture

adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes

I highlighted some features where we are not sure about for the core swiftmailer module, but could put in a new project "Swiftmailer extra".

adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
adamps’s picture

Issue summary: View changes
geek-merlin’s picture

OK, have been absorbed by other stuff but now in da house again.

adamps’s picture

Drupal 9 will be released on June 3, 4 days time, on Wednesday. On that date I plan to commit #3126935: Improvements to plaintext conversion then make a Beta release. Any review comments very welcome before then.

geek-merlin’s picture

Issue summary: View changes

Sorry for being sucked into stuff for so long, and thanks for all the great work that happened in the meantime. I will look into #3125477: Add sub-module for more advanced format conversions as i see this blocking.

geek-merlin’s picture

Issue summary: View changes

Ah now that i see the restriction on html_convert, i revert that IS change.

adamps’s picture

Issue summary: View changes

OK we have a beta!

geek-merlin’s picture

Yay!

adamps’s picture

Excellent: 1200 users of 2.x beta and no serious bug reports. I have set it as the recommended release. We can wait a few more weeks then mark 1.x as unsupported.

berdir’s picture

> Excellent

https://i.pinimg.com/474x/38/b7/f7/38b7f73f3f86a628a467d9c7165938fa--sim...

Our main project/distribution is still on hold, so no update yet from me on that, but I hope that I can check 2.x compatibility in the next weeks there.

Edit: Oh, actually kinda mixed that up with Simplenews. For swiftmailer, I'm working on testing the 2.x update ;)

adamps’s picture

Issue summary: View changes

Added a ref to #2223967: Do not decode a contact message twice - core bug that is a security problem here, and presumably a stable blocker.

Would be great if someone could review please.

adamps’s picture

2.x branch seems to be working well with no major issues reported. I plan to mark 1.x as unsupported. Anyone see any problem with doing that?

rodrigoaguilera’s picture

My use case is just smtp but I have been running 2.x without issues.

Thank you for maintaining the module :)

geek-merlin’s picture

#52++

adamps’s picture

OK 8.x.1.x has gone. Stable release still blocked on a reviewer for #2223967: Do not decode a contact message twice

adamps’s picture

Issue summary: View changes

This issue has almost done everything needed. I cleared out the old IS and left a very simple summary.

joelpittet’s picture

Thoughts #3174600: Allow PHP config sendmail_path to be the default on this getting in, or something like it?

chris matthews’s picture

Re: #2223967: Do not decode a contact message twice
@catch committed 945d76a on 9.1.x
@catch committed c2a885f on 9.0.x
pending commit on 8.9.x

chris matthews’s picture

@catch just committed 05083ea on 8.9.x and marked #2223967: Do not decode a contact message twice as fixed!

chris matthews’s picture

@joelpittet, regarding #57, I agree that it would be good to get #3174600: Allow PHP config sendmail_path to be the default in before 8.x-2.0 (or 2.0.0) is tagged.

jeroent’s picture

Tests are currently failing: #3182622: Fix 2.x branch tests

chris matthews’s picture

The patch in #3182622: Fix 2.x branch tests #12 looks ready to commit.

adamps’s picture

Issue summary: View changes

Great news that #2223967: Do not decode a contact message twice is fixed. We can now create a stable release, with core version requirement set to ensure that the core fix is included. I've updated the IS to describe the remaining steps.

I don't see that #3174600: Allow PHP config sendmail_path to be the default is related to a stable release. It can come just as well before or after. 2.x already has a beta, so we already have to remain back-compatible.

8.x-2.0 (or 2.0.0)

It's too late to call it 2.0.0 unfortunately - the 8.x-2.x branch exists and so the name patterns are already set.

berdir’s picture

> with core version requirement set to ensure that the core fix is included

I think there have only been security releases of 8.9 so far, so I think that isn't in a release yes.

IMHO it is not necessary to enforce that and for example break 8.8 support as that still has security support, for a short while anyway.

The module isn't broken if you use an earlier version (just the tests wouldn't pass). I'd recommend to keep the version constraints as they are for now.

Worst case scenario is that someone creates a bug report/support request for it, but the core bug has been out there for many years and there haven't been that many issues about it?

adamps’s picture

Thanks @Berdir. In my view, this module isn't stable unless you use the appropriate core version. Otherwise anonymous users can send arbitrary emails ignoring the configured text format.

Therefore the stable release should require the appropriate core version. This ensures that sites using the stable version really are secure. Why do you feel that we are "breaking 8.8 support"? I had imagined that users of 8.8 could simply stay on the current beta version. I would expect that composer would automatically provide this solution if the composer.json file requires D8.8 specifically.

berdir’s picture

> Why do you feel that we are "breaking 8.8 support"? I had imagined that users of 8.8 could simply stay on the current beta version. I would expect that composer would automatically provide this solution if the composer.json file requires D8.8 specifically.

Sure, the existing version will still work. But imagine that a week later, we need to do a 8.x-2.1 security update, then the beta users would be left out in the cold.

That said, the argument is pretty outdated now as 9.1.0 is out and 8.8 is officially out of security support :)

The more important issue is that there is no 8.9 release yet with that fix because we'll need a non-security release for that. I'm not sure when that will happen now as 8.9 is now officially in LTS support, no idea how frequently non-security releases will happen now (and if at all?). I suppose there will need to be at least one as the issue about marking it incompatible with php8 is also not yet in a release. And I think it's somewhat unfortunate to hold out a stable release just because of that. IMHO it would be sufficient to put a warning in the release notes about that.

adamps’s picture

Good news - #2223967: Do not decode a contact message twice is in 8.9.11, 9.0.10 and 9.1.0. So next step is for someone to create a patch that updates the info file core_version_requirement.

jeroent’s picture

Issue summary: View changes
Status: Active » Needs work
Issue tags: +Novice
chris matthews’s picture

Swiftmailer.info.yml includes the following:

dependencies:
  - 'drupal:system (>= 8.7)'
  - mailsystem:mailsystem
php: 7.0

Why is 'drupal:system (>= 8.7)' included in the info.yml file?

Why is php: 7.0 included in the info.yml file?

geek-merlin’s picture

@Chris Matthews, I suppose it had been done to invite you to file a patch! ;-)

chris matthews’s picture

Let me rephrase...

1) Since the core_version_requirement should be updated to: ^8.9 || ^9, then drupal:system (>= 8.7) can be removed as dependency to the module, correct?

2) php: 7.0 can be removed from the Swiftmailer.info.yml file altogether, correct? I did not think specific php versions were called in info.yml files, but I could very well be wrong.

Asking these questions because I wasn't 100% sure and didn't want to waste time uploading a patch file that wasn't accurate.

geek-merlin’s picture

@Chris Matthews: I have some ideas about this, but TBH, i'm not 100% sure, especially about if the php version requirement in composer.json is enough or not; so feel free to file an issue without patch (so that we not hijack this one). Or maybe you want to try the new issue forks that removes the PITA from patches ;-).

adamps’s picture

Thanks for looking at this issue.

The desired behaviour in for minimum core versions 8.9.11, 9.0.10 - that's when the patches were introduced. Or is the third level version not supported?

1) drupal:system (>= 8.7) can be removed as dependency to the module, correct?

I agree this is now redundant.

2) php: 7.0 can be removed from the Swiftmailer.info.yml file altogether, correct? I did not think specific php versions were called in info.yml files, but I could very well be wrong.

I agree. PHP 7.0.8 is the lowest that is supported by Drupal now so this is redundant.

berdir’s picture

> Or is the third level version not supported?

It's definitely supported in the core_version_requirement string. not 100% sure about requirements.

The php version requirement in .info.yml is supported and was correct, only since 8.8 is PHP 7.0 required, so together with the 8.7 requirement, that made sense. if we increase it to at least 8.9 then it is redundant.

The core: 8.x part must also be removed.

chris matthews’s picture

adamps’s picture

Issue summary: View changes
Status: Needs work » Reviewed & tested by the community
Issue tags: -Novice

Thanks Chris and Berdir. I have committed the other issue. I'll let the testbot check the new build then create stable. Hurrah success 2.5 years after this issue was opened.

adamps’s picture

Status: Reviewed & tested by the community » Fixed
geek-merlin’s picture

Big win! 🍾
Thank ya all!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.