Vertiq.Hosting.Web
5.0.0
See the version list below for details.
dotnet add package Vertiq.Hosting.Web --version 5.0.0
NuGet\Install-Package Vertiq.Hosting.Web -Version 5.0.0
<PackageReference Include="Vertiq.Hosting.Web" Version="5.0.0" />
paket add Vertiq.Hosting.Web --version 5.0.0
#r "nuget: Vertiq.Hosting.Web, 5.0.0"
// Install Vertiq.Hosting.Web as a Cake Addin #addin nuget:?package=Vertiq.Hosting.Web&version=5.0.0 // Install Vertiq.Hosting.Web as a Cake Tool #tool nuget:?package=Vertiq.Hosting.Web&version=5.0.0
<img src="img/vertiq.svg" width="100px" />
Vertiq
A highly modular Framework to write Blazor Applications with a husstle free vertical sliced architecture - Easy. Flexible. Focused.
This includes various platforms Blazor can run on such as: Blazor Server Side
/ Blazor Wasm
/ Blazor MAUI
/ Blazor Mobile Bindings
without a single change in your code!
Platform support: .net6.0 and upper.
Usage & Installation
Start by (re)installing the templates to the latest version
dotnet new --uninstall Vertiq.Templates & dotnet new --install Vertiq.Templates
Afterwards you will be able to start a simple project by running
REM There is currently a bug in the net7.0 SDK so we use net6.0
dotnet new globaljson --sdk-version 6.0.400 --roll-forward patch --force
REM Install the b-tool
dotnet tool install -g b-tool
REM Create the project
dotnet new vertiq-blazor-server -o AcmeProject
REM change dir
cd AcmeProject
REM create a git repo
git init && git add . && git commit -m "feat: initial commit"
REM build the project
b
REM run the project
b run -s
Prerequisites
You need to have node v12, Yarn and dotnet sdk net6.0 or higher installed on your local machine.
Building
You should be able to build the project by using the build scripts:
#Windows
build.bat
#Or for short
b.bat
#Or for powershell
./build.ps1
#Linux & MacOS
. build.sh
However we recommend you use the b-tool to build the project by installing it via
dotnet tool install -g b-tool
REM To build just call b afterwards
b
Afterwards you will be able to build by simply calling b
on any platform. You also can specify arguments just by passing them to the tool by a space for example: b test
. This even works if you current directory is a subdirectory of the project.
The project uses bullseye to list individual targets use b -l
. To run individual targets call b targetname -s
Testing
Some of the integration tests use Docker. On Windows or MacOS please install Docker Desktop. Afterwards the dockerized tests will run automatically.
Releasing
We follow the semver pattern to for versioning our packages. Please use the r-tool
dotnet tool install -g r-tool
And run r
and follow the wizard to guide you to the release publishing process.
Writing docs
We use a custom tool to write the documentation. To serve up docs simply call b docs.serve
and open https://localhost:5080/
. All documentation is in the demo/FeatureCenter.Mud
directory.
Licensing
Vertiq is available for commercial usage to a thirty-day trial period, after which a license fee must be paid to obtain a license. Please contact us via vertiq@delegate.at
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.AspNetCore.Components.WebAssembly (>= 6.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Serilog.Extensions.Logging (>= 3.1.0)
- Vertiq.Hosting (>= 5.0.0)
- Vertiq.Infastructure.Serilog (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Console (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.File (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Memory (>= 5.0.0)
- Vertiq.Infastructure.Xpo (>= 5.0.0)
-
net7.0
- Microsoft.AspNetCore.Components.WebAssembly (>= 7.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 7.0.0)
- Serilog.Extensions.Logging (>= 3.1.0)
- Vertiq.Hosting (>= 5.0.0)
- Vertiq.Infastructure.Serilog (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Console (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.File (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Memory (>= 5.0.0)
- Vertiq.Infastructure.Xpo (>= 5.0.0)
-
net8.0
- Microsoft.AspNetCore.Components.WebAssembly (>= 8.0.0-preview.3.23177.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0-preview.3.23174.8)
- Serilog.Extensions.Logging (>= 3.1.0)
- Vertiq.Hosting (>= 5.0.0)
- Vertiq.Infastructure.Serilog (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Console (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.File (>= 5.0.0)
- Vertiq.Infastructure.Serilog.Sinks.Memory (>= 5.0.0)
- Vertiq.Infastructure.Xpo (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Vertiq.Hosting.Web:
Package | Downloads |
---|---|
Vertiq.Hosting.BlazorServer
A highly modular framework for writing Blazor applications with a hassle-free, vertical-sliced architecture - Easy. Flexible. Focused. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
7.2.4 | 77 | 10/18/2024 |
7.2.3 | 97 | 9/24/2024 |
7.2.2 | 48 | 9/23/2024 |
7.2.1 | 53 | 9/23/2024 |
7.2.0 | 53 | 9/19/2024 |
7.1.4 | 71 | 8/27/2024 |
7.1.3 | 82 | 8/23/2024 |
7.1.2 | 81 | 8/22/2024 |
7.1.0 | 76 | 8/22/2024 |
7.0.0 | 69 | 7/3/2024 |
6.1.4 | 134 | 6/30/2024 |
6.1.3 | 137 | 6/17/2024 |
6.1.2 | 140 | 6/17/2024 |
6.1.1 | 149 | 6/16/2024 |
6.1.0 | 155 | 6/16/2024 |
6.0.1 | 154 | 6/16/2024 |
5.7.1 | 268 | 11/29/2023 |
5.7.0 | 186 | 11/21/2023 |
5.6.0 | 167 | 11/15/2023 |
5.5.6 | 83 | 11/14/2023 |
5.5.5 | 78 | 11/11/2023 |
5.5.4 | 74 | 11/11/2023 |
5.5.3 | 78 | 11/11/2023 |
5.5.2 | 79 | 11/11/2023 |
5.5.1 | 88 | 11/10/2023 |
5.5.0 | 80 | 11/9/2023 |
5.4.0 | 82 | 11/9/2023 |
5.3.4 | 87 | 11/7/2023 |
5.3.3 | 81 | 11/7/2023 |
5.3.2 | 84 | 11/7/2023 |
5.3.1 | 86 | 11/6/2023 |
5.3.0 | 79 | 11/6/2023 |
5.2.2 | 100 | 10/30/2023 |
5.2.1 | 95 | 10/29/2023 |
5.2.0 | 91 | 10/23/2023 |
5.1.0 | 102 | 10/21/2023 |
5.0.0 | 128 | 10/2/2023 |
4.0.0 | 128 | 9/17/2023 |
3.0.2 | 136 | 8/21/2023 |
2.3.0 | 136 | 7/7/2023 |
2.2.15 | 110 | 7/7/2023 |
2.2.14 | 110 | 7/7/2023 |
2.2.13 | 101 | 7/6/2023 |
2.2.12 | 110 | 7/6/2023 |
2.2.11 | 104 | 7/5/2023 |
2.2.10 | 112 | 7/4/2023 |
2.2.9 | 104 | 7/4/2023 |
2.2.8 | 112 | 7/4/2023 |
2.2.6 | 104 | 7/4/2023 |
2.2.5 | 106 | 7/4/2023 |
2.2.4 | 107 | 7/3/2023 |
2.2.3 | 109 | 7/3/2023 |
2.2.2 | 109 | 7/3/2023 |
2.2.1 | 106 | 7/3/2023 |
2.1.1 | 116 | 6/26/2023 |
2.1.0 | 99 | 6/26/2023 |
2.0.1 | 144 | 5/4/2023 |
2.0.0 | 114 | 5/4/2023 |
1.2.3 | 407 | 3/6/2023 |
1.2.2 | 369 | 3/3/2023 |
1.2.1 | 433 | 2/13/2023 |
1.2.0 | 396 | 2/10/2023 |
1.1.1 | 476 | 12/29/2022 |
1.1.0 | 456 | 12/27/2022 |
1.0.0 | 464 | 12/26/2022 |
0.4.12 | 468 | 12/22/2022 |
0.4.11 | 465 | 12/21/2022 |
0.4.10 | 464 | 12/20/2022 |
0.4.9 | 459 | 12/20/2022 |
0.4.8 | 462 | 12/19/2022 |
0.4.7 | 476 | 12/17/2022 |
0.4.6 | 457 | 12/17/2022 |
0.4.5 | 448 | 12/16/2022 |
0.4.4 | 473 | 12/16/2022 |
0.4.3 | 484 | 12/16/2022 |
0.4.2 | 466 | 12/16/2022 |
0.4.1 | 468 | 12/16/2022 |
0.4.0 | 531 | 12/14/2022 |
0.3.13 | 462 | 12/14/2022 |
0.3.12 | 461 | 12/14/2022 |
0.3.7 | 454 | 12/14/2022 |
0.3.6 | 447 | 12/14/2022 |
0.3.5 | 465 | 12/13/2022 |
0.3.4 | 449 | 12/13/2022 |
0.3.3 | 454 | 12/13/2022 |
0.3.2 | 469 | 12/13/2022 |
0.3.1 | 475 | 12/13/2022 |
0.3.0 | 502 | 12/11/2022 |
0.2.1 | 501 | 12/11/2022 |
## 5.0.0 (2023-10-02)
* feat(componentmodel): added attribute registry ([9afeac4](https://github.com/vertiq-io/Vertiq/commit/9afeac4))
* feat(componentmodel): added attribute registry ([7293c46](https://github.com/vertiq-io/Vertiq/commit/7293c46))
* feat(componentmodel): added attribute registry ([a1b12ed](https://github.com/vertiq-io/Vertiq/commit/a1b12ed))
* feat(components): added possiblity to hide editors ([db99a2f](https://github.com/vertiq-io/Vertiq/commit/db99a2f))
* feat(components): Added Required editor API ([6d9ac0d](https://github.com/vertiq-io/Vertiq/commit/6d9ac0d))
* feat(components): added VDetailViewEdit ([058d45a](https://github.com/vertiq-io/Vertiq/commit/058d45a))
* feat(components): added VDetailViewNullableEdit & VDetailViewNullableDynamic ([cf05065](https://github.com/vertiq-io/Vertiq/commit/cf05065))
* feat(components): added VLookupNullableSelect WIP ([9b72ec0](https://github.com/vertiq-io/Vertiq/commit/9b72ec0))
* feat(components): added VLookupNullableSelect WIP ([ddefdc0](https://github.com/vertiq-io/Vertiq/commit/ddefdc0))
* feat(components): added VLookupSelect WIP ([a76d58e](https://github.com/vertiq-io/Vertiq/commit/a76d58e))
* feat(components): added what's new 5.0 page & updated compatibility page ([d15219e](https://github.com/vertiq-io/Vertiq/commit/d15219e))
* feat(components): bind attributes to memberinfo ([850aa83](https://github.com/vertiq-io/Vertiq/commit/850aa83))
* feat(components): detailview submit ([182c96c](https://github.com/vertiq-io/Vertiq/commit/182c96c))
* feat(components): dispatching detailview events ([651f9bb](https://github.com/vertiq-io/Vertiq/commit/651f9bb))
* feat(components): editors now register with an editor container ([2700dc7](https://github.com/vertiq-io/Vertiq/commit/2700dc7))
* feat(components): nested object binding for editors ([460888f](https://github.com/vertiq-io/Vertiq/commit/460888f))
* feat(components): no model template ([3e9721c](https://github.com/vertiq-io/Vertiq/commit/3e9721c))
* feat(components): obsoloteded some editors & added IVEditor change notification ([0be5d84](https://github.com/vertiq-io/Vertiq/commit/0be5d84))
* feat(components): prepend default value for nullable select edit ([21237af](https://github.com/vertiq-io/Vertiq/commit/21237af))
* feat(components): register component model attributes ([746e017](https://github.com/vertiq-io/Vertiq/commit/746e017))
* feat(components): VDetailView change notifiction ([ba5dd5f](https://github.com/vertiq-io/Vertiq/commit/ba5dd5f))
* feat(components): VDetailView change notifiction ([0a0ddd7](https://github.com/vertiq-io/Vertiq/commit/0a0ddd7))
* feat(components): VDetailView Dispatch Submit ([52a7a1e](https://github.com/vertiq-io/Vertiq/commit/52a7a1e))
* feat(components): VDetailView editors now unregister ([8718794](https://github.com/vertiq-io/Vertiq/commit/8718794))
* feat(components): VDetailView NoModelTemplate ([7429ba8](https://github.com/vertiq-io/Vertiq/commit/7429ba8))
* feat(components): VDetailView StateHasChangedCallback ([668c042](https://github.com/vertiq-io/Vertiq/commit/668c042))
* feat(components): VDetailViewDynamicEdit ([141ce97](https://github.com/vertiq-io/Vertiq/commit/141ce97))
* feat(components): VLookupSelect BitBlazor & MudBlazor Renderer ([1e04288](https://github.com/vertiq-io/Vertiq/commit/1e04288))
* feat(components): VLookupSelect BitBlazor Renderer ([2ebe91d](https://github.com/vertiq-io/Vertiq/commit/2ebe91d))
* feat(components): VLookupSelect default renderer ([c87bab8](https://github.com/vertiq-io/Vertiq/commit/c87bab8))
* feat(components): VLookupSelect DevExpress renderer ([6b2d82c](https://github.com/vertiq-io/Vertiq/commit/6b2d82c))
* feat(components): VLookupSelect MudBlazor renderer ([0c21f94](https://github.com/vertiq-io/Vertiq/commit/0c21f94))
* feat(components): VLookupSelect Radzen Renderer ([8d3c97b](https://github.com/vertiq-io/Vertiq/commit/8d3c97b))
* feat(core): added builtin editor attributes ([6d64f58](https://github.com/vertiq-io/Vertiq/commit/6d64f58))
* feat(core): Added expression comparer ([23e87e9](https://github.com/vertiq-io/Vertiq/commit/23e87e9))
* feat(core): added Vertiq.Core sln for better testing performance when using NCrunch ([1f64464](https://github.com/vertiq-io/Vertiq/commit/1f64464))
* feat(core): Added VLookupPropertyAttribute ([b657519](https://github.com/vertiq-io/Vertiq/commit/b657519))
* feat(core): added VVisibilityAttribute ([a0e375f](https://github.com/vertiq-io/Vertiq/commit/a0e375f))
* feat(core): component model for > net70 ([8aec74e](https://github.com/vertiq-io/Vertiq/commit/8aec74e))
* feat(core): component model well known attributes ([dcdd67c](https://github.com/vertiq-io/Vertiq/commit/dcdd67c))
* feat(core): component model well known attributes ([ae8c159](https://github.com/vertiq-io/Vertiq/commit/ae8c159))
* feat(core): componentmodel by value producer ([58ce299](https://github.com/vertiq-io/Vertiq/commit/58ce299))
* feat(core): componentmodel memberinfo infered attributes ([5068626](https://github.com/vertiq-io/Vertiq/commit/5068626))
* feat(core): componentmodel memberinfo infered attributes ([7f53b6c](https://github.com/vertiq-io/Vertiq/commit/7f53b6c))
* feat(core): componentmodel memberinfo infered attributes ([9a05eb6](https://github.com/vertiq-io/Vertiq/commit/9a05eb6))
* feat(core): componentmodel memberinfo infered attributes ([3233a55](https://github.com/vertiq-io/Vertiq/commit/3233a55))
* feat(core): componentmodel new attribute basic infrastructure WIP ([83fc49e](https://github.com/vertiq-io/Vertiq/commit/83fc49e))
* feat(core): componentmodel new attribute basic infrastructure WIP ([3c14fe7](https://github.com/vertiq-io/Vertiq/commit/3c14fe7))
* feat(core): componentmodel new attribute basic infrastructure WIP ([efe5a26](https://github.com/vertiq-io/Vertiq/commit/efe5a26))
* feat(core): componentmodel new attribute basic infrastructure WIP ([3512df5](https://github.com/vertiq-io/Vertiq/commit/3512df5))
* feat(core): componentmodel new interface type ([adad263](https://github.com/vertiq-io/Vertiq/commit/adad263))
* feat(core): decimal member info ([7fd2004](https://github.com/vertiq-io/Vertiq/commit/7fd2004))
* feat(core): fixed obsoletion messages ([bb4fab0](https://github.com/vertiq-io/Vertiq/commit/bb4fab0))
* feat(core): get loose bound attribute ([7611a05](https://github.com/vertiq-io/Vertiq/commit/7611a05))
* feat(core): getter only properties are reaonly by default & disabled attribute ([fba0fa8](https://github.com/vertiq-io/Vertiq/commit/fba0fa8))
* feat(core): gurantee that the last delegate in the chain is selecting from the editor repository ([88bde6b](https://github.com/vertiq-io/Vertiq/commit/88bde6b))
* feat(core): int member info ([ddcdabd](https://github.com/vertiq-io/Vertiq/commit/ddcdabd))
* feat(core): it's now possible to specify an editor via attribute ([5d6a91e](https://github.com/vertiq-io/Vertiq/commit/5d6a91e))
* feat(core): loosened generic constraint for editors ([5319367](https://github.com/vertiq-io/Vertiq/commit/5319367))
* feat(core): make sure we treat custom nullable and non nullable enums separate ([59b277e](https://github.com/vertiq-io/Vertiq/commit/59b277e))
* feat(core): make sure we treat custom nullable and non nullable objects separate ([5900f40](https://github.com/vertiq-io/Vertiq/commit/5900f40))
* feat(core): make sure we treat custom nullable and non nullable objects separate ([724ea67](https://github.com/vertiq-io/Vertiq/commit/724ea67))
* feat(core): make sure we treat custom nullable and non nullable objects separate ([fee48ea](https://github.com/vertiq-io/Vertiq/commit/fee48ea))
* feat(core): make sure we treat nullable and non nullable enums separate ([8fcc654](https://github.com/vertiq-io/Vertiq/commit/8fcc654))
* feat(core): no inferred labels, tooltip, title, placeholders for classes ([de33309](https://github.com/vertiq-io/Vertiq/commit/de33309))
* feat(core): possibility to get the value from the attribute ([6e873ad](https://github.com/vertiq-io/Vertiq/commit/6e873ad))
* feat(core): preparation for object editor types ([9495490](https://github.com/vertiq-io/Vertiq/commit/9495490))
* feat(core): preparation for object editor types ([53d4316](https://github.com/vertiq-io/Vertiq/commit/53d4316))
* feat(core): VDetailView does not use normal editcontext anymore ([3964e94](https://github.com/vertiq-io/Vertiq/commit/3964e94))
* feat(core): VDetailViewDynamic ([488af54](https://github.com/vertiq-io/Vertiq/commit/488af54))
* feat(core): We added the VSubmit API ([bb51d8c](https://github.com/vertiq-io/Vertiq/commit/bb51d8c))
* feat(docs): added posibility to view sample in isolation ([0ba132a](https://github.com/vertiq-io/Vertiq/commit/0ba132a))
* feat(testing): added find detailview and editor extensions ([ff07259](https://github.com/vertiq-io/Vertiq/commit/ff07259))
* Create delete-packages.yml ([bebe42d](https://github.com/vertiq-io/Vertiq/commit/bebe42d))
* feat(components)!: obsoleted edit context behavior ([9715faf](https://github.com/vertiq-io/Vertiq/commit/9715faf))
* feat(components)!: updated BitBlazor to 5.6.1 ([d1c7b1c](https://github.com/vertiq-io/Vertiq/commit/d1c7b1c))
* fix(components)!: brought back member info mapping ([23b7d10](https://github.com/vertiq-io/Vertiq/commit/23b7d10))
* fix(components)!: brought back member info mapping ([5e3e109](https://github.com/vertiq-io/Vertiq/commit/5e3e109))
* Merge branch 'topic/vdetailview-improvements' of https://github.com/vertiq-io/Vertiq into topic/vdet ([a3cb91f](https://github.com/vertiq-io/Vertiq/commit/a3cb91f))
* Revert "feat(core): VDetailViewCore decoupling from TModel" ([847d062](https://github.com/vertiq-io/Vertiq/commit/847d062))
* Revert "feat(core): VDetailViewCore decoupling from TModel" ([b81ed43](https://github.com/vertiq-io/Vertiq/commit/b81ed43))
* Update CI.yml ([79a3bd6](https://github.com/vertiq-io/Vertiq/commit/79a3bd6))
* Update CI.yml ([21f43f6](https://github.com/vertiq-io/Vertiq/commit/21f43f6))
* Update CI.yml ([e0ee098](https://github.com/vertiq-io/Vertiq/commit/e0ee098))
* Update CI.yml ([47ec9eb](https://github.com/vertiq-io/Vertiq/commit/47ec9eb))
* Update CI.yml ([7cdaadf](https://github.com/vertiq-io/Vertiq/commit/7cdaadf))
* Update CI.yml ([c153549](https://github.com/vertiq-io/Vertiq/commit/c153549))
* Update CI.yml ([2b13464](https://github.com/vertiq-io/Vertiq/commit/2b13464))
* Update CI.yml ([d5f87c3](https://github.com/vertiq-io/Vertiq/commit/d5f87c3))
* Update delete-packages.yml ([b6352b1](https://github.com/vertiq-io/Vertiq/commit/b6352b1))
* Update delete-packages.yml ([1ef825b](https://github.com/vertiq-io/Vertiq/commit/1ef825b))
* Update delete-packages.yml ([673907b](https://github.com/vertiq-io/Vertiq/commit/673907b))
* Update delete-packages.yml ([7cef68f](https://github.com/vertiq-io/Vertiq/commit/7cef68f))
* Update delete-packages.yml ([305ab35](https://github.com/vertiq-io/Vertiq/commit/305ab35))
* Update delete-packages.yml ([e207ff8](https://github.com/vertiq-io/Vertiq/commit/e207ff8))
* Update delete-packages.yml ([cf655a2](https://github.com/vertiq-io/Vertiq/commit/cf655a2))
* style(demos): formatted long lines ([fdfb532](https://github.com/vertiq-io/Vertiq/commit/fdfb532))
* chore(core): added guidelines to 120 chars ([8130fc1](https://github.com/vertiq-io/Vertiq/commit/8130fc1))
* test(components): bitblazor month changed ([446d2ed](https://github.com/vertiq-io/Vertiq/commit/446d2ed))
* test(components): find detailview & editors ([836d2d1](https://github.com/vertiq-io/Vertiq/commit/836d2d1))
* test(core): make sure we treat nullable and non nullable enums separate ([8581521](https://github.com/vertiq-io/Vertiq/commit/8581521))
* test(docs): excluded abstract and interface example types ([e8e7263](https://github.com/vertiq-io/Vertiq/commit/e8e7263))
* docs: enabled server garbage collection ([be100fe](https://github.com/vertiq-io/Vertiq/commit/be100fe))
* docs(components): added country to detail view demo ([f138629](https://github.com/vertiq-io/Vertiq/commit/f138629))
* docs(components): Added editors visibility docs ([44f575c](https://github.com/vertiq-io/Vertiq/commit/44f575c))
* docs(components): made detailview country nullable ([c3eded2](https://github.com/vertiq-io/Vertiq/commit/c3eded2))
* docs(components): render nullable detail view ([700e72e](https://github.com/vertiq-io/Vertiq/commit/700e72e))
* docs(core): added component model demo ([97cc133](https://github.com/vertiq-io/Vertiq/commit/97cc133))
* docs(core): added component model demo ([f5fb3a3](https://github.com/vertiq-io/Vertiq/commit/f5fb3a3))
* docs(core): added custom component attribute sample ([e8e246f](https://github.com/vertiq-io/Vertiq/commit/e8e246f))
* docs(core): added custom component attribute sample ([b9b8651](https://github.com/vertiq-io/Vertiq/commit/b9b8651))
* docs(core): added custom component attribute sample ([9ca84ca](https://github.com/vertiq-io/Vertiq/commit/9ca84ca))
* fix(components): mudblazor nullable datatime renderer was missing clear button ([f7aa8a1](https://github.com/vertiq-io/Vertiq/commit/f7aa8a1))
* fix(components): Styles property now gets rendered correctly ([765c0cd](https://github.com/vertiq-io/Vertiq/commit/765c0cd)), closes [#31](https://github.com/vertiq-io/Vertiq/issues/31)
* fix(components): VEnumSelect ComputedStyles and Classes now get rendered correctly ([a3f0566](https://github.com/vertiq-io/Vertiq/commit/a3f0566))
* fix(core): FC.Module must be multi targeted ([4977b2e](https://github.com/vertiq-io/Vertiq/commit/4977b2e))
* fix(core): we need to consider mixed target platforms when registering custom attributes ([626d183](https://github.com/vertiq-io/Vertiq/commit/626d183))
* fix(templates): LoginLogoutToolbarButton priority & make it possible to replace, reorder ([454fb1c](https://github.com/vertiq-io/Vertiq/commit/454fb1c))
* build: delete package version ([8ed7908](https://github.com/vertiq-io/Vertiq/commit/8ed7908))
* build: delete package version ([14dcd3a](https://github.com/vertiq-io/Vertiq/commit/14dcd3a))
* build(core): added component tests to vertiq.core sln ([83ddd51](https://github.com/vertiq-io/Vertiq/commit/83ddd51))
* refactor(components): formatting and removed EditorRequired for VDetailView Model property ([cd9cfca](https://github.com/vertiq-io/Vertiq/commit/cd9cfca))
* refactor(components): moved dx enum nullable renderer to own folder ([319b963](https://github.com/vertiq-io/Vertiq/commit/319b963))
* refactor(components): VDetailView simplification ([ddd5d24](https://github.com/vertiq-io/Vertiq/commit/ddd5d24))
* refactor(core): AttributedValue -> ModelValue ([86e1bb7](https://github.com/vertiq-io/Vertiq/commit/86e1bb7))
* refactor(core): editor selection & interfaces renamed with V prefix ([e923332](https://github.com/vertiq-io/Vertiq/commit/e923332))
* refactor(core): enum editor registration ([f02a875](https://github.com/vertiq-io/Vertiq/commit/f02a875))
* refactor(core): move editor registration strategy to EditorSelectionMiddleware ([1097209](https://github.com/vertiq-io/Vertiq/commit/1097209))
* refactor(core): move editor registration strategy to EditorSelectionMiddleware ([82c4cad](https://github.com/vertiq-io/Vertiq/commit/82c4cad))
* refactor(core): obsoleted and moved obsolete types into own file ([0b01500](https://github.com/vertiq-io/Vertiq/commit/0b01500))
* refactor(core): removed unused editocontext dependency ([b93ff15](https://github.com/vertiq-io/Vertiq/commit/b93ff15))
* refactor(core): removed warnings & step properties are now absolute ([794a13e](https://github.com/vertiq-io/Vertiq/commit/794a13e))
* refactor(core): removed warnings & step properties are now absolute ([75c7000](https://github.com/vertiq-io/Vertiq/commit/75c7000))
* refactor(core): removed warnings & step properties are now absolute ([bcdce10](https://github.com/vertiq-io/Vertiq/commit/bcdce10))
* refactor(core): removed warnings & step properties are now absolute ([648f7f3](https://github.com/vertiq-io/Vertiq/commit/648f7f3))
* refactor(core): removed warnings & step properties are now absolute ([b0a1a4c](https://github.com/vertiq-io/Vertiq/commit/b0a1a4c))
* refactor(core): removed warnings & step properties are now absolute ([0087227](https://github.com/vertiq-io/Vertiq/commit/0087227))
* refactor(core): removed warnings & step properties are now absolute ([58a9cab](https://github.com/vertiq-io/Vertiq/commit/58a9cab))
* refactor(core): removed warnings & step properties are now absolute ([37e158d](https://github.com/vertiq-io/Vertiq/commit/37e158d))
* refactor(core): removed warnings & step properties are now absolute ([79647dc](https://github.com/vertiq-io/Vertiq/commit/79647dc))
* refactor(core): removed warnings & step properties are now absolute ([7b2e0f9](https://github.com/vertiq-io/Vertiq/commit/7b2e0f9))
* refactor(core): removed warnings & step properties are now absolute ([2bdf3e2](https://github.com/vertiq-io/Vertiq/commit/2bdf3e2))
* refactor(core): removed warnings & step properties are now absolute ([bad8ec2](https://github.com/vertiq-io/Vertiq/commit/bad8ec2))
* refactor(core): removed warnings & step properties are now absolute ([d23d511](https://github.com/vertiq-io/Vertiq/commit/d23d511))
* refactor(demos): moved VDetailViewDynamic demos ([022c196](https://github.com/vertiq-io/Vertiq/commit/022c196))
* demo(components): added lookup sample to default editors ([6d2edf9](https://github.com/vertiq-io/Vertiq/commit/6d2edf9))
### BREAKING CHANGE
* We obsoleted the old EditContextBehavior
* We obsoleted the Vertiq.Components.Mud.BoolSelectEditor in favor of VBoolSelect
* We obsoleted the Vertiq.Components.Mud.BoolSelectEditor in favor of VBoolSelect
* We updated the BitBlazor dependency to version 5.6.1
## 4.0.0 (2023-09-17)
* release: new version 4.0.0 ([ee1a8ed](https://github.com/vertiq-io/Vertiq/commit/ee1a8ed))
* release: new version 4.0.0 ([0843d87](https://github.com/vertiq-io/Vertiq/commit/0843d87))
* build: use latest net8.0 preview sdk ([bebfead](https://github.com/vertiq-io/Vertiq/commit/bebfead))
* build: We don't need publish nuget in GHA because it's part of bullseye build ([299c7e3](https://github.com/vertiq-io/Vertiq/commit/299c7e3))
* build(components): fixed npm package name to be unique ([b960d52](https://github.com/vertiq-io/Vertiq/commit/b960d52))
* build(core): make sure nuget release notes are not longer than 35000 chars ([b37f9b2](https://github.com/vertiq-io/Vertiq/commit/b37f9b2))
* docs: added font-pack documentation ([99bd806](https://github.com/vertiq-io/Vertiq/commit/99bd806))
* docs: started documenting 4.0 whatsnew ([384173c](https://github.com/vertiq-io/Vertiq/commit/384173c))
* docs(components): added api docs for VEditor ([dadce73](https://github.com/vertiq-io/Vertiq/commit/dadce73))
* docs(components): added api docs for VEditor ([e114325](https://github.com/vertiq-io/Vertiq/commit/e114325))
* docs(components): added api to button and icon button ([b0f4f1a](https://github.com/vertiq-io/Vertiq/commit/b0f4f1a))
* docs(components): added default editors page ([ca8a2a9](https://github.com/vertiq-io/Vertiq/commit/ca8a2a9))
* docs(components): added demos for nullable number inputs ([9bc0f1f](https://github.com/vertiq-io/Vertiq/commit/9bc0f1f))
* docs(components): added docs for VTable & VLabel ([396ffa1](https://github.com/vertiq-io/Vertiq/commit/396ffa1))
* docs(components): better typography docs & LinkHelper for Markdown ([be1be9a](https://github.com/vertiq-io/Vertiq/commit/be1be9a))
* docs(components): icons documentation is now almost complete ([fa7290f](https://github.com/vertiq-io/Vertiq/commit/fa7290f))
* docs(components): maxheight for code sample section ([57a1faa](https://github.com/vertiq-io/Vertiq/commit/57a1faa))
* docs(components): separated partially supported datatypes ([920ce04](https://github.com/vertiq-io/Vertiq/commit/920ce04))
* docs(components): todo sample ([35c37ec](https://github.com/vertiq-io/Vertiq/commit/35c37ec))
* docs(components): updated compability chart & platform notice for VDateTimeEdit & VDateTimeNullableE ([52a0bb4](https://github.com/vertiq-io/Vertiq/commit/52a0bb4))
* docs(components): updated compatibility chart ([b84bcfb](https://github.com/vertiq-io/Vertiq/commit/b84bcfb))
* docs(components): updated compatibility table ([3c2ebf8](https://github.com/vertiq-io/Vertiq/commit/3c2ebf8))
* docs(components): use VTable for all api doc's ([e8e3a62](https://github.com/vertiq-io/Vertiq/commit/e8e3a62))
* docs(components): use vtable instead of mudtable for api docs ([c25a024](https://github.com/vertiq-io/Vertiq/commit/c25a024))
* docs(components): VDateOnlyEdit, VDateOnlyNullableEdit, VTimeOnlyEdit, VTimeOnlyNullableEdit DevExpr ([2744b7a](https://github.com/vertiq-io/Vertiq/commit/2744b7a))
* docs(components): VEditor added nullable default editor support table ([38bdc91](https://github.com/vertiq-io/Vertiq/commit/38bdc91))
* docs(components): VEditor binding and expression ([f478245](https://github.com/vertiq-io/Vertiq/commit/f478245))
* docs(components): VEditor custom editor type ([21a9a22](https://github.com/vertiq-io/Vertiq/commit/21a9a22))
* docs(components): VEditor dual binding ([1f89c01](https://github.com/vertiq-io/Vertiq/commit/1f89c01))
* docs(components): VEditor generic properties & non existing properties ([7fbd397](https://github.com/vertiq-io/Vertiq/commit/7fbd397))
* docs(components): VTimeSpanEdit & VTimeSpanNullableEdit ([a5cd50a](https://github.com/vertiq-io/Vertiq/commit/a5cd50a))
* docs(components): what's new in 4.0 editors example ([30937fe](https://github.com/vertiq-io/Vertiq/commit/30937fe))
* docs(components): what's new in 4.0 editors example ([8a446c0](https://github.com/vertiq-io/Vertiq/commit/8a446c0))
* docs(core): api doc for VElement ([0a28339](https://github.com/vertiq-io/Vertiq/commit/0a28339))
* docs(core): group API docs by category and inheritence ([905e595](https://github.com/vertiq-io/Vertiq/commit/905e595))
* docs(feat): what's new 4.0 & moved data components to comonents namespace ([3ba92a9](https://github.com/vertiq-io/Vertiq/commit/3ba92a9))
* docs(fix): type aliases for nullable types & single ([7c49ddb](https://github.com/vertiq-io/Vertiq/commit/7c49ddb))
* test(components): approved VEdit BitBlazor renderers ([1cf7c42](https://github.com/vertiq-io/Vertiq/commit/1cf7c42))
* test(components): approved VEdit BitBlazor, DX & MudBlazor renderers ([17d5ff7](https://github.com/vertiq-io/Vertiq/commit/17d5ff7))
* test(components): approved VEdit default renderers ([ee8863b](https://github.com/vertiq-io/Vertiq/commit/ee8863b))
* test(components): approved VEdit default renderers ([c8ae440](https://github.com/vertiq-io/Vertiq/commit/c8ae440))
* test(components): approved VEdit default renderers ([666475a](https://github.com/vertiq-io/Vertiq/commit/666475a))
* test(components): approved VEdit DevExpress renderers ([b689894](https://github.com/vertiq-io/Vertiq/commit/b689894))
* test(components): basic string edit tests ([bf2c772](https://github.com/vertiq-io/Vertiq/commit/bf2c772))
* test(components): BitBlazor Date Edit German Locale ([217317a](https://github.com/vertiq-io/Vertiq/commit/217317a))
* test(components): blazoritiy deterministic auto ids ([2221270](https://github.com/vertiq-io/Vertiq/commit/2221270))
* test(components): blazority deterministic id rendering ([1748005](https://github.com/vertiq-io/Vertiq/commit/1748005))
* test(components): checkbox tests finally working ([4ddd931](https://github.com/vertiq-io/Vertiq/commit/4ddd931))
* test(components): demo rendering tests now use a class fixture architecture ([275a694](https://github.com/vertiq-io/Vertiq/commit/275a694))
* test(components): DevExpress enum renderers ([9249a54](https://github.com/vertiq-io/Vertiq/commit/9249a54))
* test(components): devexpress NRE workaround for smoke testing custom navigation ([abd6c3d](https://github.com/vertiq-io/Vertiq/commit/abd6c3d))
* test(components): disabled some tests for now to verify CI/CD is working ([cf46729](https://github.com/vertiq-io/Vertiq/commit/cf46729))
* test(components): DX Date, Time picker tests ([ec24939](https://github.com/vertiq-io/Vertiq/commit/ec24939))
* test(components): dx input primitive tests ([51005fe](https://github.com/vertiq-io/Vertiq/commit/51005fe))
* test(components): dx loose js interop ([d18e6c1](https://github.com/vertiq-io/Vertiq/commit/d18e6c1))
* test(components): dx loose js interop ([f0722e3](https://github.com/vertiq-io/Vertiq/commit/f0722e3))
* test(components): DX loose js interopt ([452b5d3](https://github.com/vertiq-io/Vertiq/commit/452b5d3))
* test(components): DX loose js interopt ([9d10f21](https://github.com/vertiq-io/Vertiq/commit/9d10f21))
* test(components): fixed several checkbox tests ([e50121c](https://github.com/vertiq-io/Vertiq/commit/e50121c))
* test(components): improved performance of smoke testing examples. ([163aab8](https://github.com/vertiq-io/Vertiq/commit/163aab8))
* test(components): made dx tests more stable by mocking internal device info ([91dc7ed](https://github.com/vertiq-io/Vertiq/commit/91dc7ed))
* test(components): MudBlatzor enum and bool select renderers ([a818c0c](https://github.com/vertiq-io/Vertiq/commit/a818c0c))
* test(components): MudBlazor Date, Time picker tests ([f3aacab](https://github.com/vertiq-io/Vertiq/commit/f3aacab))
* test(components): radzen editor tests ([6d17b3a](https://github.com/vertiq-io/Vertiq/commit/6d17b3a))
* test(components): removed old test cases ([87872bc](https://github.com/vertiq-io/Vertiq/commit/87872bc))
* test(components): removed old test cases ([83265a6](https://github.com/vertiq-io/Vertiq/commit/83265a6))
* test(components): render stringedit properties ([1a0ba1c](https://github.com/vertiq-io/Vertiq/commit/1a0ba1c))
* test(components): render stringedit properties ([411ce45](https://github.com/vertiq-io/Vertiq/commit/411ce45))
* test(components): splitted test cases for namespace conventions & example rendering ([99b62e0](https://github.com/vertiq-io/Vertiq/commit/99b62e0))
* test(components): VBoolCheckboxTests & basic VEdit tests ([2084db7](https://github.com/vertiq-io/Vertiq/commit/2084db7))
* test(components): VEdit test stubs for all supported editor types ([533b8b8](https://github.com/vertiq-io/Vertiq/commit/533b8b8))
* test(components): VIntEdit tests & removed MudBlazor default editor tests ([2f2c207](https://github.com/vertiq-io/Vertiq/commit/2f2c207))
* test(components): VStringEdit default css class ([63c4be8](https://github.com/vertiq-io/Vertiq/commit/63c4be8))
* test(templates): added example rendering tests for all template types ([efc42f9](https://github.com/vertiq-io/Vertiq/commit/efc42f9))
* feat(componentmodel): experimented with editor and label attributes ([fd8dfa7](https://github.com/vertiq-io/Vertiq/commit/fd8dfa7))
* feat(components): added example smoke rendering tests ([21c7f5b](https://github.com/vertiq-io/Vertiq/commit/21c7f5b))
* feat(components): added possibility to change layout at runtime ([bb4f195](https://github.com/vertiq-io/Vertiq/commit/bb4f195))
* feat(components): added string editor missing properties & added VLabel component ([3d49fa7](https://github.com/vertiq-io/Vertiq/commit/3d49fa7))
* feat(components): added support for grouping, foreach and basic if checks ([b9d17f3](https://github.com/vertiq-io/Vertiq/commit/b9d17f3))
* feat(components): added VDateOnlyEdit default renderer ([7fd840d](https://github.com/vertiq-io/Vertiq/commit/7fd840d))
* feat(components): added VDateOnlyNullableEdit default renderer ([6f43c52](https://github.com/vertiq-io/Vertiq/commit/6f43c52))
* feat(components): added VDateTimeEdit default renderer ([0f4b783](https://github.com/vertiq-io/Vertiq/commit/0f4b783))
* feat(components): added VDateTimeNullableEdit default renderer ([4646b2a](https://github.com/vertiq-io/Vertiq/commit/4646b2a))
* feat(components): added vision pages, new icon rendering strategy ([7f72a93](https://github.com/vertiq-io/Vertiq/commit/7f72a93))
* feat(components): added VTable primitives ([ae4ce27](https://github.com/vertiq-io/Vertiq/commit/ae4ce27))
* feat(components): added VTimeOnlyEdit default renderer ([4cc196b](https://github.com/vertiq-io/Vertiq/commit/4cc196b))
* feat(components): added VTimeOnlyNullableEdit default renderer ([a26da6f](https://github.com/vertiq-io/Vertiq/commit/a26da6f))
* feat(components): basic VDetailView behavior restored ([4f634be](https://github.com/vertiq-io/Vertiq/commit/4f634be))
* feat(components): bitblazor boolcheckbox ([22e8e25](https://github.com/vertiq-io/Vertiq/commit/22e8e25))
* feat(components): bitblazor boolcheckbox ([7f11ef2](https://github.com/vertiq-io/Vertiq/commit/7f11ef2))
* feat(components): bitblazor colors ([ea3793c](https://github.com/vertiq-io/Vertiq/commit/ea3793c))
* feat(components): bitblazor table rendering ([c40cbef](https://github.com/vertiq-io/Vertiq/commit/c40cbef))
* feat(components): BitBlazor VIntEdit ([da017ee](https://github.com/vertiq-io/Vertiq/commit/da017ee))
* feat(components): bitblazor VStringEdit finished ([2441f66](https://github.com/vertiq-io/Vertiq/commit/2441f66))
* feat(components): blazority boolcheckbox ([7efbe4f](https://github.com/vertiq-io/Vertiq/commit/7efbe4f))
* feat(components): blazority table renderers ([054859f](https://github.com/vertiq-io/Vertiq/commit/054859f))
* feat(components): Blazority VIntEdit ([c6a4c74](https://github.com/vertiq-io/Vertiq/commit/c6a4c74))
* feat(components): blazorizy VStringEdit finished ([79be7e2](https://github.com/vertiq-io/Vertiq/commit/79be7e2))
* feat(components): blazorizy VStringEdit finished ([15e6586](https://github.com/vertiq-io/Vertiq/commit/15e6586))
* feat(components): bool-checkbox render name ([19f4677](https://github.com/vertiq-io/Vertiq/commit/19f4677))
* feat(components): boolcheckbox rendering referenceid ([32a42bd](https://github.com/vertiq-io/Vertiq/commit/32a42bd))
* feat(components): Buttons & IconButtons are now styled elements ([88027da](https://github.com/vertiq-io/Vertiq/commit/88027da))
* feat(components): default editor type and render missing editor ([b62329f](https://gi