Reword and reformat History.md to be more readable.

This commit is contained in:
Nick Martin
2013-02-21 01:08:34 -08:00
parent e6d7278927
commit 307d38e689

View File

@@ -3,53 +3,86 @@
## v0.5.7
* Changed the api for publish functions that do not return a
cursor. Specifically, use `added`, `changed`, `removed`, and `ready`, instead
of `set`, `unset`, `flush`, and `complete`. See the [`publish`
docs](http://docs.meteor.com/#meteor_publish) for details. Additionally,
`stop` has been improved, and `error` is now available for indicating that
there is an error to the subscriber.
* The DDP wire protocol has been redesigned.
* Changed the api for `observe`. Observing with `added`, `changed` and
`removed` callbacks is now unordered; for ordering information use `addedAt`,
`changedAt`, `removedAt`, and `movedTo`. Full documentation is in the
[`observe` docs](http://docs.meteor.com/#observe). All callers of `observe`
need to be updated.
* The handshake message is now versioned. This breaks backwards
compatibility between sites with `Meteor.connect()`. Older meteor
apps can not talk to new apps and vice versa.
* Added new [`observeChanges`](http://docs.meteor.com/#observe_changes) api for
keeping track of the contents of a cursor more efficiently.
* New [EJSON](http://docs.meteor.com/#ejson) package allows you to use
Dates, Mongo ObjectIDs, and binary data in your collections and
Session variables. You can also add your own custom datatypes.
* New [EJSON](http://docs.meteor.com/#ejson) package allows you to use Dates,
Mongo ObjectIDs, and binary data (as `Uint8Array` or a normal array with
`$Uint8ArrayPolyfill` set to true) in your collections and Session variables.
You can also add your own custom datatypes.
* Meteor now correctly represents empty documents in Collections.
* You can specify that a collection should use MongoDB ObjectIDs as its `_id`
fields for inserts instead of strings. If you do this, use `EJSON.equals()`
for comparing equality instead of `===`. This also allows you to use Meteor
with existing MongoDB databases that have ObjectID `_id`s.
* There is an informal specification in `packages/livedata/DDP.md`.
* The DDP wire protocol has been redesigned. It is now versioned, and at
version "pre1". There is an informal specification in
`packages/livedata/DDP.md`.
* Meteor now uses a shorter string ID for MongoDB documents by default. You can
generate this kind of ID with `Random.id()`. `Meteor.uuid()` is deprecated.
* Breaking API changes
* There is a new reactive function on subscription handles: `ready()` returns
true when the subscription has received all of its initial documents.
* Changed the API for `observe`. Observing with `added`, `changed`
and `removed` callbacks is now unordered; for ordering information
use `addedAt`, `changedAt`, `removedAt`, and `movedTo`. Full
documentation is in the [`observe` docs](http://docs.meteor.com/#observe).
All callers of `observe` need to be updated.
* Meteor now correctly represents empty documents in Collections.
* Changed the API for publish functions that do not return a cursor
(ie functions that call `this.set` and `this.unset`). See the
[`publish` docs](http://docs.meteor.com/#meteor_publish) for the new
API.
* Reduced unecessary MongoDB re-polling of live queries.
* Added `Session.setDefault(key, value)` so you can easily provide initial
values for session variables that will not be clobbered on hot code push.
* New Features
* Added new [`observeChanges`](http://docs.meteor.com/#observe_changes)
API for keeping track of the contents of a cursor more efficiently.
* There is a new reactive function on subscription handles: `ready()`
returns true when the subscription has received all of its initial
documents.
* Added `Session.setDefault(key, value)` so you can easily provide
initial values for session variables that will not be clobbered on
hot code push.
* You can specify that a collection should use MongoDB ObjectIDs as
its `_id` fields for inserts instead of strings. This allows you to
use Meteor with existing MongoDB databases that have ObjectID
`_id`s. If you do this, you must use `EJSON.equals()` for comparing
equality instead of `===`. See http://docs.meteor.com/#meteor_collection.
* New [`random` package](http://docs.meteor.com/#random) provides
several functions for generating random values. The new
`Random.id()` function is used to provide shorter string IDs for
MongoDB documents. `Meteor.uuid()` is deprecated.
* `Meteor.status()` can return the status `failed` if DDP version
negotiation fails.
* Major Performance Enhancements
* Rewrote subscription duplication detection logic to use a more
efficient algorithm. This significantly reduces CPU usage on the
server during initial page load and when dealing with large amounts
of data.
* Reduced unnecessary MongoDB re-polling of live queries. Meteor no
longer polls for changes on queries that specify `_id` when
updates for a different specific `_id` are processed. This
drastically improves performance when dealing with many
subscriptions and updates to individual objects, such as those
generated by the `accounts-base` package on the `Meteor.users`
collection.
* Improved UI for running tinytest package tests in-browser.
* Upgraded UglifyJS2 to version 2.2.5
Patches contributed by GitHub users awwx and michaelglenadams.
## v0.5.6
* Fix 0.5.5 regression: Minimongo selectors matching subdocuments under arrays