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

Release 1.4.2.2 (and 1.4.2.3) #8044

Merged
merged 39 commits into from
Nov 17, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f99d6e0
Link directly to target.
sebakerckhof Nov 4, 2016
7abd832
Upgrade modules test app to Meteor 1.4.2.1.
Nov 9, 2016
5e9076f
Twitter changed this
phocks Nov 9, 2016
e44e9bb
Add banner for Meteor 1.4.2.1.
Nov 9, 2016
61ada2d
Update statOrNull method of cached Resolver objects.
Nov 10, 2016
35a19eb
Bump package versions for 1.4.2.2-beta.0 release.
Nov 10, 2016
0466fdd
Scaffold an official project structure
mhidou Aug 28, 2016
212b3d0
Implement $min, $max, $currentDate modifiers
sebakerckhof Oct 2, 2016
ca50223
Preventing undefined callback from being passed into the forgotPasswo…
hwillson Oct 26, 2016
307b246
Minor formatting adjustment to force CI rebuild.
hwillson Oct 26, 2016
e0b3b39
Updated test description to include the issue # being resolved (#5676).
hwillson Nov 1, 2016
8d06a16
Add changelog entry for #7807
tmeasday Nov 8, 2016
47255df
Changelog entry for #7858
tmeasday Nov 8, 2016
7b8ef48
Changelog for 7968
tmeasday Nov 8, 2016
4f4ab1b
Ugrade Node to version 4.6.2.
Nov 11, 2016
0eb714f
Bump $BUNDLE_VERSION to 4.7.0 before rebuilding dev bundle.
Nov 11, 2016
8d11337
Fix options.transformFilename behavior in files.cp_r.
Nov 12, 2016
911f25b
Allow lazy api.mainModule modules.
Nov 13, 2016
2437f72
Strip unnecessary imports for packages with no modules.
Nov 14, 2016
41713da
Include `meteor npm install` in new app instructions.
Nov 14, 2016
9f25353
Bump package versions for 1.4.2.2-beta.2 release.
Nov 14, 2016
e338759
Test lazy main modules and stray imports in modules test app.
Nov 14, 2016
e4c7b08
Watch all imported files in linked npm packages on server.
Nov 14, 2016
5fc1cfa
Bump package versions for 1.4.2.2-rc.0 release.
Nov 15, 2016
24b0ea9
Bump compiler/linker/bundler salts to trigger fresh builds.
Nov 15, 2016
2f47f80
Bump $BUNDLE_VERSION to 4.7.1 before rebuilding dev bundle.
Nov 15, 2016
824e688
Bump package versions for 1.4.2.2-rc.1 release.
Nov 15, 2016
fda4074
Bump package versions for the official 1.4.2.2 release.
Nov 16, 2016
52b815c
code style changes for skel-full
dburles Nov 11, 2016
06fb2fb
more concise export
dburles Nov 11, 2016
311efd5
remove url validation
dburles Nov 11, 2016
851b6c5
remove validation test
dburles Nov 12, 2016
dc1bdc3
remove inline eslint rules
dburles Nov 16, 2016
7b9ae5a
Bump package versions for 1.4.2.3-rc.0 release.
Nov 16, 2016
4cf06c3
Avoid global/method name ambiguity in InputFile#require.
Nov 17, 2016
fc9c56a
Improve InputFile#resolve.
Nov 17, 2016
1b85504
Limit InputFile#findControlFile to package source root directory.
Nov 17, 2016
063d251
History.md entry for 1.4.2.3.
Nov 17, 2016
8d76fb0
Bump package versions for the official 1.4.2.3 release.
Nov 17, 2016
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
2 changes: 1 addition & 1 deletion Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ these guidelines:
* Include tests that prove your code works.

