Release notes
Check it out here: https://docs.orchardcore.net/en/latest/releases/3.0.0/.
What's Changed
- Release 2.1 (#17039) by @MikeAlhayek in #17043
- Font Awesome 6.7.1 by @agriffard in #17038
- Set next release to 3.0.0 by @MikeAlhayek in #17044
- Update package version by @sebastienros in #17018
- Fix "The node already has a parent." exception when setting JsonNode in Workflows ForEach Task by @zl2fxy in #16882
- Update README.md by @MikeAlhayek in #17045
- Upgrade GraphQL to 8.2 by @MikeAlhayek in #16736
- Fix incorrect description by @MikeAlhayek in #17047
- Remove Obsolete External Authentication settings by @MikeAlhayek in #17049
- Remove unnecessary null check by @hishamco in #17053
- AssignRoleToUsers should not be implied by EditUsers by @hishamco in #16954
- Fixing #17054 by @vengi83644 in #17055
- Prevent External Users Registration by @MikeAlhayek in #17050
- Merge release/2.1 back to main after releasing v2.1.1 by @MikeAlhayek in #17066
- Increase Logging in External Login and return correct result when failing to create user by @MikeAlhayek in #17068
- Fix site handing after enabling user time zone feature by @hishamco in #17071
- Fix GraphQL schema localization. by @gvkries in #17041
- Fix sitemap disposed stream by @MikeAlhayek in #17076
- Replace Nest package with Elastic.Clients.Elasticsearch by @MikeAlhayek in #17027
- Seal ModularTenantEvents & DeploymentSourceBase implementations by @hishamco in #16897
- Cleanup UserFilters by @MikeAlhayek in #17081
- Fix SiteOwner claim for OpenId by @MikeAlhayek in #17087
- Merge release/2.1 to main by @MikeAlhayek in #17090
- Replace unnecesary calls to SaveChangesAsync by FlushAsync by @sebastienros in #17084
- Add extension method for easier
ResourceManagementOptionsregistration (Lombiq Technologies: OCORE-208) by @Piedone in #17095 - Remove unnecessary null check in 2FA authorization filter by @hishamco in #17009
- Update GitHub release issue templates by @MikeAlhayek in #17067
- Move the new AddResourceConfiguration to the Abstractions project by @MikeAlhayek in #17107
- Layers enhancements by @MikeAlhayek in #17111
- Fixes wrong null-conditional operator usages. by @gvkries in #17114
- Add support for net9.0 by @sebastienros in #16573
- Improve the Audit Trails views by @MikeAlhayek in #17104
- Update global.json by @MikeAlhayek in #17119
- Fixing Queried Content Items query validation (Lombiq Technologies: OCORE-209) by @Piedone in #17120
- Redirect to the deployment plan steps after creating plan (Lombiq Technologies: OCORE-210) by @Piedone in #17121
- Fix Elasticsearch document index by @MikeAlhayek in #17124
- Fix GraphQL contentitem-status filter by @MikeAlhayek in #17116
- Revert "Layers enhancements" by @MikeAlhayek in #17125
- Update match all template to include size by @jbytes1027 in #17129
- Fixes that elastic search is crashing the site when it's not configured. by @gvkries in #17138
- Allow two-factor authentication without cookie consent. by @gvkries in #17136
- add jbytes1027 as a contributor for code by @allcontributors[bot] in #17135
- Seek stream from Base64.DecodedToStream to begin by @AndreySurkov in #17132
- DecodedToStream to DecodeToStream by @MikeAlhayek in #17140
- Bump JsonPath.Net from 1.1.6 to 2.0.0 in /src/OrchardCore/OrchardCore in the all-dependencies group by @dependabot[bot] in #17100
- Configure Renovate update GitHub Actions actions to full versions but still pin SHAs (Lombiq Technologies: OCORE-211) by @Piedone in #17145
- Remove unnecessary @ in Shortcodes docs by @hishamco in #17153
- Group Lucene updates together in Renovate (Lombiq Technologies: OCORE-212) by @Piedone in #17157
- Newer Renovate package matching syntax (Lombiq Technologies: OCORE-212) by @Piedone in #17159
- Configuring more Renovate groups (Lombiq Technologies: OCORE-212) by @Piedone in #17161
- Fixing Elastic Docker image group name for Renovate (Lombiq Technologies: OCORE-212) by @Piedone in #17162
- Fix leftover "ElasticSearch" (Lombiq Technologies: OCORE-214) by @Piedone in #17163
- Populate Template field from Elasticsearch recipe by @MikeAlhayek in #17195
- Cleanup GraphQL Localization by @MikeAlhayek in #17196
- Fix Elasticsearch raw query search by @MikeAlhayek in #17194
- Grouping MailKit and MimeKit packages in Renovate (Lombiq Technologies: OCORE-212) by @Piedone in #17205
- Grouping Microsoft.Identity* packages in Renovate too (Lombiq Technologies: OCORE-212) by @Piedone in #17187
- Add the "dependencies" label for Renovate pull requests (Lombiq Technologies: OCORE-217) by @Piedone in #17209
- Remove duplicated 2.0 release notes (Lombiq Technologies: OCORE-216) by @Piedone in #17207
- Update YesSql 5.2 by @MikeAlhayek in #17080
- Fix Layer translations by @MikeAlhayek in #17210
- Roles with no permission are auto migrated to Administrator roles by @MikeAlhayek in #17224
- Fix intermittent redirects during external auto-login by @MikeAlhayek in #17220
- Expose properties of ITrackingConsentFeature and cookie policy in Liquid by @gvkries in #17148
- Disable tabs in docs by @jbytes1027 in #17211
- Ensure checked boxes are preserved in OrchardCore.Forms even where th… by @rjpowers10 in #17024
- Checks the extension of allowed media files without case checking by @sparkie79 in #17232
- add sparkie79 as a contributor for code by @allcontributors[bot] in #17237
- Add tests for json schema generation by @sebastienros in #17240
- Update Patch Release issue template by @MikeAlhayek in #17234
- Remove ReCaptchaMode and DetectionThreshold by @MikeAlhayek in #17229
- Query Published BlogPost by default in the Blog recipe by @MikeAlhayek in #17248
- Migrate the OpenID module to OpenIddict 6.0 by @kevinchalet in #16929
- Update Docs Taxonomy by @jbytes1027 in #17213
- Fixed areEqualOutcomes name/displayName comparison in workflow-editor.ts by @Habbni in #17255
- Add Recipe Roles permission behavior by @MikeAlhayek in #17254
- add Habbni as a contributor for code by @allcontributors[bot] in #17256
- Configure Renovate to update .NET framework-specific packages in a .NET framework-aware way (Lombiq Technologies: OCORE-218) by @Piedone in #17249
- Show ThemeToggler on supported themes only by @MikeAlhayek in #17243
- Font awesome 6.7.2 by @agriffard in #17251
- Check permissions before displaying widgets by @MikeAlhayek in #17252
- Remove widgets checkbox by @MikeAlhayek in #17264
- Move OrchardCore.Translations.All by @Skrypt in #17036
- Style Pager in TheTheme by @MikeAlhayek in #17268
- Fix required tenant in OpenId Validation settings UI by @salmattia in #17266
- add salmattia as a contributor for code by @allcontributors[bot] in #17277
- Set ContentType in Facebook script Middleware by @sparkie79 in #17287
- Bump JsonPath.Net from 2.0.0 to 2.0.1 in /src/OrchardCore/OrchardCore in the all-dependencies group by @dependabot[bot] in #17288
- Fix Show/Hide Search deployment UI by @MikeAlhayek in #17289
- Fix PDF FileStream reading bug by @cbadger-montecitobank in #17294
- add cbadger-montecitobank as a contributor for code by @allcontributors[bot] in #17296
- Remove erroneous warning by @jbytes1027 in #17300
- Temporarily downgrading GitHub Actions workflows to run on ubuntu-2204 until ubuntu-latest issues are resolved (Lombiq Technologies: OCORE-219) by @Piedone in #17312
- Bump JsonPath.Net from 2.0.1 to 2.1.0 in /src/OrchardCore/OrchardCore in the all-dependencies group by @dependabot[bot] in #17308
- Update external-resources.md to include OCBC. by @goh-chunlin in #17310
- Remove erroneous config warnings by @jbytes1027 in #17306
- Fix Broken Doc Links by @jbytes1027 in #17316
- Add permission support for menu items by @MikeAlhayek in #17263
- Revert "Move OrchardCore.Translations.All" by @MikeAlhayek in #17317
- Fixing GitHub Actions workflows Ubuntu 24 incompatibility (Lombiq Technologies: OCORE-219) by @Piedone in #17313
- Use default json serializer options in urlrewriting module by @arkadiuszwojcik in #17320
- Trim Liquid content urls by @jbytes1027 in #17322
- Add Roles Abstraction and clean up Users module by @MikeAlhayek in #17088
- Update variable names for better clarity and understanding. by @jbytes1027 in #17324
- Fix implicit HomeRoute dependency in Autoroute by @jbytes1027 in #17321
- Fix unread notification counter and make it visible by @MikeAlhayek in #17325
- Added documentation for fields with alternate display modes. by @jeff-techstension in #17333
- add jeff-techstension as a contributor for code by @allcontributors[bot] in #17345
- Fix parallel access to session from GQL fields by @AndreySurkov in #17332
- Make wwwroot available when publish by @infofromca in #17346
- Remove deprecated keypress by @hishamco in #17344
- Fix all_route_data liquid helper attribute by @jbytes1027 in #17347
- Set current Vuejs dependencies to 2 by @MikeAlhayek in #17351
- Support depend-on when using script and style inline by @MikeAlhayek in #17349
- Fix GraphQL schema creation when using indexed fields. by @gvkries in #17360
- Fix InvalidCastException on manual workflow restart by @AndreySurkov in #17364
- Encode analytics ids in script by @sebastienros in #17369
- .NET 9.0.1, 8.0.12 by @agriffard in #17372
- Move display types to constants by @hishamco in #17371
- Migrate to xunit.v3 by @sebastienros in #17250
- Create system roles by default by @hishamco in #17341
- Simplify the Login and LoginForm views. by @MikeAlhayek in #17390
- Unify seperator in Script and Tag Helper by @MikeAlhayek in #17387
- Handle StringValues conversion in Jint to fix a regression when working with form data in workflows. by @gvkries in #17386
- Remove Localizer from System Roles by @MikeAlhayek in #17388
- Update Documentation for Display Mode shape type by @mroskamp in #17389
- In Auto setup, when IsUninitialized, response http status code 503 by @infofromca in #16834
- Add SendAsync() extension method for ISmsService by @hishamco in #17396
- Liquid.Core Services by @hishamco in #16973
- Avoid cloning the AutoroutePart pattern in the localized content by @hishamco in #15810
- Fix Null Exception with filters by @MikeAlhayek in #17406
- typo/grammar fix by @davidlfox in #17405
- add davidlfox as a contributor for code by @allcontributors[bot] in #17408
- Fix CSP header policy separator (Lombiq Technologies: OCORE-222) by @Piedone in #17409
- Show an error message if permission names are not unique by @gvkries in #17385
- Allow ExecuteAfterEndOfRequestAsync to accept arguments by @MikeAlhayek in #17395
- Fixes hiding the "no results" message in the features list by @gvkries in #17415
- Reorganize the Admin Menu by @MikeAlhayek in #17112
- Update PredicateQuery string serialization by @gvkries in #17365
- Expose contained part in GraphQL to allow retrieving the parent content item by @gvkries in #17382
- Remove recaptcha template in favor of Shape helper by @giannik in #17419
- Remove missed icons from the new Admin Menu by @MikeAlhayek in #17425
- URL rewriting -> URL Rewriting by @hishamco in #17427
- Fixes some race conditions in the search modules. by @gvkries in #17430
- Use title case in admin menu items by @MikeAlhayek in #17432
- Order widget list by display name on Edit Widgets and Layers page by @rwawr in #17426
- Fixes deserializing content items in workflows, when resuming a halted workflow. by @gvkries in #17412
- Set email auto encryption by default by @hishamco in #17397
- Remove Future Improvements section of the Forms module documentation by @DrewBrasher in #17434
- Fixes errors when filtering by content fields in GraphQL by @gvkries in #17378
- Reset the features search result when click on x button by @hishamco in #17338
- Move permissions to its own class to avoid module to module reference by @hishamco in #16769
- Don't throw exception when casing fail in JavaScript evaluator by @MikeAlhayek in #17436
- Remove Obsolete Drivers methods by @MikeAlhayek in #17445
- Fix shape differentiators link by @hishamco in #17447
- Remove unnecessary return from EmailOptionsConfiguration by @hishamco in #17450
- Fix OpenID Connect RP-Initiated Logout translation by @hishamco in #17448
- Use pattern matching by @hishamco in #17449
- Fix table format in docs by @hishamco in #17446
- Fix docs by @hishamco in #17456
- Update notification cache expiration settings in README by @SzymonSel in #17459
- Update event should only be called when updating content item by @MikeAlhayek in #17429
- Revert sanitize_html & supported_cultures changes by @hishamco in #17460
- Fix casing in setup page by @hishamco in #17461
- Fix required taxonomy fields invalid state by @xtomas in #17443
- Replace middleware with simple endpoints by @jbytes1027 in #17373
- Remove unnecessary WithCulture() from localizers by @hishamco in #17439
- Fixes the sort order in GraphQL queries. by @gvkries in #17476
- .NET 9.0.2, 8.0.13 by @agriffard in #17478
- Improve handling of publish/unpublish operations by @MichaelPetrinolis in #17441
- Fix the Search module's hidden dependency on Contents by @MikeAlhayek in #17479
- Bugfix/13068 dragdrop widgets by @MikeKry in #17421
- fix taxonomy field multiselect mode tags automatic sorting problem by @yqzhen1990 in #17481
- add yqzhen1990 as a contributor for code by @allcontributors[bot] in #17484
- Remove redundant body by @hishamco in #17451
- Fixing that a captcha is required on external login and registration, renaming
IExternalLoginEventHandlertoIExternalLoginUserHandler(Lombiq Technologies: GOV-44) by @Piedone in #17490 - Support both Text & HTML in the same email by @hishamco in #14715
- Merge
release/2.1tomainby @Piedone in #17498 - Fix Taxonomy Editor by @MikeAlhayek in #17501
- Revert "Bugfix/13068 dragdrop widgets" by @MikeAlhayek in #17504
- New Assets Build Tool (Assets Manager) by @Skrypt in #17262
- Add documentation about the relation ship between Linkfield and HtmlSanitizerService by @jeff-techstension in #17509
- Use the history plugin for Trumbowyg editors by default by @gvkries in #17506
- Remove min js file from TheAdmin by @Skrypt in #17523
- Specify Vue version for Vue components resources by @Skrypt in #17526
- Asset Manager fixes by @Skrypt in #17531
- Corepack doc by @Skrypt in #17534
- Reset cached content elements when cloning a content items. by @gvkries in #17539
- Fixes a threading issue in the LayerFilter. by @gvkries in #17540
- Fix label display initialization in Forms by @Habbni in #17519
- Resources dependencies fixes and Vue 3 by @Skrypt in #17528
- Updating release instructions (Lombiq Technologies: OCORE-223) by @Piedone in #17499
- Avoid Null Reference Exception by @MikeAlhayek in #17568
- Enhance AzureAISearch to support indexes independent of content items by @MikeAlhayek in #17556
- Move OpenId Connect settings out of the Security submenu by @MikeAlhayek in #17569
- Asset Manager Parcel prod.js -> min.js by @Skrypt in #17552
- Vue Draggable version 2 dep. on Vue 2 by @Skrypt in #17575
- Set Email and SMS feature to Communication category by @MikeAlhayek in #17558
- Simplify AzureAI Search events by @MikeAlhayek in #17577
- Asset Manager - min action Sourcemaps by @Skrypt in #17573
- Add "save and continue" button to admin menu node and content type editors by @hawkeye101 in #17515
- Add hawkeye101 as a contributor for code by @allcontributors[bot] in #17579
- Valid HTML Input name in FormInputElementPart by @MikeAlhayek in #17567
- OrchardCore.Benchmark -> OrchardCore.Benchmarks by @hishamco in #17589
- Bump OpenIddict to 6.1.1 by @kevinchalet in #17582
- Adapting to OrchardCore.Benchmarks namespace change by @Piedone in #17591
- Simplify the Azure Search AI events and centralize setting the FullIndexName by @MikeAlhayek in #17596
- Asset Manager - Remove copy action for vue-multiselect by @Skrypt in #17600
- 2.0.0 relase notes: Fixing the instructions to find the SMS settings in the Admin menu by @BenedekFarkas in #17601
- Update README.md to include a link to the quickstart CloudFormation. by @goh-chunlin in #17592
- Add condition for User moderation and Email confirmation upon registration by @SzymonSel in #17611
- Test OpenID Concurrency issue by @MikeAlhayek in #17603
- Fix Show/Hide Logic for OpenId Application secret by @MikeAlhayek in #17616
- Use ReadCommitted as the default data isolation level while providing an option for configurability by @MikeAlhayek in #17618
- Background task editor: Fixing that hitting enter in the Schedule field shouldn't trigger reset (Lombiq Technologies: NEST-537) by @BenedekFarkas in #17613
- Add rows option for Form Widget-TextArea by @hishamco in #17629
- Revert "Add condition for User moderation and Email confirmation upon registration #17611" by @gvkries in #17650
- Assets Manager doc by @agriffard in #17512
- Fix content Type edit and delete by @hishamco in #17648
- Ensure Content Type Restrictions are Enforced for Drag & Drop in Widgets by @MikeKry in #17655
- add multivalue where conditions on IDs in graphql, fix multivalue fil… by @MikeKry in #17654
- Move the indexes to their proper project by @hishamco in #17630
- Flow part expanded state configuration by @hawkeye101 in #17610
- Data Localization by @hishamco in #4466
- Make solution build on net10.0 by @sebastienros in #17652
- Do not close underlying stream in GraphQLMiddleware by @AndreySurkov in #17675
- Fixes email confirmation for new users created through the admin portal by @gvkries in #17671
- Prevent Null Reference Exception In ListsAdminNode by @MikeAlhayek in #17681
- Fix Menu Permission Picker vue-multiselect dependency by @MikeAlhayek in #17680
- Fix Workflow Editor start activity by @Skrypt in #17688
- Correctly normalize line endings for source mappings. by @gvkries in #17677
- Move the user approval process outside the edit form by @MikeAlhayek in #17684
- Fix vue-multiselect dependency and register vue-multiselect-wrapper by @MikeAlhayek in #17682
- Handle InterceptorsNamespaces to fix net10.0 build by @sebastienros in #17685
- OrchardHelper content APIs should be accessible without namespace by @hishamco in #17189
- Fix for ContenType SaveAndContinue by @SzymonSel in #17706
- use setup.min.js instead of setup.js by @infofromca in #17696
- Remove unnecessary padding from input validation error styles by @SzymonSel in #17695
- Move the Azure AI Search under Settings >> Search by @MikeAlhayek in #17710
- Fix Bootstrap loaded twice by @Skrypt in #17693
- Add Search Highlights by @MikeAlhayek in #17692
- Fixes a missing script in the icon picker text field editor. by @gvkries in #17713
- Improve title part settings by hiding the pattern field if it doesn't apply by @gvkries in #17715
- Added a badge if user email address is not confirmed by @gvkries in #17714
- Fix media resource dependencies by @MikeAlhayek in #17720
- Add bootstrap.css.map file by @MikeAlhayek in #17721
- Import Properties for Queries by @MikeAlhayek in #17723
- Fix authorization check in BagPart by @PiemP in #17728
- Fix a bug in the Custom User Settings by @MikeAlhayek in #17733
- Improving Workflow Trimming Settings UI (Lombiq Technologies: NEST-537) by @BenedekFarkas in #17614
- Register EasyMDE in Resource Manager and fix dependencies by @MikeAlhayek in #17735
- Fixes an issue in the flows editor where inserting a widget caused incorrect field mapping during validation errors by @gvkries in #17730
- Fix EasyMDE resource by @MikeAlhayek in #17738
- Move GetRoleNamesAsync() to extension method by @hishamco in #17740
- Current user should provide the current password during change password process by @hishamco in #17751
- Remove unnecessary properties by @hishamco in #17752
- Remove unnecessary comment from _ViewImports.cshtml by @hishamco in #17753
- Fix style issue in decoupled CMS with the .NET Blazor guide by @hishamco in #17754
- Fixes duplicated IDs on hidden input fields of the flows editor and cleanup FlowPart by @gvkries in #17739
- Fix DisplayText truncating in ContainedPartIndex by @AndreySurkov in #17762
- Add OAuth 2.0 Pushed Authorization Requests support in the OpenID module by @kevinchalet in #17761
- Fix AdminCulturePicker issue while using AdminUrlPrefix by @hishamco in #17755
- Bootstrap 5.3.5 by @agriffard in #17734
- Correct message when placement rule is incomplete by @TFleury in #17741
- .NET 9.0.4, 8.0.15 by @agriffard in #17768
- Enforce and apply rule SA1413 by @MikeAlhayek in #17765
- Refine Renovate config (Lombiq Technologies: OCORE-225) by @Piedone in #17767
- Fix Azure Search AI Content Indexing by @MikeAlhayek in #17775
- Fix JS error in MarkdownField editor (Lombiq Technologies: OCORE-226) by @Piedone in #17776
- SA1413 as warning by @hishamco in #17771
- Fix shortcodes button styles for fields/parts templates by @Skrypt in #17773
- Fixes loosing the return URL when changing password by @gvkries in #17781
- Don't process RolesMigrations during tenant creation by @MikeAlhayek in #17782
- Fix Renovate schedule config (Lombiq Technologies: OCORE-227) by @Piedone in #17784
- Revert "Current user should provide the current password during change password process" by @MikeAlhayek in #17769
- Fixes an NRE in the ContentItemDisplayCoordinator. by @gvkries in #17789
- Add route values for Pager_Gap shape by @gaojianzhuang in #17779
- add gaojianzhuang as a contributor for code by @allcontributors[bot] in #17791
- Fix that the sitemap document is updated even if it doesn't need to, potentially causing
ConcurrencyExceptions (Lombiq Technologies: OCORE-228) by @Piedone in #17799 - Fix registration settings tab being "Content" (Lombiq Technologies: OCORE-229) by @Piedone in #17809
- Update global.json to patch 100 by @MikeAlhayek in #17808
- Cleanup and more robust behavior for ElasticsearchIndexStep by @sarahelsaig in #17796
- Changed the logging type when trying to save a duplicate file by @DarkParadoX in #17778
- Fix NLog internalLogFile path by @Skrypt in #17816
- add DarkParadoX as a contributor for code by @allcontributors[bot] in #17817
- Disable Renovate updates for global.json (Lombiq Technologies: CORE-230) by @Piedone in #17818
- Move OC.Setup services into "Services" folder by @hishamco in #17822
- Fix dependency for OrchardCore.Admin by @MikeAlhayek in #17834
- Need depends-on="jQuery" by @infofromca in #17836
- Fix string interpolation syntax in RedisKeyManagementOptionsSetup by @mg-i-roc-maz in #17837
- add mg-i-roc-maz as a contributor for code by @allcontributors[bot] in #17839
- Preload site settings on tenant activation by @gvkries in #17798
- Added
page_title_add_segmentLiquid tag by @gvkries in #17843 - apply dark monokai theme to codemirror if dark mode is on. also change codemirror theme on darkmode switch on/off event. by @amrali21 in #17744
- add amrali21 as a contributor for code by @allcontributors[bot] in #17845
- Provide complete JSON recipe in documentations by @MikeAlhayek in #17821
- Fix typo in docs by @hishamco in #17850
- Change password in the user menu should be triggered from the admin by @hishamco in #17788
- Revert "Fix string interpolation syntax in RedisKeyManagementOptionsSetup" by @MikeAlhayek in #17854
- Don't call IEnumerable from UserDisplayDriver by @hishamco in #17756
- Update FluidTagHelper.cs by @gvkries in #17849
- Don't raise enable/disable user events when user state is not changing. by @gvkries in #17862
- Fix Asset Manager VS Code debug path by @Skrypt in #17863
- Remove default GitHubHandler implementation by @MikeAlhayek in #17855
- appsettings.json ->
appsettings.jsonby @hishamco in #17866 - Fix table formats in docs by @hishamco in #17867
- Fix json format by @hishamco in #17868
- Add missing colons by @hishamco in #17869
- Remove deprecated link from password documentation by @sebastienros in #17874
- Fix typo by @hishamco in #17875
- Remove unnecessary [ValidateAntiForgeryToken] from OC.Users module by @hishamco in #17759
- Corrects the cancellation mechanism of workflows from activities by @gvkries in #17871
- Use GetAllCulturesAndAliases() in ContentAzureAISearchIndexSettingsDisplayDriver by @hishamco in #17893
- Fix that Renovate tries to update AspNet.Security.OAuth.GitHub to an incompatible version for .NET 8 (Lombiq Technologies: OCORE-231) by @Piedone in #17890
- Bootstrap 5.3.6 by @agriffard in #17892
- Organize and align data protection features within the features list for clarity and consistency by @MikeAlhayek in #17900
- Improve the 'bind model state task' workflow activity by @gvkries in #17848
- Restore top/bottom borders on first/last visible items after filtering results by @rwxzig in #17879
- add rwxzig as a contributor for code by @allcontributors[bot] in #17902
- Fix binding form input in the 'coming soon' theme and improve 'register user task' by @gvkries in #17851
- Add GraphQL support for querying content items by status from content picker fields by @gvkries in #17899
- Add Custom Form Visibility Settings by @JackTelford in #17835
- Fix Redis data protection key name by @gvkries in #17895
- add JackTelford as a contributor for code by @allcontributors[bot] in #17906
- Improve Content fields documentations by @MikeAlhayek in #17847
- Add a warning when using Redis for data protection. by @gvkries in #17898
- Allow the use of the site's time zone in workflow timer activities by @gvkries in #17911
- .NET 9.0.5, 8.0.16 by @agriffard in #17916
- Upgrade OpenIddict packages to 6.3.0 by @MikeAlhayek in #17919
- Reduce the amount of breaking changes in Azure Search AI by @MikeAlhayek in #17936
- Ensure that all of our service registration methods are idempotent by @MikeAlhayek in #17932
- Upgrade Elasticsearch to v9 by @MikeAlhayek in #17931
- Fix typo by @hishamco in #17939
- Fix table format by @hishamco in #17940
- Add missing curly braces in json docs by @hishamco in #17941
- Fix Elasticsearch indexing InvalidOperationException with new index (Lombiq Technologies: OCORE-232) by @Piedone in #17937
- SSLTLS -> SslTls by @hishamco in #17938
- Ensure that no callbacks are added to the ShellScope during termination by @gvkries in #17945
- Fix the stream was disposed before its real end by @infofromca in #17878
- Revert "Upgrade Elasticsearch to v9" by @MikeAlhayek in #17949
- Use
TempDatato determine whether the user should be redirected to the login endpoint by @kevinchalet in #17950 - Update Elasticsearch by @MikeAlhayek in #17970
- Fix Auto Setup showing 404 on first request for non-Default tenants (Lombiq Technologies: OCORE-233) by @Piedone in #17979
- Add missing select a recipe option by @MikeAlhayek in #17981
- Improving removal of media files when using Azure Media Storage (Lombiq Technologies: NEST-533) by @porgabi in #17844
- Update S3 docs with local-s3 being supported again (Lombiq Technologies: OCORE-234) by @Piedone in #17988
- Centralize the Indexing process by @MikeAlhayek in #17951
- Fix PostgreSQL test by @MikeAlhayek in #17997
- Fix the audit trail admin header style issue. by @gaojianzhuang in #17990
- Add RouteEndpoint cache by @sebastienros in #17989
- Reduce the breaking changes in Indexing module by @MikeAlhayek in #17999
- Undo the binary breaking changes to EntityExtensions by @MikeAlhayek in #18001
- Fix null exception of Nlog by @infofromca in #17901
- Fix build on latest net10 by @sebastienros in #18003
- Fix Indexing Migrations by @MikeAlhayek in #18004
- .NET 9.0.6, 8.0.17 by @agriffard in #18005
- Fix for shell context reference counting from shell scopes by @gvkries in #18002
- Update indexing migrations by @MikeAlhayek in #18006
- Prevent maintenance workflow to run on forks by @sebastienros in #17986
- Add a delay to make unit test reliable by @gvkries in #18009
- Show a badge if a user is locked out by @gvkries in #18010
- Respect list part items ordering by @gvkries in #18008
- Improve documentations for the indexing module by @MikeAlhayek in #18016
- Highlight the AssetUrl props in docs by @hishamco in #18022
- Add a Taxonomy query filter to enable control over Taxonomy-based queries by @MikeAlhayek in #18015
- Rename ResetIndexProfile and RebuildIndexProfile recipe steps by @MikeAlhayek in #18025
- Use DefaultIndexProfileName instead of DefaultIndexProfileId by @MikeAlhayek in #18026
- Fix serialization issues indexing profile by @MikeAlhayek in #18027
- Fix Indexing Recipe Step by @MikeAlhayek in #18030
- Always show AnalyzerName for AzureAISearch index profile by @MikeAlhayek in #18032
- Add OC.Shortcodes dependency on SEO module by @hishamco in #18034
- Add Synchronize button and fix Serializer issue in Indexing module by @MikeAlhayek in #18040
- Use Page when listing Terms Not PageSlim by @MikeAlhayek in #18033
- Improves waiting for indexing to be done in unit tests by @gvkries in #18044
- Use IOptions Jint Options as a base (Lombiq Technologies: NEST-567) by @wAsnk in #18021
- Property merge entity Properties in Indexing by @MikeAlhayek in #18045
- Use default Sqlite cache mode by @gvkries in #18043
- Fix AzureAISearch indexing handler by @MikeAlhayek in #18047
- Store IndexProfile as document in the Document table by @MikeAlhayek in #18052
- Improve reliability of unit tests by waiting for HTTP background jobs by @gvkries in #18054
- Fix an InvalidOperationException when adding a before-dispose callback to a shell scope by @gvkries in #18053
- Fixes an ArgumentNullException when no markdown body is available by @gvkries in #18055
- Add IndexInitializerService back. by @gvkries in #18057
- Don't query the database on every admin request by @MikeAlhayek in #18059
- Fix duplicate index creating by @MikeAlhayek in #18060
- Use Deferred Task instead of background for content indexing by @MikeAlhayek in #18063
- Fix "The node already has a parent" error when attempting to run recipe with ContentIndexSettings property when Lucene is enabled. by @rwawr in #18062
- Update Elastic.Clients.Elasticsearch to 8.18.3 and fixing the Blog Search recipes (Lombiq Technologies: OCORE-235) by @Piedone in #18042
- Migrate 'IndexingTask' table to 'RecordIndexingTask' to avoid timeout by @MikeAlhayek in #18064
- Fix Azure DataProtection by @MikeAlhayek in #18067
- Do not delete 'IndexingTask' table after the migration by @MikeAlhayek in #18071
- Restore recently changed Configure method signature by @MikeAlhayek in #18075
- Fix Lucene Flaky test by @MikeAlhayek in #18080
- Fix incorrect index existence check in AzureAISearchManager by @MikeAlhayek in #18087
- Update Azure Data Protection by @MikeAlhayek in #18089
- Revert "Update Azure Data Protection" by @MikeAlhayek in #18090
- Fix 'CreateOrUpdateIndexProfileStep' recipe step by @MikeAlhayek in #18091
- Bootstrap 5.3.7 by @agriffard in #18073
- Improve the docs for IContentManager.CreateAsync() by @hishamco in #18069
- Write internal log to App_Data/logs in cms template by @stoyandimov in #18094
- Move waiting for outstanding deferred tasks into the initialize method by @gvkries in #18096
- Enable setting NLog log levels through configuration options. by @MikeAlhayek in #18092
- Add Cancel property to CreateContentContext by @hishamco in #18098
- Add opacity option for the text color field by @hishamco in #18121
- Removes the unnecessary file package-lock.json. by @gvkries in #18124
- Add KnownNetworks & KnownProxies to reverse proxy settings by @hishamco in #18126
- Fix the leaflet.js is not included on the page by @infofromca in #18134
- Fix buttons size in OC.Templates by @hishamco in #18150
- fix: Disabled anchor button in MediaField for non image media items by @buzznick in #18154
- add buzznick as a contributor for code by @allcontributors[bot] in #18156
- feat: Rolled back Draggable to enable MultiDrag by @Buzz-Al in #18145
- add Buzz-Al as a contributor for code by @allcontributors[bot] in #18157
- Fix button size in OC.AdminMenu by @hishamco in #18158
- native validation fails when the invalid input is hidden by @lampersky in #18155
- Refactor OpenID Connect Management UI setup by @MichaelPetrinolis in #18132
- Fix jquery-ui-i18n.js path by @hishamco in #18161
- Remove manually moved files jquery-ui-i8n by @Skrypt in #18172
- Fix that the Email Test Sender doesn't take effect (Lombiq Technologies: OCORE-237) by @Piedone in #18171
- Add cleanup scripts to clean bin and obj folder by @MikeAlhayek in #18125
- Render culture dropdown menu correctly by @hishamco in #18097
- Fix execution order of workflow content handler to prevent incomplete data by @gvkries in #18173
- Migrate the OpenID module to OpenIddict 7.0 by @kevinchalet in #17667
- Add 'Vector' and 'Complex' document type support to allow indexing complex objects by @MikeAlhayek in #18176
- Improve exception handling in InvokeExtensions by @gvkries in #18190
- Trigger IDocumentIndexHandler events from NamedIndexingService by @MikeAlhayek in #18192
- Allow to set whether to fall back to the parent cultures or not through UI by @hishamco in #18123
- Upgrade xunit.v3 to v3 and migrating all subresource integrity hashes to SHA384 (Lombiq Technologies: OCORE-238) by @Piedone in #18187
- Remove extra line from LocalizationSettings by @hishamco in #18215
- Update docs for reverse proxy by @hishamco in #18217
- Add AdditionalProperties collection for BuildDocumentIndexContext by @MikeAlhayek in #18216
- Implement IDisposable whenever it's possible by @hishamco in #18218
- Add DotNest walkthroughs note to the docs (Lombiq Technologies: OCORE-239) by @Piedone in #18222
- Rephrase the fallback culture docs by @hishamco in #18224
- Adjusting Renovate config, removing unneeded package references (Lombiq Technologies: OCORE-236) by @Piedone in #18114
- Fix Azure AI Search and Flows dependencies by @MikeAlhayek in #18193
- Ability to delete content part from list page by @hishamco in #18209
- Ability to delete content type from list page by @hishamco in #18233
- SiteServiceCollectionExtensions -> ServiceCollectionExtensions by @hishamco in #18238
- Simplify security headers settings using tabs by @hishamco in #18234
- Fix OrchardRazorHelperExtensions naming conflicts across modules by @gvkries with @Copilot in #18241
- Display the delete button on edit type & part alongside with list page by @hishamco in #18240
- Add function to clone existing role by @ShivamGovBuilt in #18245
- add ShivamGovBuilt as a contributor for code by @allcontributors[bot] in #18254
- Improves
CompositionStrategyandExtensionManagerand adds unit tests forCompositionStrategyby @MikeAlhayek in #18195 - Trigger content items events when adding or editing items in BagPart and FlowPart by @MikeAlhayek in #18250
- Fix Elasticsearch lastTaskId retrieval and adjust corresponding Renovate config (Lombiq Technologies: OCORE-240) by @Piedone in #18261
- Including GraphQL support for the GeoPointField by @RNovachkov in #18175
- Improve Elasticsearch loggining by @MikeAlhayek in #18267
- fix: mediafield, attached, return model error if file not found by @PiemP in #18263
- Add track_total_hits support in Elasticsearch by @MikeAlhayek in #18274
- Avoid null exception for Calendar when use recipe to auto set up by @infofromca in #18271
- Fix Monaco Editor Script Loading Issues by @gvkries in #18273
- font-awesome 7.0.0 by @agriffard in #18196
- Replace sr-only because of the Font Awesome upgrade by @gvkries in #18276
- Fix null reference error in Liquid IntelliSense for Monaco Editor by @gvkries in #18275
- Move Hint & Required to FieldSettings by @hishamco in #18099
- CorrelateTask fix (17929) by @lampersky in #18288
- Change jQuery ready to DOMContentLoaded event by @gvkries in #18289
- Utilize SearchRequest to search and fix UI bug in Elasticsearch by @MikeAlhayek in #18292
- Use ReplaceLineEndings instead of manually Replacing new lines by @MikeAlhayek in #18294
- Correct mapping of raw startup classes to their respective features by @gvkries in #18302
- Add form-label class to labels following Bootstrap 5.3 conventions by @MikeAlhayek with @Copilot in #18304
- Add Pattern to TextField by @MikeAlhayek in #18293
- Refactor Monaco editor initialization to make it usable in flows and bags by @gvkries in #18285
- Add Elasticsearch response to the search results by @MikeAlhayek in #18309
- Throw an exception when part is not found by @MikeAlhayek in #18310
- Permission shouldn't be empty by @hishamco in #18334
- Prevent unnecessary exception "Error deleting cache folder ..." when the folder doesn't exist by @sarahelsaig in #18341
- Use permission name in case the description is missing by @hishamco in #18339
- Fix JS error in SQL Query view by @gvkries in #18340
- Replace e.keyCode with e.key by @hishamco in #18335
- Format notification titles by @hishamco in #18346
- Fix JS error by @gvkries in #18349
- Restore original ordering in
DefaultContentManager.GetAsyncresults by @gvkries in #18347 - Bootstrap 5.3.8 by @agriffard in #18317
- Upgrade bootstrap and fix scrollspy (Lombiq Technologies: NEST-594) by @wAsnk in #18019
- Fix Elasticseach and Lucene query sources by @MikeAlhayek in #18360
- Evaluate Title and TextField patterns on Cloned event by @MikeAlhayek in #18358
- Use DisplayType Constant by @TurkyAhmed in #18363
- add TurkyAhmed as a contributor for code by @allcontributors[bot] in #18368
- Add GetPossibleOutcomesAsync to workflow activity by @MikeAlhayek in #18372
- Correct the TotalCount value for Elasticsearch by @MikeAlhayek in #18371
- Allow to enable Liquid tags by @gvkries in #18357
- Don't use constants as key for string localizer by @hishamco in #18375
- Remove unnecessary OrchardCore.Email.Core namespace from emails modules by @hishamco in #18377
- Use DisplayType constants by @hishamco in #18376
- Revert DisplayType changes in 1.8.0.md by @hishamco in #18383
- Fix alpha slider functionality in color editor for text field by @gvkries in #18361
- Add node title to each outcome in the workflow by @MikeAlhayek in #18374
- Associate shapes build from template files to all enabled features by @gvkries in #18370
- Fix InvalidOperationException: Sequence contains no matching element by @infofromca in #18366
- Fixes #18306 : add model error only when authority and tenant are inv… by @xnavrat4 in #18352
- Fix/geofieldprovider validation by @SzymonSel in #18382
- Require Title Pattern when using generated behavior in the settings by @MikeAlhayek in #18393
- Add a 'From' field to 'SmsMessage' to support sending messages from different phone numbers by @MikeAlhayek in #18391
- add xnavrat4 as a contributor for code by @allcontributors[bot] in #18395
- Archive Later docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18400
- Prefix IDs generated from Guids with a letter by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18403
- Move alias handle prefix to AliasConstants by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18410
- Add logging to HttpBackgroundJob for better observability by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18408
- Fix format in HttpBackgroundJob by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18416
- Fix own permission check in ListPart by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18413
- Add UserDisplayName Shape by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18329
- Lucene BooleanQueryProvider throws NodeWrongType in case filter is an array (Lombiq Technologies: SANTA-90) by @wAsnk in https://github.com/OrchardCMS/OrchardCore/pull/18379
- Correctly extract values from TahHelperAttribute by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18444
- Font Awesome 7.1.0 by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/18428
- Disable Renovate updates of .NET Docker images (Lombiq Technologies: OCORE-241) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18445
- Fix Taxonomy Pagination by returning the correct page offset by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18448
- Change the typo to The pattern used to generate the value for this fi… by @infofromca in https://github.com/OrchardCMS/OrchardCore/pull/18451
- Fix using shape morphing together with dynamic shape caching by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18450
- Use Shape Morphing to render the User Display Name by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18427
- Simplify using
StringValuesin Liquid templates by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18399 - Reduce allocations when using shape caching by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18456
- Simplify using shape morphing in Razor pages. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18457
- Improve
FlatPositionComparerperformance by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18475 - Minor performance fixes by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18474
- Reduce empty array allocations. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18473
- Do not overwrite binding source when it's already added by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18468
- Document the new DisplayAsAsync() method by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18493
- Reduce allocations for ShapeDescriptors by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18472
- Use SplitAny() in .NET 9+ instead of custom enumerator implementation by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18487
- Fix feature assignment for
IShapeTableProvidersin multi-feature modules by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18502 - Fix semaphore leak in
LocalLockon timeout and add unit tests by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18485 - Don't parse placement file multiple times by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18488
- Refactor
FeatureAttributefor improved clarity and maintainability by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18491 - Fix shape table concurrency and improve caching efficiency by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18504
- Ensure
DefaultTenantOnlyfeatures cannot be enabled in non-default tenants by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18489 - Properly register KeyManagementOptions for protection-data by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18508
- Revert "Fix shape table concurrency and improve caching efficiency" by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18511
- Fix shape table concurrency and improve caching efficiency by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18513
- Fix invalid aria-labelledby attribute on ul elements by @harshasiddartha in https://github.com/OrchardCMS/OrchardCore/pull/18515
- add harshasiddartha as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18522
- Sync UserId column length in AuditTrail table with other by @AndreySurkov in https://github.com/OrchardCMS/OrchardCore/pull/18512
- Add documentation for Menu tag helper and Liquid shape rendering by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18525
- Convert statuses to string instead of int by @infofromca in https://github.com/OrchardCMS/OrchardCore/pull/18367
- Move RuleService to OC.Rules by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18506
- Skip AuditTrailEventIndex.UserId column migration for SQlite by @AndreySurkov in https://github.com/OrchardCMS/OrchardCore/pull/18535
- Fix confirm email link in RegisterUserTask. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18536
- Await when it's possible in RenderWhen() by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18539
- Add missing useCdn in ScriptBlock by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18541
- Revert "Add missing useCdn in ScriptBlock" by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18542
- Remove unnecessary await in RenderWhen by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18543
- Add useCdn in ScriptBlock by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18545
- Add Mike as winner for JT Community Award 2025 by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18546
- Migrate to .NET 10 by @agriffard with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18385
- Added the possibility to set a default alignment + alignment inheritance by @redzepiredzep in https://github.com/OrchardCMS/OrchardCore/pull/18519
- add redzepiredzep as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18566
- Add parameter for LIMIT in RecentBlogPosts SQL query (the blog theme) by @milosh-96 in https://github.com/OrchardCMS/OrchardCore/pull/18547
- add milosh-96 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18568
- Fixing Update Minor Dependency Versions (Lombiq Technologies: OCORE-242) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18537
- Update description for Distributed Tenants feature by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18569
- Fix selecting media in Trumbowyg editors. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18565
- Prioritize
formatoverqualityin ResizeUrlFilter by @MichaelPetrinolis in https://github.com/OrchardCMS/OrchardCore/pull/18560 - Fix pluralization for pagers with 0 or 1 item by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/18558
- Fix culture filter for case-sensitive databases by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18570
- Preselect first thumbnail in Media Fields when
allowMultipleis false by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18567 - Refactor Facebook settings retrieval to synchronous logic by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18574
- Simplified
ResizeUrlFilterby @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18588 - Remove unused System.Linq.Async dependency (Lombiq Technologies: OCORE-245) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18586
- Use LinkGenerator in WorkflowTypeStep by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18572
- Specify 'area' when using LinkGenerator in WorkflowTypeStep by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18591
- Add Unpublish and Delete buttons to content item editors by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18540
- Replace Irony-based SqlParser with Parlot SqlParser by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18503
- TextField color editor should accept default value with #RRGGBB format by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18122
- Introduce DefaultCultureAliasProvider by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18463
- Fix shape property docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18598
- Remove unnecessary TestSqlParer folder by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18599
- Remove empty type body in SqlAst by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18600
- Update aspnet docker images in Dockerfile by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18573
- Add
Galleryeditor for MediaField by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18151 - Add missing docs for OC.Setup by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/17803
- Ensure that the OpenID stores are persisted before a response is sent. by @mvarblow in https://github.com/OrchardCMS/OrchardCore/pull/18527
- Fix ArgumentException when trying to create an OpenID scope without a name by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18610
- Add Placeholder setting to TextField by @plamco in https://github.com/OrchardCMS/OrchardCore/pull/18564
- add plamco as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18618
- Adding docs page about contributing to orchardcore.net (Lombiq Technologies: OCORE-246) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18612
- Migrate xUnit v3 with Microsoft Testing Platform v2 by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18590
- Fix Uninstall & UninstallAsync support in DataMigrationManager by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18608
- Preserve the
RequestUrlPrefixof tenants when running theModularBackgroundServiceby @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18623 - Fixes duplicated variable definitions in the admin CSS styles. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18611
- Fix that
IMediaFileStoreCache.TryDeleteDirectoryAsync()doesn't delete the directory (Lombiq Technologies: OCORE-249) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18644 - Add content life cycle docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18638
- Remove unnecessary ShortcodeModal from templates by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18643
- Add ShapeResult.Cache() docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18649
- Add templates tests docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18650
- Add .slnx solution file by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/18628
- Add copilot-setup-steps workflow file by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18661
- Fix integer parsing in SQL by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18646
- Use "Bug" issue type instead of the label by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18664
- Update SMS failure messages for clarity by @SzymonSel in https://github.com/OrchardCMS/OrchardCore/pull/18670
- Log an error during Indexing even when the connection fails to rollback by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18679
- Improve wording in README project status section by @MissAndileN in https://github.com/OrchardCMS/OrchardCore/pull/18662
- add MissAndileN as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18685
- Normalize input paths in cloud file stores to match IFileStore semantics by @moamen-0 in https://github.com/OrchardCMS/OrchardCore/pull/18683
- add moamen-0 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18686
- Migrate Media and Resources modules from Gulp to asset manager pipeline by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18627
- Remove default implementations from interfaces and obsolete members for v3.0 by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18682
- Replace dynamic ContentCard shapes with strongly typed shapes by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18642
- Recover generateURL property for Media and Trumbowyg by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18690
- Fix NRE in AutoroutePartHandler.ValidateContainedContentItemRoutesAsync (Lombiq Technologies: OSOE-925) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18699
- Fix Monaco IStandaloneEditorConstructionOptions docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18702
- Add agent guidelines for Orchard Core by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18706
- DisplayedAs -> WithDisplayName for consistency by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18701
- Guard against missing Monaco editor options by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18703
- Update user display name docs by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18688
- Fix default search index selection using index name by @moamen-0 in https://github.com/OrchardCMS/OrchardCore/pull/18709
- Prevent crashes when identical content parts or fields are registered from different namespaces by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18712
- Fix off-by-one error in
DefaultScriptingManagerby @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18717 - Improve Asset Manager with NPM package aliasing, dependency refactoring, and enhanced copy action by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18700
- Fix possible Null Reference Exception in DefaultContentsAdminListService by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18719
- Fix logging values in Content Part and field factory by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18723
- Revert Monaco upgrade by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18725
- Simplify yarn build command by removing '-gr' flag by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18726
- Remove all
aria-labelledbyattribtes of<ul>elements (Lombiq Technologies: OSOE-925) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18730 - Update asset manager readme to reflect the latest changes. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18728
- Fix asset manager README.md formatting by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18733
- Fix parameterless functions in SQL queries by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18734
- Fix Redis data protection by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18731
- Add Liquid template examples for UserDisplayName shapes documentation by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18708
- Remove duplicated JS assets which are now provided via NPM by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18737
- Register QuerySearchIndex as a permission by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18735
- "*" origin and AllowCredentials shouldn't set together by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18554
- Refactor IContentDefinitionService for Improved Modularity and Design by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18681
- Fix content item updating by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18751
- Index records in the background by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18741
- Preserve fields when welding parts in ContentElement by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18763
- Add Dynamic Cache Options docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18756
- Allow resolving all ISearchService instances by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18764
- RTL improvements by @Notorious-Ali in https://github.com/OrchardCMS/OrchardCore/pull/18606
- Remove Enabled property from DynamicCacheTagHelper by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18755
- add Notorious-Ali as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18769
- Revert "Update dependency JsonPath.Net to v3" by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18784
- Create agent skills by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18770
- Create Data Localization editor by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/18761
- Fix the warning NU1902 by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18787
- Added a Cancel Feature for Delete by @shivampandey0709 in https://github.com/OrchardCMS/OrchardCore/pull/18677
- Fix admin dashboard crash when DataLocalization module is disabled by @gvkries with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18795
- Remove JsonPath.Net dependency, replace with in-house implementation by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18783
- Fix ReverseProxySettings from Configuration by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18739
- Move permissions to OC.Localization.Core for consistency by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18792
- add shivampandey0709 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18791
- Move Images ResizeMode and Format enums to core project by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18808
- Align docs with current admin navigation structure by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18815
- Improve indexing service resilience and make batch size configurable by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18777
- Move ILocalizationDataProvider implementations registration to their module by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18790
- Refactor ReverseProxy settings access and cleanup by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18805
- Allow "mailto" and "tel" links in HTML sanitizer configuration by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18807
- Constrain admin leftbar compactor hit area by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18816
- Guard logging to resolve CA1873 warnings by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18821
- Add llms.txt for LLM-friendly documentation discovery by @agriffard with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18814
- Block Content Type Picker for FlowPart and BagPart by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18625
- Implement Result Pattern by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18820
- Fix data localizer content field separator by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18848
- dispose of media stream after writing by @weirdyang in https://github.com/OrchardCMS/OrchardCore/pull/18845
- Refactor GetActionContextAsync by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18832
- Remove unnecessary usings by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18851
- add weirdyang as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18850
- Revert "Remove JsonPath.Net dependency, replace with in-house implementation" by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18856
- Obsolete synchronous
CustomSettingsService.GetSettingsTypemethod by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18857 - Set IsTestingPlatformApplication to false for benchmarks by @Youssef1313 in https://github.com/OrchardCMS/OrchardCore/pull/18838
- Fix double border on collapsed cards by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18866
- Font Awesome 7.2.0 by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/18858
- Remove unnecessary GetActionContextAsync() extension method by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18852
- add Youssef1313 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18865
- Add ElasticsearchIndexingAuthorizationHandler (Lombiq Technologies: OSOE-925) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18855
- Fix data localization deployment by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18818
- Fix Broken HTML Rendering When Using Search Highlighter by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18853
- Simplify version extraction in release CI workflow (Only trim the leading v) by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18872
- Refactor ShapeResult for less allocations. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18867
- Refactor PlacementInfo for immutability and performance by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18860
- docs: add AnchorTagHelper documentation to Media module by @Manuel-dev-ing in https://github.com/OrchardCMS/OrchardCore/pull/18817
- add Manuel-dev-ing as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18882
- Add GetPermittedStorage and handle in in the media store (Lombiq Technologies: OSOE-925) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18878
- Add CORS settings deployment by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18894
- fix issue #18896 - get correct table alias for parts in BuildWhereExpressions by @xnavrat4 in https://github.com/OrchardCMS/OrchardCore/pull/18897
- Add data protection guide by @lamualfa in https://github.com/OrchardCMS/OrchardCore/pull/18645
- Rename "Key" column to "Original" in translation tables by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18806
- add lamualfa as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/18903
- Fix query string params after editing admin menu node by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18901
- Optimize shape placement resolution with caching by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18868
- Fix table prefix incorrectly applied to aliases inside CTE query bodies by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18902
- Fix localization in ListPart Edit by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18906
- Add configurable EasyMDE editor settings to Markdown WYSIWYG editors by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18898
- Add autocomplete="off" for missing secret by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18915
- Add missing view (Lombiq Technologies: NEST-608) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18924
- Fix ArgumentNullException in EditTypePart for non-reusable parts by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18908
- Keep headers in generated robots.txt (Lombiq Technologies: NEST-608) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18935
- Fix MediaField silent data loss on transient storage errors by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18869
- Small search fixes (Lombiq Technologies: OCORE-255) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18862
- Check content type authorization with NameIdentifier by @TFleury in https://github.com/OrchardCMS/OrchardCore/pull/18941
- Fix data localizers by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18942
- Remove implicit CancelAsync from ValidateAsync, move to callers by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18939
- Localize content types in ListsAdminNodeDriver & ContentTypesAdminNode by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18943
- Check folder permission on Media upload by @TFleury in https://github.com/OrchardCMS/OrchardCore/pull/18945
- Improve Placement API, Introduce Fluent API for Shape Placement and Add Unit Tests by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18873
- Update MimeKit package version to 4.15.1 by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18951
- Fix debug-src support in StyleTagHelper for anonymous styles with dep… by @buzznick in https://github.com/OrchardCMS/OrchardCore/pull/18909
- Add JSON Serializer Fallback to Prevent Exceptions with Polymorphic Abstract Types by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18870
- Add OC.ContentFields.Core by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18877
- Add migration to replace "standardanalyzer" with "standard" (Lombiq Technologies: NEST-608) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18938
- Fix OrchardCore.Email.Core namespace by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18954
- Replace the obsolete application/javascript with text/javascript by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18952
- Don't log permitted storage by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18970
- Fix style tag helper (Lombiq Technologies: NEST-608) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18971
- Show readable outcome labels on unconnected workflow endpoint dots by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18891
- Default search site setting migration (Lombiq Technologies: NEST-608) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/18974
- Fix Obsolete warning when creating ManagedIdentityCredential object by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/18973
- Use password & autocomplete="off" for Azure email connection string by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18957
- Use MediaTypeNames by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18977
- Fixing typo in OrchardCore.Tests/DisplayManagement/Descriptors namespace by @BenedekFarkas in https://github.com/OrchardCMS/OrchardCore/pull/18979
- Fix Asset Manager warning by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/18986
- Move Workflows admin entry to Design and align docs navigation path by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18890
- Validate contained content items during creation in ListPart by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18828
- Add overflow:hidden to media grid containers by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18985
- Refactor async middleware and filters for improved performance by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18829
- Trim placement shape type on save by @Bellambharath in https://github.com/OrchardCMS/OrchardCore/pull/18976
- Add source generator for Arguments.From by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18837
- Optimize Liquid rendering, string utilities, shape handling and other by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18830
- Fix anchors and outcome lables in workflow designer by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18978
- #18768: Liquid validation/rendering setting made independent from Html sanitization for Html/Markdown components (Lombiq Technologies: OCORE-253) by @BenedekFarkas in https://github.com/OrchardCMS/OrchardCore/pull/18802
- add Bellambharath as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19000
- Bump OpenIddict to 7.4.0 by @kevinchalet in https://github.com/OrchardCMS/OrchardCore/pull/19001
- Add data localization liquid filter by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18988
- LocalLockTests intermittent CI failure by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19011
- Fix media type constants and usage across codebase by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19017
- Fix Attached MediaField cloning issue by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18982
- Support liquid for PhoneNumber in SmsTask by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19019
- Ensure wwwroot is published by adding .placeholder file by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19027
- Async performance enhancements to theme management and shape table retrieval by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18831
- Started to reduce allocations of the shape factory by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18835
- Warn against unsafe Liquid output in SQL queries by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19021
- Cache shape alternates for improved performance by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/18893
- Add IJSLocalizer infrastructure and framework-agnostic JavaScript localization helpers by @Skrypt with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19002
- Fix analyzer DLL package path for
OrchardCore.SourceGeneratorsby @gvkries with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19040 - Support static data migration methods by @MikeAlhayek with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19049
- Use Pager instead of PagerSlim in ListPart admin view (#18035) by @ahlxjg in https://github.com/OrchardCMS/OrchardCore/pull/18975
- add ahlxjg as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19054
- fix: explicitly target web project in
dotnet publishfor Docker CI workflows by @gvkries with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19053 - Flag ManageSqlQueries permission as security critical. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19055
- DataLocalizedString.ToString() should return the Value by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19056
- AdminMenu Localization Support by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18900
- Always unwind workflow recursion state before fault handling and unexpected execution failures by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/18990
- Dynamic translation for search form placeholder text (Lombiq Technologies: OCORE-255) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/18981
- Avoid AdminMenuList document breaking by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19059
- Remove unused usings by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19063
- Refactor ContentShapeAlternatesFactory caching logic by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19061
- Refactor zone creation for less allocations by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19065
- Don't allocate empty list for every ShapeCreatingContext by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19066
- Mark async options interfaces and methods as obsolete by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19057
- Use params only for RequireFeaturesAttribute by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19068
- Fix localization context keys for permissions and content fields by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19070
- Add
protectglobal method provider by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19075 - Add Vite minify plugin for Orchard Core asset conventions by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19023
- Playwright migration from Cypress by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/18987
- fix: guard against null mime in MediaField Vue components by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19077
- Toggle transitive features in features page by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19071
- Reduce Allocation by using
.TryGet<>method over.As<>by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19072 - Exclude Claude folder with gitignore by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19091
- Avoid sorting empty _items collections by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19090
- Async support for PoParser by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18875
- Delay Renovate updates to avoid supply chain attacks (Lombiq Technologies: OCORE-257) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/19094
- Obsolete
.As<>Method and IntroduceGetOrCreate<>for Consistency by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19095 - Add encrypt/decrypt filters and scripting methods by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19099
- Fix Liquid StringValues HTML encoding by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19101
- Pin Node.js to LTS version and document fnm usage by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19092
- Refactor StringValuesValue encoding by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19097
- Add SMS health check by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18919
- Add caching for translated items in LocalizationPartDisplayDriver by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19100
- Use Any() instead of Count() for PERF by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19104
- Fix docs intendation by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19106
- Bypass Markdown extensions from sanitization by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19105
- File upload limit docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19108
- Use FirstOrDefault() to avoid Sequence contains no elements on Featur… by @canadacubachina in https://github.com/OrchardCMS/OrchardCore/pull/19113
- add canadacubachina as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19116
- Add docs for database providers that need database creation before setup by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19109
- Document DatabaseName for SQLite by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19110
- Remove unnecessary IHtmlLocalizer from UserDisplayDriver by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19117
- Decouple search providers from Search module and rename projects by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19074
- Fix Content Picker TitlePattern not being displayed by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19103
- Add AwsFileStore integration tests with Adobe S3Mock emulator by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19015
- Add SMTP Health Check by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/18916
- Fix table format in docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19125
- Fix configuration priority docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19107
- Revert "Add SMTP Health Check" by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19128
- Add Data Localization Contexts to OrchardCoreConstants by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19022
- Remove unnecessary AdminMenuItemDataLocalizationProvider by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19132
- Fix flaky MVC functional test by warming up the OrchardCore tenant pipeline before tests run by @Skrypt with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19122
- Health Check -> Health Checks by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19136
- Transliterate Liquid Filter by @urbanit in https://github.com/OrchardCMS/OrchardCore/pull/19009
- Fix invalid PostgreSQL/MySQL service credentials in functional_all_db workflow for fork PRs by @Skrypt with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19143
- Yarn - Warn Windows users to restart terminal by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19141
- Harden functional test host startup by ensuring per-fixture App_Data path exists by @Skrypt with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19142
- Fix selected media display localization in attached MediaField by @Yash5305 in https://github.com/OrchardCMS/OrchardCore/pull/19121
- Escape curly braces in media format localization string by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19150
- Increase WarmUpAsync timeout to 90 seconds in tests by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19152
- add Yash5305 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19149
- Add instance counter to CmsRecipeFixture for unique App_Data paths by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19153
- Replace ?admin= query param with JS-written cookie for nav selection by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19140
- Add DataLocalizationContext for Search by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19155
- Add explicit permissions to all GitHub Actions workflows by @Skrypt with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19119
- Move PhoneFormatValidator to OC.Infrastructure by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19133
- Sort user roles alphabetically in admin UI by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19158
- Migrate WorkflowStatus to int in WorkflowIndex table by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19130
- Invalidate sessions on role/claim changes; add update handler by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19148
- Localized date format in OpenIdServerSettings by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19163
- Fix NU1903 warnings (Lombiq Technologies: OSOE-925) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19167
- Fix MarkdownToHtmlAsync outputting raw Markdown instead of HTML (Lombiq Technologies: OCORE-262) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19169
- Add Admin menu & Search data localization provider docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19174
- Improve "t" filter docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19173
- Add DocumentsAddedOrUpdated and DocumentsDeleted events to IDocumentIndexHandler by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19178
- Fix updating menu part by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19181
- Fix placement of disabled button tooltips on features by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19176
- Fix Content Picker input width to match standard form inputs by @moamen-0 in https://github.com/OrchardCMS/OrchardCore/pull/18881
- docs: add documentation for creating and installing a custom module by @Manuel-dev-ing in https://github.com/OrchardCMS/OrchardCore/pull/19134
- Merge release/2.2 into main by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19182
- Add missing description for AutoRoute feature by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19183
- Improve feature dependency display and interactivity by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19171
- Improve GraphQL content item authorization handling by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19098
- docs: add Lucene query syntax documentation for Search Form by @Manuel-dev-ing in https://github.com/OrchardCMS/OrchardCore/pull/19076
- Add Sizes attribute to LinkEntry by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19184
- Update nav: move and rename Custom Module guide entry by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19185
- Feature/hovering effect for third list item dark mode by @yashicauni0405 in https://github.com/OrchardCMS/OrchardCore/pull/19202
- Feature/password validation indicators by @Yash5305 in https://github.com/OrchardCMS/OrchardCore/pull/19190
- Group Indexing implementations by provider by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19197
- Add Category and UI filtering for Deployment Steps by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19198
- add yashicauni0405 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19204
- Use short date format in OpenIdServerSettings.Edit.cshtml by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19200
- Docs: Document Admin conventions and relocate admin theme guides by @JasonPG2007 in https://github.com/OrchardCMS/OrchardCore/pull/19195
- Enable static graph restore by default by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19217
- add JasonPG2007 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19214
- Prevent intermittent external login redirect loop by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19216
- add okalangkenneth as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19219
- Adding missing HTML sanitization to Shortcode import (Lombiq Technologies: OCORE-263) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/19223
- Transliteration Refactoring by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19156
- Use Fontawesome styles instead of scripts by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19222
- Use Jint async scripting APIs by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19199
- Do not show check boxes on the list part admin list by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19193
- Enforce IsEnabled check on all login paths (#19218) by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19221
- Support ReCaptcha config via appsettings and env vars by @ghazi1567 in https://github.com/OrchardCMS/OrchardCore/pull/19206
- add ghazi1567 as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19225
- Update README to use full_text Liquid filter by @MichaelPetrinolis in https://github.com/OrchardCMS/OrchardCore/pull/19227
- Fix Icons Alignmnets by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19228
- Add Tests to prove MapPathToPublicUrl and AssetProfileUrlAsync correctly URL-encode spaces and non-ASCII characters by @sebastienros with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19224
- Fix Build Warnings by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19250
- Update release instructions in issue template by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19241
- Move chunk upload services to Media.Core by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19251
- Improve Tenant Management + Table Prefix Pattern by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19237
- Fix content fields data context docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19260
- Add
RequireEndSessionConfirmationoption to OpenID server settings by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19230 - Add "Settings Recipe Step" sections in the docs by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19259
- Add options to add custom system Roles by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19248
- Make yarn build output deterministic across platforms by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19229
- Add orchardcore-asset-manager skill by @Skrypt in https://github.com/OrchardCMS/OrchardCore/pull/19154
- Add CancellationToken to NotificationServices and use Result Pattern by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19247
- Fix Column Placements Grouping by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19266
- Fix Complex Parts Placement and Documentations by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19270
- Refactor InvokeAsync methods and improve test coverage by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19268
- Remove deprecated liquid accessors by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19263
- Broken admin menu items in Blog recipe (Lombiq Technologies: OCORE-265) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19245
- Fix ContentPart Placement by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19275
- Replace wwwroot/.placeholder files with MSBuild MakeDir target by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19242
- Enhance site settings editor validation logic by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19272
- Add import/export support for OrchardCore.Security settings by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19274
- Add "d" filter with params example in docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19262
- Move "t" filter to localization docs by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19261
- Fix table formats in PR #19259 by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19281
- Fix SlugifyMediaNameNormalizerService by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19288
- Validate Azure media container name and fix CreateContainer copy regression (#17597) by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19267
- Replace :: with @ for separating the package from the version by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19293
- Fix Stored XSS via Entity Decoding in Orchard Core HtmlBodyPart Summary Rendering (Lombiq Technologies: OCORE-267) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19294
- Fix Vector Field In Azure AI Search by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19299
- Replace CssOrchardHelperExtensions with ocat-* Classes* for Styling by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19280
- Convert Alerts to Dismissible Toasts by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19271
- Add optional debug output when rendering shapes. by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19278
- Enable Liquid Support for Workflow Tasks Alongside JavaScript by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19292
- Add Relative Path Support for PickupDirectoryLocation in SMTP Settings by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19258
- Fix the Deployment Step Field Wrappers by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19301
- Improve culture picker display for responsive layouts by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19304
- Add default AutoOrient + option to setup in profile, shortcodes, liquid and graphql by @MikeKry in https://github.com/OrchardCMS/OrchardCore/pull/19215
- Sanitize Markdownify Liquid Filter by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19318
- Disable ImageSharp v4 Renovate updates (Lombiq Technologies: OCORE-269) by @Piedone in https://github.com/OrchardCMS/OrchardCore/pull/19320
- Improve docs by correcting typos and admin navigation references by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19315
- Improve Features Management UI by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19317
- Rename TrySendAsync to SendAsync in INotificationMethodProvider by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19325
- Improve Media Fields Editor Docs and Agents.md by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19319
- Rename AddShapeDebugInformation to EnableShapeDebugInformation by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19327
- Add site settings to enable/disable Write shape debug information by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19334
- Stop recreating .placeholder files in CMS core targets by @gvkries with @Copilot in https://github.com/OrchardCMS/OrchardCore/pull/19303
- Add HTTP Strict Transport Security (HSTS) model settings by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19333
- Update vulnerable client-side libraries and resource manifests by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19326
- Fix action-bar height and sticky position for list search by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19330
- Rename Milliseconds property to DismissalMilliseconds in INotifier by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19335
- Update datalist IDs for Target fields to be unique by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19331
- Add IUserInfoClaimsProvider to support returning custom claims from the userinfo endpoint by @okalangkenneth in https://github.com/OrchardCMS/OrchardCore/pull/19328
- Add new module for pruning old content items versions. by @PUXVSE in https://github.com/OrchardCMS/OrchardCore/pull/18983
- add PUXVSE as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19338
- Add .stl 3D logo in branding by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19341
- Docs : Link icons, Add Linkedin OC group by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19343
- Improve Dashboard documentation by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19357
- Update missing docs by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19358
- Add "Add & Configure" buttons to add parts and field UI by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19339
- Enhance media authorization and update permissions documentation by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19359
- Rename feature visibility filters by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19361
- Fix admin root active menu state by @Soumilgit in https://github.com/OrchardCMS/OrchardCore/pull/19348
- add Soumilgit as a contributor for code by @allcontributors[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19366
- Auto-assign positions for parts and fields on add by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19363
- Add Allow Remember Me to Login Settings by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19364
- Consolidate Notifications into a Single Notification by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19340
- OC Skill: Setup recipe creator by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19353
- Content Version Pruning feature docs by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19365
- Sort Creatable content types on UI by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19370
- Fix variable name from sellSettings to shellSettings by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19373
- Prevent default link behavior in the media apps pager component by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19368
- Make media prefs localStorage tenant-aware by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19360
- Add ITimeZoneSelectListProvider to create TimeZones Selector by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19371
- Skills docs contributing by @agriffard in https://github.com/OrchardCMS/OrchardCore/pull/19351
- Remove SaveChangesAsync method from IIndexProfileStore by @MikeAlhayek in https://github.com/OrchardCMS/OrchardCore/pull/19377
- Add Result Failed that accepts LocalizedString by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19383
- Fix that IsEnabled was false negative (Lombiq Technologies: OCORE-270) by @sarahelsaig in https://github.com/OrchardCMS/OrchardCore/pull/19386
- Unseal DebugSettingsViewModel, add an analyzer to detect invalid sealing, and document analyzer release tracking by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19380
- Create _ViewImports.cshtml when using the CMS module project template by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19395
- Add NotifyMessages shape and refactor CoreShapes warnings by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19402
- Fix 2.2 to 3.0 search indexing migration gaps and document upgrade steps by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19396
- Improve orchardcore-tester skill: AutoSetup + browser setup/login guidance by @sebastienros in https://github.com/OrchardCMS/OrchardCore/pull/19372
- Release 3.0.0 by @hishamco in https://github.com/OrchardCMS/OrchardCore/pull/19191
- [release/3.0] Fix ArgumentNullException when editing item without a Localization Set (Lombiq Technologies: OCORE-275) by @github-actions[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19412
- [release/3.0] GraphQL UserPicker field exposes user Email/PhoneNumber without authorization (Lombiq Technologies: OCORE-274) by @github-actions[bot] in https://github.com/OrchardCMS/OrchardCore/pull/19413
- Ship OCSG001 analyzer rule in 3.0 release by @gvkries in https://github.com/OrchardCMS/OrchardCore/pull/19410
New Contributors
- @zl2fxy made their first contribution in #16882
- @jbytes1027 made their first contribution in #17129
- @sparkie79 made their first contribution in #17232
- @Habbni made their first contribution in #17255
- @salmattia made their first contribution in #17266
- @cbadger-montecitobank made their first contribution in #17294
- @jeff-techstension made their first contribution in #17333
- @davidlfox made their first contribution in #17405
- @yqzhen1990 made their first contribution in #17481
- @hawkeye101 made their first contribution in #17515
- @gaojianzhuang made their first contribution in #17779
- @DarkParadoX made their first contribution in #17778
- @mg-i-roc-maz made their first contribution in #17837
- @amrali21 made their first contribution in #17744
- @rwxzig made their first contribution in #17879
- @JackTelford made their first contribution in #17835
- @buzznick made their first contribution in #18154
- @Buzz-Al made their first contribution in #18145
- @ShivamGovBuilt made their first contribution in #18245
- @RNovachkov made their first contribution in #18175
- @TurkyAhmed made their first contribution in #18363
- @xnavrat4 made their first contribution in #18352
- @harshasiddartha made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18515
- @redzepiredzep made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18519
- @milosh-96 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18547
- @plamco made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18564
- @MissAndileN made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18662
- @moamen-0 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18683
- @Notorious-Ali made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18606
- @shivampandey0709 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18677
- @weirdyang made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18845
- @Youssef1313 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18838
- @Manuel-dev-ing made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18817
- @lamualfa made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18645
- @Bellambharath made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18976
- @ahlxjg made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18975
- @canadacubachina made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19113
- @Yash5305 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19121
- @yashicauni0405 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19202
- @JasonPG2007 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19195
- @okalangkenneth made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19216
- @ghazi1567 made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19206
- @PUXVSE made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/18983
- @Soumilgit made their first contribution in https://github.com/OrchardCMS/OrchardCore/pull/19348
Full Changelog: v2.2.1...v3.0.0