Releases: bitfoundation/bitplatform
v-9.6.0
What's Changed
bit BlazorUI
- Added Markdown Viewer components with support for Pre-rendering and SEO, along with a Markdown Editor and a service for converting Markdown to HTML, usable on both server and client sides.
- Introduced Timezone and Readonly features to the Date Picker and Date Range Picker components, and updated the color of selected days.
- Enhanced File Upload functionality with the addition of HideFileView and Append capabilities.
- Fixed issues in Bit Infinite Scroll.
- Added color options to BitNavPanel and BitSearchBox components.
- Improved the BitImage component.
- Removed the BitSpinButton component after enhancements were made to BitNumberField.
- Integrated BitNav features into BitNavPanel like Item Template
- Added BitPageVisibility to detect page visibility changes, enabling the Carousel to pause when the application is minimized.
- Resolved issues with IconOnly and IconUrl in BitButton when used with Href.
bit Boilerplate
- Implemented FIDO2 / WebAuthN across all clients, enabling login with FaceId and Fingerprint.
- Added a Clear Cache button to the Diagnostic Modal.
- Transform all appsettings*.json for all projects (Shared, Client.Core etc) during CD Pipeline execution.
- Relocated settings related to pre-rendering and Blazor mode from the
Client.Web
to the server. - Users registering via social sign-in are now marked as confirmed, even without providing an email or phone number.
- Switched to SymmetricSecurityKey for generating JWT Tokens, replacing the use of PFX.
bit Bswup
Introduced a preRenderMode setting to bswup, allowing flexible configuration of your web application based on the following scenarios:
self.prerenderMode = 'none'; // Demo: https://adminpanel.bitplatform.dev/ (No pre-rendering + offline support)
self.prerenderMode = 'always'; // Demo: https://sales.bitplatform.dev/ (Always show pre-render, no offline support)
self.prerenderMode = 'initial'; // Demo: https://todo.bitplatform.dev/ (Pre-render on first site visit + offline support)
bit Toolings
- Added automatic warnings for the use of non-async methods in EF-Core.
- Improved the performance of the SetParametersAsyncSourceGenerator output source and fixed related issues.
- Introducing bit BlazorES2019
Full Changelog: v-9.5.1...v-9.6.0
v-9.5.1
What's Changed
bit BlazorUI
- Reset callouts opacity after closing in responsive mode (#10039) by @msynk in #10041
- Add IconNavUrl parameter to BitNavPanel (#10042) by @msynk in #10047
- Add BitMediaQuery component (#10037) by @msynk in #10044
- Fix issues of persist feature of BlazorUI theme (#10059) by @msynk in #10063
- Add ReadOnly parameter implementation to BitTimePicker (#9977) by @Cyrus-Sushiant in #10071
bit Boilerplate
- Fix new layout issues in Boilerplate (#10038) by @msynk in #10040
- Fix concurrent social sign-in issue in Boilerplate (#10036) by @ysmoradi in #10052
- Add Eruda devtools to Boilerplate (#10051) by @msynk in #10053
- Lazy load System.Private.Xml.wasm in Boilerplate (#10075) by @ysmoradi in #10076
- Cancel current cancellation token source on AppComponentBase's disposal in Boilerplate (#10077) by @ysmoradi in #10078
- Improve Boilerplate logging (#10079) by @ysmoradi in #10080
- maintain return-url during email confirmation re-send in Boilerplate (#10083) by @ysmoradi in #10084
bit Besql
- Lazy load System.Private.Xml.wasm in bit Besql (#10073) by @ysmoradi in #10074
- fix bit Besql issue with IL Linker (#10068) by @ysmoradi in #10069
bit Butil
Full Changelog: v-9.5.0...v-9.5.1
v-9.5.0
We are excited to announce a new stable release with the following enhancements:
infra
- Applied
IsAotCompatible
to Libraries
To improve compatibility,IsAotCompatible
has been applied to libraries.
bit Boilerplate
-
Improved Layout Transition for Authenticated Users
Since cached pre-rendered pages in CDN Edge or ASP.NET Core Output Cache are user-agnostic, they do not contain user-specific information. To ensure smooth transitions from the anonymous layout to the authenticated layout, visual differences between the two states have been minimized. #10024 -
Configurable Output Caching
Added the ability to enable or disable ASP.NET Core Output Cache and CDN Edge Cache. -
Automatic URI Escaping
Uri.EscapeData
is now automatically applied to route values and query strings. -
In-Memory Cache for HTTP Client
Introduced an in-memory cache for the HTTP client to enhance performance in Blazor Hybrid, which lacks a default HTTP cache. -
Enhanced Server-Side Logging
Improved logging on the server side for better debugging and diagnostics. -
Extended Error Reporting to Clients
Now supports sending additional error details to the client. -
Cascading Parameters for Modals
Modals can now access cascading parameters such as theme and direction. -
Faster Startup for Windows Version
Optimized initialization to improve startup speed on Windows. -
Better Server Connection Error Handling
Improved detection and handling of server connection issues.
bit BlazorUI
-
Added
ReadOnly
to More Components
Additional components now support a read-only mode. -
Added Required Asterisk to More Components
Components that require user input now display a required asterisk. -
Enhanced File Uploader
Added Append functionality to the File Uploader component. -
User-Selectable Theme Persistence
The selected theme is now stored and persists across sessions. -
Memory Leak Fixes
Resolved memory leaks and improved dispose handling for multiple components
Thank you for your continued support! Enjoy the new features and improvements.
What's Changed
infra
bit Boilerplate
- Update layout to reduce UI shift while prerendering in Boilerplate (#10024) by @msynk in #10025
- add configuration for response caching of Boilerplate (#9881) by @ysmoradi in #9882
- Refactor Boilerplate project template url escaping (#9869) by @ysmoradi in #9874
- Use Uri.EscapeDataString instead of HttpUtility.UrlEncode in Boilerplate (#9868) by @ysmoradi in #9875
- Refactor Boilerplate sales module's product page response cache purge (#9870) by @ysmoradi in #9876
- Remove
--windows
parameter from Boilerplate docs in platform website (#9866) by @ysmoradi in #9873 - Improve msbuild configuration in Boilerplate (#9852) by @ysmoradi in #9853
- Improve return-url implementation in Boilerplate (#9854) by @ysmoradi in #9856
- Remove invalid entries from Boilerplate's compilerconfig.json (#9899) by @ysmoradi in #9902
- Limit Boilerplate diag logger's in memory entries to 1,000 (#9898) by @ysmoradi in #9903
- Add in-memory caching delegating handler to Boilerplate (#9897) by @ysmoradi in #9900
- Add share access token feature to Boilerplate (#9909) by @ysmoradi in #9910
- Improve Boilerplate memory management (#9911) by @ysmoradi in #9912
- Add product short id to Boilerplate's sales module (#9929) by @ysmoradi in #9930
- Enrich exceptions logs in Boilerplate server exception handler (#9933) by @ysmoradi in #9934
- fix social-signin error in signup page of Boilerplate (#9941) by @sammirdubey in #9942
- Move up BitModalContainer in MainLayout for modals to have access to cascading parameters in Boilerplate (#9944) by @ysmoradi in #9951
- Enhance app insights integration in Boilerplate (#9945) by @ysmoradi in #9950
- Fix race conditions for simultaneous refresh token requests in Boilerplate (#9946) by @ysmoradi in #9949
- Improve CurrentCancellationToken handling in Boilerplate AppComponentBase (#9947) by @ysmoradi in #9948
- Improve mechanism to start Blazor in windows apps (#9961) by @ysmoradi in #9962
- Fix BitSnackBar NRE in Boilerplate (#9963) by @ysmoradi in #9964
- Refactor Boilerplate http client pipeline (#9966) by @ysmoradi in #9967
- Add missing ServerConnectionException detection checks in Boilerplate (#9985) by @ysmoradi in #9987
- Add more app insights load guard in Boilerplate (#9986) by @ysmoradi in #9988
- Fix invalid dotnet new template configuration in Boilerplate windows project (#9989) by @ysmoradi in #9990
- Improve Boilerplate diagnostic utilities (#10001) by @ysmoradi in #10009
- Correct render order of the common components in Boilerplate (#10011) by @msynk in #10012
- Improve http response exception handling in Boilerplate (#10014) by @ysmoradi in #10015
- Fix sign-in button's return-url issue in Boilerplate (#10022) by @ysmoradi in #10023
- Make Diagnostic controller work with anonymous sessions in Boilerplate (#10020) by @ysmoradi in #10021
bit BlazorUI
- Add ReadOnly parameter implementation to BitCircularTimePicker (#9978) by @Cyrus-Sushiant in #9980
- Show missing required asterisk in BitDatePicker's label (#9862) by @Cyrus-Sushiant in #9880
- Show missing required asterisk in BitDateRangePicker's label (#9888) by @Cyrus-Sushiant in #9889
- Show missing required asterisk in BitCircularTimePicker's label (#9890) by @Cyrus-Sushiant in #9892
- Add Append parameter to BitFileUpload component (#1562) by @Cyrus-Sushiant in #9887
- Add persist feature to BitTheme (#9707) by @msynk in #9885
- Show missing required asterisk in BitTimePicker's label (#9893) by @Cyrus-Sushiant in #9894
- Fix disposed timer issue in BitCarousel component (#9877) by @msynk in #9878
- Add IconUrl parameter to BitButton component (#9863) by @msynk in #9864
- Ignore RenderingCancelledException in render page function of BitPdfReader (#9850) by @msynk in #9908
- Add PersistScroll parameter to BitAppShell component (#9913) by @msynk in #9915
- Tune persist scroll feature of BitAppShell (#9925) by @msynk in #9926
- Improve disposable implementation in BlazorUI components (#9919) by @msynk in #9924
- Fix issues of timer utilization in BitCarousel (#9952) by @msynk in #9954
- Improve js & disposing implementation of BitCircularTimePicker (#9953) by @msynk in #9956
- Improve behavior of PersistScroll feature of BitAppShell (#9939) by @msynk in #9940
- Fix BitSnackbar container issue preventing user interaction (#9965) by @msynk in #9968
- Correct OnDismiss event calling in BitModal component (#10016) by @msynk in #10017
- Add darkTheme and lightTheme to init options of BitTheme js api (#10026) by @msynk in #10027
- Fix IconOnly issue in anchor mode of BitActionButton (#10030) by @msynk in #10031
bit SourceGenerators
v-9.4.1
We are excited to announce a new hotfix release mainly focusing on sales module in Boilerplate:
Full Changelog: v-9.4.0...v-9.4.1
bit Boilerplate
- Add missing Sales condition to ProductDto in Boilerplate (#9831) by @msynk in #9835
- Add sales entry to showcases section in repo's main readme (#9837) by @msynk in #9838
- Improve Boilerplate todo sample (#9840) by @ysmoradi in #9841
bit BlazorUI
Full Changelog: v-9.4.0...v-9.4.1
v-9.4.0
We are excited to announce a new stable release with the following enhancements:
bit BlazorUI
-
BitInfiniteScrolling Component
A robust solution for displaying large datasets. Data is fetched incrementally from the server as the user scrolls—similar to the behavior seen in Google Image searches. Live Demo -
Improved Swipe Gestures
Enhanced swipe functionality now closely replicates native app behavior for a smoother user experience. -
Additional New Components
Introducing BitCollapse and BitErrorBoundary to further expand our component library. -
Scroll Position Reset on Navigation (
AppShell's AutoGoToTop
)
When navigating between pages, the scroll position now automatically resets to the top for a consistent user experience.
bit Boilerplate
-
Enhanced Boilerplate Project Template
New components such as BitMessageBox have been integrated to simplify the Project Template codebase and improve overall maintainability. -
Pfx Certificate Handling for JWT
- Development: Expired certificates will no longer disrupt your workflow.
- Production: A clear, explicit error is displayed if the certificate has expired.
-
Caching Enhancements
Implemented response caching for JSON and HTML on Browser, CDN's Edge Servers and ASP.NET Core Output Caching with the ability to purge cache feature, resulting in a significant performance boost. -
Official Cloudflare Support
Now fully supporting projects deployed behind Cloudflare for enhanced security and performance. -
Unified Error Handling
When connectivity issues occur between the client and server (e.g., various socket errors), our detection logic consolidates these into a single error type (`ServerConnectionException). This logic has been improved in this release.
bit Besql
- Entity Framework Core Improvements for Client Applications
Two key enhancements for clients (in browsers, Android apps, etc.):- Simplified management for database migration and creation.
- Option to download a pre-populated SQLite database from the server, enabling a faster application startup.
bit Butil
- Optimized JavaScript Bootstrapping in Butil
Faster JavaScript interop, improves the overall performance of your application.
Thank you for your continued support! Enjoy the new features and improvements.
What's Changed
- Add BitInfiniteScrolling extra component (#9643) by @msynk in #9646
- Add missing dispose process to BitPdfReader (#9647) by @msynk in #9661
- Fix validatorRef null check issue on singin page of Boilerplate (#9667) by @msynk in #9665
- Add OrientationLock parameter to BitSwipeTrap (#9662) by @msynk in #9663
- Add missing base component inheritance to BitMessageBox (#9666) by @Cyrus-Sushiant in #9667
- Add module parameter to Boilerplate (#9668) by @ysmoradi in #9669
- Refactor Boilerplate parameters ordering (9683) by @ysmoradi in #9684
- Make
CS8785
warning as error in Boilerplate (#9685) by @ysmoradi in #9686 - Add RTL sample for BitMessageBox demo page (#9673) by @Cyrus-Sushiant in #9679
- Use BitErrorBoundary in Boilerplate (#9687) by @msynk in #9689
- Use BitMessageBoxService in Boilerplate (#9690) by @msynk in #9694
- Fix css style issues in BitProPanel (#9698) by @msynk in #9700
- Add OrientaionLock to BitSwipes (#9699) by @msynk in #9701
- Add missing base component inheritance to BitPdfReader (#9680) by @Cyrus-Sushiant in #9681
- Use inline style to preserve display css property in BitStack (#9704) by @msynk in #9709
- Add missing usage of Body parameter in BitAccordion (#9713) by @Cyrus-Sushiant in #9714
- Set default sort in categories / product pages of Boilerplate (#9718) by @ysmoradi in #9719
- Improve certificate loading approach in Boilerplate (#9712) by @ysmoradi in #9715
- BitCarousel component improvements (#9705) by @msynk in #9711
- Add besql dbcontext initialization hook (#9720) by @ysmoradi in #9721
- Improve Boilerplate offline db context migration (#9724) by @ysmoradi in #9725
- Add BitCollapse component (#9695) by @Cyrus-Sushiant in #9722
- Add response caching feature in Boilerplate (#9726) by @ysmoradi in #9727
- Add fast invoke JS runtime methods to Butil (#9729) by @msynk in #9731
- Improve Boilerplate response caching (#9734) by @ysmoradi in #9735
- Add Cloudflare parameter to create new project page of Platform website (#9738) by @ysmoradi in #9739
- Improve server connection exception detection in Boilerplate (#9740) by @ysmoradi in #9741
- Add sales module demo CD pipeline (#9744) by @ysmoradi in #9745
- Add sales module sections and pages to Boilerplate (#9678) by @msynk in #9706
- Improve sales module sample demo CD (#9747) by @ysmoradi in #9748
- Add missing home page link to product page of Boilerplate (#9750) by @msynk in #9751
- Render currency symbol correctly in Boilerplate (#9752) by @msynk in #9753
- Add products.xml to sitemap of Boilerplate (#9742) by @msynk in #9749
- Add WithQueryString extension method to IAppController to improve developer experience (#9757) by @ysmoradi in #9758
- Add missing skeleton loading for products carousel on home page in Boilerplate (#9763) by @msynk in #9766
- Add ReverseNavPanel parameter to BitLayout (#9755) by @msynk in #9760
- Implement IProblemDetailsWriter in Boilerplate (#9764) by @ysmoradi in #9765
- Improve product page loading in Boilerplate (#9770) by @ysmoradi in #9771
- Add missing skeleton loading to product page of Boilerplate (#9773) by @msynk in #9774
- Add Preload parameter to BitInfiniteScrolling component (#9768) by @msynk in #9772
- Improve loading approach of sales module in Boilerplate (#9776) by @ysmoradi in #9777
- Improve Preload parameter implementation in BitInfiniteScrolling (#9778) by @msynk in #9779
- BitShimmer improvements (#9767) by @msynk in #9784
- Improve Boilerplate response caching (#9782) by @ysmoradi in #9783
- Improve children alignment in BitButton (#9736) by @msynk in #9787
- Refactor Issue31751 of ef core across projects (#9790) by @ysmoradi in #9793
- Add AutoGoToTop parameter to BitAppShell (#9788) by @msynk in #9789
- Handle boilerplate sales module home page infinite scroll errors (#9796) by @ysmoradi in #9797
- Improve bit besql (#9799) by @ysmoradi in #9800
- Add Size and Color parameters to BitCheckbox (#9746) by @Cyrus-Sushiant in #9769
- Fix font size in the small size of BitButton (#9802) by @Cyrus-Sushiant in #9803
- Add missing CancellationToken to SuggestItemsProvider in BitSearchbox (#9804) by @Cyrus-Sushiant in #9808
- Add support for non-async operations to bit Besql (#9811) by @ysmoradi in #9812
- Add support for importing pre-populated SQLite file to Besql (#9813) by @ysmoradi in #9814
- Make bit Besql's ConfigureSqliteSynchronous public (#9819) by @ysmoradi in #9820
- Fix ObjectDisposedException in BitCarousel (#9821) by @msynk in #9823
- Improve sales module ui in Boilerplate (#9807) by @msynk in #9809
- Update BlazorUI documentation (#9826) by @msynk in #9828
...
v-9.3.0
What's Changed
- Add BitErrorBoundary component (#9622) by @msynk in #9627
- Fix responsive issues of BitSnackBar (#9623) by @msynk in #9628
- Remove responsive settings of dropdown in Boilerplate (#9631) by @msynk in #9632
- BitSearchBox component improvements (#9630) by @msynk in #9634
- Improve Boilerplate exception handling (#9635) by @ysmoradi in #9636
- Add BitMessageBox component (#9624) by @msynk in #9629
- Add Classes/Styles parameters in the BitMessageBox (#9637) by @Cyrus-Sushiant in #9638
- Add missing xml docs to all components (#9575) by @msynk in #9641
- Improve vertical scrolling behavior of BitNavPanel items (#9644) by @msynk in #9645
- Fix OData version in Bit BlazorUI demo website (#9650) by @ysmoradi in #9652
- Improve Boilerplate data validation (#9639) by @ysmoradi in #9640
Full Changelog: v-9.2.1...v-9.3.0
v-9.2.1
What's Changed
- Fix SkipIf and TakeIf extension methods issues in Boilerplate (#9598) by @msynk in #9599
- Use readonly inputs for current values of Email and PhoneNumber on settings page of Boilerplate (#9601) by @msynk in #9602
- Add WebOTP feature to BitOtpInput (#9600) by @msynk in #9603
- Remove unused CSS class in TodoPage.razor (#9585) by @Cyrus-Sushiant in #9604
- Add missing .net 9 assemblies from blazor.boot.json to passive first boot mode of Bswup (#9606) by @msynk in #9607
- Add staticwebapp.config.json to Boilerplate (#9610) by @ysmoradi in #9611
- Improve BitPullToRefresh's demo page (#9401) by @Cyrus-Sushiant in #9605
- Add NoValidate parameter to BitInputBase (#9616) by @msynk in #9617
- Apply WebOTP pattern to short messages in Boilerplate (#9612) by @ysmoradi in #9613
- Improve Boilerplate social sign-in (#9620) by @ysmoradi in #9621
Full Changelog: v-9.2.0...v-9.2.1
v-9.2.0
What's Changed
- Add BitProLayout component (#9502) by @msynk in #9509
- Add offline web app demo (#9542) by @ysmoradi in #9543
- Pass logger to velopack app (#9544) by @ysmoradi in #9545
- Add Classes/Styles parameters to BitButtonGroup (#9514) by @Cyrus-Sushiant in #9546
- Boilerplate project template maui improvements (#9549) by @ysmoradi in #9550
- Make social sign-in buttons clearer in Boilerplate (#9553) by @msynk in #9554
- add support for Boilerplate multiple web apps on different domains with one backend (#9551) by @ysmoradi in #9552
- Rename Toggled parameter in BitButtonGroup to Toggle (#9555) by @Cyrus-Sushiant in #9556
- Improve Boilerplate social sign-in in blazor hybrid (#9557) by @ysmoradi in #9558
- Add FullWidth parameter to BitGroupButton (#9559) by @Cyrus-Sushiant in #9560
- Add BitNavPanel extra component (#9163) by @msynk in #9518
- Improve api and styles of BitNavPanel (#9567) by @msynk in #9568
- Fix Boilerplate Server.Web issues in Standalone api mode (#9572) by @ysmoradi in #9573
- Improve platform detection in Boilerplate (#9576) by @ysmoradi in #9577
- Update layout structure of Boilerplate (#9565) by @msynk in #9566
- Enable sending null titles to header as page title in Boilerplate (#9581) by @msynk in #9582
- Fix BitExtraServices registration (#9586) by @msynk in #9587
- Fix small issues in Boilerplate (#9583) by @ysmoradi in #9584
- Improve Boilerplate social sign-in for Android apps (#9590) by @ysmoradi in #9591
- Assign null as SelectedItem when no item found for current URL (#9574) by @msynk in #9580
Full Changelog: v-9.1.2...v-9.2.0
v-9.1.2
What's Changed
- Fix link item click and navigation issues in BitNav (#9504) by @msynk in #9505
- Add blazor wasm standalone demo (#9506) by @ysmoradi in #9507
- Fix Sentry package reference issue in Boilerplate (#9501) by @Cyrus-Sushiant in #9508
- Fix search engines issue with StreamRendering enabled (#9510) by @ysmoradi in #9511
- Improve BitButtonGroup (#9463) by @Cyrus-Sushiant in #9517
- Improve data loading and caching in Boilerplate (#9515) by @ysmoradi in #9516
- Fix parameter name in Alignment sample BitStack (#9521) by @Cyrus-Sushiant in #9522
- Add Rel parameter to BitActionButton (#9524) by @Cyrus-Sushiant in #9525
- Improve Boilerplate SignalR PubSub integration (#9526) by @ysmoradi in #9527
- Fix parameter name in Boilerplate (#9531) by @Cyrus-Sushiant in #9532
- Improve Boilerplate refresh token rotation (#9528) by @ysmoradi in #9530
- Improve Boilerplate exception handler's display error mechanism (#9536) by @ysmoradi in #9537