andywilsonuk / StringTokenFormatter

Provides string extension methods for replacing tokens within strings (using the format '{name}') with their specified lookup value.
Apache License 2.0
35 stars 1 forks source link

.NET 6.0 Update #21

Closed TonyValenti closed 1 year ago

TonyValenti commented 2 years ago

Hi @andywilsonuk - Since .NET 5.0 is now out of support, if you're OK with it, I'd like to do some pretty big rework on this library. Here's what I'd like to do:

  1. Move from Classes to Records for a lot of types.
  2. Provide a better way of managing the "Configuration". Right now there are settable global defaults. This should be refactored because it is conceivable that one library wants one set of defaults and another wants different ones.
  3. Restructure interfaces so that async can be supported.
  4. Use immutable types/collections where possible.
  5. Update nuget package to have words like "interpolated" and such for better marketing.

Note: This will be a brand new binary-breaking version. I suggestion version: 6.0, which I think should align with the .NET version.

Thoughts?

andywilsonuk commented 2 years ago

Hi @TonyValenti , been a while!

Yeah moving to .net 6 is a good idea and the changes you've outlined would be great to see happen.

When you say binary-breaking, are you talking about more than just the "interface" to library changing? specifically does targeting .net 6 prevent older .net versions from using the library? I'd have to look into the whole .net framework vs .net core thing to remind myself how the unification played out (if you are already understanding, I'll take what you say).

Regarding the version number, I agree it makes sense to go to v6 as a clean break away from older versions.

I haven't needed this library in a while so I'm glad that you're minded to make the improvements.

TonyValenti commented 2 years ago

Hi @andywilsonuk - Yes, when I make the proposed changes above, then anyone wanting to use the latest version (v6) of the library will also need to use .NET 6.x or above. If a .NET 4.x user wants to use StringTokenFormatter, they still can - they'll just have to use today's version instead of version 6.x.

Am I clear to move forward?

TonyValenti commented 2 years ago

@andywilsonuk ?

andywilsonuk commented 2 years ago

Oh yeah sorry. I read your reply about versions and hadn't noticed the question. Go for it!

mnivet commented 1 year ago

Have you an idea of when we can expect a release of that v6 ?

Your work seems great and it would be easier for us to start right now on such v6 instead of having to manage the breaking changes later, since we need it on a new project.

andywilsonuk commented 1 year ago

Hi,

There were a number of new features planned for the .net 6 version which didn't come to anything so yeah thanks for the nudge, I'll take a look at putting out a new v6 package.

On Thu, 1 Jun 2023, 10:49 Mickaël NIVET, @.***> wrote:

Have you an idea of when we can expect a release of that v6 ?

Your work seems great and it would be easier for us to start right now on such v6 instead of having to manage the breaking changes later, since we need it on a new project.

— Reply to this email directly, view it on GitHub https://github.com/andywilsonuk/StringTokenFormatter/issues/21#issuecomment-1571718267, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2W6SVYWET4MBRYUGAGK7TXJBQQ5ANCNFSM5VUSWPQQ . You are receiving this because you were mentioned.Message ID: @.***>

TonyValenti commented 1 year ago

Hi Andy, I'll work to get a V6 package released if you'd like me to do it.

Want me to play point?

andywilsonuk commented 1 year ago

Thanks Tony, that'd really help me out.

If you can do the minimal to move to .net 6, I'll start putting together a roadmap for us to discuss transitioning the codebase to be more modern including the features you've suggested above. Do that sound like a plan?

On Sat, 3 Jun 2023, 22:05 Tony Valenti, @.***> wrote:

Hi Andy, I'll work to get a V6 package released if you'd like me to do it.

Want me to play point?

— Reply to this email directly, view it on GitHub https://github.com/andywilsonuk/StringTokenFormatter/issues/21#issuecomment-1575195103, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2W6STZUNSMZYN5LFLSZV3XJORK7ANCNFSM5VUSWPQQ . You are receiving this because you were mentioned.Message ID: @.***>

andywilsonuk commented 1 year ago

@mnivet v6.1 has been out for about a week now, I'm going to close this issue.