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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Havit.Core" Version="2.0.50" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Havit.Core" Version="2.0.50" />
                    
Directory.Packages.props
<PackageReference Include="Havit.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Havit.Core --version 2.0.50
                    
#r "nuget: Havit.Core, 2.0.50"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Havit.Core@2.0.50
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Havit.Core&version=2.0.50
                    
Install as a Cake Addin
#tool nuget:?package=Havit.Core&version=2.0.50
                    
Install as a Cake Tool

HAVIT .NET Framework Extensions - Basic Class Library

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .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
Loading failed

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).