Skip to content

Commit 734bf80

Browse files
author
LinkDotNet Bot
committed
Updating to newest release
2 parents 4b481b0 + 19acbe7 commit 734bf80

18 files changed

+233
-57
lines changed

.github/workflows/codeql.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ jobs:
2222

2323
steps:
2424
- name: Checkout repository
25-
uses: actions/checkout@v4.2.2
25+
uses: actions/checkout@v5.0.0
2626

27-
- uses: actions/setup-dotnet@v4.3.0
27+
- uses: actions/setup-dotnet@v5.0.0
2828
with:
2929
dotnet-version: |
3030
8.0.x
3131
9.0.x
32+
10.0.x
3233
3334
- name: Initialize CodeQL
3435
uses: github/codeql-action/init@v3

.github/workflows/create-release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
steps:
2121

2222
- name: Checkout repository
23-
uses: actions/checkout@v4.2.2
23+
uses: actions/checkout@v5.0.0
2424
with:
2525
token: ${{ secrets.SBPAT }}
2626
persist-credentials: true
@@ -34,11 +34,12 @@ jobs:
3434
path: ./CHANGELOG.md
3535

3636
- name: Setup dotnet
37-
uses: actions/setup-dotnet@v4.3.0
37+
uses: actions/setup-dotnet@v5.0.0
3838
with:
3939
dotnet-version: |
4040
8.0.x
4141
9.0.x
42+
10.0.x
4243
4344
- name: Update CHANGELOG file
4445
uses: thomaseizinger/[email protected]

.github/workflows/docs.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@ jobs:
1212
runs-on: windows-latest
1313

1414
steps:
15-
- uses: actions/checkout@v4.2.2
15+
- uses: actions/checkout@v5.0.0
1616

1717
- name: Setup .NET
18-
uses: actions/setup-dotnet@v4.3.0
18+
uses: actions/setup-dotnet@v5.0.0
1919
with:
2020
dotnet-version: |
2121
8.0.x
2222
9.0.x
23+
10.0.x
2324
2425
- name: Setup DocFX
25-
uses: crazy-max/ghaction-chocolatey@v3.2.0
26+
uses: crazy-max/ghaction-chocolatey@v3.4.0
2627
with:
2728
args: install docfx
2829

.github/workflows/dotnet.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- uses: actions/checkout@v4.2.2
15+
- uses: actions/checkout@v5.0.0
1616
- name: Setup .NET
17-
uses: actions/setup-dotnet@v4.3.0
17+
uses: actions/setup-dotnet@v5.0.0
1818
with:
1919
dotnet-version: |
2020
8.0.x
2121
9.0.x
22+
10.0.x
2223
2324
- name: Setup color
2425
run: |

.github/workflows/update-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
steps:
1515
- name: Checkout repository
16-
uses: actions/checkout@v4.2.2
16+
uses: actions/checkout@v5.0.0
1717
with:
1818
token: ${{ secrets.SBPAT }}
1919
persist-credentials: false
@@ -32,7 +32,7 @@ jobs:
3232
git merge --no-ff -X theirs origin/main -m "Updating to newest release"
3333
3434
- name: Push changes
35-
uses: ad-m/github-push-action@v0.8.0
35+
uses: ad-m/github-push-action@v1.0.0
3636
with:
3737
github_token: ${{ secrets.SBPAT }}
3838
branch: stable

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ All notable changes to **ValueStringBuilder** will be documented in this file. T
66

77
## [Unreleased]
88

9+
## [3.0.0] - 2025-10-30
10+
11+
This is the `v3` major release. The API is almost the same as in `v2` - there is only a slight change in the `Concat` static helper method to reflect a less-boxed API.
12+
13+
### Added
14+
15+
- .NET 10.0 support
16+
- `IndexOf`, `LastIndexOf`, and `Contains` methods now support `StringComparison`
17+
18+
### Changed
19+
20+
- `ValueStringBuilder.Concat` uses `params ReadOnlySpan<T>` to reduce boxing and improve performance.
21+
922
## [2.4.1] - 2025-03-25
1023

1124
### Changed
@@ -496,7 +509,8 @@ This release brings extensions to the `ValueStringBuilder` API. For `v1.0` the `
496509

497510
- Initial release
498511

499-
[unreleased]: https://github.com/linkdotnet/StringBuilder/compare/2.4.1...HEAD
512+
[unreleased]: https://github.com/linkdotnet/StringBuilder/compare/3.0.0...HEAD
513+
[3.0.0]: https://github.com/linkdotnet/StringBuilder/compare/2.4.1...3.0.0
500514
[2.4.1]: https://github.com/linkdotnet/StringBuilder/compare/2.4.0...2.4.1
501515
[2.4.0]: https://github.com/linkdotnet/StringBuilder/compare/2.3.1...2.4.0
502516
[2.3.1]: https://github.com/linkdotnet/StringBuilder/compare/2.3.0...2.3.1

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
4-
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.7.0.110445">
4+
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.9.0.115408">
55
<PrivateAssets>all</PrivateAssets>
66
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
77
</PackageReference>

docs/site/articles/known_limitations.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,6 @@ var greeting = stringBuilder
2727

2828
This does not work with the `ValueStringBuilder`. The simple reason: `struct`s can't return `ref this`. If we don't return the reference then new allocations are introduced and can also lead to potential bugs/issues. Therefore it is a conscious design decision not to allow fluent notation.
2929

30-
## IDisposable
31-
The `ValueStringBuilder` does not directly implement `IDisposable` as `ref struct`s are not allowed to do so (as they might get boxed in the process, which violates the rule of `ref struct`s). Still, the `using` statement can be used with the `ValueStringBuilder`. It is used to return rented memory from an array pool if any is taken.
32-
33-
```csharp
34-
using var stringBuilder = new ValueStringBuilder();
35-
```
36-
3730
There are scenarios, where you can elide the `using` keyword. Exactly then when you provide the buffer in the first place and you are **sure** that no internal growing has to be done. This should only be done if you can guarantee that.
3831

3932
```csharp

docs/site/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
The library makes heavy use of `Span<T>`, `stackalloc` and `ArrayPool`s to achieve low allocations and fast performance.
1010

1111
## Download
12-
The package is hosted on [nuget.org]((https://www.nuget.org/packages/LinkDotNet.StringBuilder/)), so easily add the package reference:
12+
The package is hosted on [nuget.org](https://www.nuget.org/packages/LinkDotNet.StringBuilder/), so easily add the package reference:
1313
> PM> Install-Package LinkDotNet.StringBuilder
1414
1515
Afterwards, you can simply use it. It tries to mimic the API of the `StringBuilder` to a certain extent so for simpler cases you can exchange those two.

src/LinkDotNet.StringBuilder/LinkDotNet.StringBuilder.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@@ -36,13 +36,13 @@
3636
<PropertyGroup Label="Analyzer settings">
3737
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
3838
<EnableNETAnalyzers>true</EnableNETAnalyzers>
39-
<AnalysisLevel>8</AnalysisLevel>
39+
<AnalysisLevel>latest</AnalysisLevel>
4040
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
4141
<PackageLicenseExpression>MIT</PackageLicenseExpression>
4242
</PropertyGroup>
4343

4444
<ItemGroup>
45-
<PackageReference Include="Meziantou.Analyzer" Version="2.0.189">
45+
<PackageReference Include="Meziantou.Analyzer" Version="2.0.200">
4646
<PrivateAssets>all</PrivateAssets>
4747
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4848
</PackageReference>

0 commit comments

Comments
 (0)