Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
fb06f41
Twig 3.23
brandonkelly Feb 13, 2026
215de53
Merge branch '5.x' into 5.10
brandonkelly Feb 23, 2026
d17e673
Use gfm-comment
brandonkelly Feb 23, 2026
7ecf809
New translations app.php (German)
brandonkelly Feb 23, 2026
d40345e
New translations app.php (Italian)
brandonkelly Feb 23, 2026
cf8dd5c
New translations app.php (German, Switzerland)
brandonkelly Feb 23, 2026
5adcb0f
Merge branch '5.x' into 5.10
brandonkelly Feb 24, 2026
35ead72
Merge pull request #18465 from craftcms/t9n/5.10
brandonkelly Feb 24, 2026
b8fa511
Merge branch '5.x' into 5.10
brandonkelly Feb 26, 2026
bc7fe26
Update pixelandtonic/imagine
brandonkelly Feb 27, 2026
218db05
show format currency when showing the input html
i-just Mar 2, 2026
3c19b57
WIP changelog
brandonkelly Mar 3, 2026
2bb190d
Add option to hard delete elements via GraphQL mutations
eirabben Mar 4, 2026
4292622
Merge branch '5.x' into 5.10
brandonkelly Mar 5, 2026
4eb11b2
Merge branch '5.10' into bugfix/18496-number-field-formatting-and-suffix
brandonkelly Mar 5, 2026
8007e81
Make currencyLabel() private
brandonkelly Mar 5, 2026
e425d42
Release note
brandonkelly Mar 5, 2026
beddf42
Merge pull request #18498 from craftcms/bugfix/18496-number-field-for…
brandonkelly Mar 5, 2026
31eb048
Merge branch '5.x' into 5.10
brandonkelly Mar 6, 2026
e790569
Set element field values after the element is instantiated
brandonkelly Mar 6, 2026
b87b263
Merge branch '5.x' into 5.10
brandonkelly Mar 6, 2026
c3cb4e6
Fixed #18506
brandonkelly Mar 6, 2026
54cf566
Merge branch '5.x' into 5.10
brandonkelly Mar 6, 2026
4f79e13
Merge branch '5.10' into feature/gql-hard-delete
brandonkelly Mar 6, 2026
250a23c
Release note
brandonkelly Mar 6, 2026
c6854d9
Merge branch 'feature/gql-hard-delete' into 5.10
brandonkelly Mar 6, 2026
a9f08a2
Merge branch '4.x' into 4.18
brandonkelly Mar 6, 2026
4797e86
Merge branch '5.x' into 5.10
brandonkelly Mar 6, 2026
c12ffe6
Merge branch '4.x' into 4.18
brandonkelly Mar 6, 2026
672213f
--to-default option
brandonkelly Mar 7, 2026
ad1503a
Redundant
brandonkelly Mar 7, 2026
4643299
Release notes
brandonkelly Mar 7, 2026
ceae64f
Merge pull request #18522 from craftcms/feature/to-default
brandonkelly Mar 7, 2026
a910c4e
Allow passing a string into the 2nd arg of tag()
brandonkelly Mar 7, 2026
00237f6
Heading functions
brandonkelly Mar 7, 2026
6b4db78
Release notes
brandonkelly Mar 7, 2026
32fc657
Merge pull request #18524 from craftcms/feature/tag-functions
brandonkelly Mar 7, 2026
1888630
Drop support for baseHeadingLevel
brandonkelly Mar 9, 2026
d61bb70
Merge branch '5.x' into 5.10
brandonkelly Mar 9, 2026
8b8fef6
Merge branch '4.x' into 4.18
brandonkelly Mar 9, 2026
839a03d
Changelog cleanup
brandonkelly Mar 9, 2026
0278365
Use UI labels as preview text for collapsed Matrix blocks
brandonkelly Mar 9, 2026
f390452
Merge branch '5.x' into 5.10
brandonkelly Mar 10, 2026
fd86fbc
$anyStatus arg
brandonkelly Mar 10, 2026
077dc2d
Include OPERATOR_NE in BaseTextConditionRule::operators()
brandonkelly Mar 10, 2026
7514958
Set min-width on editable table columns
brandonkelly Mar 11, 2026
f3710a5
Only show Entry Type/Section edit action menu items within entry edit…
brandonkelly Mar 12, 2026
86ba477
New “edit” action menu items for addresses and assets
brandonkelly Mar 12, 2026
ffcceb1
Merge branch '4.x' into 4.18
brandonkelly Mar 15, 2026
2129169
Merge branch '5.x' into 5.10
brandonkelly Mar 15, 2026
f5588db
Remove bulk selection logic from Matrix field-level actions
brandonkelly Mar 15, 2026
f628439
Add bulk action logic to card-level actions
brandonkelly Mar 15, 2026
81da3f2
Don't add bulk field-level actions to Matrix fields with maxEntries=1
brandonkelly Mar 15, 2026
3ea44da
Bring back the “Copy all blocks” action
brandonkelly Mar 15, 2026
2b4173d
Update comment
brandonkelly Mar 15, 2026
4372ec2
Delete the Delete action
brandonkelly Mar 15, 2026
3f80d7b
Keep getIsTranslatable() and getTranslationDescription() together
brandonkelly Mar 16, 2026
c9debad
Cleanup
brandonkelly Mar 16, 2026
5a30820
“Copy all addresses” field-level action
brandonkelly Mar 16, 2026
cd53950
Release notes
brandonkelly Mar 16, 2026
c129d0c
Merge pull request #18561 from craftcms/feature/bulk-actions
brandonkelly Mar 16, 2026
ff4c778
Merge branch '5.x' into 5.10
brandonkelly Mar 16, 2026
c86bd9a
Add “Group” column/sorting support for category indexes
brandonkelly Mar 16, 2026
6ccc5ad
Changelog cleanup
brandonkelly Mar 16, 2026
c3914f9
Merge branch '5.x' into 5.10
brandonkelly Mar 17, 2026
b0ec810
Allow overnight time ranges
brandonkelly Mar 17, 2026
720ee6a
Release notes
brandonkelly Mar 17, 2026
9d727b6
Merge pull request #18575 from craftcms/feature/overnight
brandonkelly Mar 17, 2026
6b89418
Merge branch '5.x' into 5.10
brandonkelly Mar 20, 2026
7aaa1d0
Twig 2.24
brandonkelly Mar 20, 2026
4842a21
Merge pull request #18600 from craftcms/feature/twig-3.24
brandonkelly Mar 20, 2026
7e055a4
Merge branch '5.x' into 5.10
brandonkelly Mar 20, 2026
14635b8
Un-deprecate `immediately`
brandonkelly Mar 20, 2026
f1b7c3a
Merge branch '5.x' into 5.10
brandonkelly Mar 24, 2026
c1a4935
No preview needed for empty Color fields
brandonkelly Mar 24, 2026
be31d2f
Merge branch '5.x' into 5.10
brandonkelly Mar 24, 2026
46f2f9f
Merge branch '5.x' into 5.10
brandonkelly Mar 25, 2026
576cb72
Merge branch '5.x' into 5.10
brandonkelly Mar 25, 2026
4121739
Refresh slideouts on saveElement / deleteDraft
brandonkelly Mar 25, 2026
289c5cb
Release notes
brandonkelly Mar 25, 2026
a683d1d
Merge pull request #18625 from craftcms/feature/slideout-refresh
brandonkelly Mar 25, 2026
872d339
reload()*
brandonkelly Mar 26, 2026
83e7bac
Merge branch '5.x' into 5.10
brandonkelly Mar 26, 2026
99cec49
Merge branch '5.x' into 5.10
brandonkelly Mar 26, 2026
5d5f28b
“Time Zone” user preference
brandonkelly Mar 26, 2026
fca5951
Ignore PHPStan issue
brandonkelly Mar 26, 2026
b68e334
Set `web:lossless` and don't set `webp:quality` when !`optimizeImageF…
brandonkelly Mar 26, 2026
dba7e48
Merge branch '4.x' into 4.18
brandonkelly Mar 27, 2026
708978d
Merge branch '5.x' into 5.10
brandonkelly Mar 27, 2026
acefa35
Refresh the element index after the queue is completed
brandonkelly Mar 27, 2026
83da533
Don't track initial field values as dirty
brandonkelly Mar 27, 2026
4c58d89
Merge branch '5.x' into 5.10
brandonkelly Mar 27, 2026
d1dc83a
Merge branch '5.10' into feature/webp-optimize
brandonkelly Mar 27, 2026
c10b166
Release note
brandonkelly Mar 27, 2026
53f11fb
Merge pull request #18635 from craftcms/feature/webp-optimize
brandonkelly Mar 27, 2026
b7cf689
Use DateTimeHelper::timeZoneAbbreviation()
brandonkelly Mar 28, 2026
6fad4c9
Include the time zone in CP timestamps
brandonkelly Mar 29, 2026
482fa75
Add Sec-Fetch-Site action filter
timkelty Mar 29, 2026
f091048
Refine Sec-Fetch-Site filter defaults
timkelty Mar 29, 2026
0f320f0
Rename originOnly to strict
timkelty Mar 29, 2026
fe3b705
Fixed a couple PHPStan issues
brandonkelly Mar 29, 2026
856a509
Merge branch '5.10' into feature/show-time-zones
brandonkelly Mar 29, 2026
ed9830c
Release notes
brandonkelly Mar 29, 2026
6898841
Merge pull request #18639 from craftcms/feature/show-time-zones
brandonkelly Mar 29, 2026
2099833
Merge branch '5.x' into 5.10
brandonkelly Mar 29, 2026
e2fe9c1
Merge branch '5.x' into 5.10
brandonkelly Mar 29, 2026
50bfb8a
Match Laravel option naming
timkelty Mar 29, 2026
93e437c
Fix stale SecFetchSiteFilter test names
timkelty Mar 29, 2026
ac25f56
Defer auto-setting post dates until entries are published
brandonkelly Mar 29, 2026
42a0da8
No longer need to pause time!
brandonkelly Mar 29, 2026
c66cec0
Default |timestamp $value to now if blank
brandonkelly Mar 29, 2026
f6f4a25
Release notes
brandonkelly Mar 29, 2026
4558678
One more
brandonkelly Mar 29, 2026
74ede60
Merge pull request #18642 from craftcms/feature/post-date
brandonkelly Mar 29, 2026
cdce880
Merge branch '4.x' into 4.18
brandonkelly Mar 30, 2026
3aa07bc
Merge branch '4.18' into feature/sec-fetch-site-filter
brandonkelly Mar 30, 2026
7ec94eb
Release note
brandonkelly Mar 30, 2026
c843075
Merge pull request #18641 from craftcms/feature/sec-fetch-site-filter
brandonkelly Mar 30, 2026
403f949
Merge branch '5.x' into 5.10
brandonkelly Mar 30, 2026
d323f69
Merge branch '4.18' of https://github.com/craftcms/cms into 5.10
brandonkelly Mar 30, 2026
6a23db3
Don't truncate generated field values within cards
brandonkelly Mar 30, 2026
597d862
Fixed copying all Matrix entries in blocks view
brandonkelly Mar 31, 2026
7c6c0d8
"Paste above" actions
brandonkelly Mar 31, 2026
d35e2bd
Merge branch '5.x' into 5.10
brandonkelly Mar 31, 2026
3c93c6f
Merge branch '5.x' into 5.10
brandonkelly Apr 1, 2026
e443e6d
Merge branch '5.x' into 5.10
brandonkelly Apr 1, 2026
410cdeb
“Min Authors” section setting
brandonkelly Apr 1, 2026
afd3221
Merge branch '5.x' into 5.10
brandonkelly Apr 1, 2026
15c7d94
Merge branch '5.10' into feature/min-authors
brandonkelly Apr 1, 2026
4932d94
Account for sections with Max Authors set to 0
brandonkelly Apr 1, 2026
71fb359
Rector
brandonkelly Apr 1, 2026
2c5eee4
Merge branch '5.10' into feature/min-authors
brandonkelly Apr 1, 2026
81d4a00
Merge branch '5.x' into 5.10
brandonkelly Apr 1, 2026
b0ab80a
Fixed tests
brandonkelly Apr 2, 2026
508d7a7
Fixed tests
brandonkelly Apr 2, 2026
a7aab2a
Merge branch '5.10' into feature/min-authors
brandonkelly Apr 2, 2026
8d405af
Fixed `@since`
brandonkelly Apr 3, 2026
82c43de
Release note
brandonkelly Apr 3, 2026
cbc04c7
Merge pull request #18662 from craftcms/feature/min-authors
brandonkelly Apr 3, 2026
cbeabf4
Merge branch '5.x' into 5.10
brandonkelly Apr 7, 2026
0538ca5
Merge branch '5.x' into 5.10
brandonkelly Apr 7, 2026
5ca7cdb
Sort lines
brandonkelly Apr 7, 2026
01d5f90
Respect the start number for ordered lists in Markdown
brandonkelly Apr 7, 2026
99f963e
Merge branch '5.x' into 5.10
brandonkelly Apr 8, 2026
432f006
Explicitly set elements’ return URLs when linked from an index
brandonkelly Apr 8, 2026
328c88c
Maintain the return URL for alternative Save actions
brandonkelly Apr 8, 2026
4ed6c83
Maintain the return URL for revision revert actions
brandonkelly Apr 8, 2026
f967546
json field normalisation - try to decode if value is a string
i-just Apr 14, 2026
c704415
Enforce sync JS
timkelty Mar 13, 2026
f72f4f9
Preserve append HTML ordering
timkelty Mar 29, 2026
54ea8f3
Deprecate resource JS proxy
timkelty Mar 29, 2026
0b5ccc1
Remove resource JS proxy
timkelty Mar 29, 2026
b2c191d
Merge branch '5.x' into bugfix/18696-json-field-normalization
brandonkelly Apr 14, 2026
8659df1
Restore controller and deprecate
timkelty Apr 14, 2026
f8007a9
Updated build CP
timkelty Apr 14, 2026
1223936
only check if string when value is coming from request
i-just Apr 15, 2026
0dbb557
Merge branch '5.x' into 5.10
brandonkelly Apr 15, 2026
a5860f6
Add asNewDraft param
timkelty Apr 15, 2026
316b01c
Only for drafts
timkelty Apr 16, 2026
c940fb7
Use draftId
timkelty Apr 16, 2026
4207f3b
Merge branch '5.x' into 5.10
brandonkelly Apr 16, 2026
3a195b8
Merge branch '5.10' into feature/explicit-redirects
brandonkelly Apr 17, 2026
3fff4cf
Pass the redirect param for the “Create as new” action
brandonkelly Apr 17, 2026
1e32f0b
Merge branch '5.x' into 5.10
brandonkelly Apr 17, 2026
e3f5c84
Merge branch '5.10' into feature/explicit-redirects
brandonkelly Apr 17, 2026
211065c
Release note
brandonkelly Apr 17, 2026
305743d
Merge pull request #18680 from craftcms/feature/explicit-redirects
brandonkelly Apr 17, 2026
bf25051
adds auth-method param to users/remove-2fa command so it can be run i…
i-just Apr 20, 2026
b21a585
Added IN/NOT IN operators to text and number condition rules
nfourtythree Apr 20, 2026
38da4e8
Merge branch '5.10' into feature/5.10-in-and-not-in-text-number-condi…
nfourtythree Apr 20, 2026
2bc4c05
changelog item
nfourtythree Apr 20, 2026
2645207
Merge branch '5.x' into 5.10
nfourtythree Apr 20, 2026
aa0e765
Merge branch 'bugfix/18696-json-field-normalization' of https://githu…
brandonkelly Apr 21, 2026
920e960
Merge branch '5.10' into bugfix/18696-json-field-normalization
brandonkelly Apr 21, 2026
fd66b20
Release note
brandonkelly Apr 21, 2026
8089d06
Merge pull request #18705 from craftcms/bugfix/18696-json-field-norma…
brandonkelly Apr 21, 2026
edb4d9f
Fixed double encode and return type error
nfourtythree Apr 21, 2026
ac83cac
Merge branch '4.x' into 4.18
brandonkelly Apr 21, 2026
bd29a82
Merge branch '4.18' into bugfix/enforce-sync-js
brandonkelly Apr 21, 2026
a7c3c64
Go ahead and remove app/resource-js actually
brandonkelly Apr 21, 2026
a6b614d
Release notes
brandonkelly Apr 21, 2026
bfbb949
Merge pull request #18559 from craftcms/bugfix/enforce-sync-js
brandonkelly Apr 21, 2026
b3ff124
Merge branch '4.18' of https://github.com/craftcms/cms into 5.10
brandonkelly Apr 21, 2026
ca6b027
Extract alt text from image metadata on upload
brandonkelly Apr 21, 2026
85bf82c
Release note
brandonkelly Apr 22, 2026
d8d3532
Merge pull request #18744 from craftcms/feature/alt-exif-extract
brandonkelly Apr 22, 2026
349d223
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
b395611
Merge branch '5.10' into feature/add-as-new-draft
brandonkelly Apr 22, 2026
ca81320
Tighten it up
brandonkelly Apr 22, 2026
e3ca4dc
Release note
brandonkelly Apr 22, 2026
e933d64
Merge pull request #18722 from craftcms/feature/add-as-new-draft
brandonkelly Apr 22, 2026
e71b063
Reference GHSA-c55v-343g-5xff
brandonkelly Apr 22, 2026
b056d45
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
1ab92bb
Merge branch '4.18' of https://github.com/craftcms/cms into 5.10
brandonkelly Apr 22, 2026
b3906cd
Merge branch '5.x' into bugfix/18724-users-remove-2fa-command-methods
brandonkelly Apr 22, 2026
1caa57b
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
342b4c4
Merge branch '5.10' into bugfix/18724-users-remove-2fa-command-methods
brandonkelly Apr 22, 2026
4383916
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
fef7e16
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
fe2b394
Merge branch '5.10' into bugfix/18724-users-remove-2fa-command-methods
brandonkelly Apr 22, 2026
487a41b
auth-method → method
brandonkelly Apr 22, 2026
ad7108f
Release note
brandonkelly Apr 22, 2026
8917071
Merge pull request #18732 from craftcms/bugfix/18724-users-remove-2fa…
brandonkelly Apr 22, 2026
016aadd
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
710b4a2
Merge branch '4.x' into 4.18
brandonkelly Apr 22, 2026
51daa03
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
ff591ff
Merge branch '5.x' into 5.10
brandonkelly Apr 22, 2026
e5ad5a6
bacon/bacon-qr-code v3
brandonkelly Apr 22, 2026
adbf4f9
Merge branch '5.10' into feature/5.10-in-and-not-in-text-number-condi…
brandonkelly Apr 22, 2026
f77e665
Release note
brandonkelly Apr 22, 2026
4a1daa4
Merge pull request #18734 from craftcms/feature/5.10-in-and-not-in-te…
brandonkelly Apr 22, 2026
8ab92ef
Relabel as moderate
brandonkelly Apr 23, 2026
70772dd
Merge branch '4.18' of https://github.com/craftcms/cms into 5.10
brandonkelly Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions CHANGELOG-WIP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Release Notes for Craft CMS 5.10 (WIP)

