Skip to content
32 changes: 32 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@ Changelog
---------


2.5.x (unreleased)
~~~~~~~~~~~~~~~~~~

* Simplify signature of :meth:`Model.search`: arguments ``order``,
``limit`` and ``offset`` become keyword-only, and undocumented
argument ``reverse`` is abandoned.

* New: :meth:`Model.search` returns a :class:`RecordList` which is
lazily evaluated. API method is called only when needed: if attributes
are read or methods are called. It will use `search_read` API method
when it's adequate.

* New: extracting a part of a lazy :class:`RecordList` will not call
API method, for simple use cases like
``env['account.move'].search([])[10:90]``. It will set
``offset`` and ``limit`` on the prepared search instead.

* Remove undocumented :meth:`Env._web`.

* Refactor code for ``read`` field formatter.

* Refactor :class:`Record` and :class:`RecordList` constructors:
get rid of ``__new__`` and simplify.

* Add private method :meth:`Record._invalidate_cache` to implement
:meth:`Record.refresh`.

* Property :attr:`Client.verbose` to enable/disable logging.

* Support ``odooly https://demo.odoo.com`` for simplicity.


2.4.7 (2025-11-07)
~~~~~~~~~~~~~~~~~~

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ This is a sample session::

It's also possible to set verbosity from the interactive prompt::

>>> client._printer.cols = 180
>>> client.verbose = 180 # Width in columns

.. note::

Expand Down
Loading