diff --git a/app/controllers/releases/lts.js b/app/controllers/releases/lts.js index 8eb8c036..53737533 100644 --- a/app/controllers/releases/lts.js +++ b/app/controllers/releases/lts.js @@ -3,14 +3,174 @@ import Controller from '@ember/controller'; export default class ReleasesLtsController extends Controller { // promotion date should be the day of the release of the following ember minor version // you can run `npm info ember-source time` to see a list - currentlySupportedLTS = [ + emberLtsReleases = [ { version: '5.8', promotionDate: new Date('2024-04-15'), + isActive: true, }, { version: '5.4', promotionDate: new Date('2023-12-11'), + isActive: true, + }, + { + version: '4.12', + promotionDate: new Date('2023-05-14'), + isActive: false, + }, + { + version: '4.8', + promotionDate: new Date('2022-12-08'), + isActive: false, + }, + { + version: '4.4', + promotionDate: new Date('2022-07-13'), + isActive: false, + }, + { + version: '3.28', + promotionDate: new Date('2021-12-20'), + isActive: false, + }, + { + version: '3.24', + promotionDate: new Date('2021-02-25'), + isActive: false, + }, + { + version: '3.20', + promotionDate: new Date('2020-09-02'), + isActive: false, + }, + { + version: '3.16', + promotionDate: new Date('2020-03-16'), + isActive: false, + }, + { + version: '3.12', + promotionDate: new Date('2019-09-25'), + isActive: false, + }, + { + version: '3.8', + promotionDate: new Date('2019-04-10'), + isActive: false, + }, + { + version: '3.4', + promotionDate: new Date('2018-10-15'), + isActive: false, + }, + { + version: '2.18', + promotionDate: new Date('2018-02-14'), + isActive: false, + }, + { + version: '2.16', + promotionDate: new Date('2017-11-20'), + isActive: false, + }, + { + version: '2.12', + promotionDate: new Date('2017-04-29'), + isActive: false, + }, + { + version: '2.8', + promotionDate: new Date('2016-10-17'), + isActive: false, + }, + { + version: '2.4', + promotionDate: new Date('2016-04-11'), + isActive: false, + }, + ]; + + dataLtsReleases = [ + { + version: '5.3', + promotionDate: new Date('2023-12-10'), + isActive: true, + }, + { + version: '4.12', + promotionDate: new Date('2023-05-14'), + isActive: true, + }, + { + version: '4.8', + promotionDate: new Date('2022-12-08'), + isActive: false, + }, + { + version: '4.4', + promotionDate: new Date('2022-07-13'), + isActive: false, + }, + { + version: '3.28', + promotionDate: new Date('2021-12-20'), + isActive: false, + }, + { + version: '3.24', + promotionDate: new Date('2021-02-25'), + isActive: false, + }, + { + version: '3.20', + promotionDate: new Date('2020-09-02'), + isActive: false, + }, + { + version: '3.16', + promotionDate: new Date('2020-03-16'), + isActive: false, + }, + { + version: '3.12', + promotionDate: new Date('2019-09-25'), + isActive: false, + }, + { + version: '3.8', + promotionDate: new Date('2019-04-10'), + isActive: false, + }, + { + version: '3.4', + promotionDate: new Date('2018-10-15'), + isActive: false, + }, + { + version: '2.18', + promotionDate: new Date('2018-02-14'), + isActive: false, + }, + { + version: '2.16', + promotionDate: new Date('2017-11-20'), + isActive: false, + }, + { + version: '2.12', + promotionDate: new Date('2017-04-29'), + isActive: false, + }, + { + version: '2.8', + promotionDate: new Date('2016-10-17'), + isActive: false, + }, + { + version: '2.4', + promotionDate: new Date('2016-04-11'), + isActive: false, }, ]; } diff --git a/app/routes/releases/lts.js b/app/routes/releases/lts.js index a0ed0588..75b79290 100644 --- a/app/routes/releases/lts.js +++ b/app/routes/releases/lts.js @@ -1,3 +1,4 @@ +import { hash } from 'rsvp'; import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; @@ -5,6 +6,9 @@ export default class ReleasesLtsRoute extends Route { @service store; model() { - return this.store.find('project', 'ember/lts'); + return hash({ + ember: this.store.find('project', 'ember/lts'), + emberData: this.store.find('project', 'emberData/lts'), + }); } } diff --git a/app/templates/releases/lts.hbs b/app/templates/releases/lts.hbs index d1de44a1..3fe31f93 100644 --- a/app/templates/releases/lts.hbs +++ b/app/templates/releases/lts.hbs @@ -1,185 +1,138 @@ -{{page-title "LTS"}} +{{page-title 'LTS'}} -

+

LTS Channel

- Long Term Support (LTS) releases receive bugfixes and security updates for an extended period. + Long Term Support (LTS) releases receive bugfixes and security updates for an + extended period.

-

How to Install

-
- +
+
+
+ +

What is an LTS release?

- Once a release of Ember gets promoted to LTS, it receives bugfixes for 36 weeks and security updates for 54 weeks. + Once a release of Ember gets promoted to LTS, it receives + bugfixes for 36 weeks + and + security updates for 54 weeks.

- An LTS release is the best version to use if you won't be updating your app frequently, but want to help your app stay secure and working smoothly. - - Another reason to use an LTS is if you have a very large, complex app, since LTS versions get even more testing and scrutiny than usual. + An LTS release is the best version to use if you won't be updating your app + frequently, but want to help your app stay secure and working smoothly. + Another reason to use an LTS is if you have a very large, complex app, since + LTS versions get even more testing and scrutiny than usual.

- An LTS is declared roughly every 4 minor versions, excluding the x.0 minor version. - - The last minor version before the next major release is also considered to be an LTS. - - For example, in Ember 2.x, the following versions were considered LTS's: 2.4, 2.8, 2.12, 2.16, and 2.18 (last version). + An LTS is declared roughly every 4 minor versions, excluding the x.0 minor + version. The last minor version before the next major release is also + considered to be an LTS. For example, in Ember 2.x, the following versions + were considered LTS's: 2.4, 2.8, 2.12, 2.16, and 2.18 (last version).

- Before a version can be called an "LTS" release, it has to spend at least 6 weeks as a stable release, where it is used and tested by thousands of developers. + Before a version can be called an "LTS" release, it has to spend at least 6 + weeks as a stable release, where it is used and tested by thousands of + developers.

- A complete release history for Ember is available on GitHub. + A complete release history for Ember is available + on GitHub.

-

LTS schedule

- Ember currently supports these LTS versions for Ember.js, Ember CLI, and Ember Data. + Ember currently supports these LTS versions for Ember.js and Ember Data.

-
- +

+ EmberData made updates to its versioning strategy that + mean it may maintain separate LTS versions from Ember.js. You can read more + about the updates on the + Ember Blog. +

+ +
+

Ember.js

+
- + + - {{#each this.currentlySupportedLTS as |release|}} + {{#each this.emberLtsReleases as |release|}} - - - + + + + {{/each}}
LTS versionLTS Version Promotion date Bugfixes until Security patches untilStatus
{{release.version}}{{format-date-time release.promotionDate "MMMM D, YYYY"}}{{format-date-time (add-weeks release.promotionDate 30) "MMMM D, YYYY"}}{{format-date-time (add-weeks release.promotionDate 54) "MMMM D, YYYY"}}{{format-date-time release.promotionDate 'MMMM D, YYYY'}}{{format-date-time + (add-weeks release.promotionDate 30) + 'MMMM D, YYYY' + }}{{format-date-time + (add-weeks release.promotionDate 54) + 'MMMM D, YYYY' + }}{{if release.isActive 'Active' 'End of life'}}
+
+

EmberData

+ + + + + + + + + + -

- The following LTS versions are no longer maintained. The table shows their last minor release dates: -

- -
LTS VersionPromotion dateBugfixes untilSecurity patches untilStatus
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LTS versionLTS promotionBugfixes untilSecurity patches until
4.12May 14, 2023December 10, 2023May 26, 2024
4.8December 8, 2022July 6, 2023December 21, 2023
4.4July 13, 2022February 8, 2023July 26, 2023
3.28December 20, 2021July 18, 2022January 2, 2023
3.24February 25, 2021September 23, 2021March 10, 2022
3.20September 2, 2020March 31, 2021September 15, 2021
3.16March 16, 2020October 12, 2020March 29, 2021
3.12September 25, 2019April 22, 2020October 7, 2020
3.8April 10, 2019November 6, 2019April 22, 2020
3.4October 15, 2018May 13, 2019October 28, 2019
2.18February 14, 2018September 12, 2018February 27, 2019
2.16November 20, 2017June 18, 2018December 3, 2018
2.12April 29, 2017November 25, 2017May 12, 2018
2.8October 17, 2016May 15, 2017October 30, 2017
2.4April 11, 2016November 7, 2016April 24, 2017
\ No newline at end of file + + {{#each this.dataLtsReleases as |release|}} + + {{release.version}} + {{format-date-time release.promotionDate 'MMMM D, YYYY'}} + {{format-date-time + (add-weeks release.promotionDate 30) + 'MMMM D, YYYY' + }} + {{format-date-time + (add-weeks release.promotionDate 54) + 'MMMM D, YYYY' + }} + {{if release.isActive 'Active' 'End of life'}} + + {{/each}} + + +
\ No newline at end of file diff --git a/data/project/emberData/lts.md b/data/project/emberData/lts.md new file mode 100644 index 00000000..6ad52ed0 --- /dev/null +++ b/data/project/emberData/lts.md @@ -0,0 +1,17 @@ +--- +name: Ember Data +baseFileName: ember-data +filter: + - /ember-data\./ +repo: emberjs/data +lastRelease: 5.3.0 +channel: lts +date: 2023-12-11 +changelogPath: CHANGELOG.md +debugFileName: .js +--- + +# Install Ember Data %s: + +
+npm install --save-dev ember-data@~%s diff --git a/tests/unit/routes/releases/lts-test.js b/tests/unit/routes/releases/lts-test.js index c294b194..5e447fcf 100644 --- a/tests/unit/routes/releases/lts-test.js +++ b/tests/unit/routes/releases/lts-test.js @@ -6,7 +6,7 @@ module('Unit | Route | releases/lts', function (hooks) { test('The model hook returns the Ember LTS project', async function (assert) { const route = this.owner.lookup('route:releases/lts'); - const model = await route.model(); + const { ember: model } = await route.model(); assert.strictEqual( model?.id,