Havit.Core
2.0.50
Prefix Reserved
dotnet add package Havit.Core --version 2.0.50
NuGet\Install-Package Havit.Core -Version 2.0.50
<PackageReference Include="Havit.Core" Version="2.0.50" />
<PackageVersion Include="Havit.Core" Version="2.0.50" />
<PackageReference Include="Havit.Core" />
paket add Havit.Core --version 2.0.50
#r "nuget: Havit.Core, 2.0.50"
#:package Havit.Core@2.0.50
#addin nuget:?package=Havit.Core&version=2.0.50
#tool nuget:?package=Havit.Core&version=2.0.50
HAVIT .NET Framework Extensions - Basic Class Library
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- No dependencies.
-
net10.0
- No dependencies.
NuGet packages (29)
Showing the top 5 NuGet packages that depend on Havit.Core:
| Package | Downloads |
|---|---|
|
Havit.Blazor.Components.Web.Bootstrap
HAVIT Blazor Bootstrap Library - Free Bootstrap 5 components for ASP.NET Blazor |
|
|
Havit.Blazor.Components.Web
HAVIT Blazor Library - Free UI components and supportive classes |
|
|
Havit.Services
HAVIT .NET Framework Extensions - Services |
|
|
Havit.Data.EntityFrameworkCore.Patterns
HAVIT .NET Framework Extensions - Entity Framework Core Extensions - Data Patterns |
|
|
Havit.Data.EntityFrameworkCore
HAVIT .NET Framework Extensions - Entity Framework Core Extensions |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Havit.Core:
| Repository | Stars |
|---|---|
|
havit/Havit.Blazor
Free Bootstrap 5 components for ASP.NET Blazor + optional enterprise-level stack for Blazor development (gRPC code-first, layered architecture, localization, auth, ...)
|
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.50 | 42 | 11/11/2026 |
| 2.0.43 | 2,064 | 10/19/2026 |
| 2.0.42 | 5,388 | 9/21/2026 |
| 2.0.39 | 17,794 | 7/27/2026 |
| 2.0.38 | 2,544 | 6/30/2026 |
| 2.0.37 | 1,599 | 6/19/2026 |
| 2.0.36 | 42,311 | 2/4/2026 |
| 2.0.35 | 16,621 | 1/12/2026 |
| 2.0.34 | 11,312 | 11/27/2025 |
| 2.0.34-pre03 | 283 | 11/3/2025 |
| 2.0.34-pre02 | 220 | 10/31/2025 |
| 2.0.34-pre01 | 417 | 6/4/2025 |
| 2.0.33 | 44,989 | 5/13/2025 |
| 2.0.32 | 19,477 | 2/25/2025 |
| 2.0.32-pre02 | 314 | 1/30/2025 |
| 2.0.31 | 68,449 | 11/13/2024 |
| 2.0.30 | 51,886 | 4/23/2024 |
| 2.0.29 | 61,796 | 1/2/2024 |
| 2.0.28 | 27,779 | 9/23/2023 |
v2.0.44 (11/2026)
• BREAKING CHANGE: Targets net10.0 and net48 (net8.0 removed).
• PasswordHashService.VerifySHA512HashString - constant-time hash comparison (CryptographicOperations.FixedTimeEquals, resistant to timing attacks), the hash is computed using SHA512.HashData.
• PasswordGenerator - random numbers via RandomNumberGenerator.GetInt32, the RandomNumberGenerator instance which was never disposed has been removed. On net48 a shared RandomNumberGenerator instance is used instead of the obsolete RNGCryptoServiceProvider.
• StringExt.NormalizeForUrl - single-pass implementation without a regular expression on .NET (fewer allocations, returns the same instance for already normalized text).
• MathExt.IsInteger, DataBinderExt - vectorized character search.
v2.0.43 (10/2026)
• Targets net10.0, net8.0, net48 (netstandard2.0 removed).
• StringExt.RemoveDiacritics (.NET 9+) - fewer allocations, returns the same instance for text without diacritics.
• ILLink descriptor - DateTimeRange and DateOnlyRange are preserved only in applications which use them (required="false"), otherwise they can be trimmed.
v2.0.42 (9/2026)
• DateTimeRange, DateOnlyRange - fixed contract inference after trimming. Havit.Core is IsTrimmable, so it is trimmed member-wise e.g. in a Release publish of Blazor WebAssembly, and ILLink drops the constructor parameter names. Both types are positional record structs whose contract is inferred precisely from the constructor parameter names - without the names, protobuf-net did not create a "tuple-like" contract for them and the gRPC client reported "No marshaller available for ..." for every DTO with such a member (deserialization via a parameterized constructor in System.Text.Json failed as well). An ILLink descriptor which preserves both types entirely is now embedded in the assembly, so applications no longer need their own TrimmerRootDescriptor.xml.
v2.0.41 (9/2026)
• Added Havit.DateOnlyRange with independently nullable start and end dates on net8.0 and net10.0. Supports empty and open-ended ranges without validating or normalizing endpoints. Not available on net48 or netstandard2.0; DateTimeRange remains unchanged.
v2.0.39 (7/2026)
• RegexPatterns - fixed a regression from v2.0.37: the patterns (EmailStrict, Identifier, Time24h, IPAddress, Integer) are anchored using $ instead of \z again. The \z anchor is not supported by JavaScript, so the patterns were not usable for client-side validation (RegularExpressionAttribute, RegularExpressionValidator, HTML pattern attribute).
v2.0.38 (6/2026)
• Contract.Requires, Contract.Assert - removed the [ConstantExpected] attribute, it did not prove itself.
v2.0.37 (6/2026)
• Contract.Requires, Contract.Assert now use [ConstantExpected].
• Changes from an AI code review and improvements across the library (CollectionExt, UniversalTypeConverter, EnumExt, MathExt, Reflector, CriticalSection, PasswordGenerator, StringExt, RegexPatterns, ...).
v2.0.36 (2/2026)
• CancellationExceptionChecker - tuning of cancellation exception detection.
v2.0.35 (1/2026)
• CancellationExceptionChecker - tuning of cancellation exception detection.
v2.0.34 (11/2025)
• Targeting extended to .NET 10.
• CollectionExt - added the UpdateFromAsync method (with ValueTask).