Skip to content

Commit 543c00c

Browse files
committed
Merge branch '5.x'
# Conflicts: # resources/js/components/fieldtypes/bard/LinkToolbar.vue # resources/views/graphql/graphiql.blade.php
2 parents d4eccfd + b610b04 commit 543c00c

64 files changed

Lines changed: 883 additions & 46 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,56 @@
11
# Release Notes
22

3+
## 5.55.0 (2025-05-14)
4+
5+
### What's new
6+
- Middleware to redirect absolute domains ending in dot [#11782](https://github.com/statamic/cms/issues/11782) by @indykoning
7+
- Add `increment`/`decrement` methods to `ContainsData` [#11786](https://github.com/statamic/cms/issues/11786) by @duncanmcclean
8+
- Update GraphiQL [#11780](https://github.com/statamic/cms/issues/11780) by @duncanmcclean
9+
- Allow selecting entries from different sites within the link fieldtype [#10546](https://github.com/statamic/cms/issues/10546) by @justkidding96
10+
- Ability to select entries from all sites from Bard link [#11768](https://github.com/statamic/cms/issues/11768) by @edalzell
11+
12+
### What's fixed
13+
- Ensure asset validation rules are returned as strings to GraphQL [#11781](https://github.com/statamic/cms/issues/11781) by @ryanmitchell
14+
- Asset validation rules as string in GraphQL, part 2 [#11790](https://github.com/statamic/cms/issues/11790) by @jasonvarga
15+
- Fix Term filter on entry listing not working when limiting to 1 term [#11735](https://github.com/statamic/cms/issues/11735) by @liucf
16+
- Fix filtering group fieldtype null values [#11788](https://github.com/statamic/cms/issues/11788) by @jacksleight
17+
- Clone internal data collections [#11777](https://github.com/statamic/cms/issues/11777) by @jacksleight
18+
- Fix creating terms in non-default sites [#11746](https://github.com/statamic/cms/issues/11746) by @duncanmcclean
19+
- Ensure `null` values are filtered out in dictionary field config [#11773](https://github.com/statamic/cms/issues/11773) by @duncanmcclean
20+
- Use deep copy of set's data in bard field [#11766](https://github.com/statamic/cms/issues/11766) by @faltjo
21+
- Dutch translations [#11783](https://github.com/statamic/cms/issues/11783) by @rinusvandam
22+
- PHPUnit: Use `#[Test]` attribute instead of `/** @test */` [#11767](https://github.com/statamic/cms/issues/11767) by @duncanmcclean
23+
24+
25+
26+
## 5.54.0 (2025-05-02)
27+
28+
### What's new
29+
- Add `firstOrfail`, `firstOr`, `sole` and `exists` methods to base query builder [#9976](https://github.com/statamic/cms/issues/9976) by @duncanmcclean
30+
- Allow custom nocache db connection [#11716](https://github.com/statamic/cms/issues/11716) by @macaws
31+
- Make Live Preview force reload JS modules optional [#11715](https://github.com/statamic/cms/issues/11715) by @eminos
32+
33+
### What's fixed
34+
- Fix ensured author field when sidebar has empty section [#11747](https://github.com/statamic/cms/issues/11747) by @duncanmcclean
35+
- Improve error handling in entries fieldtype [#11754](https://github.com/statamic/cms/issues/11754) by @duncanmcclean
36+
- Hide "Edit" button on relationship fieldtypes when user is missing permissions [#11748](https://github.com/statamic/cms/issues/11748) by @duncanmcclean
37+
- Fix wrong taxonomies count on multiple sites [#11741](https://github.com/statamic/cms/issues/11741) by @liucf
38+
- GraphQL should return float fieldtype values as floats [#11742](https://github.com/statamic/cms/issues/11742) by @ryanmitchell
39+
- Fix pop-up position of for Bard link inconsistent [#11739](https://github.com/statamic/cms/issues/11739) by @liucf
40+
- Only apply the published filter when not in preview mode [#11652](https://github.com/statamic/cms/issues/11652) by @TheBnl
41+
- Cleanup roles after running `SitesTest@gets_authorized_sites` [#11738](https://github.com/statamic/cms/issues/11738) by @duncanmcclean
42+
- Update nocache map on response [#11650](https://github.com/statamic/cms/issues/11650) by @indykoning
43+
- Fix Add truncate class to flex container in LinkFieldtype [#11689](https://github.com/statamic/cms/issues/11689) by @liucf
44+
- Fix appended form config fields when user locale differs from app locale [#11704](https://github.com/statamic/cms/issues/11704) by @duncanmcclean
45+
- Fix dirty state on preferences edit form [#11655](https://github.com/statamic/cms/issues/11655) by @duncanmcclean
46+
- Fix static caching invalidation for multi-sites [#10669](https://github.com/statamic/cms/issues/10669) by @duncanmcclean
47+
- Safer check on parent tag [#11717](https://github.com/statamic/cms/issues/11717) by @macaws
48+
- Dutch translations [#11730](https://github.com/statamic/cms/issues/11730) by @jeroenpeters1986
49+
- Bump @babel/runtime from 7.21.0 to 7.27.0 [#11726](https://github.com/statamic/cms/issues/11726) by @dependabot
50+
- Update caniuse-lite [#11725](https://github.com/statamic/cms/issues/11725) by @jasonvarga
51+
52+
53+
354
## 5.53.1 (2025-04-17)
455

556
### What's fixed

resources/js/components/fieldtypes/bard/BardFieldtype.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -460,8 +460,8 @@ export default {
460460
methods: {
461461
addSet(handle) {
462462
const id = uniqid();
463-
const values = Object.assign({}, { type: handle }, this.meta.defaults[handle]);
464-
463+
const deepCopy = JSON.parse(JSON.stringify(this.meta.defaults[handle]));
464+
const values = Object.assign({}, { type: handle }, deepCopy);
465465
let previews = {};
466466
Object.keys(this.meta.defaults[handle]).forEach((key) => (previews[key] = null));
467467
this.previews = Object.assign({}, this.previews, { [id]: previews });
@@ -484,7 +484,8 @@ export default {
484484
duplicateSet(old_id, attrs, pos) {
485485
const id = uniqid();
486486
const enabled = attrs.enabled;
487-
const values = Object.assign({}, attrs.values);
487+
const deepCopy = JSON.parse(JSON.stringify(attrs.values));
488+
const values = Object.assign({}, deepCopy);
488489
489490
let previews = Object.assign({}, this.previews[old_id]);
490491
this.previews = Object.assign({}, this.previews, { [id]: previews });

resources/js/components/fieldtypes/bard/LinkToolbar.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
<!-- Data input -->
5353
<div
5454
v-else
55-
class="flex w-full cursor-pointer items-center justify-between"
55+
class="flex w-full min-w-[240px] cursor-pointer items-center justify-between"
5656
@click="openSelector"
5757
>
5858
<loading-graphic v-if="isLoading" :inline="true" />
@@ -256,6 +256,7 @@ export default {
256256
type: 'entries',
257257
collections: this.collections,
258258
max_items: 1,
259+
select_across_sites: this.config.select_across_sites,
259260
};
260261
},
261262

resources/js/components/inputs/relationship/RelationshipInput.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
:item="item"
3131
:config="config"
3232
:status-icon="statusIcons"
33-
:editable="canEdit"
33+
:editable="canEdit && (item.editable || item.editable === undefined)"
3434
:sortable="!readOnly && canReorder"
3535
:read-only="readOnly"
3636
:form-component="formComponent"

resources/lang/en/fieldtypes.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
'bard.config.section.editor.instructions' => 'Configure the editor\'s appearance and general behavior.',
4545
'bard.config.section.links.instructions' => 'Configure how links are handled in this instance of Bard.',
4646
'bard.config.section.sets.instructions' => 'Configure blocks of fields that can be inserted anywhere in your Bard content.',
47+
'bard.config.select_across_sites' => 'Allow selecting entries from other sites. This also disables localizing options on the front-end. Learn more in the [documentation](https://statamic.dev/fieldtypes/entries#select-across-sites).',
4748
'bard.config.smart_typography' => 'Convert common text patterns with the proper typographic characters.',
4849
'bard.config.target_blank' => 'Set `target="_blank"` on all links.',
4950
'bard.config.toolbar_mode' => '**Fixed** mode will keep the toolbar visible at all times, while **floating** only appears while selecting text.',

resources/lang/nl.json

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@
198198
"Code Block": "Codeblok",
199199
"Collapse": "Ineenstorting",
200200
"Collapse All": "Alles inklappen",
201+
"Collapse All Sets": "Alle sets inklappen",
201202
"Collapse Set": "Set inklappen",
202-
"Collapse Sets": "Sets inklappen",
203203
"Collection": "Collectie",
204204
"Collection already exists": "Collectie bestaat al",
205205
"Collection created": "Collectie aangemaakt",
@@ -395,12 +395,14 @@
395395
"Email Content": "E-mailinhoud",
396396
"Email Subject": "E-mailonderwerp",
397397
"Emojis": "Emoji's",
398+
"Empty": "Leeg",
398399
"Enable Input Rules": "Schakel 'input' regels in",
399400
"Enable Line Wrapping": "Line wrapping inschakelen",
400401
"Enable Paste Rules": "Schakel 'paste' regels in",
401402
"Enable Pro Mode": "Pro Mode activeren",
402403
"Enable Publish Dates": "Publiceerdata inschakelen",
403404
"Enable Revisions": "Revisies inschakelen",
405+
"Enable Statamic Pro?": "Statamic Pro inschakelen?",
404406
"Encryption": "Encryptie",
405407
"Enter any internal or external URL.": "Interne of externe URL invoeren.",
406408
"Enter URL": "URL invoerern",
@@ -429,12 +431,10 @@
429431
"Escape Markup": "Markup escapen",
430432
"Everything is up to date.": "Alles is up to date.",
431433
"Example": "Voorbeeld",
432-
"Exit Fullscreen Mode": "Volledig scherm modus afsluiten",
433434
"Expand": "Uitbreiden",
434435
"Expand All": "Alles uitvouwen",
436+
"Expand All Sets": "Alle sets uitvouwen",
435437
"Expand Set": "Set uitvouwen",
436-
"Expand Sets": "Sets uitklappen",
437-
"Expand\/Collapse Sets": "Set in-\/uitklappen",
438438
"Expect a root page": "Verwacht een root-pagina",
439439
"Expired": "Verlopen",
440440
"Export Submissions": "Inzendingen exporteren",
@@ -506,7 +506,7 @@
506506
"Heading 1": "Kop 1",
507507
"Heading 2": "Kop 2",
508508
"Heading 3": "Kop 3",
509-
"Heading 4": "Kop 3",
509+
"Heading 4": "Kop 4",
510510
"Heading 5": "Kop 5",
511511
"Heading 6": "Kop 6",
512512
"Heading Anchors": "Kop anchors",
@@ -622,6 +622,7 @@
622622
"Markdown paths": "Markdown paden",
623623
"Markdown theme": "Markdown thema",
624624
"Max": "Maximaal",
625+
"Max Columns": "Maximaal aantal kolommen",
625626
"Max Depth": "Maximale diepte",
626627
"Max Files": "Maximaal aantal bestanden",
627628
"Max Items": "Maximaal aantal items",
@@ -677,6 +678,7 @@
677678
"No templates to choose from.": "Geen templates om uit te kiezen.",
678679
"None": "Geen",
679680
"not": "geen",
681+
"Not empty": "Niet leeg",
680682
"Not equals": "Niet gelijk aan",
681683
"Not Featured": "Niet uitgelicht",
682684
"Not listable": "Niet vermeldbaar",
@@ -766,6 +768,7 @@
766768
"Released on :date": "Uitgebracht op :date",
767769
"Remember me": "Onthoud mij",
768770
"Remove": "Verwijder",
771+
"Remove All": "Verwijder alle",
769772
"Remove all empty nodes": "Verwijder alle lege nodes",
770773
"Remove Asset": "Verwijder asset",
771774
"Remove child page|Remove :count child pages": "Verwijder child pagina|Verwijder :count child pagina's",
@@ -846,7 +849,6 @@
846849
"Searching in:": "Zoeken in:",
847850
"Select": "Selecteer",
848851
"Select Across Sites": "Selecteer over sites heen",
849-
"Select asset container": "Selecteer asset-container",
850852
"Select Collection(s)": "Selecteer collectie(s)",
851853
"Select Dropdown": "Selecteer dropdown",
852854
"Select Group": "Groep selecteren",
@@ -910,6 +912,7 @@
910912
"Stacked": "Gestapeld",
911913
"Start Impersonating": "Start met imiteren",
912914
"Start Page": "Start Pagina",
915+
"Start typing to search.": "Start met typen om te zoeken.",
913916
"Statamic": "Statamic",
914917
"Statamic Pro is required.": "Statamic Pro is vereist.",
915918
"Static Page Cache": "Statische paginacache",
@@ -949,6 +952,7 @@
949952
"Taxonomy saved": "Taxonomie opgeslagen",
950953
"Template": "Template",
951954
"Templates": "Templates",
955+
"Term": "Term",
952956
"Term created": "Term aangemaakt",
953957
"Term deleted": "Term verwijderd",
954958
"Term references updated": "Termreferencies geüpdatet",
@@ -981,7 +985,6 @@
981985
"Toggle": "Schakelaar",
982986
"Toggle Button": "Aan-uit-knop",
983987
"Toggle Dark Mode": "Donkere modus aan\/uit",
984-
"Toggle Fullscreen": "Volledig scherm aan\/uit",
985988
"Toggle Fullscreen Mode": "Volledige schermodus in\/uitschakelen",
986989
"Toggle Header Cell": "Header cel in\/uitschakelen",
987990
"Toggle Mobile Nav": "Mobile navigatie aan\/uit",
@@ -1010,6 +1013,7 @@
10101013
"Uncheck All": "Alles deselecteren",
10111014
"Underline": "Onderstreept",
10121015
"Unlink": "Ontkoppelen",
1016+
"Unlink All": "Ontkoppel alle",
10131017
"Unlisted Addons": "Niet-vermelde add-ons",
10141018
"Unordered List": "Ongeordende lijst",
10151019
"Unpin from Favorites": "Losmaken van favorieten",

resources/lang/nl/fieldtypes.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
'array.config.keys' => 'Stel de array keys (variabelen) en optionele labels in.',
99
'array.config.mode' => 'Dynamische modus geeft de gebruiker controle over de data terwijl keyed modus dat niet doet.',
1010
'array.title' => 'Array',
11+
'asset_folders.config.container' => 'Kies welke asset-container je voor dit veld wilt gebruiken.',
1112
'assets.config.allow_uploads' => 'Nieuwe file-uploads toestaan',
1213
'assets.config.container' => 'Kies welke asset-container je voor dit veld wilt gebruiken.',
1314
'assets.config.dynamic' => 'Activa worden in een submap geplaatst op basis van de waarde van dit veld.',
@@ -167,6 +168,8 @@
167168
'slug.config.show_regenerate' => 'Toon de "hergenereer" knop om een nieuwe slug te kunnen maken.',
168169
'slug.title' => 'Slug',
169170
'structures.title' => 'Structures',
171+
'table.config.max_columns' => 'Stel een maximum aantal kolommen in.',
172+
'table.config.max_rows' => 'Stel een maximum aantal rijen in.',
170173
'table.title' => 'Table',
171174
'taggable.config.options' => 'Zorg voor vooraf gedefinieerde tags die geselecteerd kunnen worden.',
172175
'taggable.config.placeholder' => 'Type en druk op ↩ Enter',

resources/lang/nl/validation.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@
118118
'uuid' => 'Moet een geldige UUID zijn.',
119119
'arr_fieldtype' => 'Dit is ongeldig.',
120120
'handle' => 'Mag alleen kleine letters en getallen bevatten met lage strepen als scheidingstekens.',
121+
'handle_starts_with_number' => 'Mag niet beginnen met een getal.',
121122
'slug' => 'Mag alleen kleine letters en getallen bevatten met lage of gewone strepen als scheidingstekens.',
122123
'code_fieldtype_rulers' => 'Dit is ongeldig.',
123124
'composer_package' => 'Moet een geldige composer package naam zijn (bijv. hasselhoff/kung-fury).',

src/Assets/Asset.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ public function __construct()
116116
$this->supplements = collect();
117117
}
118118

119+
public function __clone()
120+
{
121+
$this->data = clone $this->data;
122+
$this->supplements = clone $this->supplements;
123+
}
124+
119125
public function id($id = null)
120126
{
121127
if ($id) {

src/Auth/File/User.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ public function __construct()
3939
$this->supplements = collect();
4040
}
4141

42+
public function __clone()
43+
{
44+
$this->data = clone $this->data;
45+
$this->supplements = clone $this->supplements;
46+
}
47+
4248
public function data($data = null)
4349
{
4450
if (func_num_args() === 0) {

0 commit comments

Comments
 (0)