Skip to content

Commit 7122c31

Browse files
authored
Merge pull request #165 from signnow/drop-deprecated-netssandard
Drop deprecated netstandard
2 parents 29828d5 + 9e49c43 commit 7122c31

File tree

15 files changed

+90
-143
lines changed

15 files changed

+90
-143
lines changed

.github/workflows/build_and_test.yml

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
paths-ignore:
88
- '**.md'
99
- 'SignNow.Net/SignNow.Net.Examples/**'
10+
- '.github/workflows/release.yml'
1011
tags-ignore:
1112
- '**'
1213
pull_request:
@@ -30,13 +31,13 @@ jobs:
3031
matrix:
3132
include:
3233
# Ubuntu
33-
- { name: 'Linux .NET 5', os: ubuntu-22.04, framework: 'net5' }
34-
# macOs
35-
- { name: 'macOS .NET 5', os: macos-13, framework: 'net5' }
34+
- { name: 'Linux .NET 8', os: ubuntu-22.04, framework: 'net8.0' }
35+
# macOs - disabled due to the same behavior as in Ubuntu
36+
# - { name: 'macOS .NET 8', os: macos-13, framework: 'net8.0' }
3637
# Windows
37-
- { name: 'Windows .NET Core 3', os: windows-latest, framework: 'netcoreapp3.1' }
38-
- { name: 'Windows .NET 5', os: windows-latest, framework: 'net5' }
39-
- { name: 'Windows .NET 4.5', os: windows-latest, framework: 'net45' }
38+
- { name: 'Windows .NET 7', os: windows-latest, framework: 'net7.0' }
39+
- { name: 'Windows .NET 8', os: windows-latest, framework: 'net8.0' }
40+
- { name: 'Windows .NET 4.6', os: windows-latest, framework: 'net462' }
4041

4142
env:
4243
COREHOST_TRACE: false
@@ -46,7 +47,7 @@ jobs:
4647
NUGET_XMLDOC_MODE: skip # prevent the download of the XML documentation for the packages
4748
COVERAGE_PATH: SignNow.Net.Test/bin/Debug
4849
# Do not generate summary otherwise it leads to duplicate errors in build log
49-
DOTNET_BUILD_ARGS: SignNow.Net --configuration Debug /consoleloggerparameters:NoSummary /property:GenerateFullPaths=true
50+
DOTNET_BUILD_ARGS: /consoleloggerparameters:NoSummary /property:GenerateFullPaths=true
5051

5152
defaults:
5253
run:
@@ -59,10 +60,14 @@ jobs:
5960

6061
- name: Setup .NET SDK Version for Target Framework
6162
run: |
62-
If ("${{ matrix.framework }}" -eq "netcoreapp3.1") {
63-
Write-Output "DOTNET_SDK_VERSION=3.1.x" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
64-
} ElseIf ("${{ matrix.framework }}" -eq "net5") {
65-
Write-Output "DOTNET_SDK_VERSION=5.0.x" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
63+
If ("${{ matrix.framework }}" -eq "net7.0") {
64+
Write-Output "DOTNET_SDK_VERSION=7.0.x" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
65+
Write-Output "TARGET_FRAMEWORK=netstandard20" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
66+
} ElseIf ("${{ matrix.framework }}" -eq "net8.0") {
67+
Write-Output "DOTNET_SDK_VERSION=8.0.x" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
68+
Write-Output "TARGET_FRAMEWORK=netstandard21" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
69+
} Else {
70+
Write-Output "TARGET_FRAMEWORK=462" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
6671
}
6772
6873
- name: Setup .NET SDK
@@ -78,13 +83,6 @@ jobs:
7883
key: ${{ runner.os }}-nuget-${{ matrix.framework }}-${{ hashFiles('**/*.csproj') }}
7984
restore-keys: ${{ runner.os }}-nuget-
8085

81-
- name: Setup dotnet tools
82-
env:
83-
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ env.DOTNET_SDK_VERSION }}/x64
84-
run: |
85-
dotnet tool install --global InheritDocTool
86-
echo "$HOME/.dotnet/tools" >> $GITHUB_PATH
87-
8886
- name: Restore Nuget packages
8987
run: dotnet restore -v:n
9088

@@ -93,7 +91,7 @@ jobs:
9391

