What's Changed
- Fix the return value in Composite.TryGetIndex() by @hishamco in #16712
- Enhance the Two-Factor Authentication settings by @MikeAlhayek in #16707
- Improve the description and names of the openId features by @MikeAlhayek in #16697
- Fix Role claims mapping in OpenID access. by @MikeAlhayek in #16702
- Enhance the OpenId settings name and descriptions by @MikeAlhayek in #16701
- Fix NRE in ContentTypeSitemapSourceDriver by @hishamco in #16709
- Remove unnecessary null check in ScriptsMiddleware by @hishamco in #16710
- Remove unnecessary check in DefaultShapeFactory by @hishamco in #16711
- Fix NRE in content deployment by @hishamco in #16708
- Implement IDisposable in RedisCacheWrapper by @hishamco in #16713
- Move what changes section to the bottom by @MikeAlhayek in #16718
- Allow setting Absolute and Sliding Expiration at the same time by @MikeAlhayek in #16705
- Minor Refactoring by @MikeAlhayek in #16704
- Support Azure Communication SMS by @hishamco in #15539
- Add AddShapeTableProvider() extension method by @hishamco in #16723
- Fix invalid link in docs by @MikeAlhayek in #16724
- Add ShapeFactory extensions by @MikeAlhayek in #16715
- Avoid NRE in PartDefinition in ContentPartHandlerCoordinator by @hishamco in #16717
- RedisCacheWrapper shouldn't implement IDisposable by @hishamco in #16720
- Disable CentralPackageTransitivePinningEnabled by @MikeAlhayek in #16730
- Revert "Disable CentralPackageTransitivePinningEnabled" by @MikeAlhayek in #16731
- Update packages by @MikeAlhayek in #16732
- Fix templates file conflicts by @sebastienros in #16733
- Add icon.png and Fix Preview GH action by @MikeAlhayek in #16743
- Fixed ContainedPartIndex behavior for DisplayText over 255 chars long by @XopcT in #16738
- No need to new up a EmailClient instance on every email message by @hishamco in #16746
- add XopcT as a contributor for code by @allcontributors in #16744
- Improve the Duration Shape by @MikeAlhayek in #16745
- Fix warning by @MikeAlhayek in #16750
- External Authentication Feature by @MikeAlhayek in #16721
- Improving the Jean-Thierry Kéchichian Community Award docs page and adding Hisham by @Piedone in #16728
- Align Azure Communication Implementations by @MikeAlhayek in #16747
- Obsolete ILocalClock.LocalNowAsync by @hishamco in #16752
- Remove unnecessary restrictions on changes to "own user" roles by @mvarblow in #16753
- Don't save content items on get by @MikeAlhayek in #16757
- Clarify updating the release notes when submitting a PR (Lombiq Technologies: OCORE-198) by @Piedone in #16765
- Retire AssignRoles and AssignRole_{RoleName} permission by @MikeAlhayek in #16755
- Skip processing of media root path by MediaFileStoreResolverMiddleware by @AndreySurkov in #16760
- Discord badge in Readme by @agriffard in #16767
- Separate ListPart search into own shape by @giannik in #16749
- Remove unnecessary serialization by @MikeAlhayek in #16775
- Fix ContentPartFIeldDefinition Settings.ToObject Deserialization by @davidpuplava in #16774
- More expressive titles in the change log (Lombiq Technologies: OCORE-199) by @Piedone in #16773
- Docs: Back to top button feature by @agriffard in #16778
- Bump the all-dependencies group with 7 updates by @dependabot in #16782
- Bump rollup and @rollup/plugin-commonjs in /test/OrchardCore.Tests.Functional/cypress-commands by @dependabot in #16785
- Fix NRE when the user set their time zone as the site's (Lombiq Technologies: OCORE-200) by @Piedone in #16777
- fix for issue "Order roles alphabetically on the admin" by @matTrabolsi in #16796
- add matTrabolsi as a contributor for code by @allcontributors in #16798
- Release 2.0.1 by @MikeAlhayek in #16792
- Release 2.0.2 by @sebastienros in #16803
- Fix RegistrationSettingsDisplayDriver.UpdateAsync() by @hishamco in #16805
- Adding content item alternates based on the alias and slug by @barthamark in #16722
- Bump the all-dependencies group with 16 updates by @dependabot in #16809
- Apply styling fixes detected in the net9.0 branch by @sebastienros in #16811
- Clarify the 2.0 release notes by @MikeAlhayek in #16814
- Fix First-time Contributor Welcome workflow randomly hitting rate limits (Lombiq Technologies: OCORE-201) by @Piedone in #16797
- Added unit test for RedisCacheWrapper. by @gvkries in #16787
- Deprecate
SiteOwner
permission and retain Administrator as system role by @MikeAlhayek in #16781 - Batch Dependabot updates per directories (Lombiq Technologies: OCORE-202) by @Piedone in #16820
- Revert "Batch Dependabot updates per directories (Lombiq Technologies: OCORE-202)" by @Piedone in #16823
- Bump the all-dependencies group across 2 directories with 5 updates by @dependabot in #16822
- Fixing Dependabot updates (Lombiq Technologies: OCORE-202) by @Piedone in #16827
- Update README.md to prevent issues between oc and blazor routing by @psijkof in #16835
- Add deployment for Microsoft Account by @hishamco in #16806
- Fix dockerfile by @sebastienros in #16821
- Fix the order of 2.1 release notes by @MikeAlhayek in #16838
- Update libphonenumber-csharp to v8.13.47 (Lombiq Technologies: OCORE-202) by @Piedone in #16830
- Don't use JsonObject.Merge() in Azure AD Deployment Source by @hishamco in #16841
- .NET 8.0.10 by @agriffard in #16847
- Remove data protection keys from Azure blob storage when deleting tenant by @microposmp in #16839
- Don't configure JsonOptions by default by @MikeAlhayek in #16837
- Introduce DeploymentSourceBase to simplify DeploymentSource by @hishamco in #16842
- Set image alt attribute to empty string if media text is null or empty by @DrewBrasher in #16859
- Fix the has_claim Liquid filter by @MikeAlhayek in #16863
- Apply Template pattern for Recipe Steps by @MikeAlhayek in #16862
- Add an important note to 2.1.0 release docs by @MikeAlhayek in #16864
- Don't use JObject.Merge in OpenId module by @hishamco in #16865
- React to the Recipe Steps changes by @hishamco in #16867
- Simplify how to check if the user is an admin by @MikeAlhayek in #16866
- Add Widget alternates for alias and slug by @giannik in #16860
- Fix accessibility issue in notification widget by @DrewBrasher in #16875
- Bump NodaTime from 3.1.12 to 3.2.0 in /src/OrchardCore/OrchardCore in the all-dependencies group by @dependabot in #16881
- Cleanup OptionsFluidParser Helper by @MikeAlhayek in #16872
- Fixing outdated description of the OrchardCore.Email feature by @BenedekFarkas in #16871
- Fix that removing tenant with SQLite DB failed due to the DB file being locked (Lombiq Technologies: OCORE-203) by @Piedone in #16858
- Improve the scrolling in BagPart Sorting by @MikeAlhayek in #16890
- Minor changes to recent PRs by @MikeAlhayek in #16891
- Use ElasticsearchConstants.DefaultAnalyzer when it's possible by @hishamco in #16896
- Support multiple groupIds in shape result by @MikeAlhayek in #16895
- Allow Admin to disable Two-Factor Authentication by @MikeAlhayek in #16899
- support .webm filetype in media extensions by @giannik in #16901
- Add support of Elasticsearch Token Filters by @denispetrische in #16843
- Elasticsearch geo location type addition by @PBMikeW in #16880
- add denispetrische as a contributor for code by @allcontributors in #16902
- Allow specifying no group to render a shape by @MikeAlhayek in #16904
- Fix content type draftable settings by @MikeAlhayek in #16910
- Add thanks issue template, and improve the bug and feature request templates (Lombiq Technologies: OCORE-205) by @Piedone in #16900
- Bump braces from 3.0.2 to 3.0.3 in /src/OrchardCore.Modules/OrchardCore.AuditTrail by @dependabot in #16914
- URL Rewriting Module by @arkadiuszwojcik in #16687
- Handle Default Authentication using events by @MikeAlhayek in #16884
- Sms Message should be sent to Phone Number by @infofromca in #16925
- Add JsonStringEnumConverter to KnownConverters by @hishamco in #16913
- Email.Azure: Deconstructing email addresses that include a display name (Lombiq Technologies: OCORE-204) by @BenedekFarkas in #16889
- Check for elastic settings before updating. by @PBMikeW in #16915
- Fix elasticsearch NRE when no results are found. by @PBMikeW in #16919
- Auto Attach the DashboardPart to content types with DashboardWidget stereotype by @MikeAlhayek in #16911
- Fix namespace for TaxonomyFieldSettingsDriver by @hishamco in #16945
- Template content validation by @sarahelsaig in #16944
- Remove module to module reference by @hishamco in #16951
- Use AddIndexProvider() for OpenId by @hishamco in #16952
- Adding new app setting for key vault so we can set Vault URI by @mohit-naroliya in #16948
- Fix the User TimeZoneService by @MikeAlhayek in #16942
- add mohit-naroliya as a contributor for code by @allcontributors in #16963
- Add random() order support by @sebastienros in #16964
- Fix RangeQueryProvider to correctly assign nodeKind for 'lt' and 'lte by @emrahtokalak in #16965
- Extract PDF on file system instead of memory by @hishamco in #16958
- Improve Liquid Culture accessor by @hishamco in #16956
- Fix SQL command generation in OrchardCore.Data.DbConnectionValidator'… by @serverside-is in #16967
- Don't use Path.GetTempFileName() by @MikeAlhayek in #16966
- Add SupportedCultures and DefaultCulture by @sebastienros in #16968
- Create PathExtensions.GetTempFileName() by @hishamco in #16970
- Introduce FluidValue for Hosting Environment by @hishamco in #16972
- Cleanup Notifications by @MikeAlhayek in #16977
- CultureValue should be truthy by @hishamco in #16978
- Add AddDisplayDriver Service Collection Extension by @MikeAlhayek in #16976
- Fix functional tests by @sebastienros in #16980
- Use RecyclableMemoryStream by @MikeAlhayek in #16949
- Fix JSON parsing errors caused by spaces and special characters in Lu… by @emrahtokalak in #16981
- Introduce HttpRequest & HttpContext Fluid values by @hishamco in #16979
- Format json document in test by @sebastienros in #16983
- Port suggestions from net9.0 branch by @sebastienros in #16984
- Fix Media Cache Handler by @MikeAlhayek in #16992
- Fix deleting sub menus by @hishamco in #16990
- Remove unnecessary casing by @MikeAlhayek in #16993
- Use AddPermissionProvider & AddNavigationProvider in OpenID by @hishamco in #16960
- Improve functional tests by @sebastienros in #16982
- Undo binary breaking change by @MikeAlhayek in #16996
- Fix SelectContentTypes usage in Azure AI by @MikeAlhayek in #16994
- Prevent NullReferenceException in ElasticSearch by @MikeAlhayek in #16999
- Remove unnecessary usings by @sebastienros in #17000
- Remove unnecessary comment from _ViewImports.cshtml by @hishamco in #17002
- Remove extra semi-colon in OpenIdServerSettings.cshtml by @hishamco in #17007
- Remove unnecessary WriteTo() in FludiValue subclasses by @hishamco in #17008
- Add new tests and helper methods to LiquidTests for 'sort' and 'where' filters by @MichaelPetrinolis in #17015
- Fixing that the Agency landing page should render Milestone.HtmlBodyPart.Html correctly by @BenedekFarkas in #17016
- Fix warnings by @sebastienros in #17017
- Correctly create custom analyzer in Elasticsearch by @MikeAlhayek in #17013
- Introducing Orchard Core Guru on Gurubase.io by @kursataktas in #17001
- add kursataktas as a contributor for code by @allcontributors in #17029
- Optimize the RecyclableMemoryStream usage by @adamradocz in #17030
- Fix Publish Content Task by @MikeAlhayek in #17033
- Show remove Field and part button when it is not system defined field/part by @MikeAlhayek in #17028
- Add PollingTime & MinimumIdleTime to BackgroundServiceOptions by @hishamco in #17034
- add adamradocz as a contributor for code by @allcontributors in #17032
- Release 2.1 by @MikeAlhayek in #17039
New Contributors
- @XopcT made their first contribution in #16738
- @matTrabolsi made their first contribution in #16796
- @denispetrische made their first contribution in #16843
- @mohit-naroliya made their first contribution in #16948
- @kursataktas made their first contribution in #17001
- @adamradocz made their first contribution in #17030
Full Changelog: v2.0.2...v2.1.0