Merge branch 'devel' into release-0.6.2

This commit is contained in:
Nick Martin
2013-04-12 20:45:09 -07:00
7 changed files with 50 additions and 16 deletions

View File

@@ -1,17 +1,32 @@
## vNEXT
* `Spiderable.userAgentRegExps` can now be modified to change what user agents
are treated as spiders by the `spiderable` package.
* Better stack traces for `Meteor.Error`.
* Return the inserted documented ID from LocalCollection.insert. #908
* Add per-package upgrade notices to `meteor update`.
* Prevent observe callbacks from affecting the arguments to identical observes. #855
* Experimental server-to-server DDP support: `Meteor.connect` on the
server will connect to a remote DDP endpoint via WebSockets. Method
calls should work fine, but subscriptions and minimongo on the server
are still a work in progress.
* Upgrade d3 from 2.x to 3.1.4. See
https://github.com/mbostock/d3/wiki/Upgrading-to-3.0 for compatibility notes.
Patches contributed by GitHub users andreas-karlsson, jacott, and joshuaconner.
* Return the inserted documented ID from `LocalCollection.insert`. #908
* `Spiderable.userAgentRegExps` can now be modified to change what user agents
are treated as spiders by the `spiderable` package.
* Prevent observe callbacks from affecting the arguments to identical
observes. #855
* Fix meteor command line tool when run from a home directory with
spaces in its name.
Patches contributed by GitHub users andreas-karlsson, jacott,
joshuaconner, and timhaines.
## v0.6.1
@@ -22,6 +37,7 @@ Patches contributed by GitHub users andreas-karlsson, jacott, and joshuaconner.
Patches contributed by GitHub users andreas-karlsson and awwx.
## v0.6.0
* Meteor has a brand new distribution system! In this new system, code-named

View File

@@ -2635,6 +2635,8 @@ support `Uint8Array`, binary data buffers are represented by standard arrays
containing numbers ranging from 0 to 255, and the `$Uint8ArrayPolyfill` key
set to `true`.
{{> api_box ejsonIsBinary}}
{{> api_box ejsonAddType}}
When you add a type to EJSON, Meteor will be able to use that type in:

View File

@@ -140,6 +140,13 @@ Template.api.ejsonNewBinary = {
descr: ["Allocate a new buffer of binary data that EJSON can serialize."]
},
Template.api.ejsonIsBinary = {
id: "ejson_is_binary",
name: "EJSON.isBinary(x)",
locus: "Anywhere",
descr: ["Returns true if `x` is a buffer of binary data, as returned from [`EJSON.newBinary`](#ejson_new_binary)."]
},
Template.api.ejsonAddType = {
id: "ejson_add_type",
name: "EJSON.addType(name, factory)",

View File

@@ -288,6 +288,7 @@ var toc = [
{name: "EJSON.equals", id: "ejson_equals"},
{name: "EJSON.clone", id: "ejson_clone"},
{name: "EJSON.newBinary", id: "ejson_new_binary"},
{name: "EJSON.isBinary", id: "ejson_is_binary"},
{name: "EJSON.addType", id: "ejson_add_type"},
[
{instance: "instance", id: "ejson_type_clone", name: "clone"},

6
meteor
View File

@@ -32,9 +32,9 @@ PLATFORM="${UNAME}_${ARCH}"
# Find the script dir, following one level of symlink. Note that symlink
# can be relative or absolute. Too bad 'readlink -f' is not portable.
ORIG_DIR=$(pwd)
cd $(dirname "$0")
if [ -L "$(basename $0)" ] ; then
cd $(dirname $(readlink $(basename "$0") ) )
cd "$(dirname "$0")"
if [ -L "$(basename "$0")" ] ; then
cd "$(dirname $(readlink $(basename "$0") ) )"
fi
SCRIPT_DIR=$(pwd -P)
cd "$ORIG_DIR"

View File

@@ -1,9 +1,3 @@
// WebSocket-Node https://github.com/Worlize/WebSocket-Node
// Chosen because it can run without native components. It has a
// somewhat idiosyncratic API. We may want to use 'ws' instead in the
// future.
var WebSocketClient = Npm.require('websocket').client;
// @param endpoint {String} URL to Meteor app
// "http://subdomain.meteor.com/" or "/" or
// "ddp+sockjs://foo-**.meteor.com/sockjs"
@@ -18,7 +12,22 @@ var WebSocketClient = Npm.require('websocket').client;
Meteor._DdpClientStream = function (endpoint) {
var self = this;
self.client = new WebSocketClient;
// WebSocket-Node https://github.com/Worlize/WebSocket-Node
// Chosen because it can run without native components. It has a
// somewhat idiosyncratic API. We may want to use 'ws' instead in the
// future.
//
// Since server-to-server DDP is still an experimental feature, we only
// require the module if we actually create a server-to-server
// connection. This is a minor efficiency improvement, but moreover: while
// 'websocket' doesn't require native components, it tries to use some
// optional native components and prints a warning if it can't load
// them. Since native components in packages don't work when transferred to
// other architectures yet, this means that require('websocket') prints a
// spammy log message when deployed to another architecture. Delaying the
// require means you only get the log message if you're actually using the
// feature.
self.client = new (Npm.require('websocket').client)();
self.endpoint = endpoint;
self.currentConnection = null;

View File

@@ -884,7 +884,6 @@ var applyChanges = function (doc, changeFields) {
var idStringify;
var idParse;
if (typeof LocalCollection !== 'undefined') {
idStringify = function (id) {