Skip to content

Releases: linkdotnet/StringBuilder

v2.4.1

25 Mar 06:51
fa0b4b7
Compare
Choose a tag to compare

Changed

  • Optimized Replace(char, char) (by @Joy-less in #241)
  • Optimized Replace(ReadOnlySpan<char>, ReadOnlySpan<char>) when both spans are length 1 (by @Joy-less in #241)

v2.4.0

21 Feb 22:02
e9b83c2
Compare
Choose a tag to compare

Added

Changed

Fixed

  • Fixed IndexOf and LastIndexOf allowing out-of-bounds index when the string to find is empty (by @Joy-less in #238)

v2.3.1

20 Feb 19:08
59151cc
Compare
Choose a tag to compare

Changed

  • Optimized when the internal buffer should grow. Fixed by @Aniobodo.

v2.3.0

16 Feb 10:43
dd39217
Compare
Choose a tag to compare

Added

  • Added Equals(ReadOnlySpan<char>, StringComparison) (by @Joy-less in #234)

Changed

  • Improved Equals(ReadOnlySpan<char>) (by @Joy-less in #234)
  • Added performance short-circuit when span is empty in Append(ReadOnlySpan<char>), AppendSpan(int), Insert(int, ReadOnlySpan<char>) in #233 (by @Joy-less)

v2.2.0

25 Jan 11:56
f3f4759
Compare
Choose a tag to compare

Added

  • Added TrimPrefix(ReadOnlySpan<char>, StringComparison) (by yours truly (@Joy-less) in #226)
  • Added TrimSuffix(ReadOnlySpan<char>, StringComparison) (also by yours truly (@Joy-less) in #226)
  • Added Insert(int, char) overload (by yours truly (@Joy-less) in #225)
  • Added Insert(int, Rune) overload (again by yours truly (@Joy-less) in #225)
  • Added Replace(Rune, Rune) overload (see yours truly (@Joy-less) in #225)
  • Improved Replace(scoped ReadOnlySpan<char>, scoped ReadOnlySpan<char>, int, int) fallback (achieved by yours truly (@Joy-less) in #225)

v2.1.0

14 Jan 08:16
77fc713
Compare
Choose a tag to compare

Added

  • Added Replace(Rune, Rune) overload
  • Added Replace(Rune, Rune, int, int) overload

v2.0.0

12 Jan 15:02
f3e42e8
Compare
Choose a tag to compare

This is the v2 release of the ValueStringBuilder. There aren't any noticeable breaking changes. Only old framework versions were removed to make further development easier. The API is the same (with new additions) as in v1.

Added

  • Added Append(Rune) overload
  • Added AppendJoin(Rune, IEnumerable<string?>) overload
  • Added AppendJoin<T>(Rune, IEnumerable<T>) overload

Removed

  • Support for net6.0 and net7.0 was removed.

Changed

  • Added OverloadResolutionPriority for Span overload for the ctor to keep the current behavior. Reported by [@nsentinel])(https://github.com/nsentinel) in #210.
  • Optimised AppendLine(scoped ReadOnlySpan<char>) by avoiding allocating a new string
  • Removed erroneous null check in AppendJoin<T>(ReadOnlySpan<char>, IEnumerable<T>)

v1.22.0

18 Dec 17:06
Compare
Choose a tag to compare

Added

  • AppendSpan method

v1.21.1

08 Nov 21:59
9442bdf
Compare
Choose a tag to compare

Changed

  • Append(bool) is now 33% faster

v1.21.0

20 Sep 07:18
b71ea72
Compare
Choose a tag to compare

Added

  • PadLeft and PadRight methods