Release v2.0.0
Release Notes
Version 2.0 is all about a migration to dotnet core. Of course, I've taken the liberty to introduce some serious breaking changes, which you can read all about it further on.
You can grab a fresh copy through:
$ Install-Package Hanssens.Net.Extensions
The original beta of v2.0.0 was released at Aug 18, 2016. On 22 May, 2017 the final was published to NuGt.
Breaking changes
Shaking up the namespaces
Naming is hard. Namespaces are therefor too. Pretty much everything has been reordered, or moved, to better-suited namespaces. Intellisense will help you with this, of course.
Cryptography
- PasswordHash dependency changed from RNGCryptoServiceProvider to RandomNumberGenerator
IO
- CsvExport no longer has a reference to System.Data.SqlTypes
IO/HTTP
- Important: JsonRequest and JsonResponse now reside in 'Hanssens.Net.Http', rather than the IO namespace
- Important: JsonRequest now relies on the HttpClient, rather than HttpWebRequest
- Important: For multiple calls, JsonRequest is now also part of a newly introduced class HttpFactory, which much more efficiently handles open sockets (thanks to The ASP.NET Monsters).
- For single calls, JsonRequest now also accepts an existing HttpClient as an argument
Features
- Added license: MIT (or WTFPL, if you prefer)
- Added ReflectionExtensions.IsNull(), to determine if the instance of an object is null (either value type or reference type).
- Added ReflectionExtensions.IsNullableType(), to determine if the type of an object instance is nullable (either value type or reference type).
- Added IEnumerable.Replace() and IList.Replace()
- Added Base64.Encode() and Base64.Decode()
- Added UnitConverters: ConvertFromUnixEpoch() and DateTime.ToEpoch()
- Added IEnumerable extension: IEnumerable.Replace()
Enhancements
- Tests are changed to XUnit, instead of NUnit; simply because the latter had too many cross-platform tooling issues
- Newtonsoft.Json, which is the only dependency, is updated to use v10.x
Fixes
- No fixes in this release