Right now, we aren't considering the Odoo version at all.
Because of that:
- We can't use the type system to guarantee that a particular API method is available.
- We can't have multiple versions of an API endpoint (e.g., if Odoo changed the
call_kw method slightly)
I'm not actually sure this would be a desirable feature. A few downsides would be:
- Much more rigid - users would need to store a version-typed
Client object, or else use match {} blocks to cover all possible Odoo versions
- More difficult to maintain
- How would we handle SaaS versions (like
16.3 and 16.4 which are actually closer to 16.0 and 17.0 respectively)
It does seem like the Odoo APIs are very stable (perhaps because they're used internally), so maybe this is all fine.
One option might be some runtime-checks - that would eliminate issues 1 & 3 above.
Right now, we aren't considering the Odoo version at all.
Because of that:
call_kwmethod slightly)I'm not actually sure this would be a desirable feature. A few downsides would be:
Clientobject, or else usematch {}blocks to cover all possible Odoo versions16.3and16.4which are actually closer to16.0and17.0respectively)It does seem like the Odoo APIs are very stable (perhaps because they're used internally), so maybe this is all fine.
One option might be some runtime-checks - that would eliminate issues 1 & 3 above.