Skip to content
Nuvyntra Labs

Documentation

Roadmap

Phases 1–10 are shipped in 1.3.0. 1.0.0 is the SemVer lock. Library, templates, and Marketplace IDE wrappers are aligned at 1.3.0.

Versions

1.0.0 is the SemVer lock. Public 1.x APIs stay source-compatible; 1.1.0+ may add surfaces; breaking changes wait for 2.0.0. Current public packages are 1.3.0. Phases 8–10 shipped together in 1.3.0 (1.1.0 and 1.2.0 were not published as separate nupkgs). Shipped 0.6.1 APIs plus UseAuth<TChallenge>() are the contract. From 0.6.1-preview, install without --prerelease and replace GuardedNavigator reconstruction with UseAuth.

VersionMeaning
0.1.0-designDocuments + solution skeleton
0.1.0-previewPhase 1 — Core + host + Shell navigator + dialogs + validation + pagination
0.3.0-previewPhase 2 — page host, URI stack, toast, multi-window
0.4.0-previewPhase 3 — forms, Reactive, cache policies, pipeline, scopes
0.5.0-previewPhases 4–5 — generators, persist/auth, productization
0.6.0-previewDevice-safe marshal, weak CanExecuteChanged, overlay toasts, host/auth/forms UX
0.6.1-previewHost-safe navigator, UseNavigationPage + replace-root, SectionHost, SnapshotCollection
1.0.0Phases 6–7 — 15-minute path, Playground, UseAuth, SemVer lock
1.0.1dotnet new mvvmexpress / mvvmexpress-page, plus VS Code and Visual Studio Marketplace wrappers
1.0.2Library, templates, and IDE extensions aligned
1.1.0Phase 8 — one path, [NotifyDependsOn], CT interop, MVVME001–003 (shipped inside 1.3.0)
1.2.0Phase 9 — Shell parity, modules, modal stack, sibling adapters (shipped inside 1.3.0)
1.3.0Phase 10 — analyzers, ILLink, contract tests — current

Shipped (1.3.0)

  • Phase 1: ObservableModel, commands, ViewModel lifecycle, AsyncState, Outcome, MessageHub, AddMvvmExpress / UseMvvmExpress, leak and scale tests.
  • Phase 2: INavigator, MauiShellNavigator, MauiPageNavigator, URI stack, dictionary/URI args, IWindowContext, GuardedNavigator, IDialogs, MauiNotifier toast, IValidator, PagedCollection, SearchQuery.
  • Phase 3: FormViewModel, IPropertyObservable / CombineLatest, ICachedFetcher, IOperationExecutor, command debounce / throttle / queue, child composition, IViewModelScopeFactory, IFeatureSwitch / IPermissionGate / IFileStore / IMediaPicker.
  • Phase 4: [Notify], command / register / route / persist / auth attributes, AddGeneratedViewModels, DeepLinkRouteMap sample, CommunityToolkitMessageHub, IStateStore, IMvvmExpressDiagnostics.
  • Phase 5: migration guides, AOT/trim notes, BenchmarkDotNet, Testing fakes, ScopedNavigator pop-GC, NuGet SourceLink / snupkg / tags.
  • 0.6.0: UI-thread marshal, no-throw ICommand.Execute, weak CanExecuteChanged, Window.AddOverlay toasts, UseShell / UseDialogs, dirty confirm, GuardedNavigatorOptions, IAccountService, ModuleInitializer routes, AuthApp, Validation trim roots.
  • 0.6.1: Navigators hop before new Page(), UseNavigationPage + ResetAsync replace-root, SectionHostViewModel, SnapshotCollection, SearchQuery.CommittedText, FormViewModel.Bind, CoalescingDispatcher, ChatHost sample.
  • 1.0.0: UseAuth<TChallenge>() / AddAuth<TChallenge>(), 15-minute getting started, cheat sheet, cookbook, Playground, design-review sign-off, SemVer lock.
  • 1.0.1: Plugin.Maui.MVVMExpress.Templates — dotnet new mvvmexpress (MainPage + MainPageViewModel, login, list, form, tests) and mvvmexpress-page. CI flake and SourceGenerators snupkg pack fixes.
  • 1.0.2: Library, templates, and IDE extensions aligned. No API change.
  • Phase 8 (in 1.3.0): one registration path, generated [RegisterView] page maps, [NotifyDependsOn], CommunityToolkit ObservableObject interop, MVVME001–003, 1.0 Contract.Tests, ManualCounterViewModel escape hatch. FormViewModel.Bind is public.
  • Phase 9 (in 1.3.0): IModule / AddModule<T>(), PushModalAsync / PopModalAsync, UseDeepLinks / UseSecureSessionAuth (fail closed), SectionHostView, MvvmSearch, CollectionBind.AsyncFetch. Shell flyout / tabs / // routes match NavigationPage coverage.
  • Phase 10 (in 1.3.0): MVVME010–013, ILLink descriptors for Core forms, Navigation, Dialogs, and Pagination. Hardware RSS and a production post-mortem stay documented as manual reports.
  • IDE wrappers: Visual Studio Code and Visual Studio Marketplace extensions pin Plugin.Maui.MVVMExpress.Templates 1.3.0 and run dotnet new. They do not copy the scaffold.

SemVer contract

Design-review sign-off is recorded (2026-09-02). Accepted 1.0 scope: host-process BenchmarkDotNet and ScaleProfile rather than device RSS; in-memory pop-GC rather than a device-window detach run; Mac Catalyst and Windows are single-window host targets on Host / Navigation / Dialogs. Sibling capability plugins remain Android + iOS. Phases 8–10 added surfaces and may deprecate, not break, 1.0 types.

After 1.3.0

Phases 8–10 are shipped. Remaining work is outside the 1.3 catalog gate: hardware RSS / on-device scroll, a device-window detach run, a production post-mortem you control, multi-window desktop as a default path, and a Windows nupkg RID when packing on macOS. Breaking API changes wait for 2.0.0.

Explicitly deferred past 1.3

  • Prism-style regions.
  • ReactiveUI IScreen routing as a first-class host.
  • A built-in remote feature-flag or auth provider (use FeatureFlags / SecureSession).
  • Multi-window desktop, desktop toast QA, and a Windows nupkg RID when packing on macOS.
  • A bottom-sheet control library (Dialogs stays an abstraction).
  • A Visual Studio binding debugger visualizer.

Discussion

Comment on Plugin.Maui.MVVMExpress. The thread lives on this component's GitHub repository (nuvyntralabs/Plugin.Maui.MVVMExpress). Sign in with GitHub — Giscus uses Discussions, Utterances uses Issues.