|
I hear you. The full text
I think we should eventually deprecate For example following redirects looses request bodies and cookies, and url parsing to remove relative paths are both bugs but I'm not sure they'll ever be fixed. Maybe deprecation isn't the right answer, but I don't know how else to approach that. Does that make sense? |
|
Let’s just bump the major version when we deprecate. That way most people depending on the project won’t see this error until they try to upgrade to a new major, which means they are actively developing it and really should look for an alternative. |
|
I'm proud to have been part of the history of
Fine to remove me. |
As a programmer who is VERY grateful for the module and who uses it all the time I WANT to use it on new projects. |
|
This decision must have been very hard to take but is commendable in the extreme. Well done. |
|
I'm proud having used this amazing tool. It forced the community to improve. |
|
While I respect your decision, I would ask you to consider how much real world, production, code relies on request currently. It's far more than even NPM stats can tell you. I fully understand wanting to move on to a new thing and doing something in a new, more interesting way...this is the JavaScript ecosystem after all, have to chase the new thing. But please consider the amount of time and money you'd be costing professional engineering organizations by wholesale deprecating request. If you want to leave it in maintenance mode, that's fine, but understand that plenty of people have absolutely no practical reason to change libraries. Forcing people to change because of ideology is going to lead to frustration. Regardless, thanks for the hard work everyone has put in to this library. |
|
I wonder what library could be considered modern and recommended now. Superagent is mostly in maintenance mode right now, axios not too active altogether. |
|
Just a quick note to say thank you (and all the other contributors) for all the hard work over the years on this module; it was one of the first I ever used back when I started with Node so will always have a special place in my heart. |
i think this is still a viable solution for the mention above. |
|
@kibertoad Looks like @mikeal is working on https://github.com/mikeal/bent. I've been using https://github.com/sindresorhus/got for many years and it's well supported and evolving. |
|
With all this talk and the possibility of it being deprecated, I think there has to be equal mention of a current maturity replacement module, of parallel utility. We can't just announce its end and then suggest nothing, or a replacement of much less maturity and confidence. Request is used in serious applications. Why does this matter? Because for all its "outdated patterns at its core", it works on a daily basis, for thousands. This is not about the perfect world but the real world. What is the real world replacement, of confidence, on the day request is put in maintenance mode or is deprecated? That is an imperative. |
|
You can find that discussion over here #3143 You can find a current working plan (which direct feedback is welcome) can be found here #3142 (comment) |
|
Thanks for your work on
Patterns change every few months and years, especially in JavaScript community. Aren't the reasons why
It's sad to see such an important and historic library in Node's history go away because streams and callbacks are not fancy in 2019 anymore. |
|
I don't believe that deprecating the library is really needed, it's been around for about 10 years now, used in lots of places and is actually pretty stable, and in the end. all it does is make HTTP requests, what else would the library need? Support for the JS fad of the month? |
ba-dum-chhh! |
|
This is responsible deprecation. Well communicated, with a plan to follow through on. I think other OSS maintainers can look to this as a standard to aim for. This is much better than forgetting about a package and letting random people (who can inject back-doors into the code) in as maintainers to take over when you no longer care. Request was a great package, and we thank you tremendously for your contributions to the early node ecosystem. You are right in your assessment that callback style is no longer idiomatic JavaScript, and there are other packages like fetch which mirror WHATWG standards. |
|
@stcktrce Exactly, the library doesn't need anything else, it works just as it is. But there has been major improvements in the whole ecosystem. Deprecating the library is just marking the opportunity for others to check new and more modern libraries instead of simply relying on the most popular out there. @mikeal thank you for all your efforts in the library ( |
@mikeal I don't think that's a good idea. The problem is that most of replacements are of lower quality than request. I just moved to Axios has multi-year persistent bugs around proxy support, modifying https agents, and unhandled promise exceptions. You only find these out after investing into axios heavily. To new users axios looks superficially as good as request (similar number of users, promises by design, etc) |
|
Thanks for If anybody is looking for a minimal promise-based HTTP library with pluggable filters and good support for streams you could check out httplease. We've been using it for a few years in production. |
|
I love the request module.Thanks a lot. |
|
If there are specific bugs in comparable features in other libraries I’d like to specifically identify them. Proxy support is a complex feature and having a test case that request passes but other libraries fail is very valuable. |
|
@reconbot in the latest edit: specifically, you can't use axios to do https requests via a http proxy. maybe a dedicated https proxy works, didn't try that. |
|
I sure hope fixes are not considered new features, such as my pull request for Maximum Response Size, which I see as a standard required feature of any mature library. Also I did review other request libs before I choose this one and most of them are very problematic, incomplete and buggy. Their docs do not measure either. I do not really see what can another library bring but untested code and bugs, it's not like there's a new approach to making HTTP requests. It's all about wrapping http/https module and providing sane defaults such as buffering response, decoding responses, and of course the ability to promisify the whole thing. The biggest problem of this library here is the aim of total compatibility, trying to be compatible with legacy stuff only brings pain and legacy coding practices. But this can be fixed in many ways. There's a good base that can be refactored into something elegant, modern and minimalist. And most of all reliable. There are many ways to do this - split into more files, use ECMA6 with Babel or Typescript. No sane developer wants 10 libraries that do the same thing but lack different features, are buggy, undocumented. This library really works and I am thankful for it and hope that it's not deprecated but instead revived. |
|
Fixes are not considered new features. Fixes will be merge for at least a year, possibly even longer.
…-Mikeal
________________________________
From: mivanovaxway <notifications@github.com>
Sent: Thursday, April 11, 2019 2:38 AM
To: request/request
Cc: Mikeal Rogers; Mention
Subject: Re: [request/request] Request’s Past, Present and Future (#3142)
I sure hope fixes are not considered new features, such as my pull request for Maximum Response Size, which I see as a standard required feature of any mature library.
Also I did review other request libs before I choose this one and most of them are very problematic, incomplete and buggy. Their docs do not measure either. I do not really see what can another library bring but untested code and bugs, it's not like there's a new approach to making HTTP requests. It's all about wrapping http/https module and providing sane defaults such as buffering response, decoding responses, and of course the ability to promisify the whole thing. The biggest problem of this library here is the aim of total compatibility, trying to be compatible with legacy stuff only brings pain and legacy coding practices. But this can be fixed in many ways. There's a good base that can be refactored into something elegant, modern and minimalist. And most of all reliable. There are many ways to do this - split into more files, use ECMA6 with Babel or Typescript.
No sane developer wants 10 libraries that do the same thing but lack different features, are buggy, undocumented. This library really works and I am thankful for it and hope that it's not deprecated but instead revived.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#3142 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAACQ8I4BSRtOjqHk637gRfBhkvGbRrIks5vfwKIgaJpZM4cT_Li>.
|
|
TIL 41k packages just became vulnerable. Look, I agree that request should go away, but I’m always fearful of mainstream packages like this changing their release pipeline. One bad actor or one compromised dev box publishing malicious code would effectively spread to every project out there. Please consider tightening the npm push requirements. Set up a branch for ci, require multiple approvals, something more than simply pushing to master. |
While I really liked the request library and was planning to use request-promise with it, it is [going into maintenance mode](request/request#3142) so I've switch my usage of it to axios.
BREAKING CHANGE: Due to request's maintenance mode and inevitable deprecation (see request/request#3142) the option to switch the provider to use request has been removed.
Request is deprecated: request/request#3142
This comment has been minimized.
bajtos commentedApr 2, 2019
Please be careful about deprecation. As Mikael wrote above, there are 41K modules depending on
request. Many of these modules are useful in the current state and work well for their users, but their maintainers may not have time to rework those modules to use something else thanrequest. By deprecatingrequestat install time, you will basically deprecate a large portion of npm module ecosystem.As I see it, maintenance mode is not the same thing as deprecation.