How often does NuGet package gets updated? - nuget

I'm using NuGet to manage libraries used in my solution. But I wonder how often the libraries inside NuGet gets updated. For example, on 10 April 2019, jQuery 3.4.0 has been released, but as of today, the latest jQuery package on NuGet is more than 1 year old.
3.3.1 2,970,912 1/22/2018
I need to manually download the jQuery library from their website in order to use the latest version, but this beats the advantage of using NuGet. So my question is that how often is this updated? Is someone from Microsoft needs to add the library manually every time? Or does the library developer has to push the updates to NuGet (and I wonder why they have not done so if this is the case - now is more than 2 weeks after release date)?

Related

How to keep version locked on Microsoft.NETCore.App.Runtime.win-x64 in .Net 6 API

We have an .Net 6 API.
We have our own Nuget server to ensure we have backup of used Nuget packages so we always are sure we can run our CI chain.
After the upgrade to .Net 6, then every time MS publishes a new version of any of these three assemblies then our CI builds fail, because our NuGet server doesn't have the new version.
Microsoft.NETCore.App.Runtime.win-x64
Microsoft.AspNetCore.Runtime.win-x64
Microsoft.WindowsDesktop.Runtime.win-x64
Latest with 6.0.8. We then have to download the new packages to our Nuget server and then everything works.
In general I would like us to keep on known versions all the time, and only change referenced package version on purpose - and not just because developers publish new versions.
But I can't find any explicit references to these three packages.
Does anyone know where they come from - and more importantly - are there any way to lock our solution to use e.g. 6.0.8, until we decide to upgrade next time?
Best regards
/Anders

Is there a "stable" version to use of the npm packages ui5/cli & sap-ux-tooling?

To my knowledge, the latest non-alpha version of the #ui5/cli and #sap/ux-ui5-tooling (as of 2nd March 2022 - version 2.14.6 and 1.5.0 respectively) are the ones to use.
However, I wanted to confirm as my organisation has multiple ui5 projects and so having a standardised version of the #ui5/cli and #sap/ux-ui5-tooling dependencies could prevent issues around bugs in tooling.
If the advice is just to use the latest non-alpha version, then I just need to update the dependencies regularly.
The versions you mentioned should be your choice to use in a productive environment.
The upcoming UI5 tooling 3.0 is not.
I don't think you will achieve the same version in every app because of the lifecycle.
The packages are fast paced and when u have a stable app deployed you will not update it every month I think.
I would not invest time to find the perfect tooling version.

Nuget Package Compatibility and Upgrades

My company has internal components that we deliver via internal NuGet. Now i want to make a Version 5.X of these components which will be breaking a lot from the 4.X versions.
However now if my colleagues browse for updates, the Nuget browser would recommend these new packages.
What i would prefer: If example 4.6 is installed, it would take the highest 4.X version but not 5.0 or above. Making packages for the 5.X path under completely different names would be annoying when the developer choses to upgrade.
Is there a way to mark nuget packages to do something like that? If that's not clear, tell me and i try to clarify.
If your projects are using packages.config, you can use allowedVersions: https://learn.microsoft.com/en-us/nuget/reference/packages-config#schema
There's no way to do this if your project uses PackageReference, but you can upvote (👍) this isse: https://github.com/NuGet/Home/issues/9082

How long is a package in NuGet available?

We use various packages of NuGet in our company for productive applications. But we do not know how long a particular version of a package is available.
We do not want to include the packages in the source control system.
To be precise. If our source code is older than 10 years, is then a package in a particular version still available?
With NuGet.org you can delist a NuGet package but not permanently delete it. Delisting removes it from the search results but it is still available for NuGet package restore.
That being said the NuGet team can permanently delete NuGet packages in exceptional circumstances. This has happened at least once, as far as I am aware, when Oracle asked the NuGet team to remove some NuGet packages that were using their software or could be mistaken as being supported by Oracle.
So in practice the NuGet packages will be available as long as NuGet.org is still around. However it is hard to predict what will be happening in 10 years time.
No one knows exactly how long a package is available. When a new version comes out, sometimes the old version is still available and sometimes it's not. AFAIK, they don't have a release schedule, so no one is ever sure when a new version is available until very close to the release date.

How can I update a NuGet package in multiple solutions without manually opening the solutions?

We use the Entity Framework 6.1.2 NuGet package in 6 solutions. EF was just updated to 6.1.3 and we want to update all of the solutions to use the newest version. Taking the naive route we would open a solution in Visual Studio, use the NuGet Package Manager to update the package, close the solution, repeat for next solution. Running Update-Package EntityFramework in the Package Manager Console is probably a little more efficient than using the GUI but still requires opening each solution individually.
I'd love to be able to run a script which finds all the solutions in a folder and updates the package for (all projects in) each solution. I realize that updating the version number in the packages.config is not the same as installing the new version of a package, so that (very simple) option won't work. I also realize that there's not much efficiency to be gained by doing this one time, but libraries are updated so frequently these days keeping up to date can become an (admittedly minor) annoyance. Is it possible to automate this task?