-
-
Notifications
You must be signed in to change notification settings - Fork 956
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
Got 12 planning #1466
Comments
@szmarczak I believe there was a breaking change we wanted to do to improve Node.js 15 compatibility? |
Yes. It would introduce a new error event: |
Should there be a separate branch for Got 12 development? |
I think #1353 would also be breaking. |
No, we can get out one more minor release and then switch the focus of master to v12. |
What about this? #1306 (comment) By not sending Got This does not have to be breaking. I think we can achieve this without changing the |
👍🏻 Yes, we can do that one too. |
Unless there's anything else I think we can release |
Done: https://github.com/sindresorhus/got/releases/tag/v11.7.0 We can start preparing for Got 12 now. |
I think we should use a new branch before the release, in order to continue patching the current release, if needed. |
I'd rather do a |
There is note that http2 will be enabled by default for v12. Is this still the case, given the poor state of http2 support in node.js? |
I think we'll stick to HTTP/1.1. HTTP/2 is too much broken as of now and needs many improvements on the Node.js side, that's why the |
Thanks for maintaining this project! Just as general feedback, the frequent major version bumps on Got are disruptive and make it hard to use. I'm currently juggling at least 3 versions of Got throughout my projects, and I am trying to migrate them all to version 11, but pretty soon they will all be out of date again. The differences between the versions are mostly small changes to option names (like "query" versus "searchParams", the semantics of the "json" option, etc). TypeScript helps this somewhat, but I thought I'd advocate for putting more of a priority on API stability and making minor version releases instead of major ones. P.S. I support @sindresorhus on Patreon. |
@sffc Got 10 was a pretty large breaking release. Out of necessity. Got had amassed a lot of legacy and bloat and we felt we had to clean it up, otherwise, it would be too hard to maintain Got going forward. The JSON change was the most important change as the previous JSON behavior was both surprising to new users, limiting and buggy. I'm very glad we did that change. The As you can see from the previous releases, we have done approximately one major release a year, which I think it's ok and what many larger projects do:
Just know that we do care deeply about API stability. |
Thanks! I have versions 6, 8, and 11 that I was reconciling. Glad to hear that the project is maturing with better stability moving forward. |
Are there any plans to use undici for Got 12? I see it mentioned, but not sure what is involved with swapping in a different http request module. |
@bompus Not for Got 12, but we are closely following Undici development and might use it in the future. |
Just FYI. We're targeting Got v12 for the end of March. |
I would suggest a bit of clean up with this release if possible. Ultimately, Got is way bigger than it needs to be, and also lacking in the performance department.
Ultimately that is what has stopped me, all Kludge CS projects, Syrus, and many others from using Got. Just a bit of constructive criticism. |
@Nytelife26 Most of the install size is TypeScript Node types. Consider opening an issue in the TypeScript repo. |
Any specifics or numbers to share? 🙏
That is a common fallacy. From experience, the "almost" part eventually turns out to be much more. I'm talking from experience. Got actually started out as a 50 line package, but after years of being used in production, the messy reality of networking and countless of Node.js bugs has made Got larger than 50 lines. |
I just noticed the more retries there are, the more errors will be created on got/source/as-promise/index.ts Line 43 in 4cce4de
The solution is to move it before |
got/source/as-promise/index.ts Line 33 in 4cce4de
promise.json() modifies the options
|
Yes! I'm back with numbers, which you can see here, forked from your original Got benchmark suite (apologies for the delay). off-topic
Name something you can do with Got and I'm certain I can do it with the other faster libraries too, even if it requires a little more effort (but then again such things tend to be out of scope at the library level anyway).
That's actually pretty impressive, I never would've guessed. A lot of your packages tend to be quite negatively impactful due to their oversharing amongst the ecosystem, however, you are definitely a competent developer in some respects. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
off-topic
I thought we were talking about features, weren't we?
Every package manager does this. Forcing upgrades is breaking.
I disagree here, but I'm not going to continue about this.
"it doesn't include what we're talking about" doesn't make your point clear as well. I have directly mentioned the word "feature" and kept on linking to the comparison table which shows Got features.
I'm not arguing, nor I'm going to. You have your own opinion - and that's right. I don't have to agree nor disagree.
I don't think
is constructive criticism. You just expressed what you are capable of and it isn't about Got. So here's the same reply but more comprehensive: I acknowledge that you are capable of providing the same features Got has. I'm not saying you must not. I'm not saying Got is better. I'm not saying your solution is wrong. Feel free to use what you are comfortable with. I'm going to mark our comments as off-topic now. If you wish to continue this discussion / start a new one, don't hesitate to open a new issue. |
This comment has been minimized.
This comment has been minimized.
Released first beta: https://github.com/sindresorhus/got/releases/tag/v12.0.0-beta.1 |
Hi!, any idea when v12 will land - is beta.4 safe to use? Thanks! ❤️ |
Yes, it's safe to use. It's been running in production for a long long time. We will do a release as soon as possible. |
Closing as we'll be releasing v12 soon. |
Released |
My app started breaking in v12. Did you stop supporting
|
Dude... NodeJS v14 reached EOL on 2023-04-30 https://github.com/nodejs/Release |
@Shinigami92 I'm using node 16, thus I don't get your comment
and NodeJs has no plans for deprecating CommonsJS |
Oh don't mind me, sorry. I thought you referring to NodeJS v12, my bad |
I meant that the app started breaking at |
@jfoclpf you can read the reasoning here https://github.com/sindresorhus/got/releases/tag/v12.0.0 |
There are a few issues: https://github.com/sindresorhus/got/milestone/9
Anything else we want to change that is risky or breaking? It doesn't have to be a big breaking release though.
lookup
option todnsLookup
got/source/create.ts
Lines 138 to 149 in 2b40da2
// @szmarczak @Giotino
The text was updated successfully, but these errors were encountered: