Skip to content

Latest commit

 

History

History
164 lines (135 loc) · 12.1 KB

File metadata and controls

164 lines (135 loc) · 12.1 KB
layout default
title Release Notes
description Version history and release notes for Neatoo RemoteFactory
nav_order 10
has_children true

Release Notes

Version history for Neatoo RemoteFactory NuGet packages.

Highlights

Releases with new features, breaking changes, or bug fixes.

Version Date Highlights
v1.5.0 2026-04-14 Breaking: entire [Event] method attribute API deleted — EventAttribute, FactoryOperation.Event, AuthorizeFactoryOperation.Event, IEventTracker, IEventScopeInitializer, EventTrackerHostedService, AddRemoteFactoryEventScopeInitializer, diagnostics NF0401-NF0404, log events 9001-9009. Consumers using [Event] for fire-and-forget work migrate to manual Task.Run + IServiceScopeFactory.CreateScope(). [FactoryEventHandler<T>], IFactoryEvents, IFactoryEventRelay, and ICorrelationContext are unchanged.
v1.4.0 2026-04-14 Breaking: IFactoryEventRelay redesigned — single Relay(IReadOnlyList<FactoryEventBase>) hook replaces Register/Unregister; instance-method [FactoryEventHandler<T>] client path removed (NF0503 Warning). Feat: NoOpFactoryEventRelay default in Remote mode; [FactoryEvent] + [DynamicallyAccessedMembers] on FactoryEventBase with Inherited = true replace per-handler trimming codegen; UnknownFactoryEventTypeException. Fix: post-return ordering — Relay runs strictly after caller's continuation resumes (timing bug).
v1.3.0 2026-04-13 Feat: CanSave(T target) overload on IFactorySave<T> runs both non-target and target-parameterized auth methods. Fix: auth method triplication in generated LocalCanSave / LocalSave — value equality on AuthMethodCall / AspAuthorizeCall.
v1.2.0 2026-04-13 Fix: [FactoryEventHandler<T>] event records now round-trip correctly in Blazor WASM Release builds. Generator emits DtoConstructorRegistry.PreserveType<T>() for every event type plus nested records. New PreserveType<T>() primitive; [DynamicallyAccessedMembers(All)] added to Raise<T> and RegisterHandler<TEvent>.
v1.1.0 2026-04-10 Breaking: [FactoryEventHandler<T>] runs in the caller's scope, sequentially, awaited — so handlers participate in the factory's DB transaction. RaiseOptions.AwaitRemote and RaiseOptions.ContinueOnFail removed. IFactoryEvents.Raise gains a CancellationToken.
v1.0.0 2026-04-10 Production release — factory events ([FactoryEventHandler<T>] mediator + server-to-client relay, RaiseOptions.ServerOnly), API stability commitment
v0.29.0 2026-04-06 Authorization target parameter support, type-based param matching tests
v0.28.0 2026-04-03 IEventScopeInitializer for multi-tenant events, pipeline trace logging, fix parameter DTO trimming
v0.27.0 2026-03-31 Recursive nested DTO discovery for IL trimming
v0.26.0 2026-03-29 LazyLoad<T> inheritable for subclassing
v0.25.0 2026-03-28 LazyLoad<T> for deferred async loading with full serialization support
v0.24.2 2026-03-27 Fix event DI validation failure on Blazor WASM clients
v0.24.1 2026-03-26 Fix missing global:: prefix in generated type references
v0.24.0 2026-03-25 Trimming-safe DTO serialization via generator-emitted constructor registration
v0.23.2 2026-03-25 Fix DTO deserialization under IL trimming
v0.23.0 2026-03-21 Shared reference handling for mutable types, record bypass converter
v0.22.0 2026-03-20 Serializer responsibility redesign: converter-level reference handling
v0.21.3 2026-03-20 Fix record deserialization with $id/$ref metadata
v0.21.2 2026-03-08 Trimming-safe factory registration for all factory types
v0.21.1 2026-03-08 Fix factories trimmed when first overload has no callers
v0.21.0 2026-03-08 [Remote] requires internal (breaking), Can* auth-driven guards, trimming fixes
v0.20.1 2026-03-07 Fix internal methods excluded from public factory interfaces
v0.20.0 2026-03-07 Serialization property rename (breaking wire format), internals appendix
v0.19.0 2026-03-07 Trim-safe ordinal serialization
v0.18.0 2026-03-07 Auth type trimming fix, IsTrimmable on domain assemblies
v0.17.0 2026-03-06 Internal factory visibility, IL trimming, drop .NET 8
v0.16.1 2026-03-02 Fix net10.0 forced to v9 Microsoft.Extensions packages
v0.16.0 2026-02-28 Hosted Blazor WebAssembly, PersonApp renamed to Person.Client
v0.15.0 2026-02-26 Version reset from v10.x to v0.x pre-release
v0.14.0 2026-02-26 CanSave on IFactorySave<T>
v0.13.0 2026-02-18 [Execute] on class factories
v0.12.0 2026-02-01 CorrelationContext DI redesign, event correlation propagation fix
v0.11.2 2026-01-18 Fix nullable value type syntax in ordinal serialization
v0.11.1 2026-01-18 Fix nullable typeof() in ordinal serialization
v0.11.0 2026-01-15 Generator refactoring, exception stack trace fix
v0.10.0 2026-01-15 Support for params parameters in factory methods
v0.9.0 2026-01-13 Client-server code separation with FactoryMode.RemoteOnly
v0.8.0 2026-01-13 Optional CancellationToken on all factory methods
v0.7.0 2026-01-11 Fix duplicate Save method generation with multi-line parameters
v0.6.0 2026-01-07 Fire-and-forget domain events with [Event] attribute
v0.5.0 2026-01-04 Constructor injection compatibility, IL trimming documentation
v0.4.0 2026-01-04 CancellationToken support with IFactoryOnCancelled lifecycle hooks
v0.3.0 2026-01-03 Comprehensive logging with CorrelationId for distributed tracing
v0.2.0 2026-01-01 Ordinal serialization (40-50% smaller payloads), breaking: default format changed

