mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-16 17:23:04 +08:00
v4.0.0 (#1357)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
We have joined the .NET Foundation!
|
||||
|
||||
Version 4 comes with a new API so a lot of breaking changes should be expected.
|
||||
Checkout the upgrade guide (https://github.com/dotnet/MQTTnet/wiki/Upgrading-guide) for an overview of the changes.
|
||||
Checkout the new samples (https://github.com/dotnet/MQTTnet/tree/feature/master/Samples) how to use the new API. The wiki only remains for version 3 of this library.
|
||||
|
||||
* [Core] Improved memory management when working with large payloads.
|
||||
* [Core] Added support for .NET 6.0.
|
||||
* [Core] nuget packages are now created by MSBuild including more information (i.e. commit hash).
|
||||
* [Client] Exposed socket linger state in options.
|
||||
* [Client] The OS will now choose the best TLS version to use. It is no longer fixed to 1.3 etc. (thanks to @patagonaa, #1271).
|
||||
* [Client] Added support for _ServerKeepAlive_ (MQTTv5).
|
||||
* [Client] Exposed user properties and reason string in subscribe result.
|
||||
* [Client] Exposed user properties and reason string in unsubscribe result.
|
||||
* [Client] Migrated application message handler to a regular .NET event (BREAKING CHANGE!).
|
||||
* [Client] The will message is longer a regular application message due to not supported properties by the will message (BREAKING CHANGE!).
|
||||
* [Client] Timeouts are no longer handled inside the library. Each method (Connect, Publish etc.) supports a cancellation token so that custom timeouts can and must be used (BREAKING CHANGE!).
|
||||
* [Server] Exposed socket linger state in options.
|
||||
* [Server] Added support for returning individual subscription errors (#80 thanks to @jimch)
|
||||
* [Server] Improved topic filter comparisons (support for $).
|
||||
* [Server] Added more MQTTv5 response information to all interceptors (BREAKING CHANGE!).
|
||||
* [Server] Improved session management for MQTT v5 (#1294, thanks to @logicaloud).
|
||||
* [Server] All interceptors and events are migrated from interfaces to simple events. All existing APIs are availble but must be migrated to corresponding events (BREAKING CHANGE!).
|
||||
* [Server] Removed all interceptor and event interfaces including the delegate implementations etc. (BREAKING CHANGE!).
|
||||
* [Server] Renamed a lot of classes and adjusted namespaces (BREAKING CHANGE!).
|
||||
* [Server] Introduced a new queueing approach for internal message process (packet bus).
|
||||
* [Server] For security reasons the default endpoint (1883) is no longer enabled by default (BREAKING CHANGE!).
|
||||
+55
-21
@@ -1,34 +1,68 @@
|
||||
name: CI
|
||||
|
||||
on: [push]
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
ASSEMBLY_VERSION: "4.0.0.${{github.run_number}}"
|
||||
NUGET_VERSION: "4.0.0.${{github.run_number}}"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet-version: ['6.0.x']
|
||||
runs-on: windows-2022
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
|
||||
uses: actions/setup-dotnet@v1.7.2
|
||||
- name: Setup Windows SDK
|
||||
uses: GuillaumeFalourd/setup-windows10-sdk-action@v1
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
sdk-version: 18362
|
||||
|
||||
- name: Build
|
||||
shell: pwsh
|
||||
- name: Setup .NET SDK
|
||||
uses: actions/setup-dotnet@v1.9.0
|
||||
with:
|
||||
dotnet-version: |
|
||||
3.1.x
|
||||
6.0.x
|
||||
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Signing Certificate
|
||||
run: |
|
||||
Set-Location -Path "Build"
|
||||
.\build.ps1 1.2.3 4.5.6-rc1
|
||||
$secret = '${{ secrets.SNC_BASE64 }}'
|
||||
$decoded = [System.Convert]::FromBase64CharArray($secret, 0, $secret.Length)
|
||||
Set-Content -Path ${{ github.workspace }}\certificate.snk -Value $decoded -AsByteStream
|
||||
|
||||
- name: Restore nuget packages
|
||||
run: msbuild MQTTnet.sln /t:Restore /p:Configuration="Release" /verbosity:m
|
||||
|
||||
# - name: Install dependencies
|
||||
# run: dotnet restore MQTTnet.sln
|
||||
# - name: Build
|
||||
# run: dotnet build --configuration Release --no-restore MQTTnet.sln
|
||||
# - name: Test MQTTnet
|
||||
# run: dotnet test --no-restore --verbosity normal Tests\MQTTnet.Core.Tests\MQTTnet.Tests.csproj
|
||||
# - name: Test AspNetCore
|
||||
# run: dotnet test --no-restore --verbosity normal Tests\MQTTnet.AspNetCore.Tests\MQTTnet.AspNetCore.Tests.csproj
|
||||
- name: Build solution
|
||||
run: msbuild MQTTnet.sln /t:Build /p:Configuration="Release" /verbosity:m /p:FileVersion=${{ env.ASSEMBLY_VERSION }} /p:AssemblyVersion=${{ env.ASSEMBLY_VERSION }} /p:PackageVersion=${{ env.NUGET_VERSION }} /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=${{ github.workspace }}\certificate.snk
|
||||
|
||||
- name: Collect nuget Packages
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: nuget Packages
|
||||
path: |
|
||||
**\*.nupkg
|
||||
**\*.snupkg
|
||||
|
||||
- name: Setup VSTest
|
||||
uses: darenm/Setup-VSTest@v1
|
||||
|
||||
- name: Core Tests
|
||||
run: vstest.console.exe Source\MQTTnet.Tests\bin\Release\net6.0\MQTTnet.Tests.dll
|
||||
|
||||
- name: ASP.NET Tests
|
||||
run: vstest.console.exe Source\MQTTnet.AspNetCore.Tests\bin\Release\netcoreapp3.1\MQTTnet.AspNetCore.Tests.dll
|
||||
|
||||
- name: Publish MyGet nugets
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
run: dotnet nuget push **/*.nupkg -k ${{ secrets.MYGET_API_KEY }} -s https://www.myget.org/F/mqttnet/api/v3/index.json --skip-duplicate
|
||||
|
||||
# - name: Publish nugets
|
||||
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
# run: dotnet nuget push **/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate
|
||||
Reference in New Issue
Block a user