- use nerdbank.gitversioning to determine devops build version
- split nuget packages into new structure, one package per assembly to allow granular use of packages.
- also build .Debug versions
- back compat at least for a while, the old Opc.Ua packages reference also the new packages.
- devops produces preview builds for master
- preview builds are now signed, including nuget packages
- add license files for nuget packages, since licenseUrl is deprecated
- solutions support still VS2017 and VS 2019
- ci now also tests net462 & netcoreapp3.1
- next rev of nuget packages will have netstandard2.1 support
- a few small fixes for netcoreapp3.1
* Fix log with ChannelId =0 in Channel.Shutdown()
* Fix null reference in TcpListener generated by cleanup timer.
* Dispose listening port in TcpListener if create fails.
- This improvement was tested with an aggregation server update on this branch:
Required for testing: https://github.com/mregen/UA-.NETStandard-Samples/tree/aggregationserver
Main changes:
- Support holding of reverse connections, then a client can connect faster on a hold connection instead of waiting for the next reverse hello.
- Simplify API to connect with or without reverseconnect manager.
- Reconnect handlers code path added, tested with SessionReconnectHandler
- some locks on lists were not correctly implemented.
- Support the reverse connections in the reference server
- fix an issue when the anonymous token is sent as a null value by the aggregation server
- fix docker build files
* Fixed NumericRange ApplyRange method to work also for Matrix objects.
* Fixed NumericRange.UpdateRange to work with multidimensional arrays. Also fixed it to handle Matrix type as destination. Fixed WriteValue validation to also accept Matrix type as value when IndexRange contains SubRanges.
* Fixed WriteValue to validate NumericRange correctly by also accepting string value.
* Fixed typo in NumericRangeTests. Implemented tests for WriteValue Validate method.
* Implemented test case for NumericRange.UpdateRange when using Matrix as destination. Fixed comments.
* Fixed WriteValue.Validate to accept String and ByteString arrays when IndexRange with SubRanges is used. String and ByteString arrays have special handling in this case.
* Added null check.
- Policheck tool flagged a few words
- the new cert test went in the old location before the split, move and fix it...
- add es/de to localized text data...
- fix exception if client reverse connect is configured
I believe this was a typo:
```
if (argTypes != null || argTypes.Length == 1)
```
(If argTypes was null, then the first part would be false, and the second part of throw an exception. If argsType wasn't null, then the first part would be true and the second part wouldn't be evaluated.) I'm not sure whether the length check should be `== 1` or `>= 1`, nor do I know anything about how this is used, so apologies if I've misunderstood something.
- The self signed certs should have the CA flag set
- small cleanup fixes for cert code
- make sure public key is always disposed
- breaking change: defaults for certs naming convention was not quite right and it should be a readonly, to make sure policy changes are reflected in calling code
- add test cases for validation of extension
- Ported from prototyping branch in .Net Legacy stack
- Client and server support
- Aggregation server sample
- .Net Core samples
more info in docs/ReverseConnect.md
- add more code coverage for ExtensionObject
- check #984, but it turns out the code is currently not used.
- With Modelcompiler fix, opc.ua.sample dictionary can be properly validated. see https://github.com/OPCFoundation/UA-ModelCompiler/pull/52
fix#940 and #975
- add namespace qualifier to complex type name
- improve handling of known subtypes
- fix Pss detection on .Net 462
- stronger check of valid DataTypeDefinition for servers which expose invalid structure (nodejs)
* Implement Server support for AccessRestrictions and RolePermissions attributes
* Add nodes with AccessRestrictions and RolePermissions in ReferenceServer
Add example for assigning roles to users.
Upgraded all project from .NET 4.6 to .NET 4.6.2 that also .NET framework applications can use latest version of Kestrel
* Updated Kestrel to 2.2.0 (for Opc.Ua.Core)
* Simplified csproj (removed ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'") because currently we don't build netstandard1.x anymore
* Removed Kestrel 1.1.3 code from Stack/Opc.Ua.Core/Stack/Https/HttpsListener.cs
* add conditions to Stack/Opc.Ua.Core/Stack/Https/HttpsTransportChannel.cs
* [HttpClientHandler.ServerCertificateCustomValidationCallback](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.servercertificatecustomvalidationcallback?view=netcore-3.1&viewFallbackFrom=netframework-4.6.2) should not be available in .NET 4.6.X
* Updated travis.ci to use latest mono version (original version causes build errors)
* Added nuget reference .NET Standard Library to mono projects to be compatible with latest Kestrel version
Own Travis.ci and Azure Pipeline builds run sucessfully.
- add encode/decode tests for all IEncodeables in Opc.Ua.Core.
- *Breaking change*: ExtensionObject now returns the proper TypeId on decode for known encodeables.
- remove Nuget.Config, it may have caused some intermittent build problems in Azure pipelines
- Code coverage now 39.5%
- Add a few badges for project info
- fix travis build, it only supports .Net Core 2 projects.
- *Breaking change*: SessionlessMessage uses the same TypeId as SessionlessInvokeRequestType which can cause problems in type factory, demoted the structure as not being IEncodeable as it is only used as a helper class in encoders/decoders.
- restructure AzPipeline builds to avoid imtermittent build issues,
- more random Variant encoding tests, incl. arrays
- fix bytestring JSON array encoding, null or empty bytestring difference is now preserved
- add solution builds to Azure pipeline build, appveyor can be retired after a brief test period
- add code coverage to linux tests, artifact is published in pipeline build results
- signed assemblies need a public key if 'InternalsVisibleTo' is being used. Add a define in such a case to provide a key. .Net Core 3.0 doesn't accept the dummy key, here is the real thing.
* Update generated code and UA-nodeset files for 1.04.5 Errata
* Update UA-Nodeset files and generated code of Sample projects with latest version of ModelCompiler
- fix to validate structuredefinition if servers do not fill out the DataTypeDefinition correctly
- The GDS creates the CRL cert with its own CA serial number, invalidating the CA by default on some stacks
- complex structuretype must be virtual, non reversible union encoding could not be detected
- fix binary schema validation, allow the \" character in a qualified name
- support use of simple subtypes in a complex type. For custom and standard subtypes.
- only support structure objects with valuerank scalar or onedimension
-Starter for Azure pipelin builds, a bunch of tests in appveyor and travis can be disabled once this is working
-fix Opc.Ua.Core rootnamespace
-a few minor changes due to Ctrl-K,D refactoring, removal of dead code