From c4e75eeef125a11aef1191363a5d85ab7fb8906d Mon Sep 17 00:00:00 2001 From: "Denis Kuzmin [ GitHub/3F ]" Date: Sat, 30 Nov 2019 19:32:10 +0300 Subject: [PATCH] Public release. Conari 1.4 * NEW: Starting support of the .NET Core. PR #12 Full support: netcoreapp2.1 and netstandard2.1 (SDK 3). * NEW: Hack of the unmanaged EmitCalli to support .NET Standard 2.0. Issue #13. * NEW: NativeData and BReader now supports CharPtr, WCharPtr, BSTR types. * NEW: Implemented isolation for PE Modules. Issue #15. Manage it through `IConfig.IsolateLoadingOfModule`. Optionaly it will isolate module for a real new loading even if it was already loaded somewhere else. Full details in https://github.com/3F/Conari/issues/15 * NEW: Added `ConariX` as an compatible DLR version of ConariL implementation: ``` using(dynamic l = new ConariX("...")) { // just everything is yours ~ l.curl_easy_setopt(curl, 10002, "http://example.com"); } ``` * NEW: Implemented kernel32 WinApi via new ConariX: ``` dynamic kernel32 = new Kernel32(); kernel32.GetModuleHandleA("libcurl-x64"); kernel32.GetModuleHandleW((WCharPtr)ustr); ``` * NEW: Implemented user32 WinApi via new ConariX: ``` dynamic user32 = new User32(); user32.ShowWindow(0x000A0A28, 3); user32.MessageBoxA(0, "Conari in action", "Hello!", 0); ``` * NEW: Added netfx based target platforms: net472. * NEW: Added initialization of UnmanagedString from IntPtr. * FIXED: Fixed bug with typeof(void) for return type when DLR. * FIXED: Fixed bug with x64 for CharPtr, WCharPtr, BSTR types. * CHANGED: Performance: Internal ModuleBuilder now is unified for all our new generated dynamic types. * CHANGED: Added hMSBuild 2.2 + GetNuTool 1.7 in nupkg packages for related build processes: https://www.nuget.org/packages/Conari/ * tools\gnt.bat - https://github.com/3F/GetNuTool * tools\hMSBuild.bat - https://github.com/3F/hMSBuild * NOTE: Official Releases: * NuGet: https://www.nuget.org/packages/Conari/ * GitHub: https://github.com/3F/Conari/releases/latest * NOTE: Please note again, .NET Standard 2.0 support is possible only because of our hack! While other netcoreapp2.1 + netstandard2.1 target platforms will not contain this modifications at all. Means most known behavior. Do not hesitate to contact: https://github.com/3F/Conari/issues --- .version | 2 +- Conari/Conari.csproj | 2 +- Conari/ConariVersion.cs | 2 +- Readme.md | 2 +- changelog.txt | 70 +++++++++++++++++++++++++++++++++++++++-- 5 files changed, 72 insertions(+), 6 deletions(-) diff --git a/.version b/.version index 589268e..e21e727 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.3.0 \ No newline at end of file +1.4.0 \ No newline at end of file diff --git a/Conari/Conari.csproj b/Conari/Conari.csproj index 5c6ac79..673bfac 100644 --- a/Conari/Conari.csproj +++ b/Conari/Conari.csproj @@ -1,7 +1,7 @@  - 1.3.0 + 1.4.0 diff --git a/Conari/ConariVersion.cs b/Conari/ConariVersion.cs index 8bcce1d..733ca50 100644 --- a/Conari/ConariVersion.cs +++ b/Conari/ConariVersion.cs @@ -8,7 +8,7 @@ public struct ConariVersion { public static readonly Version number = new Version(S_NUM_REV); - public const string S_NUM = "1.3.0"; + public const string S_NUM = "1.4.0"; public const string S_REV = "0"; public const string S_NUM_REV = S_NUM + "." + S_REV; diff --git a/Readme.md b/Readme.md index c3b4cf6..879ad52 100644 --- a/Readme.md +++ b/Readme.md @@ -35,7 +35,7 @@ using(var l = new ConariL("...")) { test of regXwild's algorithms [[340x10000 Unicode](https://github.com/3F/regXwild/blob/d9e4cd18e6f3fbc29b271b1feb4d8c659aa14bd7/Readme.md#speed-comparison)] | +icase [x32]| +icase [x64] | ` ----------------------------------------------|--------------|-----------------|--- -**native C++** final `EXT` algorithm | **~50ms** | **~26ms** | `<<` +regXwild **native C++** `EXT` algorithm | **~50ms** | **~26ms** | `<<` regexp-c++11(regex_search) | ~59309ms | ~53334ms | regexp-c++11(regex_match with endings .*) | ~59503ms | ~53817ms | .NET Regex engine [Compiled] | ~38310ms | ~37242ms | diff --git a/changelog.txt b/changelog.txt index c0c2dfc..6b84ed7 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,7 +1,73 @@ +Conari https://github.com/3F/Conari - - - - -Conari :: https://github.com/3F/Conari -_ _ _ _ +[1.4] 2019.11.30 + + * NEW: Starting support of the .NET Core. PR #12 + Full support: netcoreapp2.1 and netstandard2.1 (SDK 3). + + * NEW: Hack of the unmanaged EmitCalli to support .NET Standard 2.0. Issue #13. + + * NEW: NativeData and BReader now supports CharPtr, WCharPtr, BSTR types. + + * NEW: Implemented isolation for PE Modules. Issue #15. + Manage it through `IConfig.IsolateLoadingOfModule`. + + Optionaly it will isolate module for a real new loading even if it was already loaded somewhere else. Full details in https://github.com/3F/Conari/issues/15 + + * NEW: Added `ConariX` as an compatible DLR version of ConariL implementation: + ``` + using(dynamic l = new ConariX("...")) + { + // just everything is yours ~ + l.curl_easy_setopt(curl, 10002, "http://example.com"); + } + ``` + + * NEW: Implemented kernel32 WinApi via new ConariX: + ``` + dynamic kernel32 = new Kernel32(); + + kernel32.GetModuleHandleA("libcurl-x64"); + kernel32.GetModuleHandleW((WCharPtr)ustr); + ``` + + * NEW: Implemented user32 WinApi via new ConariX: + ``` + dynamic user32 = new User32(); + + user32.ShowWindow(0x000A0A28, 3); + user32.MessageBoxA(0, "Conari in action", "Hello!", 0); + ``` + + * NEW: Added netfx based target platforms: net472. + + * NEW: Added initialization of UnmanagedString from IntPtr. + + * FIXED: Fixed bug with typeof(void) for return type when DLR. + + * FIXED: Fixed bug with x64 for CharPtr, WCharPtr, BSTR types. + + * CHANGED: Performance: Internal ModuleBuilder now is unified for all our new generated dynamic types. + + * CHANGED: Added hMSBuild 2.2 + GetNuTool 1.7 in nupkg packages for related build processes: + + https://www.nuget.org/packages/Conari/ + * tools\gnt.bat - https://github.com/3F/GetNuTool + * tools\hMSBuild.bat - https://github.com/3F/hMSBuild + + * NOTE: Official Releases: + + * NuGet: https://www.nuget.org/packages/Conari/ + * GitHub: https://github.com/3F/Conari/releases/latest + + * NOTE: Please note again, .NET Standard 2.0 support is possible only because of our hack! + + While other netcoreapp2.1 + netstandard2.1 target platforms will not contain this modifications at all. Means most known behaviour. + + Do not hesitate to contact: https://github.com/3F/Conari/issues + + [v1.3] NEW: Improved speed >80% (DLR) & >90% (Lambda) - Issue #10