Skip to content

Undocumented breaking changes in v3? #1656

@hainguyenthanh5-oss

Description

@hainguyenthanh5-oss

Please take a look at the following C# script, which is an example of changes from v2 to v3.

using Humanizer;

const string text = "SAMPLE-TEXT";
var pascalized = text.Pascalize();

pascalized.Dump();
// v2.14.1  SAMPLE-TEXT
// v3.0.1   SAMPLETEXT

The Pascalize extension method in v2.14.1 uses the regular expression of (?:^|_| +)(.), which removes spaces and underscores only. Since v3, the regular expression was changed to (?:[ _-]+|^)([a-zA-Z]), which removes spaces, underscores, and dashes. The change was implemented in #1299, which was mentioned in #1282, which in turn was automatically included in the changelog of version v3.0.0-beta.13.

The problem was that none of the v3 changelogs explicitly stated it as a breaking change. This issue was only discovered after upgrading to v3 and running the application. But there could be more breaking changes in v3 beside this one and they all were not explicitly documented in any changelogs. This problem leads to high risks of upgrading to v3, especially for applications with extensive use of this package.

Are there any existing documentation of breaking changes in v3 somewhere? Or could anyone please list out breaking changes in v3?

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions