mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge branch 'devel' into linker
This pulls the Node upgrade, which needs a different dev bundle version number here Conflicts: meteor tools/server/server.js
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
|
||||
## vNEXT
|
||||
|
||||
* Upgraded dependencies:
|
||||
* Node from 0.8.18 to 0.8.24
|
||||
* MongoDB from 2.4.3 to 2.4.4
|
||||
|
||||
## v0.6.4
|
||||
|
||||
* Separate OAuth flow logic from Accounts into separate packages. The
|
||||
@@ -28,7 +32,7 @@
|
||||
* Underscore from 1.4.2 to 1.4.4 #776
|
||||
* http-proxy from 0.8.5 to 0.10.1 #513
|
||||
* connect from 1.9.2 to 2.7.10
|
||||
* mongodb from 1.2.13 to 1.3.7 #1060
|
||||
* Node mongodb client from 1.2.13 to 1.3.7 #1060
|
||||
|
||||
Patches contributed by GitHub users awwx, johnston, and timhaines.
|
||||
|
||||
|
||||
@@ -244,6 +244,13 @@ modify data, those modifications can run locally without waiting for the
|
||||
confirmation from the server, while still giving the server final say
|
||||
over the requested change.
|
||||
|
||||
{{#note}}
|
||||
The current release of Meteor supports MongoDB, the popular document
|
||||
database, and the examples in this section use the
|
||||
[MongoDB API](http://www.mongodb.org/display/DOCS/Manual). Future
|
||||
releases will include support for other databases.
|
||||
{{/note}}
|
||||
|
||||
<h3 id="dataandsecurity-authentication">Authentication and user accounts</h3>
|
||||
|
||||
Meteor includes [Meteor Accounts](#accounts_api), a state-of-the-art
|
||||
@@ -261,14 +268,6 @@ UI](#accountsui) to your app with just one line of code. The `accounts-ui` smart
|
||||
package even provides a configuration wizard that walks you through the steps to
|
||||
set up the external login services you're using in your app.
|
||||
|
||||
{{#note}}
|
||||
The current release of Meteor supports MongoDB, the popular document
|
||||
database, and the examples in this section use the
|
||||
[MongoDB API](http://www.mongodb.org/display/DOCS/Manual). Future
|
||||
releases will include support for other databases.
|
||||
{{/note}}
|
||||
|
||||
|
||||
<h3 id="dataandsecurity-validation">Input validation</h3>
|
||||
|
||||
Meteor allows your methods and publish functions to take arguments of any
|
||||
|
||||
2
meteor
2
meteor
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUNDLE_VERSION=0.3.7
|
||||
BUNDLE_VERSION=0.3.9
|
||||
|
||||
# OS Check. Put here because here is where we download the precompiled
|
||||
# bundles that are arch specific.
|
||||
|
||||
@@ -16,11 +16,17 @@ var selectorFromUserQuery = function (user) {
|
||||
throw new Error("shouldn't happen (validation missed something)");
|
||||
};
|
||||
|
||||
// XXX maybe this belongs in the check package
|
||||
var NonEmptyString = Match.Where(function (x) {
|
||||
check(x, String);
|
||||
return x.length > 0;
|
||||
});
|
||||
|
||||
var userQueryValidator = Match.Where(function (user) {
|
||||
check(user, {
|
||||
id: Match.Optional(String),
|
||||
username: Match.Optional(String),
|
||||
email: Match.Optional(String)
|
||||
id: Match.Optional(NonEmptyString),
|
||||
username: Match.Optional(NonEmptyString),
|
||||
email: Match.Optional(NonEmptyString)
|
||||
});
|
||||
if (_.keys(user).length !== 1)
|
||||
throw new Match.Error("User property must have exactly one field");
|
||||
|
||||
41
scripts/admin/copy-dev-bundle-from-jenkins.sh
Executable file
41
scripts/admin/copy-dev-bundle-from-jenkins.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Requires s3cmd to be installed and an appropriate ~/.s3cfg.
|
||||
# Usage:
|
||||
# scripts/admin/copy-dev-bundle-from-jenkins.sh [--prod] BUILDNUMBER
|
||||
# where BUILDNUMBER is the small integer Jenkins build number.
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
cd `dirname $0`
|
||||
|
||||
TARGET="s3://com.meteor.static/test/"
|
||||
TEST=no
|
||||
if [ $# -ge 1 -a $1 = '--prod' ]; then
|
||||
shift
|
||||
TARGET="s3://com.meteor.static/"
|
||||
else
|
||||
TEST=yes
|
||||
fi
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "usage: $0 [--prod] jenkins-build-number" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DIRNAME=$(s3cmd ls s3://com.meteor.jenkins/ | perl -nle 'print $1 if m!/(dev-bundle-.+--'$1'--.+)/!')
|
||||
|
||||
if [ -z "$DIRNAME" ]; then
|
||||
echo "build not found" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo Found build $DIRNAME
|
||||
|
||||
# Check to make sure the proper number of each kind of file is there.
|
||||
s3cmd ls s3://com.meteor.jenkins/$DIRNAME/ | \
|
||||
perl -nle 'if (/\.tar\.gz/) { ++$TAR } else { die "something weird" } END { exit !($TAR == 3) }'
|
||||
|
||||
echo Copying to $TARGET
|
||||
s3cmd -P cp -r s3://com.meteor.jenkins/$DIRNAME/ $TARGET
|
||||
@@ -73,8 +73,8 @@ cd build
|
||||
git clone git://github.com/joyent/node.git
|
||||
cd node
|
||||
# When upgrading node versions, also update the values of MIN_NODE_VERSION at
|
||||
# the top of app/meteor/meteor.js and app/server/server.js.
|
||||
git checkout v0.8.18
|
||||
# the top of tools/meteor.js and tools/server/server.js.
|
||||
git checkout v0.8.24
|
||||
|
||||
./configure --prefix="$DIR"
|
||||
make -j4
|
||||
@@ -140,7 +140,7 @@ cd ../..
|
||||
# click 'changelog' under the current version, then 'release notes' in
|
||||
# the upper right.
|
||||
cd "$DIR"
|
||||
MONGO_VERSION="2.4.3"
|
||||
MONGO_VERSION="2.4.4"
|
||||
MONGO_NAME="mongodb-${MONGO_OS}-${ARCH}-${MONGO_VERSION}"
|
||||
MONGO_URL="http://fastdl.mongodb.org/${MONGO_OS}/${MONGO_NAME}.tgz"
|
||||
curl "$MONGO_URL" | tar -xz
|
||||
|
||||
@@ -20,7 +20,7 @@ Fiber(function () {
|
||||
var logging = require('./logging.js');
|
||||
|
||||
// This code is duplicated in app/server/server.js.
|
||||
var MIN_NODE_VERSION = 'v0.8.18';
|
||||
var MIN_NODE_VERSION = 'v0.8.24';
|
||||
if (require('semver').lt(process.version, MIN_NODE_VERSION)) {
|
||||
process.stderr.write(
|
||||
'Meteor requires Node ' + MIN_NODE_VERSION + ' or later.\n');
|
||||
|
||||
@@ -218,9 +218,8 @@ _.extend(exports, {
|
||||
}
|
||||
});
|
||||
|
||||
self._shrinkwrap(newPackageNpmDir);
|
||||
self._createReadme(newPackageNpmDir);
|
||||
self._renameAlmostAtomically(newPackageNpmDir, packageNpmDir);
|
||||
self._completeNpmDirectory(
|
||||
packageName, newPackageNpmDir, packageNpmDir, npmDependencies);
|
||||
},
|
||||
|
||||
_createFreshNpmDirectory: function(
|
||||
@@ -236,7 +235,25 @@ _.extend(exports, {
|
||||
self._installNpmModule(name, version, newPackageNpmDir);
|
||||
});
|
||||
|
||||
self._completeNpmDirectory(
|
||||
packageName, newPackageNpmDir, packageNpmDir, npmDependencies);
|
||||
},
|
||||
|
||||
// Shared code for _updateExistingNpmDirectory and _createFreshNpmDirectory.
|
||||
_completeNpmDirectory: function (
|
||||
packageName, newPackageNpmDir, packageNpmDir, npmDependencies) {
|
||||
var self = this;
|
||||
|
||||
// temporarily construct a matching package.json to make `npm shrinkwrap`
|
||||
// happy
|
||||
self._constructPackageJson(packageName, newPackageNpmDir, npmDependencies);
|
||||
|
||||
// Create a shrinkwrap file.
|
||||
self._shrinkwrap(newPackageNpmDir);
|
||||
|
||||
// now delete package.json
|
||||
fs.unlinkSync(path.join(newPackageNpmDir, 'package.json'));
|
||||
|
||||
self._createReadme(newPackageNpmDir);
|
||||
self._renameAlmostAtomically(newPackageNpmDir, packageNpmDir);
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@ var path = require("path");
|
||||
var _ = require('underscore');
|
||||
|
||||
// This code is duplicated in tools/server/server.js.
|
||||
var MIN_NODE_VERSION = 'v0.8.18';
|
||||
var MIN_NODE_VERSION = 'v0.8.24';
|
||||
if (require('semver').lt(process.version, MIN_NODE_VERSION)) {
|
||||
process.stderr.write(
|
||||
'Meteor requires Node ' + MIN_NODE_VERSION + ' or later.\n');
|
||||
|
||||
Reference in New Issue
Block a user