Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
f581da6
Merge branch 'origin/beta' into main
mansona Jan 25, 2026
7d32d37
update to the next alpha version
mansona Jan 25, 2026
835aa47
update blueprint dependencies to alpha
mansona Jan 25, 2026
8f45083
Merge pull request #10930 from ember-cli/merge-beta
mansona Jan 26, 2026
72ed7bb
Prepare Alpha Release using 'release-plan'
mansona Jan 26, 2026
ff8cd7c
Merge pull request #10925 from ember-cli/releaseplan-preview
mansona Jan 26, 2026
47ed767
update Release.md
mansona Jan 26, 2026
70c9f03
don't run CI on markdown only change
mansona Jan 26, 2026
89acb15
Remove tracked-built-ins (it comes built in with ember-source 6.8+)
NullVoxPopuli Jan 30, 2026
b67cb6f
Update fixtures
NullVoxPopuli Jan 30, 2026
b5b9b06
Merge pull request #10932 from ember-cli/nvp/remove-tracked-built-ins…
kategengler Jan 31, 2026
2c3fe9c
Initial plan
Copilot Feb 3, 2026
0faa4d4
Add warpDrive support to app-blueprint with tilde dependencies and pr…
Copilot Feb 3, 2026
829e956
Remove duplicate warpDrive assignment in index.js
Copilot Feb 3, 2026
a472c2b
Remove @warp-drive/core-types from package.json
Copilot Feb 3, 2026
7d011a9
Fix template syntax in package.json for warpDrive condition
Copilot Feb 4, 2026
3101b16
Fix template syntax to match pattern in package.json
Copilot Feb 4, 2026
875efcf
Fix warpDrive default value to prevent undefined errors in templates
Copilot Feb 4, 2026
d606142
Add warpDrive default to addon-blueprint locals
Copilot Feb 4, 2026
ae9c216
Revert "Update `isbinaryfile`"
mansona Feb 5, 2026
87b56d6
remove unused isbinaryfile from ember-cli package
mansona Feb 5, 2026
0c34452
Merge pull request #10941 from ember-cli/downgrade-isbinaryfile
NullVoxPopuli Feb 5, 2026
2eb4cf9
Prepare Alpha Release using 'release-plan'
NullVoxPopuli Feb 5, 2026
38cc525
Merge pull request #10933 from ember-cli/releaseplan-preview
mansona Feb 6, 2026
914927d
Fix blank line spacing in eslint config templates when warpDrive is d…
Copilot Feb 7, 2026
9f5da8f
Fix eslint config template to not add extra blank lines when warpDriv…
Copilot Feb 7, 2026
90cb9fd
Add blank line after warpDrive conditional in TypeScript eslint template
Copilot Feb 7, 2026
07f39d6
update release-plan for OIDC
mansona Feb 7, 2026
c11b9ce
add conditional to release-plan publish based on branch
mansona Feb 7, 2026
b1533a2
Merge pull request #10945 from ember-cli/release-plan
mansona Feb 7, 2026
73c42ea
Prepare Alpha Release using 'release-plan'
mansona Feb 7, 2026
5d4316d
Merge pull request #10946 from ember-cli/releaseplan-preview
mansona Feb 7, 2026
d78176f
bump in-range versions
mansona Feb 7, 2026
f488c0f
update fixtures
mansona Feb 7, 2026
9605cf7
Merge pull request #10947 from ember-cli/bump-releases
mansona Feb 7, 2026
8325ca8
Prepare Alpha Release using 'release-plan'
mansona Feb 7, 2026
19200d7
Merge pull request #10948 from ember-cli/releaseplan-preview
mansona Feb 8, 2026
fc79615
Merge branch 'origin/beta into master
mansona Feb 9, 2026
3baa6c6
Merge pull request #10955 from ember-cli/merge-beta
mansona Feb 9, 2026
be46501
Prepare Alpha Release using 'release-plan'
mansona Feb 9, 2026
14ad698
Merge pull request #10957 from ember-cli/releaseplan-preview
mansona Feb 9, 2026
1fccada
Merge pull request #10931 from ember-cli/update-release-docs
mansona Feb 17, 2026
5aac57d
Initial plan
Copilot Mar 24, 2026
7bb343a
Replace `temp` package with Node.js built-in `fs.mkdtemp`/`fs.mkdtemp…
Copilot Mar 24, 2026
abe45fe
Merge pull request #10967 from ember-cli/copilot/replace-temp-package
NullVoxPopuli Mar 24, 2026
4fbaec0
Update ember-cli-htmlbars to ^7.0.0 in app-blueprint and fixtures
Copilot Mar 24, 2026
315a800
Update ember-cli-htmlbars to ^7.0.0 in addon fixtures
Copilot Mar 24, 2026
0b3a4ab
Merge pull request #10969 from ember-cli/copilot/update-ember-cli-htm…
NullVoxPopuli Mar 24, 2026
6ee99c5
Merge remote-tracking branch 'origin/master' into copilot/update-app-…
Copilot Mar 24, 2026
8114e2f
Merge pull request #10939 from ember-cli/copilot/update-app-blueprint…
NullVoxPopuli Mar 24, 2026
7e5c09f
Add use-ember-modules: true to blueprint optional-features.json
Copilot Mar 29, 2026
0ac6fd9
Merge pull request #10976 from ember-cli/copilot/update-optional-feat…
NullVoxPopuli Mar 29, 2026
0a3c350
Merge branch 'origin/release' into beta
mansona Apr 3, 2026
ac1279c
Merge branch 'origin/master' into beta
mansona Apr 3, 2026
cbe2b0a
update versions
mansona Apr 3, 2026
884f005
update blueprint dependencies to beta
mansona Apr 4, 2026
83cde14
fix missing ejs template bracket
mansona Apr 4, 2026
1a5d3b6
Merge pull request #10991 from ember-cli/merge-release
mansona Apr 4, 2026
131b127
Prepare Beta Release using 'release-plan'
mansona Apr 4, 2026
56d1273
Merge pull request #10992 from ember-cli/release-preview-beta
mansona Apr 4, 2026
508a002
Merge branch 'origin/beta' into release-plan-6-12
mansona Apr 9, 2026
58c88ec
update blueprint dependencies to latest
mansona Apr 9, 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
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ on:
- next
- "v*"
- "lts-*"
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
workflow_dispatch:
merge_group:
schedule:
Expand Down
30 changes: 24 additions & 6 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,17 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
- make sure to not update the version in the package.json during this step, this will be release-plan's job
- make sure to not update the version in the `packages/app-blueprint/package.json`, or `packages/addon-blueprint/package.json` files during this step, this will be release-plan's job
- make sure to not add the `release-plan` config section to the package.json during this step. We are releasing a real release so we don't want to configure release-plan to do a pre-release.
- commit the merge `git commit -am "promote beta to release"`
- Update blueprint dependencies to latest. Note: ember-data needs to be updated only in the alpha version from now on, make sure to only update to the release version of what was in the beta.

```
node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=<whatever version was in the beta>
```

- run `pnpm lint:fix`
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@latest`
- manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
- run `pnpm install` to make sure the lock file is up to date
- commit this update `git commit -am "update blueprint dependencies to latest"`
- push and open a PR targeting `release` with a PR title like `Promote Beta and update all dependencies for 6.4 release`
- mark this PR as an `enhancement` if it is a minor release
Expand All @@ -59,6 +64,11 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
- Merge the `Prepare Release` branch when you are ready to release
- Check the `Release Stable` GitHub action to make sure the release succeeded

