You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/ember-released-6-8.md
+93-62Lines changed: 93 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,37 +12,25 @@ tags:
12
12
- version-6-x
13
13
---
14
14
15
-
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 overally summary here of all the awesome stuff in this blogpost
16
16
17
-
A release of Ember is comprised of many projects: ember-source, ember-cli, and all the learning team projects. We follow a [6-week release train](http://emberjs.com/releases/) that includes alpha and beta cycles to ensure changes are well-tested. We encourage our community (especially addon authors) to help test the beta builds and report any bugs before they are published as a final release. The `ember-try` addon is a great way to continuously test your projects against the latest Ember releases. While we only consider the release to be complete upon publication of the blog post, the 6-week cycle is anchored by the release of the ember-source package at the beginning of the process. Releases x.4, x.8 and x.12 will become an LTS candidate, so checkout [Ember LTS Releases](https://blog.emberjs.com/announcing-embers-first-lts/) if you want to know more.
18
-
19
-
---
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.
20
18
21
-
## Ember.js
19
+
## Ember.js v6.8
22
20
23
-
Ember.js is the core framework for building ambitious web applications.
21
+
Ember.js 6.8 introduces 3 key features, 2 new things for Ember developers to use today and a new way to publish the `ember-source` package.
24
22
25
-
### Changes in Ember.js 6.8
23
+
### Key Features
26
24
27
-
Ember.js 6.8 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.
25
+
#### Trusted publishing
28
26
29
27
v6.8.0 of `ember-source` is the first minor version of the package to be published to `npm` with [Trusted Publishing](https://docs.npmjs.com/trusted-publishers). We will be implementing this across all our packages.
30
28
31
29
At the bottom of the [npm package page](https://www.npmjs.com/package/ember-source), you'll find a section labeled 'Provenance' that provides verification that the package contents were published from the source repository.
32
30
33
-
#### Bug fixes
34
-
35
-
Ember.js 6.8 introduces 1 bug fix.
36
-
37
-
- Removes unnecessary package ember-cli-htmlbars-inline-precompile from component-test blueprint
31
+
#### `renderComponent`
38
32
39
-
#### Features
40
-
41
-
Ember.js 6.8 introduces 2 new features.
42
-
43
-
##### `renderComponent`
44
-
45
-
The new `renderComponent` API provides a powerful way to render components into any DOM element, making it easier to integrate components in other environments like d3, ag-grid, WYSIWYG editors, and more! This feature is particularly useful for micro applications, REPLs, and "islands"-based tools.
33
+
The new `renderComponent` API provides a way to render components directly into any DOM element, making it easier to integrate components in other environments like `d3`, `ag-grid`, WYSIWYG editors, etc. This feature is particularly useful for micro applications, REPLs, and "islands"-based tools.
46
34
47
35
`renderComponent` can be imported from `@ember/renderer` and accepts a component definition along with configuration options:
48
36
@@ -66,68 +54,121 @@ The API supports several configuration options including:
66
54
-`args`: Arguments to pass to the component - these can be a `trackedObject`
67
55
-`owner`: Optional owner object for service access, (or minimal partial implementation of what your component needs)
You can read more about this on the page for [RFC #1068](https://rfcs.emberjs.com/id/1099-rendercomponent/)
72
58
73
-
#####`@ember/reactive/collections`
59
+
#### `@ember/reactive/collections`
74
60
75
61
Ember 6.8 introduces a new package `@ember/reactive/collections` that provides built-in tracking utilities for common collections. This package includes tracked versions of JavaScript's native collection types: `trackedArray`, `trackedObject`, `trackedMap`, `trackedSet`, `trackedWeakMap`, and `trackedWeakSet`.
76
62
77
63
These utilities offer performance and ergonomics improvements over what has been used via public APIs.
78
64
79
65
```gjs
80
66
import { trackedArray } from '@ember/reactive/collections';
67
+
import { on } from '@ember/modifier';
81
68
82
-
const items = ['apple', 'banana'];
83
-
const addItem = (arr, item) => arr.push(item);
69
+
const items = trackedArray(['apple', 'banana']);
70
+
71
+
// usually you would have the pushed item be dynamic but this is just a demo
72
+
const addItem = (item) => items.push('cherry');
84
73
85
74
<template>
86
-
{{#let (trackedArray items) as |list|}}
87
-
{{#each list as |item|}}
88
-
<div>{{item}}</div>
89
-
{{/each}}
90
-
91
-
<button {{on 'click' (fn addItem list 'cherry')}}>
You can read more about this on the page for [RFC #1068](https://rfcs.emberjs.com/id/1068-tracked-collections/)
101
86
102
87
This feature was inspired by `tracked-built-ins` and brings these essential reactivity primitives directly into the framework core.
103
88
104
-
#### Deprecations
89
+
###Bug fixes
105
90
106
-
Ember.js 6.8 introduces 0 new deprecations.
91
+
Ember.js 6.8 introduces 1 bug fix.
107
92
108
-
For more details on changes in Ember.js 6.8, please review the [Ember.js 6.8.0 release page](https://github.com/emberjs/ember.js/releases/tag/v6.8.0-ember-source).
93
+
-[#20988](https://github.com/emberjs/ember.js/pull/20988) Removes unnecessary package ember-cli-htmlbars-inline-precompile from component-test blueprint
94
+
95
+
#### Deprecations
96
+
97
+
Ember.js 6.8 introduces no new deprecations.
109
98
110
99
---
111
100
112
-
## EmberData
101
+
## Ember CLI v6.8
113
102
114
-
EmberData is the official data persistence library for Ember.js applications.
103
+
Ember CLI v6.8 introduces Ember CLI 6.8 introduces 5 new features.
115
104
116
-
EmberData 5.7 has been released, and along with EmberData 5.6, 5.5 and 5.4, there are many updates that will be more extensively covered in a full stand alone blog post.
105
+
### Key Features
117
106
118
-
EmberData is also in the process of rebranding to WarpDrive. Stay tuned for more info!
119
107
120
-
To learn about the motivation and goals for upcoming changes to EmberData in 5.x,
121
-
read the [blog post, EmberData 5.X Update](https://blog.emberjs.com/ember-data-5-x-update-2023-04-15/).
108
+
#### Embroider and Vite by default
122
109
123
-
<!-- alex ignore retext-equality -->
110
+
This is the first release that enables Embroider by default 🎉 This has been a monumental effort by the whole community over many years and it represents a new era for Ember developers. The improvements to the developer experience and new capabilities are so numerous that they deserve their own blog post but here are some of the highlights
124
111
125
-
This will help you form the mental model of what to expect across the 5.x series,
126
-
and understand deprecation removals in the context of the upcoming goals.
112
+
- Lightning-fast rebuild speeds thanks to using [Vite](https://vite.dev/) in development
113
+
- Smaller and faster production builds because we no longer use AMD in production
114
+
- You can now use any rollup-plugin or vite plugin to augment your build - no more need for ember-cli specific addons
115
+
- More explicit build tooling - e.g. your Babel config is part of your app and no-longer managed by ember-cli, hidden away from you
127
116
128
-
---
117
+
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
+
119
+
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
126
+
127
+
// look at the RFC for more details about the new bluerpint
128
+
129
+
130
+
*[#10802](https://github.com/ember-cli/ember-cli/pull/10802) enable Vite blueprint by default for `ember new`
129
131
130
-
## Ember CLI
132
+
#### Component and Route `--strict` by default
133
+
134
+
135
+
136
+
*[#10831](https://github.com/ember-cli/ember-cli/pull/10831) enable `--strict` by default in classic blueprints to match new Vite app blueprint
137
+
138
+
### Other Features
139
+
140
+
-[#10844](https://github.com/ember-cli/ember-cli/pull/10844) throw an error when `ember (generate|destroy) (http-proxy|http-mock|server)` is used in a Vite-based project
141
+
-[#10804](https://github.com/ember-cli/ember-cli/pull/10804) Support a `--ts` alias for the `addon`, `init` and `new` commands
142
+
-[#10791](https://github.com/ember-cli/ember-cli/pull/10791) update the format of the ember-cli-update.json to directly target the blueprint used to generate
143
+
144
+
### Bug fixes
145
+
146
+
Ember CLI 6.8 introduced 5 bug fixes.
147
+
148
+
-[#10826](https://github.com/ember-cli/ember-cli/pull/10826) move resolution of @ember/app-blueprint to prevent loading latest and always load the direct dependency of ember-cli
149
+
-[#10782](https://github.com/ember-cli/ember-cli/pull/10782) update heimdall-fs-monitor to fix error in Node 24
150
+
-[#10803](https://github.com/ember-cli/ember-cli/pull/10803) Add "ember-blueprint" to keywords in `package.json` for the classic blueprints `@ember-tooling/classic-build-addon-blueprint` and `@ember-tooling/classic-build-app-blueprint`
151
+
-[#10798](https://github.com/ember-cli/ember-cli/pull/10798) Add `@warp-drive/ember/install` to remove deprecation when generateing a classic app import from ember-data breakage/deprecation
152
+
-[#10707](https://github.com/ember-cli/ember-cli/pull/10707) Enabled recommended configs from eslint-plugin-n and eslint-plugin-qunit in the classic app blueprint
153
+
154
+
### Deprecations
155
+
156
+
Ember CLI 6.8 introduces 2 new deprecations.
157
+
158
+
#### `ember init` with file names or globs
159
+
160
+
`ember init` is a little known (and under documented) functionality of the `ember-cli` blueprint system. An even less known functionality was the ability to filter the files that get reinitilised by a path or a glob when running `ember init`. We know that this was a mostly unknown feature because it was never added to the `ember init --help` documentation and it has been broken for some time. Instead of trying to fix it for all the new blueprints we opted to deprecate the functionality. You can read more about the deprecation on the [deprecation guide for `init-no-file-names`](https://deprecations.emberjs.com/id/init-no-file-names/)
161
+
162
+
#### `ember new --embroider`
163
+
164
+
Generating an ember app with `ember new --embroider` generated an app using Embroider@v3 with Webpack. Since Embroider@v4 and Vite is now the default for newly generated apps and provides a significantly better developer experience, nobody should be generating new apps with Embroider@v3 any more. To support people who haven't yet upgraded from Embroider@v3 to Embroider@v4 yet, we have opted not to make this argument generate a new Vite app and instead deprecated it. You can read more about the deprecation on the [deprecation guide for `dont-use-embroider-option`](https://deprecations.emberjs.com/id/dont-use-embroider-option/)
165
+
166
+
167
+
## The Ember Release process
168
+
169
+
For more details on changes in Ember.js 6.8, please review the [Ember.js 6.8.0 release page](https://github.com/emberjs/ember.js/releases/tag/v6.8.0-ember-source).
170
+
171
+
Ember.js is the core framework for building ambitious web applications.
131
172
132
173
Ember CLI is the command line interface for managing and packaging Ember.js applications.
133
174
@@ -143,19 +184,9 @@ This utility will help you to update your app or addon to the latest Ember CLI v
143
184
144
185
It is not required to keep Ember CLI versions in sync with Ember and EmberData. After updating ember-cli, you can keep your current version(s) of Ember or EmberData by editing `package.json` to revert the changes to the lines containing `ember-source` and `ember-data`.
145
186
146
-
### Changes in Ember CLI 6.8
147
-
148
-
#### Bug fixes
149
-
150
-
Ember CLI 6.8 introduced <insertnumberhere> bug fixes.
151
-
152
-
#### Features
153
-
154
-
Ember CLI 6.8 introduces <insertnumberhere> new features.
155
-
156
-
#### Deprecations
187
+
A release of Ember is comprised of many projects: ember-source, ember-cli, and all the learning team projects. We follow a [6-week release train](http://emberjs.com/releases/) that includes alpha and beta cycles to ensure changes are well-tested. We encourage our community (especially addon authors) to help test the beta builds and report any bugs before they are published as a final release. The `ember-try` addon is a great way to continuously test your projects against the latest Ember releases. While we only consider the release to be complete upon publication of the blog post, the 6-week cycle is anchored by the release of the ember-source package at the beginning of the process. Releases x.4, x.8 and x.12 will become an LTS candidate, so checkout [Ember LTS Releases](https://blog.emberjs.com/announcing-embers-first-lts/) if you want to know more.
157
188
158
-
Ember CLI 6.8 introduces <insertnumberhere> new deprecations.
189
+
Ember.js 6.8 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.
159
190
160
191
For more details on the changes in Ember CLI 6.8 and detailed upgrade
161
192
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).
0 commit comments