-
Notifications
You must be signed in to change notification settings - Fork 77
Comparing changes
Open a pull request
base repository: FritzAndFriends/BlazorWebFormsComponents
base: v0.17
head repository: FritzAndFriends/BlazorWebFormsComponents
compare: v0.18
- 20 commits
- 183 files changed
- 4 contributors
Commits on Mar 19, 2026
-
feat: ASHX/AXD middleware handling + deprecation guidance docs (#478)
* feat: Add ASHX and AXD URL handling to middleware (#423) - Add EnableAshxHandling and EnableAxdHandling options (default: true) - Add AshxRedirectMappings dictionary for custom .ashx redirects - AshxHandlerMiddleware: 410 Gone default, 301 redirect with mapping - AxdHandlerMiddleware: 404 for most .axd, 410 Gone for ChartImg.axd - Existing .aspx rewriting behavior unchanged Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: Add deprecation guidance for Web Forms patterns (#438) Document migration guidance for runat=server, ViewState, UpdatePanel, Page_Load/IsPostBack, ScriptManager, and 3 additional patterns. 887-line guide with before/after code examples. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: Add 46 middleware tests for ASHX/AXD handling (#423) TestServer-based tests covering .ashx→410, .axd→404, ChartImg→410, custom redirect mappings, options toggling, .aspx regression guards, and edge cases (mixed case, query strings, substrings). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 8c18567 - Browse repository at this point
Copy the full SHA 8c18567View commit details -
feat: Add 5 remaining AJAX Control Toolkit extenders (#479)
* feat: Add TextBoxWatermarkExtender Implements placeholder text for TextBox controls, matching the original Ajax Control Toolkit TextBoxWatermarkExtender behavior. - WatermarkText property for placeholder text - WatermarkCssClass for styling the watermark state - JS behavior handles focus/blur/input events Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: Add DragPanelExtender Makes panels draggable by a handle element. Matches the original Ajax Control Toolkit DragPanelExtender behavior. - DragHandleID property to specify the drag handle element - Falls back to entire target if no handle specified - Handles edge cases (text selection, left-click only) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: Add ResizableControlExtender Allows users to resize elements by dragging a handle. Matches the original Ajax Control Toolkit ResizableControlExtender behavior. - HandleCssClass for styling the resize handle - ResizableCssClass applied while actively resizing - Min/Max width and height constraints - Creates resize handle if not found Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add DropShadowExtender and AlwaysVisibleControlExtender - DropShadowExtender: CSS box-shadow with opacity, width, rounded corners, position tracking - AlwaysVisibleControlExtender: Fixed positioning with 9 anchor points, offsets, animation support - New enums: HorizontalSide, VerticalSide for positioning Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add RoundedCornersExtender and UpdatePanelAnimationExtender - RoundedCornersExtender: Selective border-radius with BoxCorners enum, optional background color - UpdatePanelAnimationExtender: MutationObserver-based update detection with CSS class and fade animations - New enum: BoxCorners (flags for corner selection) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add PasswordStrength and MaskedEditExtender - PasswordStrength: Real-time password quality indicator with text/bar modes, 5 strength levels - MaskedEditExtender: Input masking for phone/date/SSN with configurable mask patterns - New enums: DisplayPosition, StrengthIndicatorType, MaskType, InputDirection, AcceptNegative, DisplayMoney Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add ValidatorCalloutExtender and HoverMenuExtender - ValidatorCalloutExtender: Validation error callout bubbles with positioning, highlight CSS, icons - HoverMenuExtender: Hover-triggered popup menus with delays and positioning - New enum: PopupPosition (TopLeft, TopRight, BottomLeft, BottomRight) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add SlideShowExtender - SlideShowExtender: Image carousel with auto-play, navigation controls, slide titles/descriptions - Client-side slide management via Slides parameter or data-slides attribute - Play/pause, next/previous controls with configurable interval Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add ListSearchExtender and BalloonPopupExtender - ListSearchExtender: Type-to-filter for ListBox/DropDownList with Contains/StartsWith matching - BalloonPopupExtender: Styled tooltip balloons with pointer arrows, multiple trigger modes - New enums: PromptPosition, QueryPattern, BalloonStyle, BalloonSize, BalloonPosition Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add docs, tests, and migration guide for new ACT extenders Documentation (12 new files in docs/AjaxToolkit/): - TextBoxWatermark, DragPanel, ResizableControl, DropShadow - AlwaysVisibleControl, RoundedCorners, UpdatePanelAnimation - PasswordStrength, ValidatorCallout, SlideShow, ListSearch, BalloonPopup - Updated index.md with all new components bUnit Tests (6 new test files, 104 tests): - TextBoxWatermarkExtender, DropShadowExtender, PasswordStrength - ValidatorCalloutExtender, ListSearchExtender, BalloonPopupExtender Migration Toolkit: - Updated AJAX-TOOLKIT.md with migration patterns for all 12 extenders Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: Set correct ACT defaults for HoverMenuExtender (HoverDelay=300, PopDelay=100) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(.squad): log ajax nav session and dashboard deferral decision - Log AJAX nav fix session (alphabetize items, collapsed state on desktop) - Document decision to defer AJAX Control Toolkit from health dashboard - Route Jubilee agent for sample nav updates - Merge inbox decision to decisions.md * fix(samples): alphabetize AJAX nav items and start collapsed - Sort GetByCategory() results alphabetically by name - Exclude AJAX category from desktop auto-expansion Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(.squad): Jubilee history + ajax nav decision Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(tests): scope DetailsView pager locator to main content The page-wide locator a:has-text('2') was matching collapsed nav sidebar links after AJAX nav alphabetization. Scope to .main-content to only match pager links within the component demo area. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for 64a6e5e - Browse repository at this point
Copy the full SHA 64a6e5eView commit details -
feat: Audit gap fixes — ID rendering, RouteData bug, style docs (#477)
* fix: strip [RouteData] from method params instead of replacing with [Parameter] The [RouteData] → [Parameter] conversion placed [Parameter] on method parameters, but ParameterAttribute targets properties only (CS0592). This caused build failures in ProductDetails.razor.cs and ProductList.razor.cs (Run 15 regression). Fix: strip [RouteData] entirely and leave a /* TODO */ block comment directing Layer 2 to promote the value to a [Parameter] property. Block comments avoid absorbing the closing ) of method signatures. All 15 L1 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: add ID rendering to 5 data controls Add ClientID-based id attribute rendering to GridView, DropDownList, FormView, DataList, and DataGrid following the established pattern from Button/TextBox/Label/Panel/CheckBox. DetailsView and HiddenField already had ID rendering. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: add Styling Components utility documentation Create comprehensive guide for the 66 style sub-components covering cascading parameter patterns, Web Forms to Blazor migration examples, and complete inventory organized by parent control. Added to mkdocs.yml under Utility Features navigation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Merge audit gap fixes — script stabilization, data control ID rendering, style docs Session: 2026-03-18T15-48-15Z-audit-gap-fixes Requested by: Team orchestration Changes: - Bishop: Fixed RouteData→Parameter conversion in bwfc-migrate.ps1 (CS0592, 15/15 L1 tests pass) - Cyclops: Extended ID rendering to data controls (GridView, DropDownList, FormView, DataList, DataGrid) - Beast: Created StylingComponents.md documentation (all 66 style sub-components) - Merged 5 decisions from inbox; deleted inbox files - Appended cross-agent team updates to Cyclops and Beast history Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Merge Forge's ID rendering approval decision Appended Forge's decision to decisions.md (ID rendering pattern approval for Bishop and Cyclops work). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: add 23 quick-win missing properties across 15 components Batch implementation of properties identified by gap analysis: - CausesValidation + ValidationGroup on 5 list controls (DropDownList, CheckBoxList, RadioButtonList, ListBox, BulletedList) - Calendar.TodaysDate, HyperLink.ImageUrl - DataPager: PagedControlID, QueryStringField - DataList: DataKeyField, EditItemIndex - Menu: ScrollDownText, ScrollUpText, IncludeStyleBlock - TreeView.NodeWrap - Validator stubs: EnableClientScript, ShowMessageBox, ControlToCompare - ScriptManager.ScriptPath, SiteMapPath.SkipLinkText Build passes clean (0 errors). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: Chart Phase 1 — Web Forms property compatibility via Pattern B+ Add 10 Web Forms Chart parameters with migration-compatible mappings: - 5 new enums: AntiAliasingStyles, GradientStyle, ChartHatchStyle, ImageStorageMode, TextAntiAliasingQuality - 8 [Parameter] properties: AntiAliasing, BackGradientStyle, BackHatchStyle, BackSecondaryColor, BorderlineDashStyle, ImageLocation, ImageStorageMode, TextAntiAliasingQuality - 2 EventCallback parameters: CustomizeLegend, CustomizeMapAreas - CSS rendering: BackGradientStyle maps to linear/radial-gradient, BorderlineDashStyle maps to border-style on container div - Server-only properties marked [Obsolete] with migration guidance Migrated Chart markup now compiles unchanged. Coverage: 25% -> 100% markup acceptance with 50% real visual fidelity. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: add 135 bUnit tests for new properties, Chart Phase 1, and ID rendering - 40 tests for quick-win properties across 15 components (CausesValidation/ValidationGroup, TodaysDate, ImageUrl, etc.) - 22 tests for Chart Phase 1 params and CSS gradient/border rendering - 10 tests for ID rendering on GridView, DropDownList, FormView, DataList, DataGrid - Total test suite: 2373 tests, 0 failures Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: update 8 sample pages with new property demonstrations - Chart/Styling: BackGradientStyle, BorderlineDashStyle, AntiAliasing demos - HyperLink: ImageUrl example - Calendar: TodaysDate override demo - Menu: ScrollDownText/ScrollUpText with Unicode arrows - TreeView: NodeWrap with long wrapping text - ValidationSummary: ShowMessageBox migration compatibility - DataPager: PagedControlID and QueryStringField section - DataList: DataKeyField and EditItemIndex demo Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: add 16 Playwright integration tests for sample pages - 15 smoke tests covering uncovered Ajax Toolkit sample pages - 1 Chart Styling render test verifying canvas elements and CSS - Every sample page now has at least one integration test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: add Chart property mapping strategy proposal Comprehensive analysis of Web Forms Chart vs Chart.js architecture with 4 implementation options per property, plugin analysis, and recommended Pattern B+ approach. Covers migration-first vs fidelity-first tradeoffs with full property mapping table. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: implement 10 high-impact gap items across 5 components Batch A - Validators: - BaseValidator: EnableClientScript (stub), AssociatedControlID (stub) Covers all 5 validators via inheritance Batch B - FormView: - AllowPaging (wired to pager visibility) - CellPadding, CellSpacing, GridLines (table rendering, GridView pattern) Batch C - Login events: - ChangePassword: OnSendingMail, OnSendMailError - CreateUserWizard: OnSendingMail, OnSendMailError (copied from PasswordRecovery pattern) Batch D - GridView + Menu: - GridView: AutoGenerateDeleteButton (wired to command column) - Menu: DynamicHorizontalOffset, DynamicVerticalOffset Build passes clean (0 errors). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: add 29 bUnit tests for next batch gap items - BaseValidator EnableClientScript/AssociatedControlID on RequiredFieldValidator + CompareValidator - FormView AllowPaging, CellPadding, CellSpacing, GridLines - GridView AutoGenerateDeleteButton (including rendered delete link verification) - ChangePassword + CreateUserWizard OnSendingMail/OnSendMailError events - Menu DynamicHorizontalOffset/DynamicVerticalOffset Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for eac6c4b - Browse repository at this point
Copy the full SHA eac6c4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e0fc67 - Browse repository at this point
Copy the full SHA 6e0fc67View commit details -
Clarify library description in README
Updated the description to clarify the purpose of the library.
Configuration menu - View commit details
-
Copy full SHA for 8301e98 - Browse repository at this point
Copy the full SHA 8301e98View commit details -
docs: remove obsolete [HandlerRoute] attribute from ASHX migration gu…
…ide (#481) The [HandlerRoute] attribute and MapBlazorWebFormsHandlers() were eliminated during the design pivot to Minimal API registration. The actual API uses MapHandler<T>("/path") in Program.cs, but the documentation still referenced the old attribute-based pattern throughout. Changes: - Remove all [HandlerRoute(...)] decorations from code examples - Replace MapBlazorWebFormsHandlers() with explicit MapHandler<T>() calls - Update Quick Start checklist step 5 to reference Program.cs registration - Add Program.cs registration snippets to all handler examples - Update troubleshooting table and summary section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e21869c - Browse repository at this point
Copy the full SHA e21869cView commit details -
Tier 2: Property/event gaps + health detection fixes (6 components to…
… 100%) (#483) * Tier 2: Property/event gaps + health detection fixes Health detection: - Add TypeAliases mapping in ComponentHealthService for components whose class name differs from the tracked name (AspNetValidationSummary) - Fix reference baselines: FileUpload read-only props, TreeView DataSourceID on stop type, CustomValidator ServerValidate as Func not EventCallback Component property/event additions: - TreeView: 9 new properties (image URLs, tooltips, config stubs) - BulletedList: 4 properties + 3 events (Click alias, SelectedIndexChanged, TextChanged, AutoPostBack, SelectedIndex, SelectedValue, Text) - SiteMapPath: 2 events (ItemCreated, ItemDataBound) + SiteMapNodeItemEventArgs - CustomValidator: 2 properties (ClientValidationFunction, IsValid) Fix existing AutoGenerateDataBindings="False" "false" in sample + test Health: 6 components raised to 100% (44 50/59) Tests: 2,470 pass (22 new) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add docs, samples, and integration tests for Tier 2 features New sample pages: - TreeView/ImageAndConfig: CollapseImageUrl, ExpandImageUrl, tooltips, MaxDataBindDepth, AutoGenerateDataBindings, EnableClientScript - BulletedList/Selection: Click alias, SelectedIndex, SelectedValue, AutoPostBack, Text, SelectedIndexChanged, TextChanged - SiteMapPath/Events: ItemCreated and ItemDataBound events Updated sample: - CustomValidator: ClientValidationFunction and IsValid properties Documentation updates: - TreeView.md: Image Customization and Data Binding Config references - BulletedList.md: Selection properties, Click alias, events - SiteMapPath.md: Events section, removed ItemDataBound from NOT Supported - CustomValidator.md: Full documentation (was _TODO_) Integration tests: - Added 3 new InlineData entries for new sample pages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix navigation for new sample sub-pages Add SubPages entries to ComponentCatalog.cs so the sample app navigation links to the new pages: - BulletedList: added "Selection" sub-page - SiteMapPath: added "Events" sub-page - TreeView: added "ImageAndConfig" sub-page (alphabetical order) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: BulletedList Selection demo separate interactive vs migration stubs - Click alias demo remains interactive with clear CTA - New OnClick+SelectedIndex tracking demo shows functional selection - Migration stub section clearly labeled as markup compatibility only - Removed misleading SelectedIndexChanged/TextChanged interactive demos - Updated docs to clarify stubs are accepted but not fired Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: wire up SiteMapPath ItemCreated/ItemDataBound events - Events now fire during OnParametersSetAsync when navigation path changes - Uses URL change tracking to prevent re-render loops - ItemCreated fires for each node after path is built - ItemDataBound fires for each node after ItemCreated - All 2,470 bUnit tests pass - All 243 integration tests pass (including SiteMapPath/Events) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 84c1d95 - Browse repository at this point
Copy the full SHA 84c1d95View commit details -
feat: Add docs and sample pages for 6 sub-100% components (#482)
* feat: Add docs and sample pages for 6 sub-100% components Add missing documentation and sample pages to bring 6 components to 100% health score (44 -> 50 components at full health). Documentation added: - View.md - MultiView child container component - Content.md - Master page content region component - ContentPlaceHolder.md - Master page placeholder component - MasterPage.md - Master page layout component Sample pages added: - RadioButton - standalone radio button with grouping, alignment, events - NamingContainer - ID scoping with nesting, ctl00 prefix, visibility Catalog entries added for View, Content, ContentPlaceHolder, RadioButton, and NamingContainer in ComponentCatalog.cs. Updated mkdocs.yml navigation. All 2,448 tests pass. MkDocs strict build passes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: Remove duplicate RadioButton sample page causing route conflict The PR added Components/Pages/ControlSamples/RadioButton/Index.razor but Pages/ControlSamples/RadioButton/Index.razor already existed with the same @page route. The ambiguous route crashed the Blazor circuit, cascading failures to 32 integration tests. All 243 integration tests now pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 41715f9 - Browse repository at this point
Copy the full SHA 41715f9View commit details -
feat: Quick wins - sample pages, docs, and integration tests
- Add standalone sample pages for Content, ContentPlaceHolder, and View (previously only available via shared MasterPage/MultiView group pages) - Update ComponentCatalog routes to point to individual pages - Create BaseValidator and BaseCompareValidator documentation - Add to mkdocs.yml navigation - Add 14 integration tests: 3 smoke tests + 11 interaction tests - Validator interaction tests for CompareValidator, RangeValidator, RegularExpressionValidator, CustomValidator, ValidationSummary - Content, ContentPlaceHolder, View smoke and render tests - Fix validator test assertions to check visibility (not DOM text content) since validators keep error text in DOM when hidden Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for c0582da - Browse repository at this point
Copy the full SHA c0582daView commit details -
Merge pull request #484 from csharpfritz/feature/quick-wins-docs-and-…
…samples feat: Quick wins - sample pages, docs, and integration tests
Configuration menu - View commit details
-
Copy full SHA for a66a911 - Browse repository at this point
Copy the full SHA a66a911View commit details
Commits on Mar 20, 2026
-
feat: Medium effort - fidelity divergences docs, ID rendering tests, …
…Substitution promotion (#485) - Add Known Fidelity Divergences documentation (ListView DOM, Calendar sub-IDs, Label, FormView, ID coverage) - Add DataList ID rendering tests (3 tests: table with ID, table without ID, flow layout with ID) - Add HiddenField ID rendering tests (2 tests: with and without ID) - Update Substitution status from Deferred to active in tracked-components.json - Correct audit: 7/8 data controls already have id=ClientID rendering - Mark audit priority #2 (Extend ID rendering) as DONE - Add fidelity doc to Migration section in mkdocs.yml Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for be68b5e - Browse repository at this point
Copy the full SHA be68b5eView commit details -
docs: Roslyn Analyzer documentation and samples (#486)
Add 8 Roslyn analyzers with code fixes for Web Forms migration patterns: - BWFC001: Missing [Parameter] attribute - BWFC002: ViewState usage - BWFC003: IsPostBack usage - BWFC004: Response.Redirect - BWFC005: Session usage - BWFC010: Required component attributes - BWFC011: Web Forms event handler signatures - BWFC012: runat=server leftovers Includes 89 tests, MkDocs documentation, and sample app content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 46cb20d - Browse repository at this point
Copy the full SHA 46cb20dView commit details -
fix: use document line endings in code fix providers for cross-platfo…
…rm CI Code fix providers for BWFC002, BWFC004, BWFC010, BWFC012 hardcoded \r\n in EndOfLine trivia, causing test failures on Linux CI runners where source files have \n line endings. Added SyntaxExtensions.DetectEndOfLine() helper that reads the first EndOfLineTrivia from the syntax tree, ensuring code fixes match the document's existing line ending style. Fixes failing tests in PR #487. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f6e5dbe - Browse repository at this point
Copy the full SHA f6e5dbeView commit details
Commits on Mar 21, 2026
-
Merge pull request #488 from FritzAndFriends/fix/analyzer-crlf-bug
fix: cross-platform line endings in analyzer code fix providers
Configuration menu - View commit details
-
Copy full SHA for 83e0f45 - Browse repository at this point
Copy the full SHA 83e0f45View commit details -
feat: BWFC013/014 analyzers, architecture guide, CI docs (#487)
* feat: Add BWFC013/014 analyzers, architecture guide, and CI docs Analyzer Expansion: - BWFC013: Detects Response.Write/WriteFile/Clear/Flush/End usage - BWFC014: Detects Request.Form/Cookies/Headers/Files/QueryString access - Both produce WARNING diagnostics with guidance-only code fixes (TODO comments) - 21 new tests (111 total, all passing) Documentation: - dev-docs/ANALYZER-ARCHITECTURE.md: Contributor guide for building analyzers - docs/Migration/Analyzers.md: BWFC013/014 entries, CI/CD integration section, .editorconfig severity tuning, prioritization guide Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Analyzer sprint 1 complete orchestration & decision logs merged Session: 2026-03-20T14-18-05Z-analyzer-sprint1 Requested by: Scribe Changes: - Orchestration logs for Cyclops (BWFC013/014 analyzers, 6 files, 111 tests) and Beast (architecture guide, 579 lines) - Session log for analyzer sprint 1 execution - Merged 10 decision inbox files decisions.md (BWFC013/014 IDs, analyzer docs, deprecation guidance, ASHX/AXD middleware, RouteData fix, component audit, navigation UX, sample pages, middleware testing) - Deleted all inbox files after merge - Appended team updates to Cyclops, Beast, Forge, Jubilee, Rogue history.md files - PR #487 opened on upstream targeting dev branch * feat: bundle analyzers in main NuGet + add -Prescan switch to L1 script Task 1: Added ProjectReference from BlazorWebFormsComponents to BlazorWebFormsComponents.Analyzers with OutputItemType=Analyzer so consumers get Roslyn analyzers automatically via the main NuGet package. Task 2: Added -Prescan switch to bwfc-migrate.ps1 that scans source .cs files for 9 BWFC analyzer patterns (BWFC001-005, 011-014) and outputs a JSON summary report without performing any migration. Includes human-readable breakdown via Write-Host. Build: 0 errors, 111 analyzer tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: add Roslyn analyzer tests to build and squad-ci workflows - build.yml: restore, build, run, upload, and publish analyzer test results - squad-ci.yml: replace placeholder with dotnet restore/build/test for both suites - Add setup-dotnet step to squad-ci.yml for .NET 10.0.x Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: use DetectEndOfLine() for cross-platform CI compatibility All 4 code fix providers (BWFC001, BWFC004, BWFC013, BWFC014) used hardcoded \r\n in SyntaxFactory.EndOfLine(), causing test failures on Linux CI where source strings use \n. - Add SyntaxExtensions.DetectEndOfLine() helper that reads line endings from the existing syntax tree - Replace hardcoded \r\n with root.DetectEndOfLine() in all 4 code fix providers - Replace foreach+if with LINQ .Where() (CodeQL suggestion) All 111 analyzer tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: use DetectEndOfLine() in MissingParameterAttributeCodeFixProvider The using directive insertion used SyntaxFactory.CarriageReturnLineFeed which hardcodes CRLF, failing on Linux CI where source uses LF. Replace with newRoot.DetectEndOfLine() for cross-platform compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ed49fd6 - Browse repository at this point
Copy the full SHA ed49fd6View commit details
Commits on Mar 22, 2026
-
Add sitemap and sitemap meta tag to docs site (#499)
* Initial plan * Add sitemap meta tag to docs site via MkDocs Material theme override Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com> Agent-Logs-Url: https://github.com/FritzAndFriends/BlazorWebFormsComponents/sessions/0a9bccbb-1c5c-4660-af93-5084ce1fc875 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 9a884b7 - Browse repository at this point
Copy the full SHA 9a884b7View commit details
Commits on Mar 23, 2026
-
Configuration menu - View commit details
-
Copy full SHA for c7b4b4b - Browse repository at this point
Copy the full SHA c7b4b4bView commit details -
chore: bump version.json to 0.18.0 for v0.18 release
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d705290 - Browse repository at this point
Copy the full SHA d705290View commit details -
fix: disable NBGV in release workflow and normalize SemVer version
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 08852c3 - Browse repository at this point
Copy the full SHA 08852c3View commit details -
fix: remove NBGV from release builds to fix package versioning
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 9bf8669 - Browse repository at this point
Copy the full SHA 9bf8669View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.17...v0.18