All Releases

  • v1.5.0 - 2026-04-14 - Breaking: [Event] method attribute API fully deleted (attribute, FactoryOperation.Event, AuthorizeFactoryOperation.Event, IEventTracker, IEventScopeInitializer, EventTrackerHostedService, AddRemoteFactoryEventScopeInitializer, NF0401-NF0404, log events 9001-9009). Migrate fire-and-forget to manual Task.Run + IServiceScopeFactory.CreateScope(). [FactoryEventHandler<T>] / IFactoryEvents / IFactoryEventRelay / ICorrelationContext unchanged.
  • v1.4.0 - 2026-04-14 - Breaking: IFactoryEventRelay surface redesigned — Relay(IReadOnlyList<FactoryEventBase>) replaces Register/Unregister; instance-method [FactoryEventHandler<T>] no longer generated (NF0503 Warning). NoOpFactoryEventRelay default in Remote mode; [FactoryEvent] + trimming preservation on FactoryEventBase with Inherited = true. Fix: post-return ordering guarantee for relay dispatch.
  • v1.3.0 - 2026-04-13 - Feat: IFactorySave<T>.CanSave(T target) overload runs target-aware authorization. Fix: auth method triplication in generated LocalCanSave / LocalSave (value equality on AuthMethodCall / AspAuthorizeCall).
  • v1.2.0 - 2026-04-13 - Fix: Event records preserved from IL trimming in Blazor WASM Release builds; new DtoConstructorRegistry.PreserveType<T>() primitive; call-site [DynamicallyAccessedMembers] on Raise<T> and RegisterHandler<TEvent>.
  • v1.1.0 - 2026-04-10 - Breaking: [FactoryEventHandler<T>] shares the caller's DI scope — handlers participate in the factory's DB transaction. AwaitRemote/ContinueOnFail removed; Raise gains CancellationToken.
  • v1.0.0 - 2026-04-10 - Production release — factory events mediator + client relay, API stability commitment
  • v0.29.0 - 2026-04-06 - Authorization target parameter support
  • v0.28.0 - 2026-04-03 - IEventScopeInitializer, pipeline trace logging, fix parameter DTO trimming
  • v0.27.0 - 2026-03-31 - Recursive nested DTO discovery for IL trimming
  • v0.26.0 - 2026-03-29 - LazyLoad<T> inheritable for subclassing
  • v0.25.0 - 2026-03-28 - LazyLoad<T> for deferred async loading
  • v0.24.2 - 2026-03-27 - Fix event DI validation on Blazor WASM
  • v0.24.1 - 2026-03-26 - Fix missing global:: in generated type references
  • v0.24.0 - 2026-03-25 - Trimming-safe DTO serialization
  • v0.23.2 - 2026-03-25 - Fix DTO deserialization under IL trimming
  • v0.23.0 - 2026-03-21 - Shared reference handling for mutable types
  • v0.22.0 - 2026-03-20 - Serializer responsibility redesign
  • v0.21.3 - 2026-03-20 - Fix record deserialization with reference metadata
  • v0.21.2 - 2026-03-08 - Trimming-safe factory registration for all factory types
  • v0.21.1 - 2026-03-08 - Fix [DynamicDependency] trimming on multi-overload factories
  • v0.21.0 - 2026-03-08 - [Remote] requires internal, trimming fixes
  • v0.20.1 - 2026-03-07 - Fix internal methods on public factory interfaces
  • v0.20.0 - 2026-03-07 - Serialization property rename & internals appendix
  • v0.19.0 - 2026-03-07 - Trim-safe ordinal serialization
  • v0.18.0 - 2026-03-07 - Auth type trimming fix, IsTrimmable
  • v0.17.0 - 2026-03-06 - Internal factory visibility & IL trimming
  • v0.16.1 - 2026-03-02 - Fix net10.0 package versions
  • v0.16.0 - 2026-02-28 - Hosted Blazor WebAssembly
  • v0.15.0 - 2026-02-26 - Version reset from v10.x to v0.x
  • v0.14.0 - 2026-02-26 - CanSave on IFactorySave<T>
  • v0.13.0 - 2026-02-18 - [Execute] on class factories
  • v0.12.0 - 2026-02-01 - CorrelationContext DI redesign
  • v0.11.2 - 2026-01-18 - Nullable value type syntax fix
  • v0.11.1 - 2026-01-18 - Nullable typeof() fix
  • v0.11.0 - 2026-01-15 - Generator refactoring
  • v0.10.0 - 2026-01-15 - Support for params parameters
  • v0.9.0 - 2026-01-13 - Client-server code separation
  • v0.8.0 - 2026-01-13 - Optional CancellationToken on factory methods
  • v0.7.0 - 2026-01-11 - Parameter whitespace bug fix
  • v0.6.0 - 2026-01-07 - Fire-and-forget domain events
  • v0.5.0 - 2026-01-04 - Constructor injection compatibility
  • v0.4.0 - 2026-01-04 - CancellationToken support
  • v0.3.0 - 2026-01-03 - Logging with CorrelationId
  • v0.2.0 - 2026-01-01 - Ordinal serialization
  • v0.1.1 - 2026-01-01 - Version metadata fix

Release Notes Template

When creating release notes for a new version:

1. Create the release file

Create docs/release-notes/vX.Y.Z.md:

---
layout: default
title: "vX.Y.Z"
description: "Release notes for Neatoo RemoteFactory vX.Y.Z"
parent: Release Notes
nav_order: N  # Newest = 1, increment existing pages
---

# vX.Y.Z - Short Title

**Release Date:** YYYY-MM-DD
**NuGet:** [Neatoo.RemoteFactory X.Y.Z](https://nuget.org/packages/Neatoo.RemoteFactory/X.Y.Z)

## Overview

Brief 1-2 sentence summary of what this release delivers.

## What's New

- Feature additions with examples (or "None")

## Breaking Changes

- Any incompatible changes (or "None")

## Bug Fixes

- Resolved issues (or "None")

## Migration Guide

Step-by-step instructions for upgrading from previous version (if applicable).

## Commits

- `hash` - Commit message

2. Update this index

  • Highlights table: Add if the release has new features, breaking changes, or bug fixes
  • All Releases list: Always add (newest at top)