Skip to content

Releases: linkdotnet/StringBuilder

v2.4.1

25 Mar 06:51
fa0b4b7

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

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

Choose a tag to compare

Changed

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

v2.3.0

16 Feb 10:43
dd39217

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

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

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

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

Choose a tag to compare

Added

  • AppendSpan method

v1.21.1

08 Nov 21:59
9442bdf

Choose a tag to compare

Changed

  • Append(bool) is now 33% faster

v1.21.0

20 Sep 07:18
b71ea72

Choose a tag to compare

Added

  • PadLeft and PadRight methods