|
12 | 12 | - version-6-x |
13 | 13 | --- |
14 | 14 |
|
15 | | -// TODO add some overally summary here of all the awesome stuff in this blogpost |
16 | | - |
17 | | -Today the Ember project is releasing version 6.8 of Ember.js and Ember CLI. This release of Ember.js is an LTS (Long Term Support) **candidate**. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule. |
| 15 | +// TODO add some overall summary here of all the awesome stuff in this blogpost |
18 | 16 |
|
19 | 17 | ## Ember.js v6.8 |
20 | 18 |
|
@@ -116,24 +114,25 @@ This is the first release that enables Embroider by default 🎉 This has been a |
116 | 114 |
|
117 | 115 | These are just some of the highlights, but one key theme that has been true throughout the effort to make Vite the default build system for Ember apps is that we now have an oportunity to integrate much more seemlessly with the wider JS ecosystem. Ember is no longer working in a walled garden, forced to re-implement every good idea that the JS community comes up with. If someone comes up with a Vite plugin that does something cool, chances are that adding it to your Vite config in your Ember app will just work! |
118 | 116 |
|
| 117 | +Anyone generating a new app using `ember new` after Ember CLI v6.8 will get an app generated with the new `@ember/app-blueprint` by default. The new app blueprint has a lot of changes, but each change is exaplained in great detail in the [V2 App Format RFC](https://rfcs.emberjs.com/id/0977-v2-app-format) so it's worth taking a look to understand all the changes. |
119 | 118 |
|
| 119 | +If you have the need to generate a new app with the classic blueprint after Ember CLI v6.8, we have provided a new blueprint `@ember-tooling/classic-build-app-blueprint`. You can opt into this blueprint with the `-b` argument: |
120 | 120 |
|
121 | | -// new blueprint - enabled by default for ember new |
122 | | - |
123 | | -// ember-cli-update won't update you - use ember-vite-codemod |
124 | | - |
125 | | -// generate a classic app - please don't - but if you need to |
| 121 | +``` |
| 122 | +ember new -b @ember-tooling/classic-build-app-blueprint |
| 123 | +``` |
126 | 124 |
|
127 | | -// look at the RFC for more details about the new bluerpint |
| 125 | +This is not intended to be used long term, for most teams the new default Vite-based blueprint will be the right choice and it represents the intended future direction of the Ember project. Providing the legacy classic-build blueprint is in keeping with Ember's dedication to backwards compatability and will give teams that can't yet upgrade to Vite some breathing space to upgrade at their own pace. |
128 | 126 |
|
129 | | - |
130 | | -* [#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite blueprint by default for `ember new` |
| 127 | +This also means that any team relying on [`ember-cli-update`](https://github.com/ember-cli/ember-cli-update) can still have an update path without being autmatically upgraded to Vite. If you have an existing application and you do want to upgrade to vite you should check out the [`ember-vite-codemod`](https://github.com/mainmatter/ember-vite-codemod) which will guide you through the upgrade process. |
131 | 128 |
|
132 | 129 | #### Component and Route `--strict` by default |
133 | 130 |
|
| 131 | +Now that the default blueprint is using Vite by default it makes sense for newly generated Components and Route templates to use template-tag format (a.k.a GJS). This means that all of the templates in your app will be in "strict mode" and not look up any of the Invokables (Components, Helpers, or Modifiers) on the global resolver, but instead use local scoping to know what Invokable to use in your templates. In pracice, for most people, this would mean importing any components that you are using at the top of the file that you are using them (this is why this feature is sometimes referred to as template-imports). This allows build systems to have a better understanding of where your code is coming from and can significanly improve tree-shaking and developer tooling performance. |
134 | 132 |
|
| 133 | +With the Vite blueprint it makes sense to enable the strict-mode template generation by default, and to keep the new app blueprint and the classic app blueprint in sync we also decided to make it the default for new apps generated with the classic app blueprint. In practice this only sets the required setting in the `.ember-cli` settings file in your repo to the new default values. |
135 | 134 |
|
136 | | -* [#10831](https://github.com/ember-cli/ember-cli/pull/10831) enable `--strict` by default in classic blueprints to match new Vite app blueprint |
| 135 | +You can read more about the specifics of this feature in the [First-Class Component Templates RFC #779](https://rfcs.emberjs.com/id/0779-first-class-component-templates). |
137 | 136 |
|
138 | 137 | ### Other Features |
139 | 138 |
|
@@ -191,6 +190,8 @@ Ember.js 6.8 is an incremental, backwards compatible release of Ember with bug f |
191 | 190 | For more details on the changes in Ember CLI 6.8 and detailed upgrade |
192 | 191 | instructions, please review the [Ember CLI 6.8.0 release page](https://github.com/ember-cli/ember-cli/releases/tag/v6.8.0-ember-cli). |
193 | 192 |
|
| 193 | +Today the Ember project is releasing version 6.8 of Ember.js and Ember CLI. This release of Ember.js is an LTS (Long Term Support) **candidate**. LTS candidates prioritize stability over the addition of new features, and have an extended support schedule. |
| 194 | + |
194 | 195 | ## Thank You! |
195 | 196 |
|
196 | 197 | As a community-driven open-source project with an ambitious scope, each of these releases serves as a reminder that the Ember project would not have been possible without your continued support. We are extremely grateful to our contributors for their efforts. |
0 commit comments