Composer.json
Static configuration, handy if you don't use it in Kohana
Ability to override connection instance for testing purposes
Helper functions

Mongo_Collection::get_query(), geoNear(), mapReduce(), distinct(), aggregate(), isCapped(), emptyCapped(), stats()
Mongo_Database::connection()
update_safe accepts $upset and $multi options
count() checks for errors and throws them
formatting
formatting
Static models declaration, factory also accepts classname (has to start with '\')  as a name
Trying to load a non-existent document will keep it’s ID. You can reuse this object to create a new one
$_references allow to use getter and setter functions for properties
tests ported to phpUnit
KWebDocument::change_id()
actual loading moved to load_if_needed()
Mongo_Document::is_new()
Mongo_Document::get_field_reference(), and static helpers get_named_reference() unset_named_reference()

Allow to access direct references to subdocuments using dot notation
get() and get_raw() for getting values using dot notation. __isset() also allows for dot notation checking
Most of mongo field functions like inc, push, pull etc. can be emulated, so you don’t have to reload the document to see the changed values. Actual document processing is of course still done on the server.

You can enable it by default by setting $_emulate to true, or using set_emulation(true)
emulation test
KWeb_Document implements ArrayAccess. It allows for dot notation fetching, and always uses emulation for setting.