Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates for v4.0 and minor tweaks #110

Merged
merged 8 commits into from
Sep 8, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 5 additions & 5 deletions layouts/download-releases.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<h1>Previous Releases</h1>

<section>
<h2>io.js & node.js</h2>
<h2>io.js &amp; Node.js</h2>
<p>
{{iojs.intro}}
</p>
Expand All @@ -24,19 +24,19 @@
<td>Version</td>
<td>Date</td>
<td>V8</td>
<td>NPM</td>
<td>npm</td>
<td></td>
</tr>
</thead>
<tbody>
{{#project.versions}}
<tr>
<td data-label="Version">{{version}}</td>
<td data-label="Version">{{name}} {{version}}</td>
<td data-label="Date"><time>{{date}}</time></td>
<td data-label="V8">{{v8}}</td>
<td data-label="NPM">{{npm}}</td>
<td data-label="npm">{{npm}}</td>
<td class="download-table-last">
<a href="/dist/{{version}}">
<a href="{{url}}">
{{i18n 'releases.downloads'}}
</a>
<a href="{{changeloglink version}}">
Expand Down
190 changes: 190 additions & 0 deletions locale/en/blog/release/v4.0.0.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion locale/en/download/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
layout: download-releases.hbs
title: Previous Releases
iojs:
intro: "Releases 1.x through 3.x were called \"io.js\" as they were part of the io.js fork. As of node.js 4.0.0 the former release lines of io.js converged with node.js 0.12.x into unified node.js releases."
intro: "Releases 1.x through 3.x were called \"io.js\" as they were part of the io.js fork. As of Node.js 4.0.0 the former release lines of io.js converged with Node.js 0.12.x into unified Node.js releases."
---
8 changes: 4 additions & 4 deletions locale/en/get-involved/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Nothing within this document should currently be considered final.

## Repository Reconciliation Plan

There are currently release lines in both node.js and io.js. Starting at the point from which io.js was created, the two repositories have diverged significantly. Bringing the two repositories back together under the Foundation TSC will not happen immediately.
There are currently release lines in both Node.js and io.js. Starting at the point from which io.js was created, the two repositories have diverged significantly. Bringing the two repositories back together under the Foundation TSC will not happen immediately.

```
now
Expand All @@ -66,16 +66,16 @@ ____|____/ : \______|_____
\ : /
\--------------:-----------------/
| | : | |
(node.js) v0.12.x : v0.13.x v0.14.x
(Node.js) v0.12.x : v0.13.x v0.14.x
```

At the time of this writing, the current Node.js release is v0.12.2. The current io.js release is 1.7.1.

Upon Foundation launch, both projects will come together under a single TSC, but the two distinct release lines will continue independently for the near term. Each subsequent release ("interim releases") for each project should incrementally bring the two code bases closer together, allowing them to eventually merge back into a single Node.js 2.0 release line.

To avoid introducing unnecessary problems for users, the interim releases should not overlap versions. All prior versions of both io.js and node.js should be preserved. The interim Node.js releases will remain the v0.x version stream. Interim io.js releases will continue to follow their existing semver strategy. If interim changes in io.js require a major version bump to 2.x, the first release of the Converged Project would be the next major version number (3.0). The Converged Project will use semver for release versioning.
To avoid introducing unnecessary problems for users, the interim releases should not overlap versions. All prior versions of both io.js and Node.js should be preserved. The interim Node.js releases will remain the v0.x version stream. Interim io.js releases will continue to follow their existing semver strategy. If interim changes in io.js require a major version bump to 2.x, the first release of the Converged Project would be the next major version number (3.0). The Converged Project will use semver for release versioning.

For purposes of managing each separate release line, if the TSC determines it to be necessary, the TSC can charter an io.js Working Group and a node.js Working Group, each responsible for their own respective release lines.
For purposes of managing each separate release line, if the TSC determines it to be necessary, the TSC can charter an io.js Working Group and a Node.js Working Group, each responsible for their own respective release lines.

To facilitate and oversee the convergence of the release lines, the TSC will charter a Convergence Working Group. This WG would ensure that appropriate steps are being made in each of the two release lines to bring the projects back together. The Convergence WG would work directly with both release line WGs. As soon as the release lines converge, the charters for the separate release line WGs and the convergence WG would expire, and responsibility for the continued evolution of the converged release line would be with the project TSC itself. The initial membership of the Convergence WG will be a subset of members from each of the two release line WGs.

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"chokidar": "^1.0.5",
"gulp": "^3.9.0",
"handlebars": "^3.0.0",
"map-async": "~0.1.1",
"metalsmith": "^2.0.0",
"metalsmith-collections": "^0.7.0",
"metalsmith-feed": "0.0.6",
Expand Down
56 changes: 31 additions & 25 deletions scripts/load-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,50 @@
'use strict';

const fs = require('fs');
const semver = require('semver')
const semver = require('semver');
const map = require('map-async');
const https = require('https');

map([ 'https://nodejs.org/dist/index.json', 'https://iojs.org/dist/index.json' ], download, munge);

function download (url, cb) {
let data = '';
https.get(url, function (res) {
res.on('data', function (chunk) { data += chunk; });
res.on('end', function () { cb(null, data); });
res.on('end', function () {
try {
cb(null, JSON.parse(data));
} catch (e) {
return cb(e);
}
});
}).on('error', function (e) {
console.error('Error downloading file from %s: %s', url, e.message);
cb(e);
});
}

download('https://new.nodejs.org/dist/index.json', function (nodeErr, nodeVersions) {
download('https://iojs.org/dist/index.json', function (iojsErr, iojsVersions) {

if (nodeErr || iojsErr) {
console.error('Aborting due to download error from node or iojs');
return process.exit(1);
}
function munge (err, versions) {
if (err) {
console.error('Aborting due to download error from node or iojs');
console.error(err.stack)
return process.exit(1);
}

let allVersions = [];
try {
nodeVersions = JSON.parse(nodeVersions);
iojsVersions = JSON.parse(iojsVersions);

allVersions = nodeVersions.concat(iojsVersions);
} catch(e) {
console.error('Error parsing json', e);
return process.exit(1);
}
versions[0].forEach(function (v) {
v.url = 'https://nodejs.org/dist/' + v.version + '/'
v.name = 'Node.js'
});
versions[1].forEach(function (v) {
v.url = 'https://iojs.org/dist/' + v.version + '/'
v.name = 'io.js'
});

allVersions.sort(function (a, b) {
return semver.compare(b.version, a.version);
});
let allVersions = versions[0].concat(versions[1]);

fs.writeFileSync('../source/versions.json', JSON.stringify(allVersions, null, ' '));
})
})
allVersions.sort(function (a, b) {
return semver.compare(b.version, a.version);
});

fs.writeFileSync(__dirname + '/../source/versions.json', JSON.stringify(allVersions, null, 2));
}
Loading