Commit Graph

70080 Commits

Author SHA1 Message Date
Niels Lyngsø
b68a6a9502 Data Type: use Property Editor UI label instead over name (#20716)
Prioritize using the property editor ui label and localize it.
2025-11-03 16:09:31 +00:00
Kenn Jacobsen
a4d893a7b4 Rich text editor: Treat an "empty" value as a non-value (closes #20454) (#20719)
* Make the RTE treat an "empty" value as a non-value

* Additional tests

* Add tests for invariant and variant content.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-11-03 15:24:55 +00:00
Mole
313b60aca5 Load Balancing: Move temporary files and make them configurable to allow for media upload when load balancing the backoffice (#20717)
* make file upload location configurable

* Update src/Umbraco.Core/Configuration/Models/HostingSettings.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix default implementation

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-03 15:22:16 +01:00
Kenn Jacobsen
4ee1d7b13e Performance: Cache published content instances at cache service level (#20681)
Cache published content instances at cache service level
2025-11-03 10:55:23 +01:00
Andy Butland
95cc6cc67b Performance: Request cache referenced entities when saving documents with block editors (#20590)
* Added request cache to content and media lookups in mult URL picker.

* Allow property editors to cache referenced entities from block data.

* Update src/Umbraco.Infrastructure/PropertyEditors/MultiUrlPickerValueEditor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add obsoletions.

* Minor spellcheck

* Ensure request cache is available before relying on it.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: kjac <kja@umbraco.dk>
2025-11-03 10:39:58 +01:00
Laura Neto
417335a5c6 Task: Dependency track (#20670)
* Generate BOM files on build

* Upload BOM to Dependency Track

* Move Backoffice BOM generation to right after install

The build and/or pack steps are deleting files that are needed for the BOM to be generated properly.

* Split the BOM uploads into different jobs

* Fix wrong usage of parameters

* Move order of dependency track stage

* Fix wrong umbracoVersion value

* Small fixes

* Log curl response headers

* Correct version sent to dependency track

* Adjusted curl flags

* Fix bom file path

* Fix dotnet bom file name

* Add Login UI to dependency track

* Generate BOM for E2E Tests

* Move dependency track stage

* Move acceptance test .env generation to e2e install template

Needed as the post install script is expecting this to exist.

* Use major version if public release

* Missing ')'

* Reverted npm install command changes in static assets project
2025-10-31 11:13:45 +01:00
Niels Lyngsø
bd94522237 Collection children: A slim navigation of collection children + higher take above target (#20641)
* enforce update of children when collection

* only load one above and below collection children

* take 50 above a target for default experience

* revert reset target

* remove old impl
2025-10-31 10:52:10 +01:00
Laura Neto
aadf5e7643 Bump the version to 17.0.0-rc2 2025-10-30 16:14:08 +01:00
Niels Lyngsø
e315ae3ae1 Cherry picked Prevent Section URL Retention fix 2025-10-29 20:03:18 +01:00
Jacob Overgaard
393179d8a1 build: updates lockfile 2025-10-29 11:40:54 +01:00
Jacob Overgaard
b7105c88d8 build: adds back the ^ missing from openapi-ts to allow newer versions to be used 2025-10-29 11:40:46 +01:00
Jacob Overgaard
f1b7a33e86 bumps package lock file 2025-10-29 11:34:57 +01:00
Andy Butland
a61bb8dbef Bumped version to 17.0.0-rc1. 2025-10-29 07:33:27 +01:00
Andy Butland
da0bdbf8c7 Caching: Resolves publish and install issues related to stale cached data retrieval (closes #20539 and #20630) (#20640)
* Request cache published content creation with version.

* Reload memory cache after install with package migrations.

* Improve message on install for database cache rebuild.

* Update src/Umbraco.Infrastructure/Install/MigrationPlansExecutedNotificationHandler.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Relocated memory cache refresh after package install from notification handler to unattended upgrader.

* Fix construtor breaking change

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: mole <nikolajlauridsen@protonmail.ch>
2025-10-28 13:32:55 +01:00
Andy Butland
f726a7d7c5 Merge branch 'release/17.0' of https://github.com/umbraco/Umbraco-CMS into release/17.0 2025-10-28 13:32:49 +01:00
Nhu Dinh
f6b566c65f E2E: Updated user group and data type acceptance tests to match UI changes (#20658)
* Updated user group tests to match the recent UI changes

* Updated data type collection tests due to UI changes

* Bumped version of test helper
2025-10-28 13:14:52 +07:00
Mads Rasmussen
a3d6b4f844 Entity Data Picker: Data editor and value converter (#20661)
* change property value to an object

* add const for picker data source type

* Add value editor and converter server-side

* register schema for property editor + move settings ui

---------

Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
2025-10-27 15:40:16 +00:00
Andy Butland
1615740bdf Media types: Handle null configured file extensions when populating allowed media types (closes #20620) (#20635)
* Handle null configured file extensions when populating allowed media types.

* Added clarifying comment.

(cherry picked from commit f33eb3f678)
2025-10-27 13:43:39 +01:00
Andy Butland
d3b9256b4e Webhooks: Reverts nullability update to continue to allow derived classes to create null payloads (#20660)
* Trees: Restore backward compatibility for file system based tree controllers (closes #20602) (#20608)

* Restore backward compatibility for file system based tree controllers.

* Aligned obsoletion messages.

* Reverts nullability update on ConvertNotificationToRequestPayload.
2025-10-27 13:11:51 +01:00
Sebastiaan Janssen
399431b02d Remove references to Our Umbraco - moved to the new forum (#20644)
* Remove unused help controller

* Correct documentation links

* Link to the new release site for compares

* Remove unused translation key with reference to Our

* Update NoNodes / NotFound to point to the forum instead of Our

* Change dashboards form Our to Forum and de-emphasize Discord as a support channel

* Removes Help controller reference

* Forgot to rename the css Id

* Update src/Umbraco.Web.UI.Client/src/assets/lang/ar.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix typo in Community Forum help menu item name

* Refer to releases instead of a download page

Co-authored-by: Andy Butland <abutland73@gmail.com>

* Update the default dashboard with better content and clearer headings

* Obsolete the HelpController instead

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-10-27 11:12:19 +00:00
Andy Butland
33c2838d20 Merge branch 'release/17.0' of https://github.com/umbraco/Umbraco-CMS into release/17.0 2025-10-27 11:43:34 +01:00
Mole
981c9a7db2 Load balancing backoffice: Add missing id to distributed jobs when updating (#20642)
* Add ID when updating background job

* Reduce default period to 5 seconds

* Apply suggestions from code review

Co-authored-by: Andy Butland <abutland73@gmail.com>

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-10-27 08:49:25 +01:00
Andy Butland
de9cbf9ef5 Merge branch 'release/17.0' of https://github.com/umbraco/Umbraco-CMS into release/17.0 2025-10-24 14:22:42 +02:00
Mads Rasmussen
bd6ab83712 Collection: prevent multiple load calls within a very short time (#20528)
* debounce loadCollection calls

* update document collection context

* update media collection context

* remove duplicate request to reload

* Update src/Umbraco.Web.UI.Client/src/packages/core/collection/default/collection-default.context.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add fadeIn animation to empty state to prevent flicker

* Update collection-default.element.ts

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
2025-10-23 13:15:54 +02:00
Niels Lyngsø
4252cbc64b Login photo: Update with v.17 edition (#20625)
updated login photo
2025-10-23 11:02:13 +00:00
Laura Neto
b3145a01eb Bump version to 17.0.0-rc 2025-10-22 17:01:02 +02:00
Andy Butland
aeb1437f0e Trees: Restore backward compatibility for file system based tree controllers (closes #20602) (#20608)
* Restore backward compatibility for file system based tree controllers.

* Aligned obsoletion messages.
2025-10-22 16:44:57 +02:00
Andy Butland
04df2652f5 Trees: Restore backward compatibility for file system based tree controllers (closes #20602) (#20608)
* Restore backward compatibility for file system based tree controllers.

* Aligned obsoletion messages.
2025-10-22 16:27:37 +02:00
Nicklas Kramer
1bf53f3554 Filesystem: Prevent tree showing other filetypes than the supported ones (#20567)
* Added check to only find .css files in FileSystemTreeServiceBase.cs

* Marking GetFiles as virtual and overriding it in StyleSheetTreeService.cs to only find .css files

* Redone tests to fit new format

* Fix tests to use file extensions

* Adding file extensions to all other relevant tests

* Adding file filter to remaining trees

* Adding tests to ensure invalid filetypes wont show

* Encapulation and resolved minor warnings in tests.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2025-10-22 15:13:59 +02:00
Mads Rasmussen
a5adcbdeef Detail Request Manager: Use tryExecute for delete API call to enable error notifications (#20607)
Use tryExecute for delete API call

Replaces direct await of #delete with tryExecute to improve error handling in the delete method of UmbManagementApiDetailDataRequestManager.
2025-10-22 14:30:46 +02:00
Sven Geusens
286e727de8 Webhooks: Register OutputExpansionStrategy for webhooks if Delivery API is not enabled (#20559)
* Register slimmed down OutputExpansionStrategy for webhooks if deliveryapi is not enabled

* PR review comment resolution
2025-10-22 13:51:08 +02:00
Andy Butland
201906f662 Populate IncludeDescendants on ContentPublishedNotification when publishing branch (forward port of #20578). 2025-10-22 13:37:55 +02:00
Andy Butland
a4c0da3465 Migrations: Use reliable GUID to check for existence of data type when creating (#20604)
* Use reliable GUID to check for existence of data type in migration.

* Retrieve just a single field in existence check.
2025-10-22 13:27:43 +02:00
Mads Rasmussen
28c01d2819 Dictionary: Fix shortcut Ctrl + S not saving dictionary items (#20605)
* switched event listener from 'change' to 'input'

* Update workspace-view-dictionary-editor.element.ts
2025-10-22 10:29:08 +00:00
Niels Lyngsø
2248eeb03e update import 2025-10-22 11:54:50 +02:00
Niels Lyngsø
f6df0c1828 Item Repository: Sort statuses by order of unique (#20603)
* utility

* ability to replace

* deprecate removeStatus

* no need to call this any longer

* Sort statuses and ensure not appending statuses, only updating them
2025-10-22 09:42:13 +00:00
Jacob Overgaard
63ae29a1aa Preview: Fixes a potential issue where the preview URL could be a different backoffice host (#20591)
* hotfix: ensures that local urls stay relative so we land up on the correct backoffice host that the user initiated the preview session from originally

* feat: since ensureAbsoluteUrl is never supplied anymore, we can remove the parameter altogether

* Remove unused dependency

* Expose IsExternal for URLs

* feat: adds localize controller

* chore: generates api models

* feat: marks the internal preview default url as relative, so that the `<base>` tag is taken into consideration - that way the URL will open on whatever host is active

* Remove IsExternal from the API again

* regenerate types

---------

Co-authored-by: kjac <kja@umbraco.dk>
2025-10-22 07:48:55 +00:00
Mads Rasmussen
6effe32136 Document Recycle Bin: Fix missing item name when restoring (#20599)
allow to pass in a item data resolver
2025-10-21 20:46:16 +02:00
Mads Rasmussen
f0ac7b4a50 Document/Media Recycle Bin: Add 'Trashed' state to info workspace view (#20581)
* Add 'Trashed' state to document workspace view

Introduces a new 'Trashed' label and tag for documents in the workspace view. Updates localization to include the 'Trashed' term for improved clarity when displaying trashed documents.

* Show trashed state in media workspace info view

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-10-21 15:51:28 +02:00
Mads Rasmussen
5f0122e18b Make Create Actions open as dialogs (part 2) (#20523)
* open script create options as a dialog instead of sidebar

* align and simplify the blueprint dialog options

* debounce loadCollection calls

* update document collection context

* update media collection context

* Updated tests

* Bumped test helpers

* Revert "debounce loadCollection calls"

This reverts commit 1c15dda08d2058aeffe30a5173bdfbfd47dfe0ce.

* Revert "update document collection context"

This reverts commit 47d74a8f5d220a53b3bcd4857a9617de51124fbf.

* Revert "update media collection context"

This reverts commit f2eb1f22c10567666771f43a09c3715a1e1ba9d1.

* align create dialog texts

* fix indention

* Bumped version of test helpers

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2025-10-21 15:24:52 +02:00
Jacob Overgaard
de5a9ca5af Preview: Replaces WebSocket with the SignalR library to improve connectivity in the preview window (#20585)
* feat: replaces manual WebSocket with the actual SignalR library on the preview context

* feat: informs the developer what went wrong in preview mode

* feat: awaits the stop connection before proceeding

* feat: ensures no existing connection exists
2025-10-21 13:20:17 +00:00
Kenn Jacobsen
58068d1aa7 Rendering: Explicitly contextualize variation context for language fallback (closes #20350) (#20587)
Expliticly contextualize variation context for language fallback rendering
2025-10-21 14:41:29 +02:00
Niels Lyngsø
5f1c65e7ea User group: permissions grouping (#20584)
* clean up

* localizations

* group user permission by entity type

* adjustments

* fix lint errors

* Support granular permissions without entity type

Updated granular permission handling to allow permissions that are not tied to a specific entity type. Adjusted rendering logic and manifest interface to support undefined or empty forEntityTypes, and added UI for displaying ungrouped granular permissions.

* revert for now

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2025-10-21 12:10:41 +00:00
Laura Neto
20eedda4c7 Template: Update dotnet project template to remove previous LTS checks (#20573)
* Remove now unnecessary LTS checks from project dotnet template

* Update the starter kit versions
2025-10-21 13:12:25 +02:00
Mole
1099332edb Fixes broken integration test for v17 release (#20582)
Fixes broken integration test

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2025-10-21 10:42:22 +00:00
Andy Butland
3a83e4a494 Publishing: Resolve exceptions on publish branch (#20464)
* Reduce log level of image cropper converter to avoid flooding logs with expected exceptions.

* Don't run publish branch long running operation on a background thread such that UmbracoContext is available.

* Revert to background thread and use EnsureUmbracoContext to ensure we can get an IUmbracoContext in the URL providers.

* Updated tests.

* Applied suggestion from code review.

* Clarified comment.
2025-10-21 12:22:50 +02:00
Andy Butland
af3b17243b Media: Fixes SQL error to ensure database relation between user group media start folder and deleted media item is removed (closes #20555) (#20572)
Fixes SQL error to ensure database relation between user group media start folder and deleted media item is removed.
# Conflicts:
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MediaRepository.cs
2025-10-21 11:42:19 +02:00
Lee Kelleher
d05add4e1f Tiptap RTE: Allow removal of unregistered extensions (#20571)
* Tiptap toolbar config: enable removal of unregistered extensions

* Tiptap statusbar config: enable removal of unregistered extensions

* Tiptap toolbar config: Typescript tidy-up

* Tiptap toolbar sorting amend

Removed the need for the `tiptap-toolbar-alias` attribute,
we can reuse the `data-mark`.

* Tiptap extension config UI amend

If the extension doesn't have a `description`,
then add the `alias` to the title/tooltip, to give a DX hint.

* Tiptap toolbar: adds `title` to placeholder skeleton

* Added missing `forExtensions` for Style Select and Horizontal Rule toolbar extensions

* Update src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/toolbar-configuration/property-editor-ui-tiptap-toolbar-configuration.element.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Umbraco.Web.UI.Client/src/packages/tiptap/property-editors/statusbar-configuration/property-editor-ui-tiptap-statusbar-configuration.element.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-21 10:43:52 +02:00
Andy Butland
68d1b9481a Hybrid Cache: Resolve start-up errors with mis-matched types (#20554)
* Be consistent in use of GetOrCreateAsync overload in exists and retrieval.
Ensure nullability of ContentCacheNode is consistent in exists and retrieval.

* Applied suggestion from code review.

* Move seeding to Umbraco application starting rather than started, ensuring an initial request is served.

* Tighten up hybrid cache exists check with locking around check and remove, and use of cancellation token.

(cherry picked from commit 81a8a0c191)
2025-10-21 09:59:49 +02:00
Laura Neto
e6f48799a1 Property Editors: DateTimeWithTimeZone - Changing timezone mode to Local shows invalid time zone error (#20526)
* Store local time zone as UTC and do not throw validation error when stored time zone is different

* Additional fixes when switching between date time editors with and without time zone

* Additional fixes

* Ensure that an update is triggered when the expected value does not match the stored value

This will happen when switching between editors (with and without time zone) or switching between a specific time zone to the editor's local time zone.

* Fix inconsistencies with null and undefined

* Fix inconsistencies between date/time provided to the client and returned in the value converter (when switching between editors)

* Fix unit tests and small bug

* Adjust integration test

* Small improvement

* Update test data

* Adjust logic so that time zone offsets are updated every time the date value changes

* Do not pre-select time zone when switching between unspecified and time zone editors
2025-10-21 09:29:46 +02:00