Documentation issues for 3.0
The APIs you're referring to were not ever public APIs, hence the changes to them are not documented. I'll update the "Hacks" page to correct the reference to `Clause` (which is now `NodeList`).

`Model.prepared` has been removed -- depends on what you're trying to do. You can always override the `__init__()` method. a309831f50e1a090204024f2a738c3c6f333b6fc Adding or removing a field can now be done using `Model._meta.add_field` or `Model._meta.remove_field`. I'm using it in a bunch of places, mostly for adding some extra properties to model instances that depend on the data from the db.

Maybe I should just make these things `@property`s…
I'm currently porting my project over from peewee 2 to 3 and stumbled upon a few things already.

A few renames not listed on the "Changes in 3.0" page that affected me:
* `Field.add_to_class` has apparently been reworked to `Field.bind`?
* `Model._[get|set]_pk_value` has been replaced with the dynamic `Model._pk` property
* `FieldDescriptor` has been renamed `FieldAccessor`, similar renames for all child-classes

Also, `Clause` has been dropped (or reworked into `NodeList`?) but is still referenced on the "Hacks" page.

Lastly, `Model.prepared` has been completely dropped and I don't see any substitute for it, do you have any recommendations on what to use?

