Releases: Humanizr/Humanizer
Releases · Humanizr/Humanizer
v3.0.1
Immutable
release. Only release title and notes can be modified.
v3.0.0-rc.30
Immutable
release. Only release title and notes can be modified.
Changes:
- #1640: Update dependencies and refactor for performance
This list of changes was auto generated.
v3.0.0-rc.29
Immutable
release. Only release title and notes can be modified.
Changes:
Enhancement:
- #1625: Add multi-targeted, performance-optimized Roslyn analyzer and code fix for Humanizer v3 namespace migration
Others:
- #1637: Fix performance regressions vs v3.0.0-rc.6 in transformers and registry lookups
- #1636: Fix performance regressions from eager registry initialization and micro-optimizations
- #1635: Optimize ToLowerCase, PrependArticleSuffix, and ToQuantity for .NET 8+ performance and fix thread safety issues
- #1634: Fix performance regressions vs v3.0.0-rc.6 with zero-allocation optimizations
- #1633: Fix performance regressions in core hot paths (enum dehumanize, clock notation, metric numerals, transformers, truncators, string operations)
- #1632: Fix ByteSize.TryParse for cultures with multi-character number format symbols and optimize performance
- #1629: Comprehensive XML documentation enhancement for all public APIs, README modernization, and docs structure
See More
- #1624: Performance optimizations: Source-generated regex, FrozenDictionary, SearchValues, benchmarks with baseline comparison workflow
- #1622: Fix trim warnings in EnumCache and EnumDehumanizeExtensions for .NET 9/10 compatibility
- #1620: Update verify-packages.ps1 to validate package restoration on multiple SDK versions
- #1618: Clarify test run timing in AGENTS guidance
- #1617: Update SDK version in global.json to 10.0.100-rc.2
- #1616: Update testing and coverage to xUnit v3
- #1615: Code modernization, formatting, cleanup
- #1614: Add Jekyll GitHub Pages site with automatic dark mode support
- #1613: Reorganize solution items and update build scripts
This list of changes was auto generated.
v3.0.0-rc.6
Immutable
release. Only release title and notes can be modified.
Changes:
Bugs:
- #385: Titlelize returns empty if text contains no known letters
- #1611: Fix Titleize to preserve input with no recognized letters (Issue #385)
- #1605: Fix culture parameter being ignored in Blazor WebAssembly
- #1570: Fix metric rounding
Localization:
- #1590: Add Catalan localisation support
- #1569: Added support for negative Vietnamese numbers to words
- #1574: ru-Ru data units, heading, plus minor adjustments to numbers
Enhancement:
See More
- #1596: Add long.ToMetric and associated tests
Others:
- #1612: Add package verification step to Azure Pipeline
- #1606: General documentation improvements for readme file
- #1607: Bump to RC
- #1610: Expand repository agent guidelines
- #1609: ✨ Add comprehensive Copilot instructions for the repository
- #1603: Switch to .slnx format for solution configuration
- #1600: Add .devskim configuration file for code scanning
- #1599: DevSkim workflow to trigger only on 'main'
- #1595: Improve bit size validation in ByteSize.cs
- #1582: Introduce TryToNumber methods for safe word-to-number conversion
- #1594: Potential fix for code scanning alert no. 24: Possible loss of precision
- #1593: Add CodeQL configuration for security analysis
- #1592: Update CodeQL workflow for C# analysis
- #1591: Update for .NET 10.0 RC and code modernization
- #1587: Create jekyll-gh-pages.yml
- #1531: Spelling and grammar improvements in Readme.md
This list of changes was auto generated.
v3.0.0-beta.96
Changes:
Localization:
- #1539: Replace "ناقص" with "سالب" for negative number representation in Arabic
Others:
- #1536: Add german TimeOnly.ToClockNotationConverter
- #1547: fix truncation if truncationString is null
- #1544: Change in the lt language causing misconception
- #1560: #1559
- #4: Typo in Romanian localization
- #1559: Truncate operation does not consider words
- #3: Added Resources for Romanian
See More
- #1548: Handling the special case in ToQuantity where they pass in a negative…
- #1563: fixed exception thrown in lithuanian language for DateHumanize_Now resource key
- #1564: Words to number convert Fixes #348
- #1561: fix grammar in README
- #1566: Add unit tests for Ordinalize method in Turkish culture
- #348: Humanized string to number
- #2: DateTime Humanize
- #1: Allow localization of messages
- #1553: Fixed minor typo in readme.md
- #1517: Support native AoT
- #1526: update Polyfill
- #1524: update xunit
- #1525: update Nerdbank.GitVersioning
- #1523: update Microsoft.NET.Test.Sdk
- #1518: Remove duplicate test case
- #1516: Fix MSBuild condition
This list of changes was auto generated.
v3.0.0-beta.54
Changes:
- #1509: use InternalsVisibleTo MSBuild item
- #1504: Remove allocation from ByteSize.TryParse
- #1514: Various cleanup largely driven by analyzers
- #1512: Fix assert in GetRomanNumeralCharValue
- #1513: fix nuspec
- #1505: Replace relevant Substring use with AsSpan
- #1510: Remove some string interpolation allocation
- #1506: Cache Truncator singletons returned from static properties
- #1508: Remove overhead from RomanNumeralExtensions
- #1498: changes to address idiomatic differences between pt-PT and pt-BR
See More
- #1501: Added hungarian translations, and hungarian number formatters
- #1493: Avoid string concat in resource lookups
- #1491: enable nuget audit
- #1488: Bump coverlet.collector from 6.0.1 to 6.0.2
- #1485: Bump Polyfill from 3.0.0 to 4.0.0
- #1486: Bump Verify.Xunit from 23.3.0 to 23.5.0
This list of changes was auto generated.
v3.0.0-beta.13
Changes:
Bugs:
- #1461: Fix to words for negative numbers below 1000 in Russian & Ukrainian
- #1460: Fix Bulgarian TimeSpan to words & genders in number to words
- #1426: Fix missing resources errors
- #1165: Armenian nuspec lists "ru" as the language
- #1250: Correct unit and tens names, expand conversion to int64, add unit test - Croatian
- #1356: Add some more problematic plural/singular words to Vocabularies
- #1244: As was to were irregularity
- #1228: fix: Use DayNumber instead of DayOfYear to compare DateOnly instances
- #1299: kebab-cased string returns a Kebab-Cased
See More
- #1082: Fix Japanese single year translation
- #1193: bulgarian number fix: "един" shoud be "едно" in string[] UnitsMap.
- #1246: Replace the greek B (Beta) char to a regular B in method
- #1280: Fix Hundreds Map typo for "εννιακόσιες"
- #1178: special case for letter 's'
Localization:
Others:
- #1483: remove netstandard1.0 from core nuspec
- #1482: drop net462 and net472
- #1481: Bump Verify.Xunit from 23.2.2 to 23.3.0
- #1480: re-add gitversion
- #1476: reduce string alloc in MalteseFormatter
- #1477: remove redundant string alloc in RussianFormatter
- #1478: remove redundant string alloc in UkrainianFormatter
- #1479: remove redundant protected and public modifiers
- #1475: Resolve some warnings
- #1474: Disable some R# warnings due to differences in frameworks
- #1472: Do not use Linq to slice array in DefaultCollectionFormatter
- #1471: Fix nullable annotations for ICollectionFormatter
- #1473: Fix leap year bug in InYear test
- #1469: Bump Verify.Xunit from 23.2.1 to 23.2.2
- #1468: Support InvariantGlobalization by using provided CultureInfo instead of instantiating
- #1466: Convert some switch statements to switch expressions
- #1465: Add missing static in GreekNumberToWordsConverter
- #1464: Add missing static in LuxembourgishNumberToWordsConverter
- #1463: Optimize English to words converter
- #1458: Enabling Trimming
- #1446: Code Quality: Enable .NET PublishTrimmed
- #1449: Fix TimeSpan toWords for Russian and Ukrainian languages
- #1457: spanify RomanNumeralExtensions
- #1455: cleanup some usings
- #1456: makes GermanNumberToWordsConverterBase static
- #1453: clean up some formatting
- #1452: file scoped namespaces
- #1448: Merge Humanizer.Tests.Shared to Humanizer.Tests
- #1447: Fix references to main branch
- #1445: Updated Russian localization resources. fixes #1444
- #1442: ToTitleCase Perf improvements
- #1443: remove un-used EnglishArticles
- #1441: cache CulturedStringTransformers
- #1440: remove redundant number variables from LatvianNumberToWordsConverter
- #1439: remove redundant defaultSeparator from OxfordStyleCollectionFormatter
- #1437: Enable Nullable ref types
- #1438: use some index from end expressions
- #1435: use compound statements
- #1436: move resource throw deeper
- #1433: remove redundant parameter
- #1432: fix InternalsVisibleTo for tests
- #1431: use index from end expressions
- #1430: add alias for ReadOnlySpan
- #1428: Add missing italian strings
- #1429: Test fix: handle when NumberGroupSeparator is different per OS
- #1068: Add TimeSpan.ToAge() extension method
- #1427: Simplify TimeSpanHumanize_Multiple* resources
- #1424: Bump Verify.Xunit from 23.2.0 to 23.2.1
- #1042: Inflection singularizes Databases to Databasis
- #1423: Add test for #1042
- #1422: Fix Armenian nuspec
- #1421: Fix article sorting for words containing an article-like part inside
- #1420: compile EnglishArticle regex
- #1418: optimize EnglishArticle.AppendArticlePrefix
- #1416: Polyfill 2.6.5
- #1417: coverlet.collector 6.0.1
- #1415: remove some redundant comments
- #1414: Reduce some nesting from elses
- #1412: Fix documentation spelling of "Terabyte"
- #1411: update Polyfill
- #1410: update System.ComponentModel.Annotations
- #1408: Polyfill older frameworks
- #1406: remove Microsoft.SourceLink.GitHub
- #1407: remove GitVersioning
- #1405: add a Benchmarks project
- #1404: move enum to a TryGetDescription
- #1402: remove extra expression from enum humanize
- #1401: remove unsupported number range from BulgarianNumberToWordsConverter
- #1400: remove some bool expressions where the result is known
- #1399: remove redundant RegexOptionsUtil
- #1398: replace string.Join+empty with sting.concat
- #1395: Remove FormatWith extension
- #1396: more redundant parens
- #1394: improve perf IcelandicFormatter
- #1393: better perf LuxembourgishFormatter
- #1392: also target net7 and 8
- #1391: remove redundant uiCulture from UseCultureAttribute
- #1389: remove obsolete ToMetric overloads
- #1390: redundant using in Approve_Public_Api
- #1388: remove netstandard1.0 from nuspecs
- #1386: Bump xunit from 2.6.6 to 2.7.0
- #1387: Bump xunit.runner.visualstudio from 2.5.6 to 2.5.7
- #1385: primary constructor for ByteSize
- #1384: remove redundant ToQuantity asserts
- #1383: remove redundant DummyStructWithEnumInterfaces members
- #1382: remove redundant partials
- #1381: redundant private
- #1380: fix un-used variables
- #1379: make spanish numbersAndWordsDict static. avoids alloc on each execution
- #1378: remove redundant body
- #1377: merge string literal
- #1376: remove redundant type specs
- #1375: use some pattern matching
- #1374: target typed new
- #1373: remove some redundant verbatim prefix
- #1372: clean up some whitespace
- #1371: remove redundant protected
- #1370: remove some redundant internal
- #1369: remove redundant variable assignments
- #1368: use some compound statements
- #1367: remove some un-used parameters
- #1364: remove redundant alloc due to ToCharArray
- #1365: fix editorconfig path
- #1363: remove redundant parens
- #1361: remove duplicate dictionary lookup
- #1362: target typed new. and collection expressions
- #1360: use static where possible
- #1359: Global usings
- #1358: avoid ApplyRules for singular when as plural has already matched
- #1357: expression bodied methods
- #1355: reduce some string allocation in Vocabulary
- #1185: Make sure Humanize(LetterCasing.Sentence) does not remove commas
- #986: Added unit tests
- #1354: Bump Verify.Xunit from 23.1.0 to 23.2.0
- #1353: make EnglishArticle regex static
- #1352: Update editorconfig
- #1351: collapse into a single Humanizer namespace
- #1350: remove some usings
- #1349: remove some redundant whitespace
- #1348: use some primary constructors
- #1347: avoid some double casts
- #1346: missing var usage
- #1345: use some pattern matching
- #1344: shink test hours to avoid intermitant days bug
- #1343: enable TreatWarningsAsErrors
- #1282: Pascalize a kebab-cased string returns a Kebab-Cased string.
- #1342: add InternalsVisibleTo for tests
- #1341: add missing Humanizer.Core.lb.nuspec in sln
- #1256: Add Luxembourgish localisation
- #1340: redundant private set
- #1339: use type keywords
- #1338: remove redundant ToQuantityExtensions overloads
- #1298: Localization PT string - Updating
Resources.pt.resx - #1337: missing Humanizer.Core.lt.nuspec
- #1302: Add Lithuanian localization
- #1336: make DefaultStrategy_HoursApart test closer
- #1335: sdk 8.0.200
- #1300: Add future phrases to the Finnish language file
- #1333: improve perf of DisplayAttribute detection
- #1332: remove some redundant usings
- #1313: improve perf of ResourceKeys.GetResourceKey
- #1324: remove uwp tests
- #1334: cleanup templates
- #1322: drop netstandard1 support
- #1331: remove some whitespace
- #1190: correct ToHeading doc
- #1273: Bump Nerdbank.GitVersioning from 3.6.132 to 3.6.133
- #1330: use some auto properties
- #1323: move to PackageLicenseExpression
- #1245: Compilation fails on the very latest Visual Studios due to character-encoding problem
- #1329: fix some typos
- #1326: enable ImplicitUsings
- #1328: use string format
- #1308: Perf improvement: avoid Dictionary in spanish code
- #1325: remove redundant LangVersion
- #1320: suppress missing doc warnings
- #1319: Update test refs
- #1311: clean up templates
- #1314: cache _timeUnits in TimeSpanHumanizeExtensions.cs
- #1312: improve perf of IsUncountable
- #1309: remove redundant virtual from internal classes
- #1307: Cache spanish culture. new CultureInfo("es-ES")
- #1305: EnglishOrdinalizer: Minor performance optimization for numbers ending in 114 - 120
- #1310: remove redundant comments
- #1315: use some compound expressions
- #1317: Create global.json
- #1306: Improve perf by removing some redundant ToArray
- #1318: scrub TargetFrameworkAttribute from api approval
- #1268: Bump Nerdbank.GitVersioning from 3.4.255 to 3.6.132
- #1239: fix chinese translate error of 'now'
- #1238: Chinese Simplified translation error
- #1265: Add French TimeUnit translations
- #1240: Fix broken dotnetfoundation project link and icon
- #1216: Bump xunit from 2.4.1 to 2.4.2
- #1196: Support long for FarsiNumberToWordsConverter
- #1187: Bump DiffPlex from 1.7.0 to 1.7.1
- #1175: Bump coverlet.collector from 3.1.1 to 3.1.2
This list of changes was auto generated.
v2.14.1
Changes:
Bugs:
- #1171: Fixed The resource object with key 'DateHumanize_MultipleDaysAgo' was…
- #1150: Fix DateOnly, TimeOnly & DateTime issues in French
- #1151: Fix TimeSpan always returning words for Norwegian
Localization:
- #1172: Improve Spanish localization
- #1164: fixes #1161
- #1158: Adds NumberToWordsConverter for Korean
Others:
- #1162: Bump Nerdbank.GitVersioning from 3.4.244 to 3.4.255
See More
- #1152: A proposal of an addition of Code of Conduct
- #1129: TimeSpan.Humanize always returns value 1 as words for Norwegian (nb/nb-NO)
This list of changes was auto generated.
v2.13.14
Changes:
Bugs:
- #1136: Fix 'toes' being singularized to 'to'
- #1122: Fixed issue #1102. Dehumanize() by pascalizing the words correctly
Localization:
- #902: Add Latvian number to words converter
- #1116: Feature/icelandic language support
- #1105: Add German translations for ByteSize
- #1096: Register Latvian formatter
- #1094: Localisation of Tupleize method & Add Turkish support
- #1098: Register Filipino formatter
See More
- #1090: Add Greek for To Ordinal Words
- #1104: Add German translations for Headings
- #1097: Register Malaysian formatter
- #1095: Register Korean formatter
Enhancement:
- #1134: Add support to humanizing a TimeOnly as a readable clock notation
- #1114: Fixed default number format
- #1108: Localize ByteRate humanization
- #1106: Convert TimeUnit to symbols
- #1135: Fix 'Metadata' being pluralized to 'Metadatas'
Others:
- #1148: Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.1
- #1142: Fixed merge issue with lost test case change
- #1130: Bump Microsoft.NETCore.UniversalWindowsPlatform from 6.2.12 to 6.2.13
- #1140: Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.0.0
- #1139: Add 'heading' parameter XML docs to fix warnings during CI build
- #1138: Move tests to the correct project
- #1133: Bump Nerdbank.GitVersioning from 3.4.240 to 3.4.244
- #1137: Update branch name in PR template
- #1125: Bump Nerdbank.GitVersioning from 3.4.231 to 3.4.240
- #898: Add latvian translations
- #1102: Unexpected behaviour in certain cases for .Dehumanize()
- #1117: Improve FromAbbreviatedHeading for localized headings
- #1110: Bump coverlet.collector from 3.0.3 to 3.1.0
- #1113: Bump Nerdbank.GitVersioning from 3.4.220 to 3.4.231
- #1115: Bump Microsoft.NET.Test.Sdk from 16.10.0 to 16.11.0
- #1086: Add tests for french culture ByteSize unit expression
- #1099: Bump Nerdbank.GitVersioning from 3.4.216 to 3.4.220
- #1085: Update readme.md
- #1088: Bump Nerdbank.GitVersioning from 3.4.205 to 3.4.216
This list of changes was auto generated.
v2.11.10
Changes:
Bugs:
- #1074: Fixes #1006: conjunctions etc lower case in Title Case
- #1078: Fixed title casing for multiple upper case strings #1050
- #1066: Fix singularization of the word "ties"
Localization:
- #997: Add Danish resources for cardinal directions
- #1070: TurkishNumberToWordConverter now works for values greater than Int32.MaxValue
Enhancement:
- #1080: Add support for
DateOnlyandTimeOnly
Others:
See More
- #1006: Transforming to title case should not affect two-character words such as "in", "of" etc.
- #1075: Bump Nerdbank.GitVersioning from 3.4.203 to 3.4.205
- #1050: Title Casing when string all UpperCase
- #1072: Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0
- #1071: Bump Nerdbank.GitVersioning from 3.4.194 to 3.4.203
- #1058: Upgrade to GitHub-native Dependabot
- #989: Add number.ToWords() support for large numbers in French
- #988: number.ToWords() should support large numbers in French
This list of changes was auto generated.