StringSimilarity.NET 2025+ Roadmap and .NET Framework/Standard support #44
paulirwin
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all! I thought I'd kick off this Discussions tab with a roadmap for where this project will likely go.
We are currently preparing a 7.0.0 release. I'm going to tidy some things up a bit and get this out the door today. This release is a major version bump because it is strongly-named now for .NET Framework compatibility, and only includes some minor perf improvements. It also upgrades the System.Memory package which should resolve some issues in .NET Framework (it did in CI tests, anyways).
This extra maintenance burden of having to support .NET Framework prompted me to create this post. Myself and many of my team members no longer develop on Windows first, let alone on .NET Framework, so this has been an extra burden to have to support. In a few weeks when .NET 10 is GA, there will have been eight significant releases of modern .NET (Core). In addition to the cross-platform benefits, it's faster, more secure, and allows things like containerized Linux deployments. Everyone should already be in progress to move to it. So, we intend to deprecate and remove .NET Framework support in this library. Technically, this means we intend to deprecate and remove the .NET Standard target, which only exists to help migrate off .NET Framework.
Note that older NuGet packages will not be removed; they will still be available as long as NuGet.org wants to keep hosting them. But at a future time, you will be unable to upgrade to the latest version if you're still on .NET Framework.
With respect to modern .NET, our intention is to always support the currently-supported .NET releases from Microsoft. This will mean .NET 8 - 10 once .NET 10 is GA. Once .NET 11 STS comes out, this will mean we will support .NET 10 and .NET 11 only, as .NET 8 and 9 will go out of support at that time.
To ease this transition, here is the planned roadmap for these releases with respect to target/runtime support:
release/8.0branch will be created as a snapshot of the legacy support. We will accept PRs for security issues for the 8.0 branch (which are not likely with this library), but otherwise will reject any PRs to this branch.My hope is that the 9.0.0 release will be completed shortly after the release of .NET 11 in November, 2026, but it may take the back-burner and be completed some time after that.
Orthogonal to that, it appears that development in the upstream java-string-similarity repo has stalled, as there has not been a commit in 3 years. This is not a bad thing per se, as it could mean that the library is considered "done" and stable, and that should be celebrated. However, there are still a few outstanding issues that could be done. If anyone wants to contribute those upstream, I think that would be great, and we will certainly pull down any changes to our port when they happen. In lieu of that, we currently do not have an intention to significantly deviate from upstream, apart from performance improvements (like our recent addition of
ReadOnlySpanetc. support). If there ever comes a time when it makes sense to consider our fork truly diverged we'll evaluate that in a major release, but I don't see that happening. In the meantime, if you want a new feature, contribute it upstream first so the Java community can benefit from it as well.Hope this helps you plan ahead, and thanks for your support for this library! We're about to hit 5 million downloads on NuGet, and we're very grateful for the success of this project in the community.
Beta Was this translation helpful? Give feedback.
All reactions