9492
- name: Build and Pack Solution
9593
run: |
96-
dotnet build ${{ env.DOTNET_BUILD_ARGS }}
94+
dotnet build SignNow.Net --configuration Debug ${{ env.DOTNET_BUILD_ARGS }}
9795
dotnet pack --configuration Release --output ./SignNow.Net/bin/Publish SignNow.Net
9896
9997
- name: Run Tests on ${{ matrix.framework }} with Coverage
@@ -108,16 +106,6 @@ jobs:
108106
name: CoverageReports-${{ runner.os }}-${{ matrix.framework }}.zip
109107
path: SignNow.Net.Test/bin/Debug/**/coverage*
110108

111-
- name: Setup Code Coverage report flags
112-
run: |
113-
If ("${{ matrix.framework }}" -eq "netcoreapp3.1") {
114-
Write-Output "TARGET_FRAMEWORK=netstandard12" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
115-
} ElseIf ("${{ matrix.framework }}" -eq "net5") {
116-
Write-Output "TARGET_FRAMEWORK=netstandard20" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
117-
} Else {
118-
Write-Output "TARGET_FRAMEWORK=net45" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
119-
}
120-
121109
- name: Test Release Notes parser
122110
if: (runner.os == 'macOS' || runner.os == 'Linux')
123111
shell: bash

.github/workflows/release.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 # prevent the caching of the packages on the build machine
1616
DOTNET_NOLOGO: true # removes logo and telemetry message from first run of dotnet cli
1717
NUGET_XMLDOC_MODE: skip # prevent the download of the XML documentation for the packages
18-
DOTNET_SDK_VERSION: 5.0.x
1918

2019
defaults:
2120
run:
@@ -24,12 +23,12 @@ jobs:
2423
steps:
2524
- uses: actions/checkout@v4
2625

27-
- name: Setup .NET 5
26+
- name: Setup .NET 8
2827
uses: actions/setup-dotnet@v4
2928
with:
3029
dotnet-version: |
31-
3.1.x
32-
5.0.x
30+
7.0.x
31+
8.0.x
3332
3433
- name: Setup Nuget Cache
3534
uses: actions/cache@v4
@@ -39,13 +38,6 @@ jobs:
3938
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
4039
restore-keys: ${{ runner.os }}-nuget-
4140

42-
- name: Setup dotnet tool
43-
env:
44-
DOTNET_ROOT: ${{ runner.tool_cache }}/dncs/${{ env.DOTNET_SDK_VERSION }}/x64
45-
run: |
46-
dotnet tool install --global InheritDocTool --version 2.5.2
47-
echo "$HOME/.dotnet/tools" >> $GITHUB_PATH
48-
4941
- name: Restore Nuget packages
5042
run: dotnet restore -v:n
5143

.netconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[ReportGenerator]
2-
reports = SignNow.Net.Test/bin/Debug/netcoreapp3.1/coverage.netcoreapp3.1.opencover.xml
3-
reports = SignNow.Net.Test/bin/Debug/net45/coverage.net45.opencover.xml
4-
reports = SignNow.Net.Test/bin/Debug/net5/coverage.net5.opencover.xml
2+
reports = SignNow.Net.Test/bin/Debug/net462/coverage.net462.opencover.xml
3+
reports = SignNow.Net.Test/bin/Debug/net7.0/coverage.net7.0.opencover.xml
4+
reports = SignNow.Net.Test/bin/Debug/net8.0/coverage.net8.0.opencover.xml
55
targetdir = "SignNow.Net.Test/bin/coverage-html"
66
reporttypes = Html;HtmlSummary