### Finish the `@ember/app-blueprint` release

- Update the `@ember/app-blueprint` `release` branch to use this new version of ember-cli
- continue the rest of the [@ember/app-blueprint release process](https://github.com/ember-cli/ember-app-blueprint/blob/main/RELEASE.md#release-ember-cli-and-update-that-dependency) until beta and alpha are released

### Beta release from the `beta` branch

- fetch latest from origin `git fetch`
Expand All @@ -67,17 +77,20 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
- **make sure to not update any .github/workflows/plan-beta-release.yml file** this should still plan a beta release
- **make sure to not update any .github/workflows/publish-beta.yml file** this should still publish a beta release
- make sure to not update the version in the package.json during this step, that step comes later
- make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
- make sure to not remove the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
- commit the merge `git commit -am "merge release into beta"`
- merge master into this new branch too e.g. `git merge origin/master --no-ff`
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
- **make sure to not update the CHANGELOG.md file** in this step. It should match the changelog on `origin/release` at this stage.
- make sure not to update the `release-plan` config in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
- make sure not to update the `@ember-tooling/blueprint-blueprint` versions (i.e. not workspace dependencies) in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
- make sure not to add any files from `packages/blueprint-blueprint` or `packages/blueprint-model` in this merge (those files only exist on main)
- commit the merge `git commit -am "merge master into beta"`
- update the versions in package.jsons
- update the alpha version in package.json to be a beta i.e. if the incoming merge is `"version": "6.6.0-alpha.3",` update it to `"version": "6.6.0-beta.0",`
- update the alpha version in `packages/addon-blueprint/package.json` to be a beta
- update the alpha version in `packages/app-blueprint/package.json` to be a beta
- update the alpha version in `packages/addon-blueprint/package.json` to be the same beta version
- update the alpha version in `packages/app-blueprint/package.json` to be the same beta version
- update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same as the version you just put in the top level package.json
- commit the version changes `git commit -am "update versions"`
- Update blueprint dependencies to beta
Expand All @@ -86,8 +99,10 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
node ./dev/update-blueprint-dependencies.js --ember-source=beta --ember-data=<whatever version was in the alpha>
```

- run `pnpm lint:fix`
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@beta`
- manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
- run `pnpm install` to make sure the lock file is up to date
- commit this update `git commit -am "update blueprint dependencies to beta"`
- push and open a PR targeting `beta` with a PR title like `Prepare 6.5-beta`
- mark this PR as an `enchancement` if the next beta is a minor release
Expand All @@ -104,9 +119,9 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
- create a new branch to merge `beta` into `master` e.g. `git checkout --no-track -b merge-beta origin/master`
- merge beta into this new branch e.g. `git merge origin/beta --no-ff`
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
- make sure to not update the version in the package.json during this step, that step comes later
- make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
- make sure to not update the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
- make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies. On master they always use the latest and don't use semver.
- make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`. On master they always use the latest and don't use semver.
- **make sure to not update any .github/workflows/plan-release.yml file** this should still plan a beta release
- **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
- **make sure to not update the CHANGELOG.md file** in this step.
Expand All @@ -116,16 +131,19 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
- e.g. if the current alpha is `"version": "6.6.0-alpha.3",` update it to be `"version": "6.7.0-alpha.0",`
- manually update the alpha version in `packages/addon-blueprint/package.json` to be the same alpha
- manually update the alpha version in `packages/app-blueprint/package.json` to be the same alpha
- commit this change to the version in package.json: `git commit -am "update to the next alpha version"`
- update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same alpha
- commit this change `git commit -am "update to the next alpha version"`
- Update blueprint dependencies to alpha

```
node ./dev/update-blueprint-dependencies.js --ember-source=alpha --ember-data=<whatever version is in the package.json>
```

- note: ember-data (aka warp-drive) should only ever be updated on master as a separate PR. It is no longer part of the release process
- run `pnpm lint:fix`
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@alpha`
- make sure the app-blueprint still has a `~` after the above step
- run `pnpm install` to make sure the lock file is up to date
- commit this update `git commit -am "update blueprint dependencies to alpha"`
- push and open a PR targeting `master` with a PR title like `Prepare 6.6-alpha`
- mark this PR as an `enchancement` if the next alpha is a minor release
Expand Down
6 changes: 2 additions & 4 deletions lib/commands/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@ const Command = require('../models/command');
const Watcher = require('../models/watcher');
const Builder = require('../models/builder');
const SilentError = require('silent-error');
const os = require('os');
const path = require('path');
const Win = require('../utilities/windows-admin');
const fs = require('fs');
const temp = require('temp');
const util = require('util');
const PortFinder = require('portfinder');
let getPort = util.promisify(PortFinder.getPort);

temp.track();

let defaultPort = 7357;

const ClassicOptions = [
Expand Down Expand Up @@ -99,7 +97,7 @@ module.exports = Command.extend({
},

tmp() {
return temp.mkdirSync('tests-dist-');
return fs.mkdtempSync(path.join(os.tmpdir(), 'tests-dist-'));
},

_generateCustomConfigs(options) {
Expand Down
10 changes: 2 additions & 8 deletions lib/tasks/install-blueprint.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
const fs = require('fs-extra');
const Blueprint = require('../models/blueprint');
const Task = require('../models/task');
const util = require('util');
const temp = require('temp');
const os = require('os');
const path = require('path');
const merge = require('lodash/merge');
const { execa } = require('execa');
Expand All @@ -17,11 +16,6 @@ const { isExperimentEnabled } = require('@ember-tooling/blueprint-model/utilitie

const NOT_FOUND_REGEXP = /npm ERR! 404 {2}'(\S+)' is not in the npm registry/;

// Automatically track and cleanup temp files at exit
temp.track();

let mkdirTemp = util.promisify(temp.mkdir);

class InstallBlueprintTask extends Task {
async run(options) {
let cwd = process.cwd();
Expand Down Expand Up @@ -115,7 +109,7 @@ class InstallBlueprintTask extends Task {
}

_createTempFolder() {
return mkdirTemp('ember-cli');
return fs.mkdtemp(path.join(os.tmpdir(), 'ember-cli-'));
}

_resolvePackageJSON(directoryPath) {
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"@ember-tooling/blueprint-model": "^0.5.0",
"@ember-tooling/classic-build-addon-blueprint": "workspace:*",
"@ember-tooling/classic-build-app-blueprint": "workspace:*",
"@ember/app-blueprint": "~6.11.0",
"@ember/app-blueprint": "~6.12.0",
"@pnpm/find-workspace-dir": "^1000.1.3",
"babel-remove-types": "^1.0.2",
"broccoli": "^4.0.0",
Expand Down Expand Up @@ -120,7 +120,6 @@
"silent-error": "^1.1.1",
"sort-package-json": "^3.6.0",
"symlink-or-copy": "^1.3.1",
"temp": "0.9.4",
"testem": "^3.17.0",
"tiny-lr": "^2.0.0",
"tree-sync": "^2.1.0",
Expand Down
1 change: 1 addition & 0 deletions packages/addon-blueprint/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ module.exports = {
embroider: false,
lang: options.lang,
emberData: options.emberData,
warpDrive: options.warpDrive ?? options.emberData ?? false,
ciProvider: options.ciProvider,
typescript: options.typescript,
strict: options.strict,
Expand Down
6 changes: 3 additions & 3 deletions packages/addon-blueprint/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
"chalk": "^5.6.2",
"ember-cli-normalize-entity-name": "^1.0.0",
"ember-cli-string-utils": "^1.1.0",
"fs-extra": "^11.3.0",
"lodash": "^4.17.21",
"fs-extra": "^11.3.3",
"lodash": "^4.17.23",
"silent-error": "^1.1.1",
"sort-package-json": "^2.12.0",
"sort-package-json": "^2.15.1",
"walk-sync": "^3.0.0"
}
}
6 changes: 4 additions & 2 deletions packages/app-blueprint/files/_js_eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
import globals from 'globals';
import js from '@eslint/js';

import ember from 'eslint-plugin-ember/recommended';
import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
import eslintConfigPrettier from 'eslint-config-prettier';
import qunit from 'eslint-plugin-qunit';
import n from 'eslint-plugin-n';
Expand All @@ -38,7 +39,8 @@ export default [
eslintConfigPrettier,
ember.configs.base,
ember.configs.gjs,
/**
<% if (warpDrive) { %>...WarpDrive,
<% } %>/**
* Ignores must be in their own object
* https://eslint.org/docs/latest/use/configure/ignore
*/
Expand Down
6 changes: 4 additions & 2 deletions packages/app-blueprint/files/_ts_eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ import js from '@eslint/js';

import ts from 'typescript-eslint';

import ember from 'eslint-plugin-ember/recommended';
import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>

import eslintConfigPrettier from 'eslint-config-prettier';
import qunit from 'eslint-plugin-qunit';
Expand Down Expand Up @@ -54,7 +55,8 @@ export default ts.config(
ember.configs.base,
ember.configs.gjs,
ember.configs.gts,
eslintConfigPrettier,
<% if (warpDrive) { %>...WarpDrive,
<% } %>eslintConfigPrettier,
/**
* Ignores must be in their own object
* https://eslint.org/docs/latest/use/configure/ignore
Expand Down
2 changes: 1 addition & 1 deletion packages/app-blueprint/files/app/app.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<% if (emberData) { %>import '@warp-drive/ember/install';
<% if (warpDrive) { %>import '@warp-drive/ember/install';
<% } %>import Application from '@ember/application';
import Resolver from 'ember-resolver';
import loadInitializers from 'ember-load-initializers';
Expand Down
17 changes: 17 additions & 0 deletions packages/app-blueprint/files/app/services/store.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { useLegacyStore } from '@warp-drive/legacy';
import { JSONAPICache } from '@warp-drive/json-api';

const Store = useLegacyStore({
linksMode: false,
cache: JSONAPICache,
handlers: [
// -- your handlers here
],
schemas: [
// -- your schemas here
],
});

type Store = InstanceType<typeof Store>;

export default Store;
25 changes: 14 additions & 11 deletions packages/app-blueprint/files/ember-cli-build.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
'use strict';

const EmberApp = require('ember-cli/lib/broccoli/ember-app');

<% if (warpDrive) {%>const { setConfig } = require('@warp-drive/core/build-config');
<% } %>
module.exports = function (defaults) {
const app = new EmberApp(defaults, {
<% if (emberData) {%>emberData: {
deprecations: {
// New projects can safely leave this deprecation disabled.
// If upgrading, to opt-into the deprecated behavior, set this to true and then follow:
// https://deprecations.emberjs.com/id/ember-data-deprecate-store-extends-ember-object
// before upgrading to Ember Data 6.0
DEPRECATE_STORE_EXTENDS_EMBER_OBJECT: false,
},
},
<% } %><% if (typescript) {%>'ember-cli-babel': { enableTypeScriptTransform: true },
<% if (typescript) {%>'ember-cli-babel': { enableTypeScriptTransform: true },

<% } %>// Add options here
});
<% if (warpDrive) {%>
setConfig(app, __dirname, {
// this should be the most recent <major>.<minor> version for
// which all deprecations have been fully resolved
// and should be updated when that changes
compatWith: '5.8',
deprecations: {
// ... list individual deprecations that have been resolved here
},
});
<% } %>

<% if (embroider) { %>const { Webpack } = require('@embroider/webpack');
return require('@embroider/compat').compatBuild(app, Webpack, {
Expand Down
Loading
Loading