simpleinjector / SimpleInjector

An easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
https://simpleinjector.org
MIT License
1.21k stars 155 forks source link

v5.4.6 of integration packages (latest as of now) for Web, MVC and WebApi are marked as deprecated #999

Open harishbk opened 3 months ago

harishbk commented 3 months ago

Why mark latest integration packages for Web, MVC and WebAPI as deprecated?

Describe the bug

I recently upgraded to latest version of SimpleInjector and integration packages and saw they even though they are latest they are marked as deprecated. Was support for these packages dropped? If so, I did not see any mention of it yet!

image

Expected behavior

Latest version of NuGet package must not be marked as deprecated.

Actual behavior

Latest version 5.4.6 of SimpleInjector.Integration.Web, SimpleInjector.Integration.Web.Mvc and SimpleInjector.Integration.WebApi are marked as deprecated. If I don't upgrade and get a warning saying update to packages are available and if I do upgrade, I get warning saying the packages are deprecated.

To Reproduce

Upgrade to latest version of these integration package.

Additional context

dotnetjunkie commented 3 months ago

While publishing the latest Simple Injector core package version 5.4.6, I accidentally published all 7 packages from the main repository to NuGet. This was an error, because the intend is to only bump a version number of a package in case there is an actual change in it. This prevents developers from updating packages and verifying whether there's a change that might impact them, only to find out that there is no change. The other 6 packages, however, have been stable since 5.0.0 and haven't required any update.

As it is impossible to delete NuGet packages once published, I decided to immediately mark them as deprecated in the hope that NuGet wouldn't inform developers about the update allowing them to stay on 5.0.0 for those packages - when used. The deprecated 5.4.6 packages, however, are identical to their 5.0.0 counter parts. There's no security risk but also no reason to upgrade.

I apologize for the confusion that this caused.

darrenw-npi commented 1 month ago

@dotnetjunkie Thanks for explaining this (warts and all). I think it might be better to unmark 5.4.6 as deprecated though as the risk of confusion seems worse than developers making a pointless upgrade of the extra packages from 5.0.0 to 5.4.6. I went down the same line of thinking as the OP @harishbk and even went as far as downgrading again to 5.0.0 in case there were issues with 5.4.6. It also gave me the impression that the integration packages were being retired, until I saw this thread.

dotnetjunkie commented 1 month ago

Thanks for sharing your train of thoughts. I didn't consider that people might consider those packages were being deprecated in their entirety, which is certainly not the case. I have no intention in doing this.

darrenw-npi commented 1 month ago

This message (which I presume is Microsoft generated) doesn't do us all any favours 🙄 😆 image

dotnetjunkie commented 1 month ago

Ow, yes, I agree. This is bad. Microsoft should have added the version number (which I actually configured in the Nuget deprecation screen for this package).