Releases: bitfoundation/bitplatform
v-10.2.0
What's Changed
Key Highlight
- Added Sync feature to client app's SQLite database
- Expanded test coverage to 1,929 total automated tests (UI, integration, and unit)
- 20 pull requests dedicated exclusively to adding new automated tests
bit BlazorUI
These additions significantly strengthen reliability, catch regressions earlier, and give us greater confidence when shipping new features.
#11677, #11710, #11712, #11714, #11716, #11718, #11720, #11724, #11726, #11728, #11730, #11732, #11734, #11740, #11748, #11750, #11752, #11754, #11761, #11769
- Add missing TabIndex parameter to BitComponentBase (#11771) by @msynk in #11772
- Apply BitActionButton improvements (#11781) by @msynk in #11782
- Rename ReversedIcon to IconPosition in BitActionButton (#11783) by @msynk in #11784
bit Boilerplate
- Add sync feature to bit Boilerplate client app offline database (#11779) by @ysmoradi in #11780
- Enable Open Telemetry in bit Boilerplate windows & maui clients (#11682) by @ysmoradi in #11683
- Improve bit Boilerplate automated tests fake example (#11680) by @ysmoradi in #11681
- Unified method names in bit Boilerplate (#11686) by @ysmoradi in #11687
- Fix bit Boilerplate issue connecting SignalR client to server while refresh token request is happening (#11697) by @ysmoradi in #11698
- AppComponentBase now inherits from OwningComponentBase (#11738) by @ysmoradi in #11739
- Use MsTestRunner instead of VsTestRunner in bitplatform test projects (#11743) by @ysmoradi in #11744
- Improve bit Boilerplate test project configuration (#11745) by @ysmoradi in #11746
- Use auto-clone feature of the fusion cache to prevent further scale out issues when swtiching to redis (#11759) by @ysmoradi in #11760
Tooling
- Improved bit resx translator logging configuration (#11785) by @ysmoradi in #11786
- Configure bit Besql dbContext so it can resolve scoped services (#11775) by @ysmoradi in #11776
Docs
Websites
Full Changelog: v-10.1.0...v-10.2.0
v-10.1.0
What's Changed
This release prioritizes product quality and stability with a major investment in automated testing.
Key Highlight
- Expanded test coverage to 1,674 total automated tests (UI, integration, and unit)
- 22 pull requests dedicated exclusively to adding new automated tests
bit BlazorUI
These additions significantly strengthen reliability, catch regressions earlier, and give us greater confidence when shipping new features.
#11586, #11593, #11600, #11604, #11606, #11608, #11610, #11614, #11615, #11619, #11622, #11623, #11624, #11636, #11640, #11641, #11646, #11654, #11656, #11649, #11658, #11665
bit Boilerplate
- bit Boilerplate now expose its own mcp tool (#11590) by @ysmoradi in #11598 🎉
- Use C# 14 extension members for current activity source and meter in bit Boilerplate (#11580) by @ysmoradi in #11581
- Apply more features of the C# 14 on bit Boilerplate (#11588) by @ysmoradi in #11589
- Improve bit Boilerplate scalar integration (#11582) by @ysmoradi in #11583
- Refactor bit Boilerplate pub sub messages classes (#11616) by @ysmoradi in #11617
- Improve bit Boilerplate IdentityController performance (#11638) by @ysmoradi in #11639
- Replace HybridCache with FusionCache in bit Boilerplate (#11660) by @ysmoradi in #11661
- Enable Background Job Progress Report in bit Boilerplate based projects without SignalR (#11662) by @ysmoradi in #11663
Docs
- Improve bit Boilerplate docs (#11591) by @ysmoradi in #11592
- Simplify bit Boilerplate IPrerenderStateService docs thanks to PersistentState (#11595) by @ysmoradi in #11596
- Use new version of ai wiki links in docs files (#11634) by @ysmoradi in #11635
Tooling
Full Changelog: v-10.0.0...v-10.1.0
v-10.0.0
What's Changed
Important:
Added support for .NET 10 🎉
bit Boilerplate project template is now fully documented 💯
bit BlazorUI
- Add support for Quill modules in BitRichTextEditor (#11435) by @msynk in #11449
- Fix and improve position feature of BitPivot (#11421) by @msynk in #11425
- Add AutoDismissTime parameter to BitMessage (#11426) by @msynk in #11428
- Update css2 pseudo-elements to css3 versions (#11424) by @msynk in #11430
- Fix deselect issues of multiselect BitDropdown with ItemProvider (#11550) by @msynk in #11551
- Add FixedCalloutWidth parameter to BitSearchBox (#11511) by @msynk in #11538
- Rename PreserveCalloutWidh parameter to FixedCalloutWidth in callouts (#11507) by @msynk in #11510
- Add PreserveCalloutWidth option to callout infrastructure (#11505) by @msynk in #11506
bit Boilerplate
- Use system text json source generators in boilerplate SignalR (#11406) by @ysmoradi in #11407
- Use non sticky followup suggestions list in ai chat panel (#11417) by @ysmoradi in #11418
- Add azure monitor profiler configuration to bit Boilerplate (#11419) by @ysmoradi in #11420
- Remove publish time aspire dashboard from bit Boilerplate (#11422) by @ysmoradi in #11423
- Replace ProblemDetails with AppProblemDetails in bit Boilerplate (#11436) by @ysmoradi in #11439
- Replace HybridGlobalization with BlazorWebAssemblyLoadAllGlobalizationData in bit Boilerplate (#11437) by @ysmoradi in #11438
- Improve 401, 403 and 404 status code handling in bit Boilerplate (#11433) by @ysmoradi in #11434
- Update bit boilerplate to aspire 9.5, add dev tunnels (#11442) by @ysmoradi in #11445
- Refactor vector embedding in bit Boilerplate (#11448) by @ysmoradi in #11450
- Remove Microsoft.AspNetCore.Components.Web nuget from bit Boilerplate (#11451) by @ysmoradi in #11452
- Use android sdk 36 in bit Boilerplate (#11453) by @ysmoradi in #11454
- Treat ASP0018 warning as error in bit Boilerplate (#11455) by @ysmoradi in #11456
- Stop using GlobalPackageReferences in bit Boilerplate #11461 by @ysmoradi in #11462
- Add bitify prompt/command to bit Boilerplate (#11463) by @ysmoradi in #11464
- Refactor DI in bit Boilerplate AppHub (#11467) by @ysmoradi in #11468
- Refactor aspire configuration in bit Boilerplate (#11470) by @ysmoradi in #11471
- Use aspire in bit Boilerplate test project (if enabled) (#11481) by @ysmoradi in #11482
- fix bit Boilerplate WebInteropApp's issue in Blazor Weasm Stadalone (#11489) by @ysmoradi in #11490
- Replaced the ForceUpdateActionFilter with ForceUpdateMiddleware by @Kyemate in #11502
- Use projects relative paths for aspire (#11508) by @ysmoradi in #11509
- Remove Xamarin.AndroidX.* from project (#11525) by @ysmoradi in #11526
- Use Database.EnsureCreatedAsync in boilerplate test project (#11524) by @ysmoradi in #11527
- Filter blazor events from open telemetry (#11523) by @ysmoradi in #11528
- Filter health checks from open telemetry (#11522) by @ysmoradi in #11529
- Prevent client wasm project from automatically starting (#11521) by @ysmoradi in #11530
- Change S3's root password setting name to reflect resource name change (#11520) by @ysmoradi in #11531
- Remove unused embedding options from project (#11519) by @ysmoradi in #11532
- Remove redundant client version check in AppHub (#11518) by @ysmoradi in #11533
- Adjust product embedding dimensions count based on default LocalTextEmbeddingGenerationService (#11517) by @ysmoradi in #11534
- Disable wasm simd in non dev env to prevent wasm native build and accelerate build performance (#11516) by @ysmoradi in #11535
- Remove duplicate submission of x-app-* headers through signalr client (#11515) by @ysmoradi in #11536
- Properly dispose signalr hub connection listeners (#11514) by @ysmoradi in #11537
- Implement proper js module system for bit Boilerplate (#11542) by @ysmoradi in #11543
- Improve bit Boilerplate github copilot configuration (#11553) by @ysmoradi in #11555
Docs
- Add winget installation instructions to platform website docs (#11446) by @ysmoradi in #11447
- Update platform website docs to .NET 10 version of the bitplatform products (#11476) by @ysmoradi in #11477
- Add interactive AI based wiki to bit Boilerplate (#11544) by @ysmoradi in #11545
- Store english version of the interactive wiki for those who have no access to claude sonnet 4.5 (#11556) by @ysmoradi in #11567
Tooling
Full Changelog: v-9.12.0...v-10.0.0
v-9.12.0
What's Changed
Important:
This is the latest version of the project templates with .NET 9.
We'll continue to support .NET 9 in our libraries (bit Besql, Bswup, Butil, BlazorUI, BlazorUI.Extras, BlazorUI.Assets, BlazorUI.Icons, BlazorES2019, ResxTranslator, CodeAnalyzers, SourceGenerators)
Tooling breaking changes:
1- Change _content/Bit.BlazorES2019/blazor.web.js to _framework/bit.blazor.web.es2019.js
2- Change _content/Bit.BlazorES2019/blazor.webview.js to _framework/bit.blazor.webview.es2019.js
3- Change _content/Bit.BlazorES2019/blazor.webassembly.js to _framework/blazor.webassembly.js (Temporarily Bit.BlazorES2019 doesn't support Blazor WebAssembly Standalone)
4- Change self.prerenderMode = 'none'; to self.mode = 'NoPrerender';
5- Change self.prerenderMode = 'always'; to self.mode = 'InitialPrerender';
6- Change self.prerenderMode = 'initial'; to self.mode = 'AlwaysPrerender';
bit BlazorUI
bit Boilerplate
- Generate follow up items in bit Boilerplate AI Chatbot (#11362) by @ysmoradi in #11363
- Apply improvements to AI chat panel (#11353) by @msynk in #11356
- Prevent invariant globalization in server web because of client web publish settings (#11367) by @ysmoradi in #11368
Docs
- Add AI chat panel to Platform website (#11346) by @msynk in #11347
- Add AI chat panel to BlazorUI demo website (#11352) by @msynk in #11354
- Add responsive sample to BitDataGrid demo page (#11349) by @msynk in #11364
Tooling
- Update bit resx translator to work with .NET 10 RC 1 (#11373) by @ysmoradi in #11375
- feat(bswup): add mode feature to replace prerenderMode in Bswup (#11386) by @msynk in #11387
- Remove PassiveFirstBoot feature from Bswup (#11382) by @msynk in #11385
- Make bit es 2019 compatible with further multi-tageting (#11391) by @ysmoradi in #11392
Full Changelog: v-9.11.4...v-9.12.0
v-9.11.4
What's Changed
bit BlazorUI
- Add built-in cache busting feature to BlazorUI (#11307) by @msynk in #11309
- Add LoadingTemplate parameter to BitDataGrid (#11311) by @msynk in #11312
- Add new Script and Link component to BlazorUI Assets project (#11308) by @msynk in #11313
- Improve marked js file discovery in BitMarkdownService (#11318) by @msynk in #11320
bit Boilerplate
- Improve bit Boilerplate health checks (#11314) by @ysmoradi in #11315
- Preserve dotnet new bit-bp parameters while creating project for further references (#11252) by @ysmoradi in #11253
- Use latest version gpt across projects (#11256) by @ysmoradi in #11257
- Improve bit Boilerplate RAG implementation (#11258) by @ysmoradi in #11259
- Refactor MEAI usages across projects (#11263) by @ysmoradi in #11264
- Add required open telemetry usages to bit Boilerplate (#11265) by @ysmoradi in #11266
- Add missing loading UI for products and categories in Boilerplate (#10736) by @msynk in #11286
- Improve ServerConnectionException detection in bit Boilerplate (#11281) by @ysmoradi in #11291
- Improve bit Boilerplate logging configuration (#11290) by @ysmoradi in #11292
- Check client app version during SignalR connection start (#11294) by @ysmoradi in #11295
- Add .dic dictionary file to bit Boilerplate (#11299) by @ysmoradi in #11300
- Use test cancellation token source's token across projects (#11305) by @ysmoradi in #11306
- Improve bit Boilerplate system prompts page (#11316) by @ysmoradi in #11317
- Delete Link and Script components across projects (#11324) by @ysmoradi in #11325
- Fix TooMayRequestsExceptions typo in bit Boilerplate (#11282) by @ysmoradi in #11289
- Fix hangfire section removal in bit Boilerplate appsettings.json(#11254) by @ysmoradi in #11255
Tooling
- Improve cache busting strategy in Bswup (#11319) by @msynk in #11321
- Add new enableCacheControl config to Bswup (#11328) by @msynk in #11331
Docs
- Improve platform website's create new page (#11260) by @ysmoradi in #11261
- Update cache busting section of getting started page in BlazorUI demo (#11336) by @msynk in #11337
Full Changelog: v-9.11.3...v-9.11.4
v-9.11.3
What's Changed
bit BlazorUI
- Add missing important features to BitSearchBox (#10537) by @msynk in #11182
- Rename Accent to Background in BitSearchBox (#11184) by @msynk in #11194
- Add missing dark and light variants to BlazorUI theme (#11132) by @msynk in #11209
- Use new dark bg, fg, and brd colors in BitToggleButton (#11210) by @msynk in #11220
- Add URL match feature to BitNav (#11225) by @msynk in #11226
bit Boilerplate
- fix xss issue in bit Boilerplate WebInteropApp (#11201) by @ysmoradi in #11202
- Bind hangfire and azure monitor configurations in bit Boilerplate (#11207) by @ysmoradi in #11208
- Improve typescript files of Boilerplate (#11188) by @msynk in #11189
- Improve bit Boilerplate copilot configuration (#11155) by @ysmoradi in #11157
- Rename bit Boilerplate's Urls to PageUrls (#11156) by @ysmoradi in #11158
- Enhance bit Boilerplate Bswup update (#11159) by @ysmoradi in #11160
- Adjust self contained configuration across projects (#11166) by @ysmoradi in #11167
- Improve bit Boilerplate S3 file storage implemenation (#11169) by @ysmoradi in #11170
- Enable dependency injection in Boilerplate's AppJwtSecureDataFormat (#11199) by @ysmoradi in #11200
- Update CI pipeline trigger in Boilerplate to run on each PR (#11211) by @msynk in #11212
- Update bit scss variables in Boilerplate for new dark & light colors (#11221) by @msynk in #11222
- Add /resx and /scaffold custom prompt to bit Boilerplate GitHub Copilot (#11224) by @ysmoradi in #11228
- Resolve social signin issue in bit Boilerplate (#11233) by @ysmoradi in #11234
- Remove all current user sessions instead of throwing an exception (#11240) by @ysmoradi in #11241
- Show product images in bit Boilerplate chatbot (#11242) by @ysmoradi in #11243
- Improve bit Boilerplate launch profiles (#11246) by @ysmoradi in #11247
Docs
- Wiki answers issues/discussions upon creation (#11192) by @ysmoradi in #11193
- Add copy feature to Iconography page (#9333) by @msynk in #11227
Infra
- Add missing SECURITY.md file by @Copilot in #11198
Tooling*
New Contributors
- @Copilot made their first contribution in #11198
Full Changelog: v-9.11.0...v-9.11.3
v-9.11.0
What's Changed
bit BlazorUI
- Fix not working click on suggested item in Modeless BitSearchBox (#11069) by @msynk in #11070
- Fix issue of clear button in BitDropdown when ItemsProvider is used (#11083) by @msynk in #11088
- Add missing callout features to BitCallout component (#10628) by @msynk in #11094
- Add missing type attribute to Browse button in BitFileUpload (#11101) by @msynk in #11103
- Add EmptyTemplate parameter to BitInfiniteScrolling (#11104) by @msynk in #11105
- Add ScrollContainerId parameter to BitDropMenu (#11112) by @msynk in #11115
- Add PanelPosition parameter to BitDropdown component (#11118) by @msynk in #11121
- Add missing features to BitToggleButton (#10536) by @msynk in #11133
- Rename misleading argument in BitCarousel (#11127) by @msynk in #11139
- Add missing row class/style parameters to BitDataGrid (#11142) by @msynk in #11143
bit Boilerplate
- Add digital ocean, hetzner and contabo samples to bit Boilerplate (#11062) by @ysmoradi in #11063
- Improve SignalR method invoke in bit Boilerplate project template (#11066) by @ysmoradi in #11067
- Improve bit Boilerplate aspire configuration (#11072) by @ysmoradi in #11073
- Refactor vs/vscode extensions configuration (#11075) by @ysmoradi in #11076
- Improve bit Boilerplate resource validation exception logging (#11077) by @ysmoradi in #11078
- Add web based ui for bit Boilerplate aspire sql server (#11079) by @ysmoradi in #11080
- Add secret/env based parameters to bit Boilerplate aspire (#11081) by @ysmoradi in #11082
- Report environment name in bit Boilerplate Diagnostic (#11084) by @ysmoradi in #11085
- Add template based CD pipeline to bit Boilerplate (#11086) by @ysmoradi in #11087
- Refactor bit Boilerplate AppEnvironment (#11092) by @ysmoradi in #11093
- Generate alt text for images in bit Boilerplate (#11097) by @ysmoradi in #11098
- Improve bit Boilerplate sign-in process (#11113) by @ysmoradi in #11114
- Improve bit Boilerplate copilot configuration (#11119) by @ysmoradi in #11120
- Add mcp.json to bit Boilerplate solution files (#11125) by @ysmoradi in #11126
- Improve bit Boilerplate OpenTelemetry (#11136) by @ysmoradi in #11137
- Improve bit Boilerplate azure app insights integration (#11144) by @ysmoradi in #11145
Docs
- Fix sample code reference in Advanced section of BitInfiniteScrolling demo page (#11106) by @msynk in #11108
Full Changelog: v-9.10.0...v-9.11.0
v-9.10.0
What's New
-
Aspire Integration: Simply press F5 to build and run your project. It automatically sets up Redis, SQL Server, and other dependencies with specified versions. You can later deploy to a simple Linux VPS, Kubernetes, Azure, AWS, or other platforms.
-
GitHub Copilot Wiki Integration: Added support for
wiki.bitplatform.devin GitHub Copilot. When coding with Gemini, GPT-4.1, or Claude, any questions about bitplatform products such as bit BlazorUI components are answered in the background using our wiki for the best results. -
File Upload Enhancements: Improved file upload functionality with fine-tuned optimizations. Additionally, it now validates that uploaded product images are specifically of a car. This can be easily customized based on your project's business needs.
-
Vector-Based Search & RAG: Previously available for PostgreSQL, vector-based search and Retrieval-Augmented Generation (RAG) using Entity Framework Core & LINQ are now supported for SQL Server (2025 version).
-
Social Sign-In Test Server: In addition to Facebook, GitHub, Google, Twitter (X), Azure Entra, and Apple, we’ve added a test server for Social Sign-In. It works out of the box when you create a project, requiring no configuration.
-
UI Component Improvements: Numerous enhancements to UI components, including the addition of a "Load More" feature to
bit BasicListand various improvements onBitSearchBox.
What's Changed
bit BlazorUI
- Improve md viewer style in SystemPrompt page of Boilerplate (#11049) by @msynk in #11050
- Improve BitTheme initialization (#11053) by @msynk in #11054
- Auto open suggestion list on focus in BitSearchBox (#11042) by @msynk in #11043
- Add Modeless parameter to BitSearchBox (#11028) by @msynk in #11035
- Add Classes and Styles parameters to BitBasicList (#11019) by @msynk in #11024
- Add LoadMore feature to BitBasicList (#10996) by @msynk in #11015
- Add async CallOnSet feature to BlazorUI source generator (#11016) by @msynk in #11017
- Handle parsing exceptions on BitMarkdownViewer initialization (#11008) by @msynk in #11018
bit Boilerplate
- Improve Boilerplate image upload (#11000) by @ysmoradi in #11001
- Improve Boilerplate exception handling (#10998) by @ysmoradi in #10999
- Improve Boilerplate github co-pilot configuration for visual studio (#11002) by @ysmoradi in #11003
- Check uploaded product image in Boilerplate using AI (#11004) by @ysmoradi in #11005
- Add sql server based vector search support to bit Boilerplate (#11011) by @ysmoradi in #11012
- Add test identity server to make social sign-in testing eaiser in Boilerplate (#11022) by @ysmoradi in #11023
- Add .github\copilot-instructions.md to bit Boilerplate (#11020) by @ysmoradi in #11021
- Add deepwiki mcp tool to bit Boilerplate (#11026) by @ysmoradi in #11027
- Dynamic social sign-in providers in bit Boilerplate (#11031) by @ysmoradi in #11032
- Add support for aspire in bit Boilerplate (#11033) by @ysmoradi in #11034
- Refactor bit Boilerplate automated tests (#11036) by @ysmoradi in #11037
- Add facebook social sign-in to bit Boilerplate (#11038) by @ysmoradi in #11041
- Update Fido2NetLib to beta.17 and fix breaking change in Boilerplate (#11045) by @msynk in #11046
- Refactor bit Boilerplate base urls (#11047) by @ysmoradi in #11048
- Improve msbuild task to remove residual .razor.css.map files (#11051) by @msynk in #11052
- Improve Boilerplate aspire configuration (#11058) by @ysmoradi in #11059
Docs
Full Changelog: v-9.9.2...v-9.10.0
v-9.9.2
What's Changed
bit BlazorUI
- Prevent rendering any element when no renderable child content provided in BitMediaQuery by @msynk in #10944
bit Boilerplate
- Fix race condition in popup based social sign-in by @ysmoradi in #10942
- Add ThrowIfContainsExpiredAccessToken method to Boilerplate by @ysmoradi in #10952
- Remove unneccesary cascading parameter by @ysmoradi in #10958
- Start chatbot panel on SignalR reconnection only if it was started before by @ysmoradi in #10962
- Improve boilerplate app features by @ysmoradi in #10964
- Improve Boilerplate project template identity by @ysmoradi in #10961
- Improve file structure of components in Boilerplate by @msynk in #10970
- Improve sign-in panel and modal in Boilerplate by @msynk in #10973
- Make prompt modal draggable in Boilerplate by @msynk in #10974
- Fix slnx issue with dotnet new parameters by @ysmoradi in #10982
- Improve MainLayout in Boilerplate by @msynk in #10978
- Fix role management delete by @ysmoradi in #10980
- Treat RZ10012 warning as build error across projects by @ysmoradi in #10985
- Improve .razor.css cleanup in boilerplate by @Md23Mh in #10956
- Add navigation button to diagnostic log details modal in Boilerplate by @msynk in #10987
- Improve Boilerplate products / categories pages by @ysmoradi in #10989
Docs
Full Changelog: v-9.9.0...v-9.9.2
v-9.9.0
What's Changed
Important: This release introduces a force update feature to the Bit Boilerplate, compatible across all platforms.
bit BlazorUI
- Add missing parameters to BitTextField by @msynk in #10885
- Add Color parameter to BitLink by @Cyrus-Sushiant in #10887
- Add NoColor parameter to BitLink by @msynk in #10893
- Fix issues of state changes in BitSearchBox by @msynk in #10932
- Add Persistent feature to BitSnackBar by @msynk in #10901
bit Boilerplate
- Fix build error by removing none exist namespace by @hamedhajiloo in #10882
- Improve user session management in Boilerplate by @ysmoradi in #10895
- Add force update feature to Boilerplate by @ysmoradi in #10897
- Use
ApplicationVersionacross platforms (#10910) by @ysmoradi in #10911 - Add current user cascading parameter to Boilerplate by @ysmoradi in #10915
- fix forwarded headers options's allowed hosts with trusted origins by @ysmoradi in #10917
- Prevent SignalR from re-connecting on auth state change by @ysmoradi in #10925
- Show app version in nav panel by @ysmoradi in #10927
- Disable wasm simd across projects by @ysmoradi in #10931
- Improve Boilerplate claim retrieval by @ysmoradi in #10934
bit Toolings
- Add config feature to BswupProgress by @msynk in #10900
- Use Bswup.skipWaiting in force-update process of Boilerplate by @msynk in #10923
- Add skipWaiting public API to Bswup by @msynk in #10920
- Add missing AutoHide parameter to BswupProgress component by @msynk in #10907
There's a breaking change for bit Bswup:
Use BitBswupProgress.start instead of startBswupProgress in Blazor WebAssembly Standalone's index.html:
const autoReload = false, showLogs = false, showAssets = false, appContainer = '#app-container', hideApp = false, autoHide = true, handler = null;
BitBswupProgress.start(autoReload, showLogs, showAssets, appContainer, hideApp, autoHide, handler);Full Changelog: v-9.8.0...v-9.9.0