Dnn.Platform
Dnn.Platform copied to clipboard
Remove SharpZipLib
Description of problem
SharpZipLib is an external (and modified) library that's included in DNN. At the time of inclusion, it was the only functional option available to work with managing ZIP archives. Since, .NET has included and iterated on a viable alternative that ships with .NET. There's no longer any need to keep this library in the core since removal has a viable alternative and will also reduce the footprint of DNN overall.
Description of solution
- Ensure Install/Upgrade does not require SharpZipLib
- Create a Package for distribution and upgrade to the latest version. (To ensure installs have latest possitble)
- Do not include SharpZipLib DLL or license file in new installs.
- Leave the SharpZipLib DLL in the Bin folder on upgrades for backwards compatibility with vendors that might be manually referencing the DLL.
- Update the wrapper code in the core to no longer use or reference SharpZipLib and use the .NET alternative instead.
Description of alternatives considered
None.
Screenshots
None.
Additional context
None.
Affected version
- [x] 9.3.2
- [x] 9.3.1
- [x] 9.2.2
- [x] 9.2.1
- [x] 9.2
- [x] 9.1.1
- [x] 9.1
- [x] 9.0
- [x] 9.1
- [x] 9.1.1
- [x] 9.2
- [x] 9.2.1
- [x] 9.2.2
- [x] 9.3
- [x] 9.3.1
- [x] 9.3.2
- [x] 9.4
- [ ] 10.0 (suggested target for the change)
Affected browser
- [x] Chrome
- [x] Firefox
- [x] Safari
- [x] Internet Explorer
- [x] Edge
When a PR comes in for this, please ensure the sharpziplib license attribution is also removed as part of the pr
I would leave it in place so that it is not a breaking change for people that expect it to be there and update the wrappers. If the decision ends up being to remove it, I don't know how we can do that without being a breaking change, if a module installs it and then an upgrade removes it, etc.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
While I agree with the proposed change, we should find some way to notify extension developers of our plans to replace this library, as I believe it is heavily used in the ecosystem. That said, third-party extension developers should not be directly referencing this library within DNN anyway. It is available via NuGet.