* Follow the
[MDG style guide](https://github.com/meteor/meteor/wiki/Meteor-Style-Guide)
[MDG style guide](https://guide.meteor.com/code-style.html#javascript)
for code and commit messages.

* Be sure your author field in git is properly filled out with your full name
Expand Down
45 changes: 45 additions & 0 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
## v.NEXT

## v1.4.2.3

* Style improvements for `meteor create --full`.
[#8045](https://github.com/meteor/meteor/pull/8045)

> Note: Meteor 1.4.2.2 was finalized before
[#8045](https://github.com/meteor/meteor/pull/8045) was merged, but
those changes were [deemed important
enough](https://github.com/meteor/meteor/pull/8044#issuecomment-260913739)
to skip recommending 1.4.2.2 and instead immediately release 1.4.2.3.

## v1.4.2.2

* Node has been upgraded to version 4.6.2.

* `meteor create` now has a new `--full` option, which generates an larger app,
demonstrating development techniques highlighted in the
[Meteor Guide](http://guide.meteor.com)

[Issue #6974](https://github.com/meteor/meteor/issues/6974)
[PR #7807](https://github.com/meteor/meteor/pull/7807)

* Minimongo now supports `$min`, `$max` and partially supports `$currentDate`.
[Issue #7857](https://github.com/meteor/meteor/issues/7857)
[PR #7858](https://github.com/meteor/meteor/pull/7858)

* Fix for [Issue #5676](https://github.com/meteor/meteor/issues/5676)
[PR #7968](https://github.com/meteor/meteor/pull/7968)

* It is now possible for packages to specify a *lazy* main module:
```js
Package.onUse(function (api) {
api.mainModule("client.js", "client", { lazy: true });
});
```
This means the `client.js` module will not be evaluated during app
startup unless/until another module imports it, and will not even be
included in the client bundle if no importing code is found. **Note 1:**
packages with lazy main modules cannot use `api.export` to export global
symbols to other packages/apps. **Note 2:** packages with lazy main
modules should be restricted to Meteor 1.4.2.2 or later via
`api.versionsFrom("1.4.2.2")`, since older versions of Meteor cannot
import lazy main modules using `import "meteor/<package name>"` but must
explicitly name the module: `import "meteor/<package name>/client.js"`.

## v1.4.2.1

* Installing the `babel-runtime` npm package in your application
Expand Down
2 changes: 1 addition & 1 deletion meteor
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash

BUNDLE_VERSION=4.6.2
BUNDLE_VERSION=4.7.1

# OS Check. Put here because here is where we download the precompiled
# bundles that are arch specific.
Expand Down
2 changes: 1 addition & 1 deletion packages/accounts-password/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: "Password support for accounts",
version: "1.3.2"
version: "1.3.3"
});

Package.onUse(function(api) {
Expand Down
7 changes: 6 additions & 1 deletion packages/accounts-password/password_client.js
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,12 @@ Accounts.forgotPassword = function(options, callback) {
if (!options.email) {
return reportError(new Meteor.Error(400, "Must pass options.email"), callback);
}
Accounts.connection.call("forgotPassword", options, callback);

if (callback) {
Accounts.connection.call("forgotPassword", options, callback);
} else {
Accounts.connection.call("forgotPassword", options);
}
};

// Resets a password based on a token originally created by
Expand Down
39 changes: 34 additions & 5 deletions packages/accounts-password/password_tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Accounts._noConnectionCloseDelayForTest = true;

if (Meteor.isServer) {
Accounts.removeDefaultRateLimit();

Meteor.methods({
getResetToken: function () {
var token = Meteor.users.findOne(this.userId).services.password.reset;
Expand Down Expand Up @@ -557,8 +557,8 @@ if (Meteor.isClient) (function () {
}, 10 * 1000, 100);
}
]);


testAsyncMulti("passwords - forgotPassword client return error when empty email", [
function (test, expect) {
// setup
Expand All @@ -578,7 +578,36 @@ if (Meteor.isClient) (function () {
}, /Must pass options\.email/);
},
]);


Tinytest.add(
'passwords - forgotPassword only passes callback value to forgotPassword '
+ 'Method if callback is defined (to address issue #5676)',
function (test) {
let methodCallArgumentCount = 0;
const originalMethodCall = Accounts.connection.call;
const stubMethodCall = (...args) => {
methodCallArgumentCount = args.length;
}
Accounts.connection.call = stubMethodCall;

Accounts.forgotPassword({ email: 'test@meteor.com' });
test.equal(
methodCallArgumentCount,
2,
'Method call should have 2 arguments since no callback is passed in'
);

Accounts.forgotPassword({ email: 'test@meteor.com' }, () => {});
test.equal(
methodCallArgumentCount,
3,
'Method call should have 3 arguments since a callback is passed in'
);

Accounts.connection.call = originalMethodCall;
}
);

testAsyncMulti("passwords - verifyEmail client return error when empty token", [
function (test, expect) {
// setup
Expand All @@ -598,7 +627,7 @@ if (Meteor.isClient) (function () {
}, /Need to pass token/);
},
]);

testAsyncMulti("passwords - resetPassword errors", [
function (test, expect) {
// setup
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-runtime/package.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package.describe({
name: "babel-runtime",
summary: "Runtime support for output of Babel transpiler",
version: '1.0.0',
version: '1.0.1',
documentation: 'README.md'
});

Expand Down
2 changes: 1 addition & 1 deletion packages/coffeescript/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: "Javascript dialect with fewer braces and semicolons",
version: "1.11.1_3"
version: "1.11.1_4"
});

Package.registerBuildPlugin({
Expand Down
2 changes: 1 addition & 1 deletion packages/ecmascript/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
name: 'ecmascript',
version: '0.6.0',
version: '0.6.1',
summary: 'Compiler plugin that supports ES2015+ in all .js files',
documentation: 'README.md'
});
Expand Down
2 changes: 1 addition & 1 deletion packages/less/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
name: 'less',
version: '2.7.7',
version: '2.7.8',
summary: 'Leaner CSS language',
documentation: 'README.md'
});
Expand Down
2 changes: 1 addition & 1 deletion packages/meteor-tool/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: "The Meteor command-line tool",
version: '1.4.2_1'
version: '1.4.2_3'
});

Package.includeTool();
54 changes: 53 additions & 1 deletion packages/minimongo/minimongo_tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -2086,7 +2086,12 @@ Tinytest.add("minimongo - modify", function (test) {
coll.update(query, mod);
var actual = coll.findOne();
delete actual._id; // added by insert
test.equal(actual, expected, EJSON.stringify({input: doc, mod: mod}));

if (typeof expected === "function") {
expected(actual, EJSON.stringify({input: doc, mod: mod}));
} else {
test.equal(actual, expected, EJSON.stringify({input: doc, mod: mod}));
}
};
var modify = function (doc, mod, expected) {
modifyWithQuery(doc, {}, mod, expected);
Expand Down Expand Up @@ -2235,6 +2240,53 @@ Tinytest.add("minimongo - modify", function (test) {
modify({a: {b: 2}}, {$inc: {'a.c': 10}}, {a: {b: 2, c: 10}});
exception({}, {$inc: {_id: 1}});

// $currentDate
modify({}, {$currentDate: {a: true}}, (result, msg) => { test.instanceOf(result.a,Date,msg) });
modify({}, {$currentDate: {a: {$type: "date"}}}, (result, msg) => { test.instanceOf(result.a,Date,msg) });
exception({}, {$currentDate: {a: false}});
exception({}, {$currentDate: {a: {}}});
exception({}, {$currentDate: {a: {$type: "timestamp"}}});

// $min
modify({a: 1, b: 2}, {$min: {b: 1}}, {a: 1, b: 1});
modify({a: 1, b: 2}, {$min: {b: 3}}, {a: 1, b: 2});
modify({a: 1, b: 2}, {$min: {c: 10}}, {a: 1, b: 2, c: 10});
exception({a: 1}, {$min: {a: '10'}});
exception({a: 1}, {$min: {a: true}});
exception({a: 1}, {$min: {a: [10]}});
exception({a: '1'}, {$min: {a: 10}});
exception({a: [1]}, {$min: {a: 10}});
exception({a: {}}, {$min: {a: 10}});
exception({a: false}, {$min: {a: 10}});
exception({a: null}, {$min: {a: 10}});
modify({a: [1, 2]}, {$min: {'a.1': 1}}, {a: [1, 1]});
modify({a: [1, 2]}, {$min: {'a.1': 3}}, {a: [1, 2]});
modify({a: [1, 2]}, {$min: {'a.2': 10}}, {a: [1, 2, 10]});
modify({a: [1, 2]}, {$min: {'a.3': 10}}, {a: [1, 2, null, 10]});
modify({a: {b: 2}}, {$min: {'a.b': 1}}, {a: {b: 1}});
modify({a: {b: 2}}, {$min: {'a.c': 10}}, {a: {b: 2, c: 10}});
exception({}, {$min: {_id: 1}});

// $max
modify({a: 1, b: 2}, {$max: {b: 1}}, {a: 1, b: 2});
modify({a: 1, b: 2}, {$max: {b: 3}}, {a: 1, b: 3});
modify({a: 1, b: 2}, {$max: {c: 10}}, {a: 1, b: 2, c: 10});
exception({a: 1}, {$max: {a: '10'}});
exception({a: 1}, {$max: {a: true}});
exception({a: 1}, {$max: {a: [10]}});
exception({a: '1'}, {$max: {a: 10}});
exception({a: [1]}, {$max: {a: 10}});
exception({a: {}}, {$max: {a: 10}});
exception({a: false}, {$max: {a: 10}});
exception({a: null}, {$max: {a: 10}});
modify({a: [1, 2]}, {$max: {'a.1': 3}}, {a: [1, 3]});
modify({a: [1, 2]}, {$max: {'a.1': 1}}, {a: [1, 2]});
modify({a: [1, 2]}, {$max: {'a.2': 10}}, {a: [1, 2, 10]});
modify({a: [1, 2]}, {$max: {'a.3': 10}}, {a: [1, 2, null, 10]});
modify({a: {b: 2}}, {$max: {'a.b': 3}}, {a: {b: 3}});
modify({a: {b: 2}}, {$max: {'a.c': 10}}, {a: {b: 2, c: 10}});
exception({}, {$max: {_id: 1}});

// $set
modify({a: 1, b: 2}, {$set: {a: 10}}, {a: 10, b: 2});
modify({a: 1, b: 2}, {$set: {c: 10}}, {a: 1, b: 2, c: 10});
Expand Down
40 changes: 40 additions & 0 deletions packages/minimongo/modify.js
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,46 @@ var NO_CREATE_MODIFIERS = {
};

var MODIFIERS = {
$currentDate: function (target, field, arg) {
if (typeof arg === "object" && arg.hasOwnProperty("$type")) {
if (arg.$type !== "date") {
throw MinimongoError("Minimongo does currently only support the date type in $currentDate modifiers");
}
} else if (arg !== true) {
throw MinimongoError("Invalid $currentDate modifier");
}
target[field] = new Date();
},
$min: function (target, field, arg) {
if (typeof arg !== "number") {
throw MinimongoError("Modifier $min allowed for numbers only");
}
if (field in target) {
if (typeof target[field] !== "number") {
throw MinimongoError("Cannot apply $min modifier to non-number");
}
if (target[field] > arg) {
target[field] = arg;
}
} else {
target[field] = arg;
}
},
$max: function (target, field, arg) {
if (typeof arg !== "number") {
throw MinimongoError("Modifier $max allowed for numbers only");
}
if (field in target) {
if (typeof target[field] !== "number") {
throw MinimongoError("Cannot apply $max modifier to non-number");
}
if (target[field] < arg) {
target[field] = arg;
}
} else {
target[field] = arg;
}
},
$inc: function (target, field, arg) {
if (typeof arg !== "number")
throw MinimongoError("Modifier $inc allowed for numbers only");
Expand Down
2 changes: 1 addition & 1 deletion packages/minimongo/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: "Meteor's client-side datastore: a port of MongoDB to Javascript",
version: '1.0.18'
version: '1.0.19'
});

Package.onUse(function (api) {
Expand Down
2 changes: 1 addition & 1 deletion packages/stylus/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: 'Expressive, dynamic, robust CSS',
version: "2.513.7"
version: "2.513.8"
});

Package.registerBuildPlugin({
Expand Down
2 changes: 1 addition & 1 deletion packages/twitter/package.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package.describe({
summary: "Twitter OAuth flow",
version: '1.1.13'
version: '1.1.14'
});

Package.onUse(function(api) {
Expand Down
2 changes: 1 addition & 1 deletion packages/twitter/twitter_configure.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
</p>
<ol>
<li>
Visit <a href="https://dev.twitter.com/apps/new" target="_blank">https://dev.twitter.com/apps/new</a>
Visit <a href="https://apps.twitter.com/app/new" target="_blank">https://dev.twitter.com/apps/new</a>
</li>
<li>
Set Website to: <span class="url">{{siteUrl}}</span>
Expand Down
5 changes: 5 additions & 0 deletions scripts/admin/banners.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,10 @@
"banner": {
"text": "=> Meteor 1.3.4: npm@3.9.6, .babelrc support, improved import declarations,\n DDP update batching, and more: https://github.com/meteor/meteor/blob/master/History.md#v134\n\n This release is being downloaded in the background. Update your app to\n Meteor 1.3.4 by running 'meteor update'."
}
}, {
"versions": ["1.4.2"],
"banner": {
"text": "=> Meteor 1.4.2.1: An important patch release for Meteor 1.4.2:\n https://forums.meteor.com/t/meteor-1-4-2-1-is-an-important-patch-for-1-4-2-users"
}
}]
}
2 changes: 1 addition & 1 deletion scripts/admin/meteor-release-experimental.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"track": "METEOR",
"version": "1.4.2.1-rc.2",
"version": "1.4.2.3-rc.0",
"recommended": false,
"official": false,
"description": "Meteor"
Expand Down
4 changes: 2 additions & 2 deletions scripts/admin/meteor-release-official.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"track": "METEOR",
"version": "1.4.2.1",
"patchFrom": ["1.4.2"],
"version": "1.4.2.3",
"patchFrom": ["1.4.2", "1.4.2.1", "1.4.2.2"],
"recommended": false,
"official": true,
"description": "The Official Meteor Distribution"
Expand Down
2 changes: 1 addition & 1 deletion scripts/build-dev-bundle-common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -u
UNAME=$(uname)
ARCH=$(uname -m)
MONGO_VERSION=3.2.6
NODE_VERSION=4.6.1
NODE_VERSION=4.6.2
NPM_VERSION=3.10.9

if [ "$UNAME" == "Linux" ] ; then
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate-dev-bundle.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# use 32bit by default
$PLATFORM = "windows_x86"
$MONGO_VERSION = "3.2.6"
$NODE_VERSION = "4.6.1"
$NODE_VERSION = "4.6.2"
$NPM_VERSION = "3.10.9"
$PYTHON_VERSION = "2.7.12" # For node-gyp

Expand Down
Loading