Skip to content

Releases: wieslawsoltes/Dockyard

Dockyard 0.2.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 05:14
9da896c

Dockyard 0.2.0 — Real browser-window floating

npm install @wieslawsoltes/dockyard@0.2.0

Real browser windows and existing in-page floating now share one DockingManager,
layout model and retained DOM. In-page remains the default. Configure
FloatingWindowMode, override an individual content item, or explicitly call
FloatInBrowserWindow() / FloatInPage(). Familiar .Float(), .Dock(),
capabilities, commands and cancelable events remain available.

This release adds multi-window documents and nested pane groups; cross-window
HTML drag-and-drop; child-aware splitters, menus, keyboard and focus; live
styles/theme/direction; actual screen geometry; safe popup fallback; configurable
native-close recovery; host switching; persisted browser intent and explicit
resume; host/collection lifecycle notifications; native Window handles on
floating controls; content-document change hooks and complete cleanup.

The full playground includes hosting controls and a separate
multi-window example.
API, lifecycle and platform contract.

The release gate runs 66 core tests, strict TypeScript and installed-package
checks on Node 22/24, 34 existing Chromium interaction groups, 21 new
HTTP-origin browser-window groups, and HTTP sample/persistence checks. Immutable
npm/browser/showcase/source archives include SHA-256 checksums. The existing
workflow publishes GitHub Packages, the GitHub release, the public npm package
with provenance, and the GitHub Pages showcase after verification.

Browser permission and same-origin rules still apply. Native OS window chrome,
privileged monitor placement, arbitrary cross-document framework portals,
iframe state preservation across documents, and independent child runtimes are
not promised. Physical multi-monitor and non-Chromium qualification are not
claimed. No WPF runtime or arbitrary .NET API parity is introduced. The Blazor
package retains its independent version and release cycle.

Dockyard Blazor 0.2.2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:03
b70e805

Dockyard.Blazor 0.2.2

This release hardens the visual component and dynamic Razor root lifetimes while retaining all native docking and advanced interop APIs.

  • Concurrent visual component disposal shares one completion task, releases all handles even after native cleanup failure, preserves the failure for repeated callers, and suppresses callbacks queued before removal.
  • Template removal waits for an in-flight module import before releasing its handle. Circuit registries reject new registrations after disposal.
  • Dynamic template factories return an awaitable disposal fence, coalesce rapid updates, preserve roots during same-turn DOM movement, and release late-created roots and context records.
  • BrowserComponent.IsReady and IsDisposed expose lifecycle state.
  • Eight new JavaScript lifecycle regressions, managed visual/template lifecycle checks and actual-package browser tests cover moving, updating and recreating real Razor templates in WebAssembly and Interactive Server.

The package targets .NET 8 and .NET 10 and includes local JavaScript/styles, symbols, and runnable sample artifacts. Publication remains gated on validation and complete public NuGet payload comparison. Desktop API, physical GPU, all-browser and WebView qualification are not claimed.

Dockyard Blazor 0.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 08:20
436a489

Blazor 0.2.1 — interop lifetime and identity corrections

  • Preserve shared and cyclic native argument graphs without recursive stack overflow or mutation.
  • Await asynchronous listener cleanup, and continue cleanup after an individual listener fails.
  • Make concurrent native and managed module/subscription disposal calls await the same completion fence; repeated failed disposal retains its error.
  • Resolve native callable handles consistently for property access, method invocation and disposal.
  • Cancel initialization waits without cancelling another caller's shared initialization; pre-cancelled calls allocate nothing.
  • Prevent late constructors and mounts from starting after their owning session is disposed.
  • Add CallFunctionJsonAsync<T> for complete streamed callable results.

Validation includes regression tests, package inspection, managed lifecycle tests and package-restored .NET 8/.NET 10 WebAssembly/Interactive Server browser consumers. Existing engine behavior and compatibility limits are unchanged.

Dockyard Blazor 0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 06:26
a1721f2

Dockyard.Blazor 0.2.0

  • Self-contained .NET 8/.NET 10 Razor class library with the actual Dockyard JavaScript engine and styles.
  • DockingManager, typed document/tool options, native model access, layout persistence and events.
  • Real Razor pane templates with scoped registration, shadow-DOM input handling and independent root lifetimes.
  • Streamed JSON/binary results and full DTO notifications, opaque native function references and literal application-data arguments.
  • WebAssembly and Interactive Server samples, actual-package managed/browser tests, native pane callback regression and non-root hosting.
  • Validation-gated NuGet publication, public payload verification, symbols, runnable samples and checksums.

This package wraps the browser engine rather than reimplementing a desktop framework in C#. Generic native interop complements typed APIs. Synchronous native callbacks execute in the browser; see INTEGRATION.md for ownership, template state and hosting contracts. Existing native compatibility limits remain applicable.

Dockyard 0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 20:55
116dcd6

Dockyard 0.1.0

First public npm release of the dependency-free docking component:

npm install @wieslawsoltes/dockyard@0.1.0

Use ES modules from @wieslawsoltes/dockyard, headless layout models from @wieslawsoltes/dockyard/model, and styles from @wieslawsoltes/dockyard/styles.css. TypeScript declarations and the standalone browser distribution are included.

The release pipeline validates Node 22/24, installed-package behavior and TypeScript, Chromium interactions, HTTP entry points and persistence. It publishes immutable npm/browser/showcase/source archives with SHA-256 checksums, GitHub Packages and a provenance-enabled public npm package, then verifies the public download and a fresh installation.

The live Dockyard demo and existing compatibility documentation remain available. This release preserves the existing AvalonDock-style browser API and its documented platform boundaries.