Merge branch 'devel' into deps-utils

This commit is contained in:
David Greenspan
2012-09-17 22:17:50 -07:00
8 changed files with 89 additions and 15 deletions

View File

@@ -1,6 +1,63 @@
## vNEXT
## v0.4.1
* New `email` smart package, with [`Email.send`](http://docs.meteor.com/#email)
API.
* Upgrade Node from 0.6.17 to 0.8.8, as well as many Node modules in the dev
bundle; those that are user-exposed are:
* coffee-script: 1.3.3 (from 1.3.1)
* stylus: 0.29.0 (from 0.28.1)
* nib: 0.8.2 (from 0.7.0)
* All publicly documented APIs now use `camelCase` rather than
`under_scores`. The old spellings continue to work for now. New names are:
- `Meteor.isClient`/`isServer`
- `this.isSimulation` inside a method invocation
- `Meteor.deps.Context.onInvalidate`
- `Meteor.status().retryCount`/`retryTime`
* Spark improvements
* Optimize selector matching for event maps.
* `Spark._currentRenderer` shouldn't persist into timer callbacks.
* Fix bug caused by interaction between `Template.foo.preserve` and
`{{#constant}}`. #323
* Allow `{{#each}}` over a collection of objects without `_id`. #281
* Added a script to build a standalone spark.js that does not depend on
Meteor.
* Meteor and Spark no longer depend on jQuery unless you need IE7
support. (All Meteor apps still include jQuery, for now.)
* If you use `Meteor.setTimer`/`setInterval`/`defer` inside a method invocation,
and the callback is invoked before all writes directly created by the
invocation are committed, and the callback creates writes, then those writes
will be added to the same "write fence" as the method's own writes, causing
the client to wait for those writes to be committed before quiescing.
* Make `Meteor.Cursor.forEach` fully synchronous even if the user's callback
yields. #321.
* Upgrade bootstrap to version 2.1.1. #336, #337, #288, #293
* Change the implementation of the `meteor deploy` password prompt to not crash
Emacs M-x shell.
* Optimize `LocalCollection.remove(id)` to be O(1) rather than O(n).
* Avoid running full query result diffs on the client when unnecessary.
* Better error reporting when a package in `.meteor/packages` does not exist.
* Better error reporting for coffeescript. #331
* Better error handling in `Handlebars.Exception`.
Patches contributed by GitHub users fivethirty, tmeasday, and xenolf.
## v0.4.0
* Merge Spark, a new live page update engine

View File

@@ -17,11 +17,5 @@ override_dh_prep:
tar -C debian/tmp/usr/lib -xzf $(TARBALL)
echo -n 'deb' > debian/tmp/usr/lib/meteor/.package_stamp
# node fibers distributes copies of the library pre-compiled for many
# different architectures. This confuses shlibdeps. Just ignore the
# fibers library.
override_dh_shlibdeps:
dh_shlibdeps -Xfibers.node
%:
dh $@

View File

@@ -1,8 +1,9 @@
#!/bin/bash
set -e
set -u
BUNDLE_VERSION=0.2.2
BUNDLE_VERSION=0.2.3
UNAME=$(uname)
ARCH=$(uname -m)
@@ -182,7 +183,6 @@ npm install mongodb@1.1.5
npm install uglify-js@1.3.3
npm install clean-css@0.6.0
npm install progress@0.0.5
npm install fibers@0.6.9
npm install useragent@1.1.0
npm install request@2.11.0
npm install http-proxy@0.8.2
@@ -201,6 +201,19 @@ git clone http://github.com/akdubya/rbytes.git
npm install sockjs@0.3.1
rm -rf rbytes
npm install fibers@0.6.9
# Fibers ships with compiled versions of its C code for a dozen platforms. This
# bloats our dev bundle, and confuses dpkg-buildpackage and rpmbuild into
# thinking that the packages need to depend on both 32- and 64-bit versions of
# libstd++. Remove all the ones other than our architecture. (Expression based
# on build.js in fibers source.)
FIBERS_ARCH=$(node -p -e 'process.platform + "-" + process.arch + "-v8-" + /[0-9]+\.[0-9]+/.exec(process.versions.v8)[0]')
cd fibers/bin
mv $FIBERS_ARCH ..
rm -rf *
mv ../$FIBERS_ARCH .
cd ../..
cd "$DIR"
curl "$MONGO_URL" | tar -xz

View File

@@ -12,4 +12,4 @@ fi
cd "$ORIGDIR"
export NODE_PATH="$TOPDIR/dev_bundle/lib/node_modules"
exec "$TOPDIR/dev_bundle/bin/node" $*
exec "$TOPDIR/dev_bundle/bin/node" "$@"

2
meteor
View File

@@ -1,6 +1,6 @@
#!/bin/bash
BUNDLE_VERSION=0.2.2
BUNDLE_VERSION=0.2.3
# OS Check. Put here because here is where we download the precompiled
# bundles that are arch specific.

View File

@@ -5,11 +5,10 @@ DomUtils = {};
(function () {
var qsaFindAllBySelector = function (selector, contextNode) {
// If IE7 users report the following error message, you
// can fix it with "meteor add jquery".
if (! document.querySelectorAll)
// IE 7
throw new Error(
"This browser doesn't support querySelectorAll. " +
"You need Sizzle or jQuery (`meteor add jquery`).");
throw new Error("This browser doesn't support querySelectorAll.");
// the search is constrained to descendants of `ancestor`,
// but it doesn't affect the scope of the query.

View File

@@ -314,7 +314,13 @@ _.extend(Meteor._LivedataSession.prototype, {
else
self.universal_subs.push(sub);
var res = handler.apply(sub, params || []);
try {
var res = handler.apply(sub, params || []);
} catch (e) {
Meteor._debug("Internal exception while starting subscription", sub_id,
e.stack);
return;
}
// if Meteor._RemoteCollectionDriver is available (defined in
// mongo-livedata), automatically wire up handlers that return a

View File

@@ -4,6 +4,11 @@ Package.describe({
});
Package.on_use(function (api) {
// "past" is always included before app code (see init_from_app_dir) but not
// before packages when testing. This makes sure that tests see
// backward-compatibility hooks, at least if they use tinytest.
api.use('past');
api.use('underscore', ['client', 'server']);
api.add_files('tinytest.js', ['client', 'server']);