diff --git a/app/components/ember-versions-form.hbs b/app/components/ember-versions-form.hbs
index 9a67e31..b2873c6 100644
--- a/app/components/ember-versions-form.hbs
+++ b/app/components/ember-versions-form.hbs
@@ -10,13 +10,17 @@
id="from-version"
{{on "input" this.updateFromVersion}}
>
- {{#each this.versions as |version|}}
-
+ {{#each this.groupedVersions as |versionGroup|}}
+
{{/each}}
@@ -29,13 +33,17 @@
id="to-version"
{{on "input" this.updateToVersion}}
>
- {{#each this.versions as |version|}}
-
+ {{#each this.groupedVersions as |versionGroup|}}
+
{{/each}}
diff --git a/app/components/ember-versions-form.js b/app/components/ember-versions-form.js
index 4af9653..66ce3b5 100644
--- a/app/components/ember-versions-form.js
+++ b/app/components/ember-versions-form.js
@@ -4,8 +4,21 @@ import { tracked } from '@glimmer/tracking';
import { VERSIONS } from 'upgrade-guide/utils/ember-versions';
import { compare } from 'compare-versions';
+// Group the versions by major so we can display option groups.
+const GROUPED_VERSIONS = VERSIONS.reduce((acc, version) => {
+ const major = version.split('.')[0];
+ let group = acc.find((g) => g.major === major);
+ if (!group) {
+ group = { major, versions: [] };
+ acc.push(group);
+ }
+ group.versions.push(version);
+ return acc;
+}, []);
+
export default class EmberVersionsFormComponent extends Component {
versions = VERSIONS;
+ groupedVersions = GROUPED_VERSIONS;
@tracked fromVersion = '3.15';
@tracked toVersion = VERSIONS[VERSIONS.length - 1];
diff --git a/app/utils/ember-versions.js b/app/utils/ember-versions.js
index d8595da..a3002f2 100644
--- a/app/utils/ember-versions.js
+++ b/app/utils/ember-versions.js
@@ -1,7 +1,7 @@
export const VERSIONS = Object.freeze([
+ '0.13',
'1.0.0-pre',
'1.0.0-pre.2',
- '0.13',
'1.0.0-rc.1',
'1.0.0-rc.2',
'1.0.0-rc.3',