diff --git a/.travis.yml b/.travis.yml index 5ec40272b9..d172d1e022 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ cache: - "dev_bundle" - ".meteor" - ".babel-cache" -install: ./meteor --get-ready script: TEST_PACKAGES_EXCLUDE="less" ./packages/test-in-console/run.sh sudo: false env: diff --git a/History.md b/History.md index 84f0b7520f..9f642f9e67 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,11 @@ ## v.NEXT +## v1.4.0.1 + +* Fix issue with the 1.4 tool springboarding to older releases (see [Issue #7491](https://github.com/meteor/meteor/issues/7491)) + +* Fix issue with running in development on Linux 32bit [Issue #7511](https://github.com/meteor/meteor/issues/7511) + ## v1.4 * Node has been upgraded to 4.4.7. @@ -29,6 +35,10 @@ 2.6 up. Mongo 2.4 has now reached end-of-life (https://www.mongodb.com/support-policy), and is no longer supported. + If you are setting `MONGO_OPLOG_URL`, especially in production, ensure you are + passing in the `replicaSet` argument (see [#7450] + (https://github.com/meteor/meteor/issues/7450)) + * Custom Mongo options can now be specified using the `Mongo.setConnectionOptions(options)` API. [#7277](https://github.com/meteor/meteor/pull/7277) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index dca5e85d20..09098a8829 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.4.0' + version: '1.4.0-1' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 56fb5520a2..acf7469cac 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.4-rc.2", + "version": "1.4.0.1-rc.3", "recommended": false, "official": false, "description": "Meteor" diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 996cb5ecf3..3940331155 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,7 +1,8 @@ { "track": "METEOR", - "version": "1.4", + "version": "1.4.0.1", "recommended": false, "official": true, - "description": "The Official Meteor Distribution" + "description": "The Official Meteor Distribution", + "patchFrom": ["1.4"] } diff --git a/tools/cli/main.js b/tools/cli/main.js index b04ad74fe6..e5ab1f1d06 100644 --- a/tools/cli/main.js +++ b/tools/cli/main.js @@ -493,6 +493,14 @@ var springboard = function (rel, options) { }).await()); } + // On OSX, there is a bug in node 4 when launching out to a node 0.10 process + // This should be fixed in the next release of node (we should then revert + // this change) https://github.com/meteor/meteor/issues/7491 + if (process.platform === 'darwin') { + newArgv.unshift('-q', '/dev/null', executable); + executable = 'script'; + } + // Now exec; we're not coming back. require('kexec')(executable, newArgv); throw Error('exec failed?'); diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 5790d0a5b2..59cab96a65 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -2312,7 +2312,7 @@ var writeSiteArchive = Profile("bundler writeSiteArchive", function ( builder.write('README', { data: new Buffer( `This is a Meteor application bundle. It has only one external dependency: -Node.js 0.10.40 or newer. To run the application: +Node.js 4.4.7 or newer. To run the application: $ (cd programs/server && npm install) $ export MONGO_URL='mongodb://user:password@host:port/databasename' diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index a32f71ded6..39648e1667 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -1361,21 +1361,16 @@ _.extend(PackageSource.prototype, { _inferFileOptions(relPath, {arch, isApp}) { const fileOptions = {}; - const isAnyTest = global.testCommandMetadata && - (global.testCommandMetadata.isTest || - global.testCommandMetadata.isAppTest); + const isTest = global.testCommandMetadata + && global.testCommandMetadata.isTest; + const isAppTest = global.testCommandMetadata + && global.testCommandMetadata.isAppTest; + const isTestFile = (isTest || isAppTest) && isTestFilePath(relPath); - if (isAnyTest) { - if (isTestFilePath(relPath)) { - // When running tests, test files should not be loaded lazily. - return fileOptions; - } - - // If running in test mode (`meteor test`), all files other than - // test files should be loaded lazily. - if (global.testCommandMetadata.isTest) { - fileOptions.lazy = true; - } + // If running in test mode (`meteor test`), all files other than + // test files should be loaded lazily. + if (isTest && !isTestFile) { + fileOptions.lazy = true; } const dirs = files.pathDirname(relPath).split(files.pathSep); @@ -1392,7 +1387,8 @@ _.extend(PackageSource.prototype, { return fileOptions; } - if (isApp && dir === "imports") { + // Files in `imports/` should be lazily loaded *apart* from tests + if (isApp && dir === "imports" && !isTestFile) { fileOptions.lazy = true; } diff --git a/tools/packaging/tropohouse.js b/tools/packaging/tropohouse.js index 2dcb096c6d..f5739182ec 100644 --- a/tools/packaging/tropohouse.js +++ b/tools/packaging/tropohouse.js @@ -299,6 +299,12 @@ _.extend(exports.Tropohouse.prototype, { // XXX: Error handling. _downloadBuildToTempDir: function (versionInfo, buildRecord) { var url = buildRecord.build.url; + + // Override the download domain name and protocol if METEOR_WAREHOUSE_URLBASE + // provided. + if (process.env.METEOR_WAREHOUSE_URLBASE) { + url = url.replace(/^[a-zA-Z]+:\/\/[^\/]+/, process.env.METEOR_WAREHOUSE_URLBASE); + } // XXX: We use one progress for download & untar; this isn't ideal: // it relies on extractTarGz being fast and not reporting any progress. diff --git a/tools/runners/run-mongo.js b/tools/runners/run-mongo.js index d666c17c7a..9f9b692a20 100644 --- a/tools/runners/run-mongo.js +++ b/tools/runners/run-mongo.js @@ -55,8 +55,9 @@ function spawnMongod(mongodPath, port, dbPath, replSetName) { '--replSet', replSetName ]; - // Use mmapv1 on windows, as our binary doesn't support WT - if (process.platform === "win32") { + // Use mmapv1 on 32bit platforms, as our binary doesn't support WT + if (process.platform === "win32" + || (process.platform === "linux" && process.arch === "ia32")) { args.push('--storageEngine', 'mmapv1', '--smallfiles'); } else { // The WT journal seems to be at least 300MB, which is just too much diff --git a/tools/tests/apps/modules/.meteor/.finished-upgraders b/tools/tests/apps/modules/.meteor/.finished-upgraders index 7bd7197893..3e712bc5a9 100644 --- a/tools/tests/apps/modules/.meteor/.finished-upgraders +++ b/tools/tests/apps/modules/.meteor/.finished-upgraders @@ -12,3 +12,4 @@ notices-for-facebook-graph-api-2 1.2.0-breaking-changes 1.3.0-split-minifiers-package 1.3.5-remove-old-dev-bundle-link +1.4.0-remove-old-dev-bundle-link diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index 6093ce2252..431c7291c4 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -4,21 +4,21 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base # Packages every Meteor app needs to have -mobile-experience # Packages for a great mobile UX -mongo # The database Meteor supports right now -blaze-html-templates # Compile .html files into Meteor Blaze views -session # Client-side reactive dictionary for your app -jquery # Helpful client-side library -tracker # Meteor's client-side reactive programming library +meteor-base@1.0.4 # Packages every Meteor app needs to have +mobile-experience@1.0.4 # Packages for a great mobile UX +mongo@1.1.10 # The database Meteor supports right now +blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views +session@1.1.6 # Client-side reactive dictionary for your app +jquery@1.11.9 # Helpful client-side library +tracker@1.1.0 # Meteor's client-side reactive programming library -es5-shim # ECMAScript 5 compatibility for older browsers. -ecmascript # Enable ECMAScript2015+ syntax in app code +es5-shim@4.6.13 # ECMAScript 5 compatibility for older browsers. +ecmascript@0.5.7 # Enable ECMAScript2015+ syntax in app code -coffeescript +coffeescript@1.2.3 modules-test-package avital:mocha -standard-minifier-css -standard-minifier-js +standard-minifier-css@1.1.8 +standard-minifier-js@1.1.8 client-only-ecmascript modules-test-plugin diff --git a/tools/tests/apps/modules/.meteor/release b/tools/tests/apps/modules/.meteor/release index fcf9d2d773..810628dc6d 100644 --- a/tools/tests/apps/modules/.meteor/release +++ b/tools/tests/apps/modules/.meteor/release @@ -1 +1 @@ -METEOR@1.3.5.1 +METEOR@1.4 diff --git a/tools/tests/apps/modules/.meteor/versions b/tools/tests/apps/modules/.meteor/versions index c7993884d1..7b73993d9a 100644 --- a/tools/tests/apps/modules/.meteor/versions +++ b/tools/tests/apps/modules/.meteor/versions @@ -1,30 +1,30 @@ allow-deny@1.0.5 autoupdate@1.2.11 avital:mocha@2.1.0_10 -babel-compiler@6.8.5 -babel-runtime@0.1.9_1 +babel-compiler@6.9.0 +babel-runtime@0.1.10 base64@1.0.9 binary-heap@1.0.9 blaze@2.1.8 blaze-html-templates@1.0.4 blaze-tools@1.0.9 boilerplate-generator@1.0.9 -caching-compiler@1.0.6 +caching-compiler@1.1.6 caching-html-compiler@1.0.6 callback-hook@1.0.9 check@1.2.3 client-only-ecmascript@0.0.1 -coffeescript@1.1.4 +coffeescript@1.2.3 ddp@1.2.5 ddp-client@1.2.9 ddp-common@1.2.6 ddp-server@1.2.10 deps@1.0.12 diff-sequence@1.0.6 -ecmascript@0.4.8 -ecmascript-runtime@0.2.12 +ecmascript@0.5.7 +ecmascript-runtime@0.3.12 ejson@1.0.12 -es5-shim@4.5.13 +es5-shim@4.6.13 fastclick@1.0.12 geojson-utils@1.0.9 hot-code-push@1.0.4 @@ -35,28 +35,28 @@ id-map@1.0.8 jquery@1.11.9 launch-screen@1.0.12 livedata@1.0.18 -logging@1.0.14 -meteor@1.1.16 +logging@1.1.14 +meteor@1.2.16 meteor-base@1.0.4 -minifier-css@1.1.13 -minifier-js@1.1.13 +minifier-css@1.2.13 +minifier-js@1.2.13 minimongo@1.0.17 mobile-experience@1.0.4 mobile-status-bar@1.0.12 -modules@0.6.5 -modules-runtime@0.6.5 +modules@0.7.5 +modules-runtime@0.7.5 modules-test-package@0.0.1 modules-test-plugin@0.0.1 -mongo@1.1.9_1 +mongo@1.1.10 mongo-id@1.0.5 -npm-mongo@1.4.45 +npm-mongo@1.5.45 observe-sequence@1.0.12 ordered-dict@1.0.8 practicalmeteor:chai@2.1.0_1 practicalmeteor:loglevel@1.2.0_2 practicalmeteor:mocha-core@0.1.4 practicalmeteor:sinon@1.14.1_2 -promise@0.7.3 +promise@0.8.3 random@1.0.10 reactive-dict@1.1.8 reactive-var@1.0.10 @@ -66,14 +66,14 @@ routepolicy@1.0.11 session@1.1.6 spacebars@1.0.12 spacebars-compiler@1.0.12 -standard-minifier-css@1.0.8 -standard-minifier-js@1.0.8 +standard-minifier-css@1.1.8 +standard-minifier-js@1.1.8 templating@1.1.14 templating-tools@1.0.4 tmeasday:test-reporter-helpers@0.2.1 -tracker@1.0.15 +tracker@1.1.0 ui@1.0.11 underscore@1.0.9 url@1.0.10 -webapp@1.2.11 +webapp@1.3.10 webapp-hashing@1.0.9