Description
This is the Prism 8 Release Candidate! There are lots of changes including some major breaks as noted by the major version bump. Many of the obsolete API's in Prism 7 have now been removed in Prism 8.
BREAKING
- The entire Prism.Logging namespace has been removed. This will present a number of binary breaks including with popular libraries like Prism.Plugin.Popups. You may need to wait for v8 compatible packages to be produced before updating.
- The Legacy Container specific Bootstrapper's in Prism.Wpf have been removed. You will need to migrate to the new PrismBootstrapper or PrismApplication
Highlights
- Prism.Uno... Introducing Prism for Uno / WinUI. Note that if you are building a straight WinUI/UWP app there is no dependency on Uno even though you will need to install the Prism.Uno packages.
- More robust Container Abstractions now allow registering Factory / Delegate methods, and support for Scoped Lifetimes
- Added ContainerResolutionException that can help you to diagnose exactly what caused the error
- Removed CommonServiceLocator from Prism.Wpf
- Updates to Xamarin.Forms 4.6 - Adds InvokeOnMainThreadAsync methods to IDeviceService
- Adds Async helpers to avoid
async void
without blocking the UI Thread - Adds brand new Prism.Forms.Regions package to bring classic Regions support to Xamarin.Forms projects. NOTE It'll be a while before we get docs for this. In the mean time, look at the WPF docs on Regions as the API is ALMOST entirely the same. You can also look at the E2E app for Forms in the Prism repo
- Updates to Xamarin.Forms 4.8
- Changed the Behavior of the Prism.Forms DialogService. We no longer reparent the content of the currently visible ContentPage. We now use a Modal Page with newly added support for transparent Modal Page backgrounds from Xamarin.Forms
- Changed the definition of IModuleManager and added several helper methods to make it even easier to manage and load your Modules
- Updated Prism.Forms INavigationService with method calls/extensions that were previously on the now removed IPlatformNavigation
- Support for automatic resolution and injection Func<T>, Lazy<T>, and IEnumerable<T>
- Made the ViewModelLocator.AutowireViewModel property Opt-Out rather than Opt-In for WPF & Uno Platform
- Removed the DependencyResolver integration with Xamarin.Forms
Changes:
- 4049b3e Merge pull request #2181 from PrismLibrary/transparent-modal
- 3edc501 fix iOS modal transparency
- 6daceb0 Merge pull request #2180 from PrismLibrary/module-manager
- 75256c0 add tests for the ModuleManager Extensions
- 413ca57 add ModuleInfo collection to IModuleManager
- 5a06d41 Merge pull request #2178 from PrismLibrary/remove-lagcy-bootstrappers
- 59d1eba fixing test - change in underlying DryIoc API reference
- 44de606 fix moq resolution with DryIocContainerExtension
- 88b90b9 removed legacy bootstrapper
- d5cb510 Merge pull request #2176 from PrismLibrary/remove-logger
See More
- f1bf6ca add missing shared test project
- 48c2533 fixing xml docs
- 86510aa remove ILoggerFacade
- 463d18a Merge pull request #2175 from PrismLibrary/xaml-catalog
- c200a23 Merge pull request #2174 from Reapism/patch-1
- 3c45cd0 comment out post build task
- 760e306 reverted .net core target version
- 3fee86e added tests and fixed backwards compatibility for old file path
- 20e0cb8 fixed xcopy command to run on the build server
- b3016d8 added some tests
- 061d078 removed old API for creating xaml catalogs
- 382e691 renamed xaml module catalog
- 6efa943 implemented new XamlResourceCatalog
- 6f3f297 Fix some formatting and comments.
- 7b614ec Merge pull request #2173 from PrismLibrary/remove-platform-di
- 23527f7 Merge pull request #2172 from PrismLibrary/platformnavigation
- 43a3cbb remove DependencyResolver test
- a4fe2aa link updates
- 086d30c update deprecated Icon to use IconImageSource
- 0b1ac68 removes the dependency resolver from PrismApplication
- 818495b merge IPlatformNavigationService into INavigationService
- 1a355be Remove ILoggerFacade from PageNavigationService
- 522799b Merge pull request #2171 from PrismLibrary/vml-opt-out
- 30a5b5b remove debug code
- c31d9d8 make viewmodellocator opt-out
- 43d1545 Merge pull request #2169 from PrismLibrary/transparent-modals
- 05e9a73 updating tests
- 0ca6e0e use modal page
- d1646c3 Merge pull request #2168 from PrismLibrary/region-fixes
- 591bdb0 remove GitHub packages
- 92283bd use base region
- b83ffd4 change to RegisterForRegionNavigation - fixes #2166
- d9f8368 Merge pull request #2165 from PrismLibrary/package-descriptions
- 9fa8493 update package descriptions
- 804739e Merge pull request #2077 from PrismLibrary/wip-regions
- 09ecf4a hold back CollectionView Adapter
- 3726ad1 fix LayoutView bindings
- 468f1ff simplifying Carousel Item Binding
- 614a038 Merge pull request #2164 from ebariche/dev/eb/update-to-uno-3
- cb93dd9 Update to Uno 3.0
- e995276 updates and fixes for Carousels and registration
- bc2fadb Registration updates
- 829475b Merge pull request #2163 from Algorithman/DirectoryModuleCatalogSpelling
- 29167bc Fixed spelling error: GetNotAlreadyLoadedModuleInfos
- 493b91f handle null RegionManager on Region
- c5729b7 build updates
- 2317805 Update Region Module demos
- 46f38e4 update module registrations
- 8d2b2eb implementing adapters
- 9525981 use delegate registration for Region Adapter Mappings & Behaviors
- 16e376a fixing sln file
- b70f870 remove support for Partial Views
- c1fa5dd delay region created and tracking of INavigationService
- 3c3460c Fixing lifecycle so Region created once fully parented to the Page
- ed97ba9 fixing sln file
- 099f27e adding Prism.Forms.Regions to main solution
- 17c3225 getting Region Navigation working
- 2d793b9 adding Region Module to E2E app
- dc59903 fixing Module State
- 75e8db4 update to Xamarin.Forms 4.5
- 34863fa cross-plat sharing and region manager implementation
- b023dd6 wip regions
- 59cc94b Merge pull request #2147 from Jesus805/master
- 4906e5f Merge pull request #2143 from PrismLibrary/lifo
- 01f629a adding test suite for containers
- 6c5344e allow multiple registrations with Last In First Out
- c71957a updated readme with pluralsight links
- 8bcca7c Update SelectorItemsSourceSyncBehavior.cs
- 4eeacaf Merge pull request #2146 from Jesus805/master
- 6d44a1e XML Documentation for Dryloc.Wpf, Unity.Wpf and Prism.Core
- 10365d5 Merge pull request #2145 from Jesus805/master
- 302d93d Removed extra to
- ec3fad3 space
- d9a0853 Added XML comments to IDialogParameters
- 88f69bc Fixed some spelling mistakes in ParametersBase
- b2be9cc Merge pull request #2067 from Jesus805/master
- 695606b Merge pull request #2069 from gayaK/master
- 750a914 add Prism.Templates issue link
- 6e7a514 Removed duplicate catalog documentation parameter
- efe9497 Changed IModuleCatalogExtensions comment
- a4c0bf0 Add documentation to various classes in Prism.Wpf
- 6964272 Added Documentation to PrismApplication
- 41f7cd8 Added Documentation to IModuleCatalogExtensions
- ebf8724 Added documentation to MVVMHelpers
- 03cdfaa Merge pull request #2139 from unoplatform/dev/jela/uno-fix-ios
- a2a956e ci: Reduce nuget restore logging level to normal
- 65f6cf2 fix(uno): Fix iOS e2e is not starting properly
- 00834e9 Merge pull request #2138 from MikelThief/MikelThief-readme-patch
- 34c94c5 Fix link to Uno Nuget package
- 83e8865 Merge pull request #2122 from bmarinov/feature/use_recommended_dryioc_cfg_method
- a7ae9d9 Merge pull request #2136 from janschreier/NameCorrection
- 2c7765b Merge pull request #2133 from PrismLibrary/sourcelink
- 1b8a823 Renamed IDestructibleRegionBehavior to DestructibleRegionBehavior
- b64d6ac simplify deterministic build
- 21322cd move packing logic into src folder
- a7908b7 remove deprecated test
- 00edb25 bump sdk to 3.1.300 for build prop fixes
- a8f19f2 use boots for latest stable sdks
- a66981e sourcelink and deterministic build updates
- 09abd76 embed License in package
- 8ab8773 publish symbols packages
- 7d5360f removed IMasterDetailPageOptions from sample
- 7519bd9 Replace deprecated dryioc configuration method call
- 7b0e6d6 call Xamarin.Forms Init
- 6d8ee46 Merge pull request #2113 from unoplatform/dev/jela/playstore-update
- 5d9a418 test: Adjust for updated android SDK Android-28 emulator name
- 6244391 Merge pull request #2110 from PrismLibrary/scopednavigation
- 0374fcb all disable UI Tests
- 2a69d55 ensure the PrismApplication is created before we set a main page
- 6544370 fixing issue with DryIoc injecting a Page to IPageAware
- 165e697 let Xamarin.Forms restore transitively
- 34f5f76 update test dependencies
- 87c793b update Unity.Container
- ac6b487 adding shared container
- 2896142 fixing Scoped Navigation
- 5c33d8c scope navigation
- 527faaf Merge pull request #2103 from rssllgrrtt/Adding-Device.InvokeOnMainThreadAsync-to-DeviceService-#2043
- 1b7218c Removed view centric hooks from DeviceService
- b6faee2 Merge pull request #2108 from unoplatform/dev/jela/uwp-fix
- ca30a61 Merge pull request #2105 from d3fkn1ght/xmlDocs2
- cb7620b Fix ContainerProviderExtensionFixture
- a27288e Updated TargetFrameworks, updated to XF 4.6.0.726 and added support for additional methods and properties from the Device class.
- e06a353 fix(uno): Fix Windows initialization sequence
- 3ee01c9 fix: Adjust xml comment in DryIocContainerExtension
- ee6a519 Merge pull request #2107 from PrismLibrary/issue-2106
- 227ea29 using the ContainerLocator as the VML resolver.
- 845f263 Revert "fixed ConfigureViewModelLocator"
- 4dd403b fixed ConfigureViewModelLocator
- 72f1a35 Added documenation for:
- ba493ca wrap ctors
- 24945db setup containers for container extensions
- 581c3f5 Updated to latest Xamarin.Forms (4.5.0.657) and mapped to new Device.InvokeOnMainThreadAsync methods
- 876e930 Remove ContainerProviderExtension from UnoPlatform
- e8622d6 Refactoring unit test codes
- 5c14ec4 Merge remote-tracking branch 'remotes/prism/master'
- 6270fbe Add unit test for ContainerProviderExtension
- fff8023 Add XmlnsDefinition of Prism.Ioc namespace.
- 27487ef Fix documentation comment for ContainerProviderExtension.cs
- 94155bb Added a "BeginInvokeOnMainThreadAsync" method to "IDeviceService"
- 8597347 Merge pull request #2101 from unoplatform/dev/jela/uwp-fix
- d243376 Merge pull request #2100 from unoplatform/dev/jela/android-test-optional
- be92542 fix(uno-uwp): Disable library layout generation
- 6bba1a5 fix(uno-e2e): Disable build fail on android UI tests failure
- 7e4e92a fixing bad docs
- 076a7cf Merge pull request #2073 from WaldemarCoding/master
- 722c45a changes requested by dan
- 631660a Merge pull request #2075 from d3fkn1ght/xmlDocs1
- 22d8eda implement dans comments
- bb2efd3 Solved CS1591 in INavigationParamters[Internal].cs
- e0e865e Missed one
- 3d48ffc Resolved some CS1573,1591
- df64def Merge pull request #2097 from PrismLibrary/prismapplication-tests
- e91dc8a Update ParametersBase.cs
- 3c983f9 added tests for PrismApplicationBase
- 2f077f9 Merge pull request #2096 from PrismLibrary/bootstrapper-tests
- 43f7f5b Merge pull request #2086 from PrismLibrary/containerextensions
- 95d1c2a disable randomly failing test
- 6cd9106 Added test to validate required types were registered
- 2036140 adding tests for Container Registrations
- 82325a9 Merge pull request #2084 from PrismLibrary/task-extensions
- 5f55d28 added unit tests
- 82b6bca added Task extensions for async/void tasks
- 130ed2a Merge pull request #2094 from unoplatform/dev/jela/uwp-adjust
- f26ee78 fixing file location
- 507652f fix(WinUI): Remove explicit dependency on CommonServiceLocator
- fa2fd01 fix(Uno): Adjust Prism.Uno UWP library layout
- a99eeed adding tests for ContainerResolutionException
- 439bc9d fixing mocked test
- 70ba338 adding DefaultRules to DryIocContainerExtension
- 936e3df implementing registration overloads
- 14b1cc0 adding ContainerResolutionException #2078
- 4d898d4 adding CreateScope
- 0cb5b2e remove extra space
- 9f75d1a Merge pull request #2089 from PrismLibrary/autoregister
- 460c0b8 fixing uno rebase
- 2f4b0f5 fixing issues with parallel tests
- 9bdc2ea adding tests for AutoRegisterForNavigation - fixes #2088
- 66a24a9 Merge pull request #2092 from PrismLibrary/bootstrapper-tests
- 94b4462 Added unit tests for new PrismBootstrapperBase
- 05c82a2 Merge pull request #2091 from lv1il0s/master
- 2c434c0 Move reference to Xamarin.Forms.Mocks to nuget/packageReference
- 291d1fe Merge pull request #2090 from unoplatform/dev/jela/uitests-adjust
- b0dcdee fix(uno): Use set-runtime step to set the mono version used on macOS builds
- 017ed03 fix: Adjust Dialog test to use the default dialog
- e072949 fix: Restore default test context to WebAssembly
- 1d4a962 Merge pull request #2054 from unoplatform/dev/jela/upstream-merge
- d8e47c2 Remove unused Dialog from Uno e2e sample
- a418c7e Update uno libraries to make UWP use conditional to Windows host
- 3c916c3 Align Uno PrismAppliationBase with common PrismInitializationExtensions
- f85446c Use HasBinding for Wpf/Uno in place of BindingOperations.GetBinding
- a63b29f Add Uno Default implementation for IDialogWindow
- 359f3fb Move Uno Suspending to PrismApplicationBase
- 19d0cb5 Use Forms modularity for Uno implementation
- efa56f2 Update Uno sample to include a module
- cb57f7e Add Uno support for InvokeCommandAction
- eb82da6 restore modularity imports
- 073790c Enable Uno Wasm UI Testing
- ed292e8 Enable easier net48 cross-targeting
- c109f91 Add support for Uno Platform and WinUI
- 032fd5e fixing E2E status badges
- 47dc850 Merge pull request #2085 from PrismLibrary/parameter-refactor
- b14cac8 refactored parameter classes to use ParametersBase class
- edefb5a Merge pull request #2081 from EdwardBlair/2080
- bc32e36 TIL: template donesn't have an enabled property
- e99fcf1 Remove whacky predicate logic and use enabled property
- dfd9693 Update ParameterExtension.cs
- 13ea1df Update ErrorsContainer.cs
- ae08e5f Update IDestructible.cs
- 0f05a87 Update ErrorsContainer.cs
- a1139fd Update ErrorsContainer.cs
- 7b5d73e Update ParametersExtensions.cs
- 46fb645 Update ParametersBase.cs
- 13fbbfe Update ParameterExtension.cs
- 1f1a9d9 Actually they do look prettier this way
- 7f381cd Fix csproj paths
- fec2a83 use dotnet test powershell task instead of VSTest
- 0269c98 Re-collate Prism.Forms tests
- ba3d1cd Prettify names
- 4427f76 Missing colons
- e59d568 Attempt at #2080
- 4a109d6 Merge pull request #2074 from PrismLibrary/bootstrapper-api
- 80949a7 refactored duplicate code
- 241930c added some more comments
- 8f9423a small improvements
- 21266d6 Updated sample to be cross "app/bootstrapper" compatible
- eba083e Added new PrismBootstrapper API
- af4811b Merge pull request #2063 from d3fkn1ght/documentation
- f92701b Update ParametersBase.cs
- c9d0ef4 Update ParametersBase.cs
- aad61dd Update ParametersBase.cs
- 7bded0f Add ContainerProviderExtension
- 8b24d8c Merge pull request #2065 from Jesus805/master
- bc39433 Update ParametersBase.cs
- 646cf1c Reverted IDialogResult and DialogResult comments
- 09c154f Forgot a single period
- 122e410 Added Documentation for Dialogs [ #2064 ]
- 1d817a7 Update IModuleInfoGroup.cs
- c5f9a38 Update IModuleInfo.cs
- 79c6211 Update IModuleInfo.cs
- 534891b Update IModuleInfo.cs
This list of changes was auto generated.