### Content Management
- Collapsed Matrix blocks now show their entries’ UI labels as preview text, whenever possible. ([#18484](https://github.com/craftcms/cms/discussions/18484))
- Element-level actions within nested element management fields (Matrix, Addresses, etc.) now consistently affect all selected elements, when performed on a selected element. ([#18561](https://github.com/craftcms/cms/pull/18561))
- Elements within Matrix and Addresses fields now have “Paste above” actions when a compatible element is copied. ([#17406](https://github.com/craftcms/cms/discussions/17406))
- Elements now keep track of the index page’s URL their edit page was linked to from, and explicitly redirect back to that page after save, rather than always redirecting to the referrer. ([#18680](https://github.com/craftcms/cms/pull/18680))
- Addresses fields now have a “Copy all addresses” field-level action. ([#18561](https://github.com/craftcms/cms/pull/18561))
- Matrix fields’ “Expand”, “Collapse”, and “Copy” field-level actions now always affect all nested entries, regardless of whether any entries are selected. ([#18561](https://github.com/craftcms/cms/pull/18561))
- Matrix fields no longer have “Duplicate” and “Delete” field-level actions. ([#18561](https://github.com/craftcms/cms/pull/18561))
- Number fields now show their selected currency beside their input, if their Preview Format setting is set to “As currency values”. ([#18498](https://github.com/craftcms/cms/pull/18498))
- Color field previews are now blank for fields without a value. ([#18614](https://github.com/craftcms/cms/issues/18614))
- Text condition rules now have “does not equal”, “is one of” and “is not one of” operators.
- Numeric condition rules now have “is one of” and “is not one of” operators. ([#18734](https://github.com/craftcms/cms/pull/18734))
- Editable table columns now set `min-width` styles based on their configured widths, if set. ([#18534](https://github.com/craftcms/cms/issues/18534))
- Entry post dates are no longer automatically set until the entry is fully saved as enabled. ([#18642](https://github.com/craftcms/cms/pull/18642))
- Element edit screens now have a “Save as a new draft” action when editing an explicitly-created draft. ([#18722](https://github.com/craftcms/cms/pull/18722))
- Address edit screens now have “Field settings” action menu items. ([#18544](https://github.com/craftcms/cms/discussions/18544))
- Asset edit screens now have “Volume settings” and “Filesystem settings” action menu items. ([#18544](https://github.com/craftcms/cms/discussions/18544))
- Entries’ “Entry type settings” and “Section settings” action menu items are now only shown for element edit screens’ primary action menus.
- Category indexes can now have “Group” columns. ([#18553](https://github.com/craftcms/cms/discussions/18553))
- Element slideouts now automatically refresh when the same element is updated in another tab/slideout. ([#18625](https://github.com/craftcms/cms/pull/18625))
- Added the “Time Zone” user preference. ([#8518](https://github.com/craftcms/cms/discussions/8518))
- Element indexes now automatically refresh after duplicating elements and the queue is completed, if there’s an active search term. ([#18636](https://github.com/craftcms/cms/issues/18636))
- Timestamps in the control panel now include their time zone abbreviation. ([#18639](https://github.com/craftcms/cms/pull/18639))
- Generated field values are no longer truncated within element cards. ([#18646](https://github.com/craftcms/cms/discussions/18646))
- Assets’ Alternative Text values are now automatically set on upload, based on descriptive text data found in the uploaded file’s metadata. ([#18744](https://github.com/craftcms/cms/pull/18744))

### Administration
- Sections now have a “Min Authors” setting. ([#18662](https://github.com/craftcms/cms/pull/18662))
- Time fields’ “Max Time” settings can now be set to an earlier time than “Min Time”, for overnight time ranges. ([#18575](https://github.com/craftcms/cms/pull/18575))
- Newlines in system message bodies are now replaced with `<br>` tags. ([#18058](https://github.com/craftcms/cms/discussions/18058))
- Added the `--to-default` option to `resave` commands. ([#18522](https://github.com/craftcms/cms/pull/18522))
- Added the `--method` option to the `users/remove-2fa` command. ([#18732](https://github.com/craftcms/cms/pull/18732))

### Development
- Added the `heading()`/`h()` and `h1()`…`h6()` Twig functions. ([#18524](https://github.com/craftcms/cms/pull/18524))
- The `tag()` function now accepts a string for its second argument. ([#18524](https://github.com/craftcms/cms/pull/18524))
- The `|time` and `|datetime` Twig filters now have `$withTimeZone` arguments. ([#18639](https://github.com/craftcms/cms/pull/18639))
- The `|timestamp` filter now returns the current time, if applied to a `null`/empty string value. ([#18642](https://github.com/craftcms/cms/pull/18642))
- `delete` GraphQL queries now have a `hardDelete` argument. ([#18511](https://github.com/craftcms/cms/pull/18511))
- Entry `postDate` values are now `null` on creation, rather than set to the `dateCreated` value. ([#18642](https://github.com/craftcms/cms/pull/18642))
- Assets’ `url` GraphQL fields’ `immediately` arguments are no longer deprecated. ([#18581](https://github.com/craftcms/cms/issues/18581))
- JSON fields now support array values in POST data. ([#18705](https://github.com/craftcms/cms/pull/18705))
- Added `craft\filters\SecFetchSiteFilter` for request origin verification. ([#18641](https://github.com/craftcms/cms/pull/18641))
- `craft\fields\data\LinkData::getUrl()` now has an `$anyStatus` argument, which can be set to `false` to prevent a value from being returned if a disabled/pending/expired element is linked. ([#18527](https://github.com/craftcms/cms/issues/18527))
- Markdown parsing now respects the first number of ordered lists. ([#18671](https://github.com/craftcms/cms/issues/18671))

### Extensibility
- Added `craft\base\DefaultableFieldInterface`. ([#18522](https://github.com/craftcms/cms/pull/18522))
- Added `craft\base\ElementInterface::setDirtyFieldTracking()`.
- Added `craft\elements\PopulateElementEvent::$content`.
- Added `craft\models\Section::$minAuthors`. ([#18662](https://github.com/craftcms/cms/pull/18662))
- Added `craft\validators\TimeValidator::$outOfRange`. ([#18575](https://github.com/craftcms/cms/pull/18575))
- Added `Craft.CpScreenSlideout::reload()`. ([#18625](https://github.com/craftcms/cms/pull/18625))
- Added `craft\helpers\Markdown`. ([#18671](https://github.com/craftcms/cms/issues/18671))
- `craft\elements\PopulateElementEvent::$row` no longer includes `fieldValues` or `generatedFieldValues` keys.
- `craft\helpers\DateTimeHelper::timeZoneAbbreviation()` is no longer deprecated, and now has a `$date` argument.
- `craft\i18n\Formatter::asTime()` and `asDatetime()` now have `$withTimeZone` arguments. ([#18639](https://github.com/craftcms/cms/pull/18639))
- Removed `craft\controllers\AppController::actionResourceJs()`. ([#18559](https://github.com/craftcms/cms/pull/18559))
- `Craft.CP` now triggers a `queueCompleted` event when the last queue job is completed.

### System
- Improve the image quality of WEBP transforms, when `optimizeImageFilesize` is disabled. ([#18635](https://github.com/craftcms/cms/pull/18635))
- Cross-domain script tags added by JavaScript are now loaded directly, rather than via a proxy. ([#18559](https://github.com/craftcms/cms/pull/18559))
- Updated Twig to 3.24. ([#18259](https://github.com/craftcms/cms/discussions/18259), [#18454](https://github.com/craftcms/cms/issues/18454))
- Updated bacon/bacon-qr-code to 3.x. ([#18742](https://github.com/craftcms/cms/discussions/18742))
- Fixed a bug where nested entries weren’t getting loaded with their content, if they had an entry type that was no longer allowed by their Matrix field.
- Fixed the wording of the validation error when saving a nested entry with an invalid entry type. ([#18506](https://github.com/craftcms/cms/issues/18506))
- Fixed a [moderate-severity](https://github.com/craftcms/cms/security/policy#severity--remediation) JavaScript injection vulnerability. (GHSA-c55v-343g-5xff)
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"ext-pcre": "*",
"ext-pdo": "*",
"ext-zip": "*",
"bacon/bacon-qr-code": "^2.0",
"bacon/bacon-qr-code": "^3.0",
"commerceguys/addressing": "^2.1.1",
"composer/semver": "^3.3.2",
"craftcms/plugin-installer": "~1.6.0",
Expand All @@ -52,7 +52,7 @@
"phpdocumentor/reflection-docblock": "^5.3",
"phpoffice/phpspreadsheet": "^5.3",
"pixelandtonic/graphql-php": "~14.11.10.1",
"pixelandtonic/imagine": "~1.3.3.1",
"pixelandtonic/imagine": "~1.5.2.1",
"pragmarx/google2fa": "^8.0",
"pragmarx/recovery": "^0.2.1",
"samdark/yii2-psr-log-target": "^1.1.3",
Expand All @@ -67,7 +67,7 @@
"symfony/var-dumper": "^5.0|^6.0|^7.0",
"symfony/yaml": "^5.2.3|^6.0|^7.0",
"theiconic/name-parser": "^1.2",
"twig/twig": "~3.21.1",
"twig/twig": "~3.24.0",
"voku/portable-ascii": "^2.0",
"web-auth/webauthn-lib": "~5.2.4",
"yiisoft/yii2": "~2.0.54.0",
Expand Down
56 changes: 29 additions & 27 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 20 additions & 5 deletions src/base/ApplicationTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
use craft\fieldlayoutelements\users\UsernameField;
use craft\helpers\App;
use craft\helpers\Db;
use craft\helpers\Markdown as MarkdownHelper;
use craft\helpers\Session;
use craft\i18n\Formatter;
use craft\i18n\I18N;
Expand Down Expand Up @@ -125,7 +126,6 @@
use yii\db\ColumnSchemaBuilder;
use yii\db\Exception as DbException;
use yii\db\Expression;
use yii\helpers\Markdown as MarkdownHelper;
use yii\mutex\Mutex;
use yii\queue\Queue;
use yii\web\ServerErrorHttpException;
Expand Down Expand Up @@ -1582,11 +1582,13 @@ private function _preInit(): void
$this->getRequest();
$this->getLog();

$isCpRequest = $this->getRequest()->getIsCpRequest();

// Set the timezone
$this->_setTimeZone();
$this->_setTimeZone($isCpRequest);

// Set the language
$this->updateTargetLanguage();
$this->updateTargetLanguage($isCpRequest);

// Register the variable dumper
VarDumper::setHandler(function($var) {
Expand Down Expand Up @@ -1641,9 +1643,22 @@ private function _postInit(): void
/**
* Sets the system timezone.
*/
private function _setTimeZone(): void
private function _setTimeZone(bool $useUserTz): void
{
$timeZone = $this->getConfig()->getGeneral()->timezone ?? $this->getProjectConfig()->get('system.timeZone');
$timeZone = null;

if ($useUserTz && $this instanceof WebApplication) {
// If the user is logged in *and* has a preferred time zone, use that
// (don't actually try to fetch the user, as plugins haven't been loaded yet)
$id = Session::get($this->getUser()->idParam);
if ($id) {
$timeZone = $this->getUsers()->getUserPreference($id, 'timeZone');
}
}

if (!$timeZone) {
$timeZone = $this->getConfig()->getGeneral()->timezone ?? $this->getProjectConfig()->get('system.timeZone');
}

if ($timeZone) {
$this->setTimeZone(App::parseEnv($timeZone));
Expand Down
26 changes: 26 additions & 0 deletions src/base/DefaultableFieldInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php
/**
* @link https://craftcms.com/
* @copyright Copyright (c) Pixel & Tonic, Inc.
* @license https://craftcms.github.io/license/
*/

namespace craft\base;

/**
* PreviewableFieldInterface defines the common interface to be implemented by field classes
* that wish to be previewable in element table and card views.
*
* @author Pixel & Tonic, Inc. <support@pixelandtonic.com>
* @since 5.10.0
* @mixin Field
*/
interface DefaultableFieldInterface extends FieldInterface
{
/**
* Returns the default value that should be set on existing elements.
*
* @return mixed
*/
public function getDefaultValue(): mixed;
}
Loading
Loading