What's Changed
Key Highlights
bit BlazorUI
- Introduced BitDataGrid, a robust and high-performance component designed for rendering information-rich collections with advanced sorting, filtering, and paging capabilities.
- RichTextEditor, a native WYSIWYG text editor.
- BitChart, a native Blazor charting component rendered entirely with SVG.
- An interactive, pluggable Map component that supports Leaflet, MapLibre GL, Mapbox GL, OpenLayers, ArcGIS, Azure Maps, and CesiumJS.
- Full Calendar, a feature-rich, interactive calendar component with day, week, month, year, agenda, and resource timeline views, event CRUD, drag-and-drop, resize, and culture-aware date handling.
- Pdf Viewer, a native, pure-C# PDF viewer component for Blazor.
- New PhoneInput, BitMarkdownEditor, Markdown Viewer, AccordionList, ProModal, Virtualize, and TextShimmer components.
- The bit BlazorUI MCP (
blazorui.bitplatform.dev/mcp) now returns a components list, parameters list, examples, and enum members to enable AI to generate pixel-perfect UIs with complete framework capabilities.
Note: Legacy versions of the DataGrid, PdfViewer, Chart, MarkdownViewer, MarkdownEditor, and RichTextEditor components are available in Bit.BlazorUI.Legacy.
bit Boilerplate
- bit Boilerplate now fully supports Multi-Tenancy, giving you row-level security, admin pages, and everything else you need to build your next great project!
- Unit tests, integration tests, and UI tests (with both Playwright and bUnit) have been added to the testing project of the template.
- A new bit Boilerplate Grafana Dashboard gives you better insights for deep observability, diagnostics, and performance tuning.
- bit Boilerplate now fully leverages the Microsoft Agent Framework to simplify Agentic AI app development.
Tooling
- Bmotion: A Blazor-native animation library.
- Brouter: A modern, declarative, nestable router for Blazor with async guards, data loaders, named routes, programmatic navigation, query string binding, and global navigation hooks.
- Butil: Many more browser APIs have been added to bit Butil.
- Numerous UI tests were added to bit Boilerplate, testing passwordless authentication, external (social) sign-in, multi-tenancy, and more. In addition to the basic tests included when you create a project from bit Boilerplate, you can now use the
--advancedTestsflag in thedotnet new bit-bpcommand.
bit BlazorUI
- Add new BitDataGrid component (#12502) by @msynk in #12504
- Add new BitChart implementation (#12563) by @msynk in #12572
- Add BitMap component (#10110) by @msynk in #12360
- Add BitFullCalendar extras component (#12449) by @msynk in #12450
- Add AccordionList component (#8850) by @msynk in #12417
- Add new RichTextEditor component (#12505) by @msynk in #12531
- Add PhoneInput extra component (#8343) by @msynk in #12429
- Add new BitMarkdownViewer component (#12503) by @msynk in #12506
- Add new BitMarkdownEditor component (#12600) by @msynk in #12601
- Add PdfViewer component (#12615) by @msynk in #12646
- Add BitVirtualize component (#12602) by @msynk in #12603
- Add ProModal component (#9503) by @msynk in #12420
- Add new TextShimmer extra component (#12598) by @msynk in #12599
- Add BitProModalService utilities (#12465) by @msynk in #12466
- Add DefaultValue parameter to BitInputBase (#8186) by @msynk in #12534
- Add missing parameters to BitDropMenu (#12422) by @msynk in #12425
- Fix focus events issues in BitOtpInput (#8571) by @msynk in #12428
- Add Immediate functionalities to BitDropdown (#8579) by @msynk in #12427
- Add digit normalization feature to BitNumberField (#8551) by @msynk in #12430
- Fix memory leak issue of BitColorPicker (#640) by @msynk in #12536
- Improve bit BlazorUI mcp (#12439) by @yasmoradi in #12440
- Fix callout positioning issues on ios (#12437) by @msynk in #12446
- Add missing overflow behaviors to BitPivot (#432) by @msynk in #12535
- Fix css isolation issue in detached callouts (#12436) by @msynk in #12445
- Improve default date format of BitDatePicker (#8013) by @msynk in #12441
- Remove image specific css from BitPersona (#12391) by @zahra-yousefi in #12392
- Fix inconsistencies in BitActionButton demo page (#12394) by @zahra-yousefi in #12395
- Add security notes to BitMap demo page (#12405) by @msynk in #12406
- Add missing test for SuggestItemsProvider in BitSearchBox (#8329) by @msynk in #12431
- Apply improvements of BitProgress (#8201) by @msynk in #12438
- Fix remaining issues of callout positioning (#12529) by @msynk in #12530
- Fix item order issues in multi-api components (#12653) by @msynk in #12659
- Correct container CSS selector in BitProModal (#12619) by @msynk in #12620
- Improve BitMessageBox component (#12672) by @msynk in #12674
- Fix parent item toggle issue in nav (#12694) by @msynk in #12697
- Apply BitActionButton improvements (#12698) by @msynk in #12700
- Apply BitButton improvements (#12695) by @msynk in #12696
- Apply BitMenuButton improvements (#12701) by @msynk in #12702
- Apply BitButtonGroup improvements (#12699) by @msynk in #12703
- Apply BitToggleButton improvements (#12716) by @msynk in #12721
- Fix BitPivot issues (#12706) by @msynk in #12708
bit Boilerplate
- Add Multi-Tenancy to bit Boilerplate (#12610) by @yasmoradi in #12616
- Add grafana dashboard to bit Boilerplate (#12455) by @yasmoradi in #12463
- Make bit Boilerplate more agentic ai friendly (#12478) by @yasmoradi in #12482
- Rename ServerConnectionException to TransientException (#12477) by @yasmoradi in #12485
- bit Boilerplate AGENTS.md improvement regarding bit BlazorUI MCP (#12476) by @yasmoradi in #12487
- Add chatbot pages tool, page descriptions and llms.txt #12675 by @yasmoradi in #12676
- Resolve Azure App Insights error when connection string is missing (#12413) by @yasmoradi in #12414
- Use sha commit id of imported github actions to honor security best practices (#12557) by @yasmoradi in #12558
- Improve bit Boilerplate exception handling (#12453) by @yasmoradi in #12459
- Add Boilerplate feature tests #12660 by @yasmoradi in #12661
- Add brouter to bit Boilerplate (#12687) by @yasmoradi in #12688
- Add privacy policy url to the bit Boilerplate (#12454) by @yasmoradi in #12461
- Use source generator to bind configuration in bit Boilerplate (#12679) by @yasmoradi in #12680
- Improve bit Boilerplate development experience setup (#12681) by @yasmoradi in #12682
- Add bUnit based UI test to bit Boilerplate (#12684) by @yasmoradi in #12685
- Apply security best practices to CI/CD pipelines across projects (#12498) by @yasmoradi in #12499
- Warn about sign-out after security-stamp changes #12647 by @yasmoradi in #12648
- Update bit Boilerplate to use latest bit BlazorUI enhancements (#12507) by @yasmoradi in #12508
- Fix OpenTelemetry exporter issues in Boilerplate (#12521) by @yasmoradi in #12526
- Add AppAcceptLanguageRequestCultureProvider to map neutral cultures to specific ones #12564 by @yasmoradi in #12567
- Refactor bit Boilerplate exception handling (#12570) by @yasmoradi in #12571
- Enable health check endpoint across all environments (#12545) by @yasmoradi in #12546
- Add missing FullWidth parameter to BitPhoneInput in identity and account pages of Boilerplate (#12519) by @yasmoradi in #12525
- bit Boilerplate - Store slow activities (#12596) by @yasmoradi in #12597
- Redesign bit Boilerplate About page with app-info card & acknowledgements #12666 by @yasmoradi in #12667
- Switch to Azure.Monitor.OpenTelemetry.Exporter #12566 by @yasmoradi in #12569
- Improve bit Boilerplate AI instructions (#12540) by @yasmoradi in #12541
- Improve bit Boilerplate AI assistant theme toggler (#12547) by @yasmoradi in #12548
- Correct container CSS selector in BitProModal (#12619) by @msynk in #12620
- Add Junie and Gemini agent instruction files #12710 by @yasmoradi in #12712
Toolings
- Apply Brouter improvements (#12559) by @msynk in #12560
- Add Bmotion tool (#12447) by @msynk in #12448
- Add Brouter (#9923) by @msynk in #12361
- Fix Ctrl+F5 bug in Bswup (#12396) by @msynk in #12407
- Apply Butil improvements (#12393) by @msynk in #12419
- Add prerender support to Brouter (#12410) by @msynk in #12421
- Fix js minification issues in Butil (#12626) by @msynk in #12627
Docs / Websites
- Fix demo inconsistencies for BitButton (#12397) by @zahra-yousefi in #12398
- Fix BitButtonGroup demo inconsistencies (#12399) by @zahra-yousefi in #12400
- Fix inconsistencies in BitMenuButton demo page (#12401) by @zahra-yousefi in #12402
- Fix demo code inconsistencies in BitToggleButton demo page (#12403) by @zahra-yousefi in #12404
- Format code and comments (#12442) by @msynk in #12443
- Fix nav issues in wiki page of templates in Platform website (#11789) by @msynk in #12409
- Fix demo inconsistecy in BitCalendar demo page (#12415) by @zahra-yousefi in #12416
- Fix not-found pages issue (#12370) by @msynk in #12424
- Update platform website contents (#12434) by @yasmoradi in #12435
- Improve platform website's built with bitplatform section (#12452) by @yasmoradi in #12458
- Fix incorrect property/parameter usages in BitButtonGroup demo page (#12469) by @msynk in #12470
- Add azure monitor sdk to websites (#12479) by @yasmoradi in #12481
- Enable open api in all environment across all projects (#12475) by @yasmoradi in #12486
- Add missing Butil docs to Platform website (#12561) by @msynk in #12562
- Add missing URL argument to SendBeacon sample in Platform website (#12518) by @yasmoradi in #12524
- Add mcp section to getting started page of the bit BlazorUI website (#12537) by @yasmoradi in #12538
- Improve SEO properties of bit BlazorUI demo website (#12555) by @msynk in #12556
- Improve bit Boilerplate documentation and appsettings comments #12565 by @yasmoradi in #12568
- Fix pivot sticky style on demo pages of multi-api components (#12579) by @msynk in #12580
- Remove Json.NET reference from bit BlazorUI as it's no longer needed by Chart (#12588) by @yasmoradi in #12589
- Improve cascading values provider demo (#12483) by @yasmoradi in #12484
- Add multi-tenancy options to platform website's project creator (#12635) by @yasmoradi in #12637
- Add CD pipelines for Bmotion and Brouter WASM demos #12691 by @yasmoradi in #12692
- fix(pipeline): wiki workflow stops commenting due to stateless MCP server #12714 by @yasmoradi in #12715
Full Changelog: v-10.4.5...v-10.5.0