-
Notifications
You must be signed in to change notification settings - Fork 292
release: 0.7.0 #334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release: 0.7.0 #334
Conversation
Signed-off-by: Sebastian Beltran <[email protected]>
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah! Great work!
| surrogate pairs split between chunks (last character of one chunk is high surrogate and first | ||
| character of the next chunk is a low surrogate). | ||
|
|
||
| * Avoid false positives in encodingExists by using objects without a prototype - by [@bjohansebas](https://github.com/bjohansebas) in [#328](https://github.com/ashtuchkin/iconv-lite/pull/328) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed we pulled in object-assign in this PR, wdyt think about using Object.assign directly instead since this is effectively a major release (no one will automatically upgrade to 0.7). This would make the min node version v4, but it might be worth bumping it higher if you go down that route.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I remember, npm didn’t fully follow semver for version 0.x.x, which is why some of the old support for using Object.assign hadn’t been removed. But after doing some more research, it seems these changes can be made since npm does respect it. I’m going to open a PR for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, since raw-body and qs won't be able to update, legacy support will be maintained.
Signed-off-by: Sebastian Beltran <[email protected]>
|
I will do the release after the repository has been transferred to the GitHub organization, or if the transfer happens before Wednesday, then I’ll wait until Wednesday. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am against dropping Node.js support for older versions. This release would not help body-parser because raw-body has iconv-lite pinned to version 0.6.3. That would still result in multiple versions of iconv-lite in our dependency tree.
Since raw-body supports Node.js >= 0.8, it cannot update iconv-lite after we drop previously supported Node.js versions. However, if we keep Node.js support unchanged, raw-body could simply update the version.
|
@Phillip9587 Unfortunately, raw-body will not be able to update by re-adding support for Node <6. This package, in version 0.6, does not support Node 0.8, and basically, this is a new major version (re-adding more support for Node 0.8 is not an option). raw-body will need to release a new major version to remove that support and be able to update, along with other changes |
|
@bjohansebas I'm not saying that we shouldn't drop support I'm saying that we have to consider dropping the support because |
|
Yep, it’s not maintained by Express, but anyway, even though they said they only support Node >0.10, they didn’t update the engines field (the same problem we have in other packages), so in reality, raw-body still supports Node 0.8. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will need to update the engines in the pkg, right? Then is also considered as major (ref)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! My only minor concern is adding object-assign dependency instead of just writing a for loop, but I guess we'll remove both that and safer-buffer when we remove Node v6 support someday.
Pull Request Test Coverage Report for Build 17103991048Details
💛 - Coveralls |
I plan to release this version on Wednesday, 8/20/2025
🐞 Bug fixes
Handle split surrogate pairs when encoding utf8 - by @yosion-p and @ashtuchkin in #282:
Handle a case where streaming utf8 encoder (converting js strings -> buffers) encounters
surrogate pairs split between chunks (last character of one chunk is high surrogate and first
character of the next chunk is a low surrogate).
Avoid false positives in encodingExists by using objects without a prototype - by @bjohansebas in #328
The encodingExists method could return incorrect results if the lookup matched properties inherited
from the prototype of the object that stores the encodings, such as constructor and others. This change
replaces that object with one that has no prototype, ensuring that only explicitly defined valid encodings
in the library are considered. In addition, the fix is applied to the internal cache system to avoid the same
kind of false positives
🚀 Improvements
Other changes
Full Changelog: v0.6.3...master