Comments (33)
Hi folks, I'll be looking into this, I'm dealing with some unexpected family stuff (all good, but logistics got upset), so I'm not having the time I expected to have.
Apologies for the inconvenience.
from emailvalidator.
I would advise against changing an existing tag.
If you're short on time, create a new tag 3.2.3 right before the broken merge. That buys us some time and we can release 3.2.4 as soon as we've fixed everything.
from emailvalidator.
3.2.4 released
from emailvalidator.
Thanks. @egulias and I are already working on restoring those changes.
from emailvalidator.
@egulias no worries. These things happen 👍
from emailvalidator.
Also, a PHP 8.1 & 8.2 build could help catch some of these errors.
from emailvalidator.
3.2.3 created https://github.com/egulias/EmailValidator/releases/tag/3.2.3
from emailvalidator.
Not that anyone asked, but fyi: After upgrading to 3.2.3 in my Symfony project, all of my tests are still green and the PHP 8.2 deprecation warnings for utf8_encode
are gone.
from emailvalidator.
Also the utf8 en/decode removal (PHP8.2 deprecation) are missing in 3.2.2 -> f88dcf4
Just FYI. Thanks for taking care @derrabus
-> https://git.typo3.org/typo3/CI/cms/-/jobs/1847583/raw
from emailvalidator.
It seems after the 3.2.2 release quite a few of our package's test suites started to break with the "[email protected]" email address:
https://github.com/laravel/telescope/actions/runs/3804233902/jobs/6471295811
https://github.com/laravel/framework/actions/runs/3804298612/jobs/6473840109
Any idea what change caused this?
from emailvalidator.
@derrabus Please let us know if you need help from the community to collect all commits that went missing in action.
from emailvalidator.
The diff from 3.2.1 and 3.2.2 shows the changes which are the culprit for the issues here but I cannot seem to pinpoint the commits: 3.2.1...3.2.2
from emailvalidator.
The diff from 3.2.1 and 3.2.2 shows the changes which are the culprit for the issues here but I cannot seem to pinpoint the commits: 3.2.1...3.2.2
Yeah it's super-weird and I start to actually question my understanding of how Git works - but there simply are no commits that e.g. revert the utf8_encode
line, and yet it's gone. Also, CLI git log src/EmailLexer.php
on current 3.x branch only shows commits up to 007bfd4 inclusive, omitting the 4 commits a5ed8d5, f88dcf4, 18b9e5b, and b28de87 that followed it. However, IntelliJ Git Log UI does show them (but their changes are nevertheless not in the file).
from emailvalidator.
Same for 3.2.1...3.2.2 - the diff on the overview page shows the revert made to the utf8_encode
line, but if you open all 15 commits that are listed as part of the changeset one-by-one, none of them has that change.
from emailvalidator.
@manuelkiessling most likely the changes are pulled in from the merges that happened.
from emailvalidator.
@driesvints Yeah, but the (GitHub?) view is definitely off (or my understanding of it). For example, IntelliJ shows merge commit ecbcdce as the culprit for re-introducing the utf8_encode
call, but ecbcdce says Showing 0 changed files with 0 additions and 0 deletions.
.
from emailvalidator.
I'm a bit rusted on this, but, here's one option
- we could make tag 3.2.2 point to 0170967 , which is just before #340 merge
- Rebase/recreate 3.x ignoring #340
- Merge #345 and tag 3.2.3
WDTY?
from emailvalidator.
Yeah that seems best to me 👍
from emailvalidator.
Ok, lets "run forward" then.
from emailvalidator.
Ok, now to the bad merge.
from emailvalidator.
I believe we all assumed that would be the outcome, thanks for checking and sharing!
from emailvalidator.
This is so weird...
If I checkout to 3.2.3 and bring #345 into it... here are the changes GIT says there are, while github is just showing 6 file changes from @derrabus
~$ git pull [email protected]:derrabus/EmailValidator.git allow/lexer-2
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Total 9 (delta 8), reused 9 (delta 8), pack-reused 0
Unpacking objects: 100% (9/9), 1.86 KiB | 79.00 KiB/s, done.
From github.com:derrabus/EmailValidator
*branch allow/lexer-2 -> FETCH_HEAD
Updating 0170967..3f146fc
Fast-forward
.scrutinizer.yml | 2 +-
.travis.yml | 9 ++
CHANGELOG.md | 2 +-
LICENSE | 2 +-
composer.json | 2 +-
composer.lock | 579 +++++++++++++++++++++++++++++++++++++++++++--------------------------------------------
psalm.baseline.xml | 21 +---
psalm.xml | 9 +-
src/EmailLexer.php | 126 ++++++++++---------
src/EmailParser.php | 3 +-
src/MessageIDParser.php | 5 +-
src/Parser/Comment.php | 5 +-
src/Parser/CommentStrategy/CommentStrategy.php | 2 +-
src/Parser/CommentStrategy/DomainComment.php | 2 +-
src/Parser/CommentStrategy/LocalComment.php | 2 +-
src/Parser/DomainLiteral.php | 8 +-
src/Parser/DomainPart.php | 14 ++-
src/Parser/DoubleQuote.php | 3 +-
src/Parser/FoldingWhiteSpace.php | 4 +-
src/Parser/IDLeftPart.php | 3 +-
src/Parser/IDRightPart.php | 2 +-
src/Parser/LocalPart.php | 4 +-
src/Parser/PartParser.php | 2 +-
src/Result/InvalidEmail.php | 4 +-
src/Result/Reason/AtextAfterCFWS.php | 2 +-
src/Result/Reason/CRLFAtTheEnd.php | 4 +-
src/Result/Reason/CharNotAllowed.php | 2 +-
src/Result/Reason/CommaInDomain.php | 2 +-
src/Result/Reason/CommentsInIDRight.php | 2 +-
src/Result/Reason/DetailedReason.php | 2 +-
src/Result/Reason/DomainAcceptsNoMail.php | 2 +-
src/Result/Reason/ExceptionFound.php | 2 +-
src/Result/Reason/ExpectingDomainLiteralClose.php | 2 +-
src/Result/Reason/LocalOrReservedDomain.php | 2 +-
src/Result/Reason/NoDNSRecord.php | 2 +-
src/Result/Reason/Reason.php | 2 +-
src/Result/Reason/UnOpenedComment.php | 2 +-
src/Result/Reason/UnusualElements.php | 2 +-
src/Result/Result.php | 2 +-
src/Result/SpoofEmail.php | 3 +-
src/Result/ValidEmail.php | 2 +-
src/Validation/DNSCheckValidation.php | 42 +++----
src/Validation/DNSGetRecordWrapper.php | 28 -----
src/Validation/DNSRecords.php | 35 ------
src/Validation/Exception/EmptyValidationList.php | 2 +-
src/Validation/MultipleValidationWithAnd.php | 4 +-
src/Warning/AddressLiteral.php | 2 +-
src/Warning/CFWSNearAt.php | 2 +-
src/Warning/CFWSWithFWS.php | 2 +-
src/Warning/Comment.php | 2 +-
src/Warning/DeprecatedComment.php | 2 +-
src/Warning/DomainLiteral.php | 2 +-
src/Warning/EmailTooLong.php | 2 +-
src/Warning/IPV6BadChar.php | 2 +-
src/Warning/IPV6ColonEnd.php | 2 +-
src/Warning/IPV6ColonStart.php | 2 +-
src/Warning/IPV6Deprecated.php | 2 +-
src/Warning/IPV6DoubleColon.php | 2 +-
src/Warning/IPV6GroupCount.php | 2 +-
src/Warning/IPV6MaxGroups.php | 2 +-
src/Warning/LocalTooLong.php | 4 +-
src/Warning/NoDNSMXRecord.php | 2 +-
src/Warning/ObsoleteDTEXT.php | 2 +-
src/Warning/QuotedPart.php | 2 +-
src/Warning/QuotedString.php | 2 +-
src/Warning/TLD.php | 2 +-
src/Warning/Warning.php | 2 +-
tests/EmailValidator/Validation/DNSCheckValidationTest.php | 32 +----
And there is where everything brakes. For some reason these are changes from 2 years ago... like PHP 7.3 in Travis matrix
from emailvalidator.
So looks like I cannot safely merge #345 (or #340 for that matter), Github is hiding the real diff (for whatever reason).
@derrabus I can create a branch from 3.2.3
and we start from scratch? And then merge into 3.x
said branch, my thinking is that it should revert those changes.
We could take the chance to bring in @driesvints suggestion of adding PHP 8.1 and 8.2 into Travis' matrix for 3.x
from emailvalidator.
@egulias if you want I can take some time to set up a GitHub Actions workflow for you?
from emailvalidator.
We could do a hard reset of the 3.x branch to the new 3.2.3 tag which should remove the broken merges from its history.
git switch 3.x
git reset --hard 3.2.3
git push -f
You might need to temporarily disable GitHub's branch protection to allow the force-push.
This would leave 3.2.2 intact although it would point to a commit that's on no branch.
from emailvalidator.
Also, I believe @driesvints' suggestion to build the CI in GitHub Actions is a good idea. The current Travis setup seems a bit broken and unreliable and it might be easier to recreate it in GHA than to fix the Travis setup.
from emailvalidator.
Yeah, Travis has become less reliable with time since they were bought.
Ok, lets go step by step.
I'll reset 3.x, merge your changes and release 3.2.4
@driesvints yes please, I'd appreciate the GHA setup, I'll have to learn about it.
from emailvalidator.
reset done.
from emailvalidator.
All right. @derrabus , check #345 , there is now a 68 files diff. Somethig's odd with your branch maybe? Can you close and PR again?
from emailvalidator.
Since you've removed the broken merges from 3.x, my PR would add them back. That's the commits you're seeing now. I'll rebase the PR.
from emailvalidator.
I sent in a GHA build for this library: #348
from emailvalidator.
Thanks a lot!
Now since the 4.x branch also contains these broken commits, you probably want to reset that one as well:
git switch 3.x
git pull
git switch 4.x
git reset --hard 3.x
git push -f
from emailvalidator.
Fixed.
from emailvalidator.
Related Issues (20)
- Why is [email protected] valid? HOT 5
- DNS record check should pass if email address has no top-level domain HOT 5
- Support Doctrine Lexer v2.x + v3.x HOT 3
- Test ticket from Code Climate
- Constructor DNSRecords may be passed a bool as first argument
- Migration Guide V3 => V4 HOT 4
- Trailing non-breaking space is valid? HOT 1
- RE: Emails with no top level domain suffix are coming through as valid HOT 5
- 3.x branch EOL date? HOT 1
- 4.x errors with laravel 9
- When email top level domain valid but subdomain invalid then check still passes HOT 6
- Since symfony/validator 6.2: The "loose" mode is deprecated. It will be removed in 7.0 and the default mode will be changed to "html5" HOT 5
- Validation permits NUL bytes HOT 1
- test @testmail.com is marked as a valid email HOT 2
- Validation passes for misspelt email addresses. HOT 4
- ExpectingQPair.php does not comply with psr-4 autoloading standard. Skipping.
- DNSCheckValidation returns true for all HOT 1
- dns_get_record in src/Validation/DNSCheckValidation.php return false for outlook emails.
- Should domains with "void.blackhole.mx." be considered valid ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emailvalidator.