CHANGELOG.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com)
55
and this project adheres to [Semantic Versioning](http://semver.org).
66

77
## [Unreleased] - TBD
8+
### Changed
9+
- Upgraded .NET Core runtime to .NET 7.0 for Tests and Examples projects
10+
- Drop support for .NET Core 2.1 and 3.1 (dropper netstandard 1.x)
11+
- Updated netstandard min version to 2.0
12+
- Removed InheritDoc tool from the project
13+
- Upgraded NET Framework min supported version to 4.6.2
14+
815

916
## [1.3.0] - 2024-12-18
1017
### Added
@@ -94,8 +101,8 @@ and this project adheres to [Semantic Versioning](http://semver.org).
94101
- `IFolderService.GetAllFoldersAsync` that allows you to get all user Folders with documents
95102
- `IFolderService.GetFolderAsync` that allows you to get all details of a specific folder including all documents in that folder.
96103
- `IFolderService.CreateFolderAsync` that allows you to create folder for a user.
97-
- `IFolderService.DeleteFolderAsync` that allows you to deletes a folder.
98-
- `IFolderService.RenameFolderAsync` that allows you to renames a folder.
104+
- `IFolderService.DeleteFolderAsync` that allows you to delete a folder.
105+
- `IFolderService.RenameFolderAsync` that allows you to rename a folder.
99106
- `IDocumentService.MoveDocumentAsync` that allows you to move the document to a specified folder.
100107

101108

@@ -123,8 +130,8 @@ and this project adheres to [Semantic Versioning](http://semver.org).
123130
- `Service.DocumentService.CreateOneTimeDownloadLinkAsync` that allows to share document via one-time URL
124131
- `Service.UserService.CreateUserAsync` that allows to create an account for user
125132
- `Service.UserService.UpdateUserAsync` that allows to update user information i.e. first name, last name
126-
- `Service.UserService.SendVerificationEmailAsync` that allows to sends verification email to a user
127-
- `Service.UserService.SendPasswordResetLinkAsync` that allows to sends password reset link to a user
133+
- `Service.UserService.SendVerificationEmailAsync` that allows to send verification email to a user
134+
- `Service.UserService.SendPasswordResetLinkAsync` that allows to send password reset link to a user
128135

129136
### Changed
130137
- Increased timeout for Http Client
@@ -218,7 +225,7 @@ and this project adheres to [Semantic Versioning](http://semver.org).
218225
- Implemented document ID parameter value validation in DocumentService.DeleteDocumentAsync method.
219226

220227

221-
<!-- Aliases for URLs: please place here any long urls to keep clean markdown markup -->
228+
<!-- Aliases for URLs: please place here any long urls to keep clean Markdown markup -->
222229
[create role-based invite]: https://github.com/signnow/SignNow.NET/blob/develop/README.md#create-role-based-invite
223230
[create freeform invite]: https://github.com/signnow/SignNow.NET/blob/develop/README.md#create-freeform-invite
224231

InheritDoc.targets

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.md

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## About signNow
1010

11-
signNow.Net is the official .NET 4.5+ and .NET Standard class library for the signNow API. signNow allows you to embed legally-binding e-signatures into your app, CRM or cloud storage. Send documents for signature directly from your website. Invite multiple signers to finalize contracts. Track status of your requests and download signed copies automatically.
11+
signNow.Net is the official .NET 4.6.2+ and .NET Standard class library for the signNow API. signNow allows you to embed legally-binding e-signatures into your app, CRM or cloud storage. Send documents for signature directly from your website. Invite multiple signers to finalize contracts. Track status of your requests and download signed copies automatically.
1212

1313
Get your account at <https://www.signnow.com/developers>
1414

@@ -61,12 +61,11 @@ Get your account at <https://www.signnow.com/developers>
6161
- [Get all document groups the user owns][doc_group_operations example]
6262
- [Folders](#folders)
6363
- [Get all folders](#get-all-folders)
64-
- [Get folder by Id][get_folder example]
64+
- [Get folder by ID][get_folder example]
6565
- [Create folder][create_folder example]
6666
- [Rename folder][rename_folder example]
6767
- [Delete folder][delete_folder example]
6868
6. [Contribution guidelines](#contribution-guidelines)
69-
- [XML doc generation](#xml-doc-generation)
7069
- [Important notes](#important-notes)
7170
7. [License](#license)
7271

@@ -86,12 +85,12 @@ To start using the API you will need an API key. You can get one here <https://
8685

8786
#### Windows
8887

89-
- .Net Framework 4.5 or newer version should be installed in your system, or
90-
- .Net Core 3.0 and newer
88+
- .Net Framework 4.6.2 or newer version should be installed in your system, or
89+
- .Net 7.0 and newer
9190

9291
#### MacOS and Linux
9392

94-
- .Net Core 3.0 and newer
93+
- .Net 7.0 and newer
9594

9695
## Installation
9796

@@ -152,7 +151,7 @@ More examples: [Request Access token][request_access_token example], [Verify Acc
152151

153152
### Creates an account for a user
154153

155-
By default verification email is not sent to newly created User.
154+
By default, verification email is not sent to newly created User.
156155
To send it - use `IUserService.SendVerificationEmailAsync(string email)`
157156

158157
```csharp
@@ -632,16 +631,6 @@ More examples: [Get all folders][get_all_folders example], [Get folder][get_fold
632631

633632
## Contribution guidelines
634633

635-
### XML doc generation
636-
637-
For XML documentation generation, install InheritDocTool:
638-
639-
```bash
640-
dotnet tool install -g InheritDocTool
641-
```
642-
643-
More about the InheritDoc [here](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/examples#document-a-hierarchy-of-classes-and-interfaces)
644-
645634
### Important notes
646635

647636
Thanks to all contributors who got interested in this project. We're excited to hear from you. Here are some tips to make our collaboration meaningful and bring its best results to life:
@@ -664,7 +653,7 @@ If you have questions about the signNow API, please visit [signNow API Reference
664653

665654
**Sales**: For pricing information, please call (800) 831-2050, email sales@signnow.com or visit <https://www.signnow.com/contact>.
666655

667-
<!-- Aliases for URLs: please place here any long urls to keep clean markdown markup -->
656+
<!-- Aliases for URLs: please place here any long urls to keep clean Markdown markup -->
668657
[actions build badge]: https://github.com/signnow/SignNow.NET/workflows/Build%20and%20Test/badge.svg "Build status"
669658
[actions build link]: https://github.com/signnow/SignNow.NET/actions?query=workflow%3A%22Build+and+Test%22
670659
[codecov badge]: https://codecov.io/gh/signnow/SignNow.NET/branch/develop/graph/badge.svg "Code coverage report"

SignNow.Net.Examples/SignNow.Net.Examples.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Import Project="..\netfx.props" />
33

44
<PropertyGroup>
5-
<TargetFramework>net5</TargetFramework>
5+
<TargetFramework>net7.0</TargetFramework>
66

77
<IsPackable>false</IsPackable>
88
</PropertyGroup>
@@ -12,13 +12,13 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0">
15+
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0">
1616
<PrivateAssets>all</PrivateAssets>
1717
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1818
</PackageReference>
19-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
20-
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
21-
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
20+
<PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
21+
<PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
2222
</ItemGroup>
2323

2424
<ItemGroup>

SignNow.Net.Test/SignNow.Net.Test.csproj

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Import Project="..\SignNow.props" />
44

55
<PropertyGroup>
6-
<TargetFrameworks>netcoreapp3.1;net45;net5</TargetFrameworks>
6+
<TargetFrameworks>net462;net7.0;net8.0</TargetFrameworks>
77
<IsPackable>false</IsPackable>
88
<NeutralLanguage>en-US</NeutralLanguage>
99
</PropertyGroup>
@@ -12,35 +12,37 @@
1212
<NoWarn>1801,1591</NoWarn>
1313
</PropertyGroup>
1414

15-
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
15+
<ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
1616
<Reference Include="System.Net.Http" />
1717
<Reference Include="System.Net.Http.WebRequest" />
1818
</ItemGroup>
1919

2020
<ItemGroup>
21-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
22-
<PackageReference Include="Moq" Version="4.17.2" />
23-
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
24-
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
25-
<!-- Do not upgrade Coverlet.MSBuild and Coverlet.Collector to avoid coverage report with missed methods -->
26-
<PackageReference Include="coverlet.msbuild" Version="2.8.0" />
27-
<PackageReference Include="coverlet.collector" Version="1.2.0">
21+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
22+
<PackageReference Include="Moq" Version="4.20.72" />
23+
<PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
24+
<PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
25+
<PackageReference Include="coverlet.msbuild" Version="6.0.2">
26+
<PrivateAssets>all</PrivateAssets>
27+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
28+
</PackageReference>
29+
<PackageReference Include="coverlet.collector" Version="6.0.2">
2830
<PrivateAssets>all</PrivateAssets>
2931
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3032
</PackageReference>
3133
<PackageReference Include="Bogus" Version="35.6.1" />
3234
</ItemGroup>
3335

34-
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
35-
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=netstandard1.2" />
36+
<ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
37+
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=netstandard2.0" />
3638
</ItemGroup>
3739

38-
<ItemGroup Condition=" '$(TargetFramework)' == 'net5' ">
39-
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=netstandard2.0" />
40+
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
41+
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=netstandard2.1" />
4042
</ItemGroup>
4143

42-
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
43-
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=net45" />
44+
<ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
45+
<ProjectReference Include="..\SignNow.Net\SignNow.Net.csproj" Properties="TargetFramework=net462" />
4446
</ItemGroup>
4547

4648
<ItemGroup>

0 commit comments

Comments
 (0)