- The new Odoo 8 API makes the model API more object-oriented and Pythonic by introducing recordsets, which replace browse records and browse lists. Recordsets can be treated as both collections of records and individual records.
- Methods are decorated to support both the old and new APIs. Decorators like @api.multi and @api.one control whether methods operate on single records or multiple records.
- The environment object encapsulates the database cursor, user ID, and context to make them implicit rather than explicit parameters of methods.
- Fields are implemented as Python descriptors to provide getter and setter behavior. Computed fields must assign values using a compute method.