Skip to content

Commit efb900d

Browse files
committed
Finish 4.15.0-beta.1
1 parent 4c87b61 commit efb900d

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed

CHANGELOG.md

+52
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
# Release Notes for Craft CMS 4
22

3+
## 4.15.0-beta.1 - 2025-04-08
4+
5+
### Content Management
6+
- Condition rules for Checkboxes, Dropdown, Multi-select, and Radio Buttons fields now include “has a value” and “is empty” operators. ([#17015](https://github.com/craftcms/cms/pull/17015))
7+
- The Assets index page now prompts for confirmation when moving more than 50 assets, or assets totalling more than 50MB, at once. ([#16908](https://github.com/craftcms/cms/pull/16908))
8+
- The success notification displayed after an asset move now includes an “Undo” button, if less than 50 assets/50MB were involved in the move. ([#16908](https://github.com/craftcms/cms/pull/16908))
9+
- Window scrolling is now blocked when a modal window is open. ([#16768](https://github.com/craftcms/cms/pull/16768))
10+
11+
### Administration
12+
- Added the `db/repair` command. ([#16812](https://github.com/craftcms/cms/pull/16812))
13+
- Added the `--batch-size` option for `resave/*` commands. ([#16586](https://github.com/craftcms/cms/issues/16586))
14+
- The `plugin/install` command now accepts an `edition` argument, and prompts for the default edition if none is specified. ([#17030](https://github.com/craftcms/cms/pull/17030))
15+
- The `plugin/uninstall` command now reports if no plugin is installed with the provided handle. ([#17030](https://github.com/craftcms/cms/pull/17030))
16+
- The `users/create` command now prompts to send an activation email, or outputs an activation URL. ([#16794](https://github.com/craftcms/cms/pull/16794))
17+
- Dragging headings within the Customize Sources modal now also drags any subsequent sources. ([#16737](https://github.com/craftcms/cms/issues/16737))
18+
- When switching field types, any field settings which are defined by the same base class are now preserved. ([#16783](https://github.com/craftcms/cms/pull/16783))
19+
20+
### Development
21+
- Added the `searchTermOptions` GraphQL query argument. ([#16979](https://github.com/craftcms/cms/pull/16979))
22+
- Added the `revisionNotes` GraphQL entry mutation argument. ([#16943](https://github.com/craftcms/cms/issues/16943))
23+
24+
### Extensibility
25+
- Global nav items and breadcrumbs can now have `aria-label` attributes via an `ariaLabel` property.
26+
- Added `craft\base\ElementInterface::getSerializedFieldValuesForDb()`.
27+
- Added `craft\base\FieldInterface::serializeValueForDb()`.
28+
- Added `craft\base\conditions\BaseMultiSelectConditionRule::$includeEmptyOperators`.
29+
- Added `craft\db\Connection::getIsMaria()`.
30+
- Added `craft\db\Table::SEARCHINDEXQUEUE_FIELDS`.
31+
- Added `craft\db\Table::SEARCHINDEXQUEUE`.
32+
- Added `craft\db\mysql\QueryBuilder::jsonContains()`.
33+
- Added `craft\db\mysql\QueryBuilder::jsonExtract()`.
34+
- Added `craft\db\pgsql\QueryBuilder::jsonContains()`.
35+
- Added `craft\db\pgsql\QueryBuilder::jsonExtract()`.
36+
- Added `craft\queue\ReleasableQueueInterface`. ([#16672](https://github.com/craftcms/cms/pull/16672))
37+
- Added `craft\records\User::haveIndexAttributesChanged()`.
38+
- Added `craft\services\Search::indexElementIfQueued()`.
39+
- Added `craft\services\Search::queueIndexElement()`.
40+
- `craft\cache\ElementQueryTagDependency` now merges cache tags provided by the element query with any tags already set on its `$tags` property.
41+
42+
### System
43+
- `craft\queue\Queue::release()` and `releaseAll()` now call `release()` and `releaseAll()` on the proxied queue if it implements `craft\queue\ReleasableQueueInterface`. ([#16672](https://github.com/craftcms/cms/pull/16672))
44+
- The `changedattributes` and `changedfields` tables are now cleaned up during garbage collection. ([#16531](https://github.com/craftcms/cms/pull/16531))
45+
- The `resourcepaths` table is now truncated when clearing control panel resources, via the Caches utility or the `clear-caches/cp-resources` command. ([#16514](https://github.com/craftcms/cms/issues/16514))
46+
- Date values for custom fields are now represented as ISO-8601 date strings (with time zones) within element exports. ([#16629](https://github.com/craftcms/cms/pull/16629))
47+
- “Updating search indexes” queue jobs no longer do anything if search indexes were already updated for the element since the job was created. ([#16644](https://github.com/craftcms/cms/pull/16644))
48+
- User caches are no longer invalidated on login attempts or when user management actions are taken. ([#16937](https://github.com/craftcms/cms/pull/16937))
49+
- Batchable queue jobs now spawn new batches when their execution time is getting uncomfortably close to their TTR duration. ([#16947](https://github.com/craftcms/cms/pull/16947))
50+
- Updated Yii to 2.0.52.
51+
- Updated yii2-debug to 2.1.26.
52+
- Updated Axios to 1.8.4.
53+
- Fixed a bug where `CRAFT_WEB_URL` and `CRAFT_WEB_ROOT` environment variables could be overridden by `@web` and `@webroot` aliases define by the `aliases` config setting. ([#16980](https://github.com/craftcms/cms/pull/16980))
54+
355
## 4.14.14 - 2025-04-08
456

557
- Fixed a bug where `craft\services\Assets::EVENT_BEFORE_REPLACE_ASSET` and `EVENT_BEFORE_REPLACE_ASSET` events weren’t getting triggered when replacing an asset file via GraphQL. ([#17005](https://github.com/craftcms/cms/issues/17005))

src/config/app.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
return [
44
'id' => 'CraftCMS',
55
'name' => 'Craft CMS',
6-
'version' => '4.14.14',
6+
'version' => '4.15.0-beta.1',
77
'schemaVersion' => '4.15.0.0',
88
'minVersionRequired' => '3.7.11',
99
'basePath' => dirname(__DIR__), // Defines the @app alias

0 commit comments

Comments
 (0)