-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
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 SAMPLETEXTThe 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?