Closed (fixed)
Project:
Swift Mailer (abandoned)
Version:
8.x-2.x-dev
Component:
Code
Priority:
Major
Category:
Plan
Assigned:
Unassigned
Reporter:
Created:
13 Jun 2018 at 15:36 UTC
Updated:
16 Jan 2021 at 16:09 UTC
Jump to comment: Most recent
Comments
Comment #2
adamps commentedComment #3
adamps commentedComment #4
geek-merlinWorked a bit through the issue queue and made a first shot on this.
Comment #5
geek-merlinComment #6
geek-merlinComment #7
geek-merlinComment #8
adamps commented@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.
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?
Comment #9
adamps commented@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
Comment #10
geek-merlin@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?
Comment #11
geek-merlinAdded more issues to IS. What hat what prio is still to bikeshed!
Comment #12
geek-merlinAs 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.
Comment #13
adamps commented@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.
Comment #14
adamps commentedThat'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.
Comment #15
geek-merlin#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.
Comment #16
adamps commentedSome 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.
Comment #17
adamps commentedComment #18
geek-merlin> 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.
Comment #19
adamps commentedWell 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.
Done
Comment #20
geek-merlinAah i see, 2.x is only dev currently. Agreed.
Comment #21
adamps commentedI 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.
Comment #22
geek-merlinCool you push this forward! I'll look into those later this week.
Comment #23
adamps commentedOK I fixed the tests and created an alpha release.
Comment #24
adamps commentedComment #25
adamps commentedComment #26
adamps commentedComment #27
adamps commentedComment #28
adamps commentedComment #29
geek-merlinComment #30
geek-merlinComment #31
geek-merlin@AdamPS Here's an issue that blocks views_send: #2841663-3: Adding alternative plain text version & attachments when formatting the message, not sending, to play well with views_send
I added it to "Need consensus".
Comment #32
adamps commentedYes 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.
Comment #33
geek-merlinI have dug and clarified that issue so de-prioritizing.
Comment #34
adamps commentedComment #35
adamps commentedSplit out #3122389: Bugs with format conversion, new issues #2713651: Add supporting of the Drupal Files as attachments and #3000553: Provide a Drush command for sending out spooled emails
Comment #36
geek-merlinComment #37
geek-merlinTrivial #2998381: Allow the use of Streams for attached files awaiting review.
Comment #38
adamps commentedComment #39
adamps commentedI highlighted some features where we are not sure about for the core swiftmailer module, but could put in a new project "Swiftmailer extra".
Comment #40
adamps commentedComment #41
adamps commentedComment #42
adamps commentedComment #43
geek-merlinOK, have been absorbed by other stuff but now in da house again.
Comment #44
adamps commentedDrupal 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.
Comment #45
geek-merlinSorry 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.
Comment #46
geek-merlinAh now that i see the restriction on html_convert, i revert that IS change.
Comment #47
adamps commentedOK we have a beta!
Comment #48
geek-merlinYay!
Comment #49
adamps commentedExcellent: 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.
Comment #50
berdir> 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 ;)
Comment #51
adamps commentedAdded 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.
Comment #52
adamps commented2.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?
Comment #53
rodrigoaguileraMy use case is just smtp but I have been running 2.x without issues.
Thank you for maintaining the module :)
Comment #54
geek-merlin#52++
Comment #55
adamps commentedOK 8.x.1.x has gone. Stable release still blocked on a reviewer for #2223967: Do not decode a contact message twice
Comment #56
adamps commentedThis issue has almost done everything needed. I cleared out the old IS and left a very simple summary.
Comment #57
joelpittetThoughts #3174600: Allow PHP config sendmail_path to be the default on this getting in, or something like it?
Comment #58
chris matthews commentedRe: #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
Comment #59
chris matthews commented@catch just committed 05083ea on 8.9.x and marked #2223967: Do not decode a contact message twice as fixed!
Comment #60
chris matthews commented@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.
Comment #61
jeroentTests are currently failing: #3182622: Fix 2.x branch tests
Comment #62
chris matthews commentedThe patch in #3182622: Fix 2.x branch tests #12 looks ready to commit.
Comment #63
adamps commentedGreat 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.
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.
Comment #64
berdir> 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?
Comment #65
adamps commentedThanks @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.
Comment #66
berdir> 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.
Comment #67
adamps commentedGood 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.
Comment #68
jeroentComment #69
chris matthews commentedSwiftmailer.info.yml includes the following:
Why is
'drupal:system (>= 8.7)'included in the info.yml file?Why is
php: 7.0included in the info.yml file?Comment #70
geek-merlin@Chris Matthews, I suppose it had been done to invite you to file a patch! ;-)
Comment #71
chris matthews commentedLet me rephrase...
1) Since the core_version_requirement should be updated to:
^8.9 || ^9, thendrupal:system (>= 8.7)can be removed as dependency to the module, correct?2)
php: 7.0can 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.
Comment #72
geek-merlin@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 ;-).
Comment #73
adamps commentedThanks 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?
I agree this is now redundant.
I agree. PHP 7.0.8 is the lowest that is supported by Drupal now so this is redundant.
Comment #74
berdir> 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.
Comment #75
chris matthews commentedCreated issue #3190447: Update swiftmailer.info.yml for stable release with a patch in #2 for review.
Comment #76
adamps commentedThanks 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.
Comment #77
adamps commentedComment #78
geek-merlinBig win! 🍾
Thank ya all!