PyVELM v1.0.1¶
Release date: 2026-06-01
Patch release after v1.0.0: ORM super chaining, nested menu groups, versioned docs (mike), documentation and CI updates, and early MySQL/MariaDB portability work.
Highlights¶
ORM super chaining¶
Stacked _inherit extensions can call super().write(vals) or
self.super().write(vals) (Odoo / velmphp ergonomics). The registry records
inherit_chain for introspection.
class PartnerPro(models.Model):
_inherit = "res.partner"
def write(self, vals):
# before hooks …
super().write(vals)
# after hooks …
Runnable example: examples/modules/super_chain_demo* (three-layer
button_cancel stack).
See Declaring models → Super chaining.
Nested menu groups¶
m.group("business", "Business", icon="square-3-stack-3d").children([
m.group("business.directory", "Directory").children([
m.item("business.partners", "Partners", view="partner.list"),
]),
])
MenuBranch.children() sets parent= from the containing group; the loader
flattens trees via flatten_menus(). Cross-module parent= is unchanged.
See Modules → Menus and Navigation.
Versioned documentation¶
- GitHub Pages per-release trees (
/latest/,/1.0/, …) via mike. - Material version picker in the site header.
- Docs CI deploys on
v*tags; PRs runmkdocs build --strictonly.
See Doc versions (mike).
MySQL / MariaDB (work in progress)¶
Early portability for a future v1.1 line:
DialectCapabilitiesformysql/mariadb- DSN normalisation (
mysql+pymysql://) - Portable DDL/type mapping and schema reset
- MariaDB CI job + HTTP smoke
Requires pymysql (core dependency). Postgres and SQLite remain the supported
production paths for this release.
See multi-database.md.
Upgrade¶
After changing views/menu.py, Apps → Sync affected modules so ir.ui.menu
parents stay in sync.