It's been almost 10 years since the release of Orchard 1.10, the basis of the changelog below. A big thank you to our 110 contributors producing more than 650 changes of various magnitude!
Breaking Changes
This list is likely incomplete and other changes below might cause build errors, which should be easy to fix.
- #8759: Removed Azure Media Services module (#8853).
- #8268: Getting rid of [Obsolete] stuff, including the Orchard.jQuery and Orchard.TaskLease modules (Lombiq Technologies: ORCH-308) (#8873).
New Features
- #3275: Added recipe step to import Member Bindings for Projection Queries (#7916).
- #5380: Implemented configurable password policies for enhanced security (#7051).
- #5535, #5089, #4983, #4970, #4538, #5031: Added content cloning and translation functionality (#6630).
- #5790: Added participation in cache key generation for fine-grained caching (#7334).
- #6196: Added attachments logic for extended content handling (#7338).
- #6233: Added IDecorator functionality for enhanced extensibility.
- #6410: Added
INotifier.Successextension (#6634). - #6672: Added support for layout snippet manifests (#6700).
- #6772: Added Blockquote element to the layout editor (#6773).
- #6782: Added ability to configure field indexing options for search flexibility (#8173).
- #6793: Added content-independent culture selector shape for the front-end (#8784).
- #6986: Improved Media Processing HTML filter (#8806).
- #7162: Orchard.DeveloperTools - Added toggle from front end (#7163).
- #7396: Implemented UnassignRoleActivity for workflow flexibility (#7414).
- #7404: Added support for users having their own Media folder (#7422).
- #7412: Added cloning overrides for some content parts, including deep clone for records (#8854).
- #7419: Added OpenID feature support for authentication (#7420).
- #7486: Added possibility to export individual form submissions for reporting (#7495).
- #7515: Added RemoveContentDefinition recipe step for deployment flexibility (#7516).
- #7588: Created IUserIdentityResult to display custom login errors to users (#7734).
- #7668: Implemented email tracking to notify when a message is sent (#7669).
- #7843: Introduced Orchard.MediaLibrary.LocalizationExtensions for localized media handling (#7935).
- #7878: Added "Created Content" token for Dynamic Form submissions (#7879).
- #7902: Added Unpublished Event and Unpublish Task to workflows for better content lifecycle control (#7929).
- #7942: Added PostgreSqlCommandInterpreter for PostgreSQL-specific command handling (#8010).
- #8012: Added Excel export functionality to DynamicForms (#8016).
- #8030: Introduced "Create content" permission for granular access control (#8048).
- #8151: Creating a localization for a content item now checks the CreateContent permission instead of PublishContent (#8153).
- #8167: Enhanced Custom Forms module with new editing and permission capabilities.
- #8213: Added a Projection Filter for
StringField. - #8225: Add checkbox to StringFilterForm to allow skipping the filter when the value is empty (#8781).
- #8227: Added publish button option in Custom Forms with configurable label settings (#8228).
- #8259: Added token for request header to enable dynamic tokenization in workflows (#8263).
- #8260: Introduced live preview feature (back-port of Orchard.ContentPreview).
- #8280: Add
RemovePartFromContentTypeStepfor recipes for removing a content part from a type. - #8282: Add field removal to
RemoveFromContentTypeStepfor recipes for removing a field from a content part. - #8350: Add tokenizable default value support to
ContentPickerField(#8351). - #8381: Add token-based sort criteria for dynamic query ordering (#8382).
- #8420: Added FromName and ReplyTo properties to SmtpSettingsPart.
- #8424: Added AutorouteSettings.AllowSetAsHomePage to control homepage content.
- #8437: Add a workflow event activity that triggers on the first content update to enable more granular workflow automation (#8438).
- #8465: Add culture selection in widgets page for better localization support (#8466).
- #8475: Added ability to log missing translations (#8477).
- #8480: Add "Exclude children" option for the Taxonomy Term Filter to allow more granular filtering (#8481).
- #8489: Added default settings for projections (#8497).
- #8500: Add HtmlDecode token for decoding encoded HTML content in templates (#8501).
- #8516: Added separate roles management action for users, backported from Orchard Core (#8535).
- #8537: Add support for cloning layout elements in Orchard.Layouts to simplify layout duplication and speed up page design (#8538).
- #8539: Add specific permission (
MayEditContentOwner) to change content item owner for better security control. - #8541: Implemented password history functionality (#8542).
- #8565: Add Delete and Unpublish buttons in the content editors for easier content management (#8566).
- #8569: Add Blog Post search feature to improve content discoverability (#8570).
- #8621: Added file hash to static resources.
- #8638: Added username policies.
- #8657: Add role event activities and handlers for workflows to enable role-based triggers (#8658).
- #8666: Add "No term selection" option in TaxonomyField to prevent validation errors (#8667).
- #8673: Added ability to insert and edit snippets of HTML source code (#8668).
- #8678: Add TinyMCE content links plugin for improved content editing (#8679).
- #8700: Added flag to display a single model error for MediaLibraryPickerField.
- #8712: Implemented "scale" filter to avoid grainy images (#8713).
- #8717: Update XML helper to support storing and parsing Guid values in infoset.
- #8718: Added maximum length setting to TextField and TitlePart (#8719).
- #8730: Added ability to Projections to include localizations of selected Taxonomy Terms in filters for multilingual support.
- #8752: Added the ability to publish/unpublish menu items in the menu editor (#8807).
- #8755: Add chain to Slug token to enable TextTokens for Autoroute configuration (#8755).
- #8828: Exposed Redis API to clear multiple keys using wildcard syntax (#8829).
- #8832: Add LazyLoadConvention for NHibernate to optimize entity loading (#8833).
- #8836: Added configurable script tag sanitization for TinyMCE (Lombiq Technologies: ORCH-307) (#8872).
- #8266: Security sensitive permissions (Lombiq Technologies: ORCH-214) (#8874).
- #8879: Adding GetNullableDateTime to ISearchHit and LuceneSearchHit (#8883).
Performance
- #5159: Added indexes to IdentityPartRecord.Identifier and UserPartRecord.NormalizedUserName for faster lookups (#8269).
- #6942: Enabled Single fcnMode in Release builds for optimized runtime performance (#8220).
- #7501: Improved performance of Count HQL queries for large datasets.
- #7554: Re-applied optimization for Count HQL queries after previous revert (#7621).
- #7590: Added index on ContentTagRecord table for faster tag queries (#7591).
- #7593: Added index on TermContentItem table for taxonomy queries (#7594).
- #7705: Improved query performance by adding indexes to frequently accessed tables.
- #7845: Improved performance when updating tags for content items.
- #7861: Added eager loading of extensions to reduce query overhead.
- #8082: Added NOLOCK hint to IndexingTaskRecord queries for better concurrency handling (#8094).
- #8162: Improved subquery handling for HqlExpressions for better query performance (#8163).
- #8187: Optimized autoroute check for better performance (#8186).
- #8196: Add database indexes to
CommonPartRecordandCommonPartVersionRecordtables to improve query performance (#8210). - #8207: Improve performance of
DefaultContentManagerby optimizing content item loading and reducing redundant database queries. - #8284: Fixed performance issue when reading site settings and accessing SSL settings page (#8289).
- #8354: Optimize settings loading by preventing multiple hits on
Settings_ShellDescriptorRecord(#8355). - #8359: Improve AutoroutePart handling for more efficient route generation (#8360).
- #8361: Add new database indexes to CommonPartRecord tables to improve query performance and reduce load times for content retrieval (#8362).
- #8367: Added indexes for common queries (#8369).
- #8370: Save
MemberBindingRecords in memory to reduce database calls (#8371). - #8372: Cache the list of configured layers to improve rendering performance (#8373).
- #8374: Memorize query results in the blog service to reduce repeated database queries.
- #8459: Added indexes to
CommonPartRecordandIdentityPartRecordto ensure schema consistency. - #8488: Update NHibernate to improve ORM performance and compatibility.
- #8509: Implemented different cache key by role (#8510).
- #8674: Optimize shape table sorting for better rendering performance (#8676).
- #8675: Improve ExtensionManager performance for faster module loading (#8677).
- #8689: Add in-memory caching to INavigationFilters for better performance when the same navigation is rendered in multiple places (#8690).
- #8692: Prevent unnecessary queries from LocalizationPart to improve performance (#8693).
- #8706: Cache CultureRecords by both Id and Name to improve localization performance (#8708).
- #8775: Applied small optimization in TaxonomyService.
Improvements
- #1067: Added support for multiple URLs in UrlCondition for flexible rule matching (#7868).
- #3954: Implemented resource file hash-based cache busting for static assets (#7564).
- #4138, #3671, #7834: Made shape placement parsing strategy extendable via providers for customization (#7837).
- #5408: Dropped static view compilation temporarily to support Roslyn dynamic compilation (#7892).
- #5408: Enabled C# 6 for dynamic compilation and Razor IntelliSense (#7891).
- #5419: Integrated Glimpse for advanced diagnostics and profiling (#7502).
- #5672: Added a generic default theme.png for themes without an image (#6819).
- #5764: Extended ISearchBuilder to support grouping clauses for advanced search scenarios (#7850).
- #5811: Modified OutputCache module for better caching behavior (#7330).
- #6014: Added user data providers and cookie expiration settings for enhanced security (#7945).
- #6193: Improved IHtmlFilter and TokenFilter and applied bugfixes (#6938).
- #6336: Added placeholder editor form and attribute for applicable fields to improve UX (#7820).
- #6518: Media Library - Added "Select All" button for easier bulk operations (#6610).
- #6600: Updated localization service to harvest only dictionary files (#6841).
- #6652: Removed legacy Azure Cloud Service support from build/utility scripts.
- #6658: README: fix broken localization link in docs.
- #6660: Fix compile warning in project sources.
- #6674: Added priority to Orchard.Resources manifest so resource ordering is deterministic (#6699).
- #6688: Implemented caching and routing improvements for request tokens (#7356).
- #6691: Added default value for radio button elements (#6697).
- #6694: Improved RTL styling for Orchard.MediaLibrary.
- #6704: Added regular expression validation for TextField element (#6705).
- #6720: Field default value is now proposed on first edit when creating content.
- #6724: Resolved typos across three modules (#6745).
- #6736: Added TextPlaceholder for textbox fields (#6758).
- #6759: Enabled replacing media items (Image/OEmbed) with new ones in Media Library (#7160).
- #6764: Updated MenuItem.Edit.cshtml to handle returnUrl (#6763).
- #6767: Fine‑tuned Admin Content Types field and parts lists (CSS) (#6754).
- #6785: Removed unnecessary reference in Orchard.Indexing to Orchard.JobsQueue.
- #6815: Added ReSharper support to Razor view engine for better developer experience (#6814).
- #6821: Use alias in import/export for
TaxonomyIdwithinTaxonomyElement(#6828). - #6831: Implemented CdnSupportsSsl in Orchard UI Resources to support secure CDN URLs (#6848).
- #6860: Added SASS support to Gulpfile.js for asset pipeline (#6861).
- #6876: Added warning notification if Redis configuration string is not set.
- #6905: Implemented second missing SASS pipeline for asset processing (#6906).
- #6913: Extended snippet manifest format for richer metadata (#6922).
- #6920: Added CSS rule sets for superscripts and subscripts for improved text styling.
- #6937: Added password parameter to IUserEventHandler.PasswordChanged event for better auditing (#6955).
- #6945: Corrected TinyMCE Module.txt metadata.
- #6946: Updated username format in CreateUserActivity for clarity (#6951).
- #6978: Added new interface to allow extending content queries for custom scenarios (#7717).
- #6981: Normalized image profile path hash and added profile purging (#8788).
- #6989: Add SiteName to the subject line of new account emails.
- #6991: Wrapped OWIN middleware configuration for better modularity (#7161).
- #7003: Implemented StringFilterForm for improved filtering options (#7004).
- #7040: Added IdentityPart to ShapeMenuItem for better import/export consistency.
- #7042: Added identity support to the menu creation command switch.
- #7089: Allow adding HTML classes through ShapeTableBuilder.Describe for better customization (#7081).
- #7118: Refactored Media Library web search API for improved maintainability (#8229).
- #7141: Updated Content-User.Edit.cshtml for better UI consistency (#7145).
- #7170: Added "no data" message to Orchard.Tags.TagsCloud (#7245).
- #7240: Default tag cache now sourced from HttpContext for improved performance (#7280).
- #7297: Improved wording of Notifier messages in Content Management admin (#7298).
- #7299: Updated defaults for rebracer.xml configuration (#7300).
- #7318: Orchard.DesignerTools - Removed obsolete Setting Id property (#7319).
- #7352: Implemented ContentPicker localization options (#7391).
- #7352: Upgraded ContentPicker culture dropdown for better localization handling (#7388).
- #7361: Changed Audit Trail trimming task to delete all records in one batch for efficiency.
- #7406: Ordered contained content items in ascending order for predictable display.
- #7417: Added ProjectionManager extension for advanced query handling.
- #7430: Added support for culture-neutral patterns in localization (#7449).
- #7443: Updated Jobs Queue menu item visibility logic for better UX (#7444).
- #7452: Media Library - Added ability to replace media items in the recent section (#7484).
- #7455: Removed IProjectionManagerExtension as part of cleanup and modernization (#8206).
- #7467: Changed gulpfile.js to invoke autoprefixer directly for CSS processing (#7470).
- #7474: Enabled creating editable layouts from the page creation command (#7475).
- #7476: Updated WidgetCommandsService.cs for better command handling (#7477).
- #7481: Updated WorkflowUserEventHandler.cs for better workflow event handling (#7482).
- #7498: Added support for output cache variation by query string modes (#7509).
- #7526: Added missing dependencies to OpenID module for proper initialization.
- #7530: Considered returnUrl parameter in OpenID actions for better redirect handling (#7558).
- #7538: Added CodeGen project as a build dependency of Orchard.Web for consistent builds (#8089).
- #7582: Refactored code using Compose for stronger and more consistent patterns in ContentDefinitionManager.
- #7584: Removed unused feature names from module definitions (#7613).
- #7596: Localization improvements for multilingual content handling.
- #7620: Media Library - Added global media permissions for broader access control (#7622).
- #7623: Allowed draft content items in ContentPickerField for flexible selection (#7624).
- #7625: Localization - Default culture now set to site culture for new content items (#7626).
- #7633: Orchard.Mvc.Routes - Added support for multiple IRouteProvider implementations per module (#7634).
- #7635: Added comments to Audit module for better maintainability.
- #7639: Added LangVersion 5 setting to all project files for Debug and Release targets (#7641).
- #7642: Allowed feature prefix override in TableDbName for flexible database naming.
- #7674: Added LifecycleStatus property to Feature Descriptor for better feature lifecycle management.
- #7686: Updated CreateDescribeContext to query the latest content for accurate descriptions (#7687).
- #7710: Upgraded TinyMCE to the latest version for improved editor features (#8118).
- #7713: Enabled dynamic C# compilation and Razor compilation with Roslyn (#8103).
- #7713: Enabled view compilation using MSBuild for improved build consistency (#7732).
- #7721: Removed LocalizationPart usage from the Blog and Default setup recipes for simplified localization architecture (#7911).
- #7729: Enhanced text token functionality for better dynamic content handling (#7730).
- #7752: Added support in LocalizationStreamParser for PO entries spanning multiple lines.
- #7786: Excluded unnecessary file from Gulp build pipeline.
- #7791: Updated placement editor screen to support moving shapes into tabs for better UI organization (#7795).
- #7792: Removed IDisplayedContentItemHandler in favor of ICacheTagProvider for better caching architecture (#7793).
- #7814, #8091: Updated Newtonsoft.Json, Microsoft.Owin, and IdentityModel to latest versions for compatibility (#8087).
- #7815: Orchard.MediaProcessing - Added scale option to resize filter for flexible image processing (#7816).
- #7859: Added join clause to order query results correctly (#7860).
- #7873, #8008: Extended automatic Workflows CSS discovery with caching for better performance (Lombiq Technologies: ORCH-197) (#8216).
- #7885: Query tenant tables by database schema instead of NHibernate configuration for accuracy (#8031).
- #7921: Extended query logic to support fetching latest versions of content items (#7923).
- #7926: Updated Taxonomy Term sorting logic to order by FullWeight and added documentation.
- #7944: Abstracted account validation.
- #7947: Updated media-library-picker-admin.css for better UI styling.
- #8002: Added support for byte[] column type via generic create command for schema flexibility (#8050).
- #8003: Added configuration support to MembershipValidationService for flexible validation rules.
- #8005: Added file formatter utility for better file handling.
- #8007: Upgrade all projects to target .NET Framework 4.8 for better compatibility and security (#8444).
- #8013: Enabled modifying user info without requiring password changes (#8014).
- #8046: Added JavaScript onSelect event for improved interactivity (#8047).
- #8059: Updated ClientStorageController.cs for better client-side storage handling.
- #8061: Updated Workflows AdminController for better maintainability and clarity.
- #8077: Added index name to SearchViewModel for better indexing diagnostics.
- #8095: Limited ContentType placement strategy to back-end for security and consistency (#8096).
- #8107: Specified tenant name in RecipeStepExecutor logger for clearer diagnostics.
- #8111: Updated QueryVersionScopeOptions and ProjectionManager to support draft-only queries (#8112).
- #8115: Updated SpecFlow test cases (.feature files) for better test coverage.
- #8183: Upgraded jQuery to a newer version for better compatibility and security.
- #8194: Added functionality to find translations for localized terms (#8195).
- #8197: Updated Localization.ContentTranslations.Edit.cshtml for better UI consistency.
- #8198: Consolidate
UpdateFrom4changes intoCreatein Autoroute migrations (#8217). - #8205: Merged DraftFieldIndexService.cs into FieldIndexService.cs for code simplification.
- #8208: Adopted Orchard Core .editorconfig (#8868).
- #8221: Rewritten LocalizedTaxonomyPartHandler for better localization support (#8295).
- #8224: Added redirects to overridden routes in AdminController and ItemController for consistency.
- #8232: Add warnings when a Projection Query has an empty Filter Group (#8813).
- #8233: Added return URL when clicking on content hosted in a ContentPicker for better navigation (#8234).
- #8238: Use
CreateRouteValuesfor creation routes inOrchard.Core.Contents(#8241). - #8242: Provided source URL for OEmbedPart as MediaUrl for better media handling (#8249).
- #8243: Add
Options.SelectedCultureto RouteData to enable culture-aware route handling (#8244). - #8245: Minor updates in Media Library Web Search settings editors for better UX.
- #8246: Added disabled user event handler for extended workflow scenarios (#7939).
- #8258: Change returnUrl from absolute URL to relative URL to improve security and consistency (#8265).
- #8299: Switch Markdown processing to Markdig for improved rendering.
- #8300: Made messages in register.cshtml consistent with user settings for better UX (#8301).
- #8309: Introduced tabs and cards in admin UI to better organize parts and fields (#8310).
- #8315: Converted Kudu custom script to PowerShell for better automation compatibility.
- #8317: Added button to manage approve/disable actions in user edit screen.
- #8328: Make images recognizable in the Media Library Admin UI even if they are white on a transparent background (#8329).
- #8343: Made ILogger property in RazorCompiler public to allow dependency injection.
- #8345: Added admin search permissions for better access control.
- #8346: Add permissions for admin search to allow granular access control (#8345).
- #8365: Refactored LocalizationPartDriver (#8366).
- #8380: Update the UI for projections to improve usability.
- #8383: Process ignored paths in
OutputCachewith awareness of RequestUrlPrefix for correct routing (#8384). - #8386: Upgraded host resolution to allow multi-level tenant URL hierarchy (#8387).
- #8399: Prevent DistributedLockService from getting a node stuck in a loop when multiple nodes try to run the same task (#8398).
- #8419: Allow downstream methods to set default values for improved flexibility in boolean model binding.
- #8445: Update NuGet libraries to latest versions for improved stability and security (#8446).
- #8457: Upgraded
MoqandMicrosoft.IdentityModel. - #8467: Show disable action for deprecated Core features to improve feature management (#8468).
- #8471: Upgraded YamlDotNet from 9.1.3 to 11.1.1 (#8472).
- #8475: Refactored method body into a protected method (#8476).
- #8495: Reverted change preventing identity overwrite during cloning.
- #8502: Set SSL redirection as permanent for SEO optimization (#8503).
- #8517: Added Event Descriptor to the Audit Trail context to allow handlers know more about source of the event.
- #8525: Upgraded client-side libraries (#8848).
- #8529: Added two constructors to CreateUserParams (#8530).
- #8536: Bumped SharpZipLib from 1.3.1 to 1.3.3 in Lucene module.
- #8549: Add routing metadata for UserPart for action links to point to the correct controller.
- #8571: Allow RecipeManager to adjust execution timeout for long-running recipes (#8572).
- #8596: Updated Newtonsoft.Json to version 13.0.1.
- #8599: Support nullable values in Boolean Fields for better flexibility (#8600).
- #860: Removed obsolete PublishLaterTask logic for cleaner scheduling (#7438).
- #8607: Bumped version for OWIN packages (#8617).
- #8629: Add cacheKey parameter to distinguish between AJAX and normal requests in Output Cache (#8630).
- #8633: Update SharpZipLib to version 1.3.3 for improved compression handling.
- #8639: Add hints to display technical names in content type and field definition editors for easier configuration (#8640).
- #8650: Add sequential upload parameter for importing items to the Media Library to prevent UI freezing.
- #8651: Changed cache options labels for clarity.
- #8671: Restored ability to automatically migrate hashing algorithm (#8672).
- #8691: Replaced SmtpClient with MailKit (Lombiq Technologies: ORCH-267) (#8707).
- #8710: Consolidated Microsoft.Owin package versions on dev (#8711).
- #8720: Improve Orchard.Layouts UX with a taller and sticky toolbar, and better scrollbar styling (#8721).
- #8721: Improved Orchard.Layouts UX.
- #8724: Used content item's ContentManager for lazy field loading instead of the injected one (#8725).
- #8754: Added chain to Slug token to enable TextTokens for Autoroute configuration.
- #8760: Used content item's ContentManager for lazy field loading instead of injected one (#8761).
- #8776: Upgrade Microsoft.CodeDom.Providers.DotNetCompilerPlatform to latest version for Dynamic Compilation, Razor IntelliSense and Razor compilation to work (#8777).
- #8779: Recompile client-side assets for 1.10.x branch to update front-end resources.
- #8786: Updated Microsoft.IdentityModel packages from 5.2.4 to 5.7.0 (#8787).
- #8803: Move embed video import logic in the Media Library to a dedicated service for better maintainability (#8827).
- #8811: Update and consolidate vulnerable NuGet packages (System.IdentityModel.Tokens.Jwt and its dependencies, Newtonsoft.Json, DotNetZip removed) for security (#8812).
- #8814: Upgraded NHibernate to version 5.5.2 (#8815).
- #8822: Upgrade MailKit to version 4.9.0 and consolidate NuGet packages for better maintainability and security (#8823).
- #8827: Moved embed video import to a dedicated service.
- #8856: Updated NuGet packages to latest minor/patch versions.
- #8268: Removing obsolete TermPart.SortObsolete (and TermsComparer) from Taxonomies (#8887).
- #8479: ResourceManager should skip rendering a resource without a URL (#8876).
- #8881: Modifying search settings deserialization to allow line breaks in the imported XML (#8882).
- #8886: Fixing that displaying the publish button in the user editor should depend on ManageUsers permissions instead of PublishContent.
Bugfixes
- #1531: Prevent IThemeSelector.GetTheme() from being called multiple times unnecessarily (#7491).
- #4569: Block requests to a tenant while its shell is restarting to avoid transient ObjectDisposedException/YSODs (#6611).
- #4623: Added null check on WorkContextAccessor to prevent runtime exceptions (#7864).
- #4718: Fixed NRE thrown on generic method invocation.
- #4723, #6769: Orchard.Core.Contents - Verify content type exists before creation (#7316).
- #4779, #4780, #5366: Fixed index length issues for MySQL compatibility (#7607).
- #4941: Added Url property to dynamic menu shape for better rendering (#7468).
- #5143: Set AssemblyInfo.cs build action to Compile instead of Content during CodeGen update (#6829).
- #5294: Fixed specific URLs in SecureSocketsLayer not being redirected to HTTPS (#6847).
- #5417: Fixed External Media (oEmbed) export/import issue (#6836).
- #5596: Fixed layout blueprint harvesting caching logic for consistent behavior (#7549).
- #5745: Orchard.Roles - Moved Renamed() call inside UpdateRole() to ensure role updates are applied correctly (#7653).
- #5825: Corrected layout editor rendering of
<br>tags (#6915). - #5960: Added sizes attribute to LinkEntry for responsive images (#7303).
- #6115: Fixed issues in FileSystemOutputCache feature for reliable caching (#7913).
- #6193: Fixed auto-merge for IHtmlFilter and TokenFilter improvements (#8790).
- #6240, #6445: Fixed null reference exception in Timer activity (#6604).
- #6275: Add IdentityPart to TaxonomyNavigationMenuItem (import/export compatibility) (#6728).
- #6300: Avoid inconsistency when building Gallery menu items if the tenant is not the default one (#7511).
- #6302: Fixing that unchecked checkboxes' value could not be saved in certain Admin features (#6605).
- #6316: Fixed issue where modified URL only updated in AutoroutePart and not as a new alias (friendly URL) (#7485).
- #6323: Fixed media folder rename failure with Azure Media Storage (#7670).
- #6494: Fixed SSL missing settings banner showing on frontend (#7302).
- #6512: Media Library no longer clones the same item multiple times (#6677).
- #6530: Dynamic Forms - Fixed default value tokenization for fields (#6613).
- #6542: Fixed issue with content picker in Orchard.Lists (#6615).
- #6542: Fixing an issue in Content Picker when selecting only one item (#6614).
- #6550: Not requiring client-side validation for Enumeration/Boolean fields when the default value is set (#6626).
- #6550: Not requiring client-side validation for Input/Link/Date fields when the default value is set (#6619).
- #6550: Not requiring client-side validation for Numeric fields when the default value is set (#6618).
- #6550: Not requiring client-side validation for Text fields when the default value is set (#6616).
- #6609: Fixing that Taxonomy Field autocomplete should show the display name instead of a technical name.
- #6617: Fixing Layout OnIndexing when using a Snippet element.
- #6638: AliasHolderUpdater.Refresh() was called twice; ensure single refresh in DefaultContentManager (#6646).
- #6639: Azure Media Storage should recognize its own public URLs; avoid default port (80) mismatches when comparing endpoints (#6640).
- #6642: Media gallery now works with Azure Blob Storage (#6708).
- #6644: CodeGen should place new Module/Theme projects under the correct Solution folders; fix .sln NestedProjects handling (#6645).
- #6651: Admin menu now includes aliases-admin.css (#6680).
- #6655: Correct minified/debug CSS resource manifest definitions so Admin styles resolve properly (#6661).
- #6656: Remove duplicated Newtonsoft.Json bindingRedirect entries in root Web.config (#6662).
- #6666: Fixed null ETag handling in response headers.
- #6686: Prevent double‑clicks on Publish/Save buttons (#6690).
- #6712: Fixed failure in Sign In Workflow Activity (#6713).
- #6721: Prevent ChildAction from incorrectly resetting _cacheKey for OutputCacheFilter (#6726).
- #6729: Workaround for PostgreSQL transaction issue when creating DistributedLocks table.
- #6732: Fixed issue reported in workflow handling (Recycle Bin pager) (#6751).
- #6733: Fixed Comments and Audit Trail issue; rebased on dev branch (#6891).
- #6737: Fixed removal of records in DistributedLockService.
- #6741: Processing Engine tasks are now evaluated on startup.
- #6742: Ensure Processing Engine task list initializes and background timer starts after PE tasks (#6791).
- #6748: Implemented stricter file and folder name validation (#6792).
- #6768: Link placeholder referenced in settings but missing.
- #6771: Fixed jQuery typo in client-side scripts (#6774).
- #6783: Workaround for PostgreSQL without breaking SQL Server compatibility (#6990).
- #6788: Prevented multi-submission issues in forms (#6789).
- #6795: Fixed sorting of taxonomy terms in admin UI (#7398).
- #6798: Export the correct AutoroutePart property during import/export operations (#6799).
- #6802: Renaming Media Library files to reserved Windows names now triggers an error (#6919).
- #6808: Avoid potential ArgumentNullException in the Lucene module.
- #6811: Fixed setup recipe description mismatch in admin UI (#6916).
- #6812: Add shape attributes to CreateElementTagBuilder for proper element rendering (#7072).
- #6840: Removed PublishLaterTask when a newer version is published to prevent scheduling conflicts (#7407).
- #6842: Fixed Element Bindings breaking after adding a field to a content type (#6843).
- #6850: Added scheme to OutputCacheKey to prevent SSL bypass (#6851).
- #6856: Create target folder if it does not exist when moving media files (#6857).
- #6863: Fixed case-sensitive comparison when checking request headers in output cache (#6864).
- #6865: Added 10-digit precision support to SASS compiler (#6866).
- #6868: Cancel database transaction on exception to prevent partial commits (#6833).
- #6869: Fixed profile image creation failing when using absolute URIs.
- #6877: Wrapped text in views with T() for proper localization (#6897).
- #6890: Admin Menu - Corrected visibility for "Content" item (#7464).
- #6894: Fixed media import error by replacing indexOf with contains for string checks (#6908).
- #6899: When selecting a menu path by comparing string-based URLs, ensure the most nested URL is chosen.
- #6902: Corrected typo in code comments and UI (#6970).
- #6907: Fixed path to Orchard.WarmUp module for Linux compatibility.
- #6928: Projections - Migrated RewriteOutput property from boolean to tokenized condition text for dynamic layouts (#8275).
- #6931: Fixed that getting other localizations of a content item might return nothing.
- #6962: Placement path condition now strips Tenant/Site UrlPrefix for accurate matching (#8222).
- #6966: Orchard.Fields - Added proper support for "not required" setting in DateTimeField (#7248).
- #6973: Changed SQL datetime format from ANSI SQL to ISO 8601 for consistency (#7059).
- #6979: Orchard.Projections - Added IsNull and IsNotNull operators for DateTime filters to handle nullable columns (#6980).
- #6987: Fixed lowercase display and CSS class of bulk labels in admin content list (#7060).
- #7008: Updated form name during validation to ensure correct binding.
- #7024: Added null checks for shapes returned by field drivers to prevent runtime errors (#7025).
- #7026: Corrected issue with dynamic shape rendering in templates (#7027).
- #7034: Fixed output caching for non-200 responses (#7035).
- #7043: Fixed issue displaying multiple editors from a custom part (#7097).
- #7055: Corrected taxonomy weight handling for proper ordering (#7709).
- #7071: Orchard.Users - Corrected last login time display for users (#7325).
- #7074: Pass the correct display type to widget elements for accurate rendering.
- #7076: Fixed typo "occured" in logging messages and notifications.
- #7104: Fixed widget element title encoding to prevent XSS issues (#7105).
- #7111: Fixed fields displaying as & instead of & in validation error messages (#7156).
- #7115: Fixed blog setup recipe issues in Orchard.Setup (#7166).
- #7119: Fixed case sensitivity in Orchard.Azure path comparison (#7124).
- #7120: Fixed crash caused by hidden field in Dynamic Forms (#7123).
- #7121: Corrected incorrect URL to documentation for layer rules (#7122).
- #7125: Removed leftover tokenized CSS class (#7127).
- #7129: Added required support to Boolean.cshtml view (#7133).
- #7131: Resolved Add/Edit Field issues in Orchard.ContentTypes (#7150).
- #7142: Orchard.Blogs - Corrected "Edit Blog" title showing as "New Blog." (#7143).
- #7144: Fixed labels being hidden when a DateTime field is added (#7146).
- #7151: Orchard.Core - Corrected UI for CDN setting usage (#7152).
- #7153: Fixed typo .buton:active in multiple CSS files (#7154).
- #7155: Orchard.Framework - Fixed GroupInfo generating routes with spaces (#7275).
- #7168, #7169, #7170: Added "no data" messages for Blog Recent Posts, Archives, and Tag Cloud widgets (#7270).
- #7171: Orchard.Blogs - Hide Parts_Common_Metadata on blog content type (#7242).
- #7192: Orchard.Tags - Ensure tags are alpha-sorted in Manage Tags admin page (#7198).
- #7202: Orchard.MediaLibrary - Corrected CSS causing text wrap failure (#7208).
- #7212, #7329: Orchard.Comments - Reworked frontend and fixed related bugs (#7332).
- #7225: Fixed incorrect log message in Indexing module (#7306).
- #7246: Added missing null checks after Get() calls in DefaultContentManager (#7247).
- #7251, #1659: Orchard.Setup - Blog recipe now creates widgets correctly (#7324).
- #7255: Fixed cached items not being evicted on Remove and Destroy operations (#7281).
- #7258: Orchard.Core - Fixed tabbed group-by breaking priority ordering (#7321).
- #7278: Orchard.Roles - Updated GetRoles to defer execution for performance (#7320).
- #7301: Orchard.MultiTenancy - Fixed mismatched ConnectionString UI between add/edit screens (#7315).
- #7304: Fixed layout element lookup issue in rendering pipeline (#7305).
- #7326: Orchard.Widgets - Fixed typo in logger messages (#7327).
- #7339: Orchard.Widgets - Refactored widget creation logic for consistency (#7342).
- #7346: Fixed caching issue related to OutputCache invalidation (#7354).
- #7348: Updated SummaryAdmin view to include "New Translation" link like the editor view (#7513).
- #7362: Fixed issue preventing reading SiteSettings from Routes class (#7363).
- #7378: Fixed tenant name validation regex to disallow numbers (#7399).
- #7387: LocalizationStreamParser should not fail on faulty PO files (#7401).
- #7400: Fixed cloning and translation issues in content duplication workflows.
- #7404: Improved media username provider for user-specific folders (#7454).
- #7413: Resolved permission issues for taxonomies and terms (#7456).
- #7415: Renamed ModelStateDistionaryExtensions.cs to ModelStateDictionaryExtensions.cs for correctness.
- #7425: Session Locator - Fixed isolation levels not respected in Sites.config (#7466).
- #7428: Corrected string literals in Regex.IsMatch calls for accuracy (#7429).
- #7431: Ensured snippet field properties are correctly set on a layout blueprint (#7718).
- #7432: Fixed query filter behavior on DateTime fields.
- #7434: Fixed broken link to .NET Foundation in documentation.
- #7436: Added missing using System.Linq in C# scripting engine (#7437).
- #7441: Adapted export steps flag to work with refactored steps in deployment (#7442).
- #7446: Orchard.Users - Allow umlauts in UserPart.EmailPattern validation (#7447).
- #7451: Fixed strange encoding of taxonomies in dynamic forms (#7458).
- #7462: Orchard.OutputCache - Fixed possible NullReferenceException in DefaultTagCache constructor when accessing WorkContext (#7463).
- #7469: Fixed tenant restart infinite loop issue (#7471).
- #7472: Fixed MP4 files not streaming correctly from Azure Blob Storage.
- #7473: Fixed usage of undeclared variables in Link.Edit.cshtml.
- #7479: Fixed unwrapping of TargetInvocationException to prevent partial stack trace loss (#7550).
- #7480: Fixed error in ScheduledTaskExecutor causing task execution failures (#7547).
- #7493: TextFieldDriver now exports its tag even if content is empty (#7510).
- #7505: Fixed content fields resetting their values when building editors for new content items (#7507).
- #7517: Fixed error preventing settings views of OpenID features from loading (#7518).
- #7521: Removed duplicated line in AutomaticDataMigrations.cs (#7522).
- #7525: Changed form action URL to Orchard.OpenId inside OpenID module for correct routing.
- #7546: Fixed error thrown when enabling the OpenId.Google feature (#7556).
- #7552: Prevent deleting taxonomy terms twice when removing a taxonomy (#7553).
- #7554: Reverted previous performance improvement for Count HQL queries due to regressions (#7563).
- #7559: Fixed incorrect representation of recipe description in Setup UI.
- #7560: Throw exception when invalid XML characters are saved into Infoset to prevent corruption (#8219).
- #7565: Corrected field name from Site to SiteName in settings (#7567).
- #7570, #5366, #4780, #4779: Fixed multiple schema and index-related issues (#7571).
- #7581: Allowed anonymous users to access OpenID logon page.
- #7599: Removed unused jquery.calendars.min.js from Orchard.Resources assets (#7652).
- #7611: Changed UpgradeFrom1 to UpdateFrom1 in ContentTypes module migration (#7612).
- #7614: Fixed locking of cache keys to prevent concurrency issues (#7617).
- #7630: Fixed rendering issues in ContentPickerField (#7631).
- #7640: Added LangVersion 5 to Orchard.Glimpse.csproj and Orchard.OpenId.csproj (#7643).
- #7676: Fixing that changing the Weight or Selectable property of a Taxonomy Term did not persist (#7907).
- #7679: Corrected method name from MediaLibrayServiceExtensions to MediaLibraryServiceExtensions (#7728).
- #7685: Logged error when emailMessage.Recipients is null to improve diagnostics.
- #7693: Forced database commit when redirecting in workflow to prevent data loss.
- #7699: Normalized line endings in .sln before injecting projects to prevent merge issues (#8088).
- #7704: Fixed NullReferenceException in DefaultTagCache.
- #7716: Fixed display issues for aside zones in layout rendering.
- #7719: Fixed broken references and view files causing compilation errors.
- #7724: Added check for duplicate paths during content creation to avoid conflicts (#7725).
- #7741: Workaround for Azure Blob rename bug to prevent file access issues (#8215).
- #7755: Orchard.Dashboards - Updated to use existing bootstrap.css from Orchard.Resources (#7756).
- #7760: Updated WebRequest help documentation with correct JSON formatting instructions (#7761).
- #7763: Fixed potential exception when using Text Tokens (#7764).
- #7767: Added validation for folder names to ensure valid URL generation (#7768).
- #7769: Fixed minor typo in code comments.
- #7773: Fixed import/export of identically named fields to avoid conflicts (#7912).
- #7780: Added missing argument in method call to fix runtime error in Dynamic Form controller notification (#8069).
- #7782: Fixed logger not showing URL when exceptions occur.
- #7794: Made content type placement strategy case-insensitive for consistency (#7904).
- #7805: Fixed TaxonomyPartHandler to resolve taxonomy-related issues during localization (#7808).
- #7811: Fixed exception when BaseUrl setting is not configured (#7813).
- #7817: Orchard.MediaProcessing - Fixed dimension format in filter descriptions (#7818).
- #7824: Allowed nullable ContentItemId in AuditTrailSummaryAdmin view to prevent errors.
- #7825: Logged warning when EmailActivity fails due to null or empty recipients.
- #7833: Fixed radio button behavior in base.js for correct selection handling.
- #7838: Fixed comments total on /Admin/Blogs always showing 0 (#7853).
- #7862: Orchard.Taxonomies - Enabled autocomplete query to return results when no term is provided (#7865).
- #7866: Improved handling of culture patterns for robust localization (#7867).
- #7873: Fixed missing styles required by Orchard.Workflows module.
- #7874: Updated LastModified and By properties when replacing media items (#7889).
- #7877: Fixed TaxonomyField running unnecessary Update operations.
- #7886: Fixed binding issues in ContentType editor for proper data persistence.
- #7890: Fixed Lucene index settings lock file issue (#7897).
- #7899: Removed duplicate project reference to clean up solution structure.
- #7900: Fixed Image Profile Manager returning profile paths even when failed (#7901).
- #7908: Updated BooleanFilterForm.cs for correct filtering behavior.
- #7919: Fix Alias UI links for sites using UrlPrefix to ensure correct navigation (#7930).
- #7923: Fixed error when running Orchard.Projection tests to restore test suite stability (#8093).
- #7928: Fixed failure to convert underscores to dashes in
ItemDisplayLink(#8337). - #7931: Removed duplicate Json.NET assembly binding to prevent conflicts (#8086).
- #7932: Fixed missing stylesheets on Dashboard pages.
- #7934: Fixed duplication of media items during certain operations (#7943).
- #7937: Added workaround for possible NullReferenceException while indexing ContentItemRecords (#7938).
- #7958: Decoupled cache eviction from cache settings handler to prevent unintended behavior (#7959).
- #7982: Prevented usage of "null" as a tenant name to avoid invalid configurations (#8058).
- #7991: Fixed failed SpecFlow tests to restore build stability (#7993).
- #7994: Allowed event propagation for RemoveUrl and UnsafeUrl links to ensure proper client-side handling.
- #8011: Updated Button.Design.cshtml for correct rendering (#8022).
- #8039: Fixed compile error introduced by PR #8041 (#8057).
- #8039: Updated QueryElementDriver.cs for correct query behavior (#8041).
- #8053: Fixed rendering issues in List.cshtml.
- #8054: Applied concurrency fixes using NOLOCK to prevent race conditions.
- #8056: Adapted MySqlCommandInterpreter to 767-character length limitation (#8826).
- #8066: Updated email validation RegEx to comply with latest specifications (#8085).
- #8070: Updated WebRequestActivity.cs for correct workflow execution (#8071).
- #8079: Fixed error in ContainerSettings during editor validation.
- #8080: Fixed datetime field validation issue in editor settings.
- #8090: Fixed incorrect ManageMenu permissions logic (#8092).
- #8100: Ensured alias removal executes on the published version of content (#8150).
- #8104: Fixed null reference of MediaPart during Page content item creation.
- #8105: Fixed pager not showing on taxonomies listing page.
- #8106: Fixed AuditTrail summary view error when title was empty.
- #8108: Fixed duplicate results in Projection Manager caused by group filters (#8114).
- #8121: Fixed issue in ElementWrapperPartDriver causing incorrect rendering (#8125).
- #8124: Re-added textbox for specifying default value in NumericField (#8204).
- #8141: Applied multiple HMTL-encoding fixes.
- #8143: Fixed CultureNeutral settings not being saved correctly (#8144).
- #8156: Fixed issue related to alias handling logic (#8157).
- #8170: Fixed incorrect Tab ID in Tab_Galley view.
- #8176: Ensure the correct resource key is used in debug mode so
Script.IncludeandStyle.Includeregister unique keys for unbundled assets (#8177). - #8179: Fixed issue preventing access to files in App_Data directory (#8180).
- #8181: Preserve wrappers and alternates when updating placement info in
ContentTypePlacementStrategyto avoid losing originalplacement.infodata (#8182). - #8184: Fix a null reference exception in
DefaultHQLQuerywhen evaluating query filters. - #8192: Fixed permissions check for taxonomies, terms, and widgets during translations (#8193).
- #8209: Fixed taxonomy terms issue for correct term handling (#8214).
- #8223: Fixed taxonomy deletion logic to ensure proper cleanup.
- #8235: Added correct binding source to list to fix data binding issues (#8236).
- #8239: Fixed that deleting or renaming a Media Library folder could affect folders with a similar name (#8240).
- #8247: Fixing that
ContentPickerFieldshould keep the selected items selected after changing page (#8248). - #8250: Fixed race condition in LayoutEditor to prevent inconsistent rendering (#8251).
- #8252: Fixed misaligned checkboxes on Workflow admin page for improved UI (#8253).
- #8254: Modify
CreateRouteValueswhen no blog ID is specified to avoid incorrect route generation (#8255). - #8258: Changed returnUrl from absolute URL to relative URL for safer redirects (#8265).
- #8270: Add a null check on the content part when deleting the aliases in Autoroute (#8271).
- #8273: Fixed issue where terms were saved as draft when changing their weight (#8274).
- #8276: Update Npgsql to 4.0.17 and fix PostgreSQL setup issues (#8810).
- #8285: Fixed duplicate key insertion error in Settings_ShellFeatureStateRecord.
- #8291: Ensured ReCaptchaPartDriver always returns a shape to prevent rendering errors (#8292).
- #8293: Fixing that FieldIndexPartHandler might throw NullReferenceException (#8294).
- #8297: Corrected typo in MediaLibraryPickerFieldDriver.
- #8304: Fixed pagination issue in BlogPostArchive view for correct navigation.
- #8305: Fixed that Blog Archives should calculate the post count correctly (#8306).
- #8308: Removed ArchiveLaterTask when a content item is deleted to prevent orphaned tasks.
- #8311: Tweaked TermsPartHandler to skip unpublished terms for accurate taxonomy handling.
- #8312: Removed newly added terms before processing to avoid duplication issues.
- #8318: Managed multiple scopes in localization concurrent dictionary (#8334).
- #8322: Normalized behavior in Orchard.Taxonomies admin views for consistent UX (#8323).
- #8331: Fix indexing error in the search indexing pipeline to prevent failures during content updates (#8335).
- #8338: Fixed error when using CustomForms within a widget to prevent runtime exceptions.
- #8348: Fixed errors occurring during indexing operations (#8349).
- #8352: Removed unnecessary case-sensitive check in Custom Forms to improve logic accuracy.
- #8354: Fixed caching issue when reading shell settings (#8364).
- #8358: Prevent losing contentId in Custom Forms when model has errors.
- #8367: Fixed deadlocks in TermContentItem (#8368).
- #8376: Fixed NOLOCK subqueries issue.
- #8388: Fixed wrong behaviors and exceptions when a blog is unpublished (#8389).
- #8391: Remove lock from the dictionary when the background task completes to prevent memory leaks in
DistributedLockService(#8395). - #8392: Fix boolean conversion error in model binding (#8393).
- #8403: Fix ContentPickerField script conflict with MediaLibraryPickerField scripts also using sessionStorage (#8404).
- #8410: Fix model state exception in the Remember Me feature during login.
- #8412: Remove custom changes to model bindings to restore default ASP.NET MVC binding behavior and prevent unexpected side effects.
- #8413: Introduce a new version of the Boolean Binder Provider for better model binding.
- #8414: Fixed that the State property of LayoutRecord was missing the StringLengthMax attribute (#8415).
- #8416: Handle cases where a form sends multiple attempted values to prevent boolean binding errors.
- #8418: Prevented NRE when localizing a dynamic value evaluating to null.
- #8431: Fixing Media Library Picker styling so that a long title shouldn't cover the action links (#8433).
- #8435: Remove check preventing reassignment of loader delegates in Taxonomy
TermPartHandlerso thatTermsare correctly computed for theOnUpdatedhandler (#8436). - #8439: Fixed HQL sort factory issue (#8440).
- #8454: Disabled users should be logged out (#8455).
- #8456: Fixing styling conflict between the overlay of MediaLibraryPickerField and Layouts.
- #8460: Fixed consistency between different Enumeration Field flavors' data storage (#8789).
- #8461: Prevented exception when Href is null in NavigationHelper.
- #8464: Fixed validation of LocalizationPart.
- #8469: Fixing that cached pages couldn't work with forms due to the
RequestVerificationToken(#8470). - #8478: Actually sign out user on password change.
- #8483: Fixing that Output Cache should invalidate the cache entry when the content item is unpublished.
- #8486: Prevented cloning from overwriting identity (#8496).
- #8490: Fixed disposed LifetimeScope issue.
- #8492: Force enumeration of permissions list when importing roles to ensure proper role setup.
- #8499: Remove whitespace when importing permissions to avoid parsing errors.
- #8511: Added null checks when importing ProjectionPartSettings.
- #8512: Fixed various typos.
- #8513: Fixed various typos.
- #8514: Fixing edit link for Menu and Projection Query Layout (#8515).
- #8526: Fixed GetPhysicalPath error when URL contains '?'.
- #8533: Fix Widget Element behavior to correctly update the container of widgets during layout changes (#8534).
- #8540: Fixed that a TemplateFilterForPart without specifying a group ID renders the shape everywhere (#8543).
- #8544: Fixed that TinyMCE only worked with items edited through a custom controller, but not when a TextField with HTML flavor was attached (#8546).
- #8547: Fix bug in Media Library plugin (introduced by #8546) to restore expected functionality of computing the Admin URL.
- #8550: Backporting ManageUsersInRole permission from Orchard Core (#8551).
- #8552: Added missing minified CSS and JS files to Orchard.Blogs (#8553).
- #8554: Fixed media replacement when original file is deleted from filesystem (#8555).
- #8557: Checking Taxonomy/Term ID validity on every operation TaxonomyServices (#8558).
- #8559: Move ShapeTracing JavaScript includes to the head for better debugging performance (#8560).
- #8567: Fixed search function when searching inside the "Recent" folder.
- #8573: Fixed issues when caching by user role (#8574).
- #8598: Create unique HTML element IDs for boolean fields to avoid conflicts.
- #8602: Fix profile path length issues when processing images to prevent errors (#8603).
- #8623: Fixed logon crash when checking if password is expired (#8624).
- #8625: Added parameter validation for ChangeExpiredPassword action (#8626).
- #8628: Prevented caching of GetTaxonomy action.
- #8631: Fixing that not including a field value in the recipe when importing an item should not reset the field's value (#8632).
- #8643: Checked page parameter to ensure an integer numeric value is provided (#8644).
- #8645: Validate culture code before applying localization settings (#8646).
- #8652: Checked if content is published before adding MenuPart as a ContentMenuItem to NavigationBuilder (#8653).
- #8654: Added null check on menu before adding alternates with menu name and level (#8655).
- #8656: Fixed email confirmation failure on multiple confirmation attempts.
- #8658: Corrected RoleEvent actions to match activity outcomes (#8659).
- #8661: Avoided SingleTermId being null if at least one term is checked (#8662).
- #8663: Added null check on TaxonomyPart object during localization to avoid NRE (#8664).
- #8680: Added missing OrchardFeature attribute in Orchard.Roles.
- #8681: Fix mapping of records in nested namespaces to prevent ORM errors during data persistence (#8682).
- #8694: Fixing that the
Orchard.Recipesfeature should depend onPackagingServices. - #8696: Added lock on MD5 variable to avoid concurrent hash generation for feature list (#8697).
- #8697: Add lock on MD5 variable during feature list generation to prevent concurrency issues in multi-threaded environments (#8697).
- #8701: Renamed filterTaxonomyCulture function to a unique name based on part and field (#8702).
- #8703: Fixing that the field settings for the ContentLink TinyMCE were not persisted.
- #8714: Update SslSettingsPartHandler to invalidate the cached settings when updating them (#8715).
- #8722: Fixing that GetCultureByName in Localization shouldn't throw error if the culture name is null (#8723).
- #8724: Use content item's Content Manager for lazy field loading instead of injected instance in ContentPickerField and MediaLibraryPickerField (#8725).
- #8726: Applied minor fixes for localizations in Orchard.Blogs and Orchard.Taxonomies.
- #8727: Prevent TermsFilter from processing empty strings to avoid unnecessary queries.
- #8734: Make MailKit upgrade backward compatible with previous SmtpClient configurations.
- #8738: Fixed unsupported self-closing div tags in Media Library templates.
- #8742: Compare similar paths ignoring casing for consistent routing behavior in Autoroute (#8743).
- #8745: Apply corrections to media resizing process not to process items it can't resize (#8762).
- #8751: Added checks to properly display CustomForm content items on the front end.
- #8756: Added data annotation for proper validation of MenuText length (#8757).
- #8763: Fixed "Index out of bounds of array" when chaining Content Picker Field tokens.
- #8765: Ensured TermsPart.Record usage occurs before delegate to avoid accessing disposed lifetime scope (#8766).
- #8780: Applied minor syntax fix on TaxonomyFieldList.cshtml.
- #8782: Corrected NOLOCK position in queries without table alias (#8783).
- #8785: Resolved ambiguity in LocalizedTaxonomyController action names.
- #8789: Reverted breaking changes to Enumeration Fields (#8824).
- #8794: Ensured content item is published before Custom Form submit event triggers (#8795).
- #8805: Add validation for internal page links in LinkField to prevent broken navigation.
- #8808: Fix Container admin navigation for better usability of items with ContainerPart (#8809).
- #8830: Fixed issue where fields attached to a Menu Item were not updated (#8844).
- #8835: Merged imported SearchFields from recipes instead of overwriting them (Lombiq Technologies: ORCH-310) (#8870).
- #8839: Fixed the 4-column Bootstrap styling in Orchard Layouts.
- #8845: Prevented Indexing AdminController and Commands from operating with unsafe index names.
- #8859: Fixed setup errors with PostgreSQL and MySQL (#8861).
- #8863: Fixed ArgumentException in Blog Archives widget due to incorrect date kind (Lombiq Technologies: ORCH-305) (#8867).
- #8864: Fixed error during sweep in AuditTrailTrimmingBackgroundTask (Lombiq Technologies: ORCH-306) (#8866).
- #8865: Replaced deprecated jQuery event alias with .on() method in ImageEditor (Lombiq Technologies: ORCH-304) (#8871).
- #8862: Preventing the SQL Server Service Broker feature from being enabled for tenants that are not using Microsoft SQL Server as their database provider (Lombiq Technologies: ORCH-309) (#8875).
- #8878: Fixing that Projection Manager should apply the Version Scope even if there are multiple filter groups (#8880).
Continuous Integration
- #8422: Improved build script to avoid failure on JS warnings.
- #8642: Added "Build Crowdin Translation Packages" workflow (#8660).
- #8686: Fix build and tests on 1.10.x branch for compatibility (#8687).
- #8686: Fixed build and tests on dev (#8695).
- #8764: Updated ClickToBuild.cmd to support VS2019 and VS2022.
- #8773: Recompiled client-side assets on 1.10.x.
- #8816: Compilation workflow now tests the setup and Code Generation too (#8817).
- #8819: Compile workflow should run at least one SpecFlow test (#8820).
- #8841: Fix gulp pipeline installation and improve error detection.
- #8843: Running workflows on Windows-2025 runners.
- #8846: Added release package workflow.
- #8888: Release 1.11 (#8889).
New Contributors
- @jbuck79 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6637
- @DaRosenberg made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6652
- @fredyfx made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6658
- @davidelstone made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6745
- @hopla made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6729
- @MechMK1 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6758
- @anoordende made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6829
- @jagraz made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6841
- @van800 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6907
- @mroskamp made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6814
- @Yaevh made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7027
- @psp589 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7004
- @ViRuSTriNiTy made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7059
- @mrestuccia made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6970
- @adrianbooth made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7083
- @danielstenson made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7081
- @mdameer made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7072
- @vinidf made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7306
- @MatteoPiovanelli made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7330
- @HermesSbicego-Laser made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7334
- @ThaerAlAjlouni made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7363
- @Szelzz made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7434
- @GiuseppeMusso-Laser made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7433
- @LorenzoFrediani-Laser made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7422
- @bedegaming-aleksej made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7442
- @MarcoViglione-Laser made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7449
- @Xceno made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7463
- @joshnogales made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7466
- @mhodorogea made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7458
- @coridn made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7471
- @acherney made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7477
- @jardg made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7511
- @joshberry made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7509
- @v1r7u made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7522
- @siyamandayubi made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7547
- @benys made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7617
- @LombiqTechnologies made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7643
- @andrewcartwright1 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7674
- @Epitomy made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7693
- @jburgard made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7718
- @hmG3 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7716
- @chanond-w made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7728
- @jimasp made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7719
- @jean made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7769
- @chanondw made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7786
- @greg84 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7845
- @ryanwawr made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7850
- @ub3rman123 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7879
- @sharwell made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7899
- @HengzheLi made their first contribution in https://github.com/OrchardCMS/Orchard/pull/7916
- @LegendORC made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8010
- @kbreliver made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8061
- @christopherie made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8069
- @csutorasr made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8077
- @protoncm made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8079
- @jayharris made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8086
- @Patchareeya made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8105
- @apiradeemaii made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8115
- @dukeofdarkness23 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8125
- @cmsilv made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8180
- @niranjankala made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8183
- @barthamark made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8199
- @domonkosgabor made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8202
- @ifjmacila made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8204
- @MobesE46 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/6610
- @eszterkoczak made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8210
- @diegomarguerettaz made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8234
- @I3undy made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8229
- @ElenaRepository made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8246
- @oceanexplorer made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8251
- @michaelsync made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8285
- @aaronamm made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8296
- @Lawyerson made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8312
- @steven-dawkins made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8343
- @imranazad made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8395
- @AndreaPiovanelli made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8501
- @dependabot[bot] made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8536
- @AgostiniAlessandro made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8632
- @dministro made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8707
- @luciofassio made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8713
- @RichieOrtiz made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8717
- @dmhiggins23 made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8764
- @mwentz made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8840
- @mazuryv made their first contribution in https://github.com/OrchardCMS/Orchard/pull/8826
Full Changelog: 1.10...1.11