It's here, the long awaited Prism 8. This is a huge release and contains a number of breaking changes, bug fixes, new features and even a brand new Platform! So lets officially welcome the Uno Platform to the Prism family of supported platforms!
CI Feed Access
Beginning with Prism 8.0 all CI packages moving forward will only be available to Sponsors on the Sponsor Connect package feed.
Prism.Core - Notable Changes
Added additional Registration Methods to allow Scoped Services. (NOTE: Prism uses scoped lifetimes for Prism.Forms and creates a new scope each time a new Page is navigated to. It is not used anywhere else by Prism)
Added additional Registration Methods to allow Factory / Delegate methods to register services
Added additional Registration Methods to allow registering a single Implementation type for multiple services
BREAKING Removed ILoggerFacade and entire Prism.Logging namespace - recommended migration use Prism.Plugin.Logging or other 3rd party logging frameworks
Added ContainerLocator (NOTE: This replaces the Common Service Locator in Prism.Wpf)
Added ContainerResolutionException to help better identify what could not be resolved. This includes a GetErrors method to help dig in and identify why a type failed to be resolved
DelegateCommand - Added support for PropertyChanged events that pass string.Empty
Added Await extension to execute callbacks when working inside of a void method without needing to use async void
Added overload for IEventAggregator to provide filter
Prism.Forms - Notable Changes
Fixed bug with Dialog Service where Dialog would appear behind a Modal page
Enhancement with Dialog Service. The Dialog Service now adds a Modal page with a transparent background to prevent user interaction with Navigation Bars on the NavigationPage, TabbedPage, or MasterDetailPage. This also fixes issues related to the reparenting of content that some people experienced
Consolidated IPlatformNavigationService with INavigationService
Removed Xamarin.Forms DependencyResolver support
INavigationService is now a Scoped service. A new Scope will be set each time the PageNavigationService creates a new page. This allows Prism to reuse the same instance of the NavigationService for your ViewModel, the XAML Navigation Extensions, and within Regions
Changed IPageBehaviorFactory - only ApplyPageBehaviors is exposed, all other methods have been moved to protected virtual methods in PageBehaviorFactory
Added Navigation Error Handler that can be called without using async void this allows you to specify a delegate that should be called to handle the exception encountered.
Removed IAutoInitialize - recommended migration use Prism.Magician on Sponsor Connect
Remove AutoRegisterForNavigation - recommended migration use the much more powerful Prism.Magician on Sponsor Connect
NEW FEATURE - Region support for Prism.Forms is HERE!!!
Prism.Wpf - Notable Changes
Removed Legacy Bootstrapper
Added new PrismBootstrapper that follows the PrismApplication pattern for those apps that cannot use PrismApplication
BEHAVIOR CHANGE: ViewModelLocator is now Opt-Out not Opt-In. The ViewModelLocator.AutowireViewModel will automatically be set to true if the DataContext is null and the property has not been set.
Added XAML ContainerProvider to help resolve types in XAML
Fixed CurrentEntry for views not in Journal
Added support for multiple dialog windows
Updated to netcoreapp3.1
Added generic overloads for RegisterMappings
Added RegisterViewWithRegion generic method
Changes:
3fc52867e5ccdc5c21b7a231232bf06625d14d95 Merge pull request #2217 from PrismLibrary/uno-vml
9cedce4318b2b56bc818733b74b837e4b69915e7 normalize VML Autowire property name
Commits
3fc5286 Merge pull request #2217 from PrismLibrary/uno-vml
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps Prism.DryIoc from 7.2.0.1422 to 8.0.0.1909.
Release notes
Sourced from Prism.DryIoc's releases.
Commits
3fc5286
Merge pull request #2217 from PrismLibrary/uno-vml9cedce4
normalize VML Autowire property namea342a38
fix working directory7bab4ed
put Uno assemblies in Uno directory28bac21
prevent duplication of NuGet package artifacts75db987
update package feed info06aab3f
use latest nuget10c492a
Merge pull request #2215 from cabauman/docs/xml-comments0eb6d70
Add XML Docs to various interfaces and classes9ad0c69
Merge pull request #2194 from PrismLibrary/centralpackagesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)