katyukha/Odood
Odood v0.7.0 Introduces Enhanced Project Configuration, Assembly Management, and Odoo 20 Support
The Odood project, a command-line toolset for managing Odoo deployments and development environments, has released version 0.7.0. This update adds global project configuration options, new assembly release commands, improved script management, and support for Odoo 20. It also updates Docker base images and refines git operations, with some breaking changes affecting release workflows.
What is Odood?
Odood is a command-line interface and library designed to facilitate the management of Odoo projects. Odoo is an open-source suite of business applications, and Odood helps developers and system administrators streamline tasks such as deployment, testing, versioning, and addon management. Users typically interact with Odood to automate and control their Odoo environments from the terminal, improving workflow efficiency.
Key Additions in v0.7.0
The latest Odood release, version 0.7.0, introduces several notable features:
Global Configuration Option: A new global
-c/--configoption allows users to specify a project configuration file (odood.yml) or directory explicitly. This lets commands target a specific project without relying on the current working directory, although it does not support command shortcuts likeodood start.Script Listing Command: The
odood script listcommand now lists runnable scripts grouped by their location within the repository or project directories. It marks shadowed scripts and supports JSON output for integration with other tools.Assembly Release Management: New commands under
odood assemblyenable version assignment, release artifact generation, committing, and tagging of releases. Thereleasecommand requires a clean working tree, whilestatusdisplays the current assembly version. Additionally,sync --changelog-previewupdates theCHANGELOG.mdwith pending changes, improving release documentation.Odoo 20 Support: Odood now supports Odoo 20.0, compatible with system Python versions 3.12 to 3.14.
Library API Enhancements: The API for assembly and git operations now accepts environment variables for git commands, allowing customization of credentials and commit identities.
Initial Release Improvements: The
odood repo release --initialcommand accepts options to generate changelogs and lists of addons in markdown or CSV formats.
Changes and Breaking Updates
Updated Docker Base: Docker images now use Ubuntu 26.04 instead of 24.04, aligning with newer system environments.
Python Version Handling: Odoo 19 now accepts system Python 3.13, but Python 3.14 is avoided for Odoo 18 and 19 due to addon ecosystem compatibility issues. Odood installs a suitable Python version when necessary.
Assembly Versioning: Assembly versions are now tracked by git tags, making the
VERSIONfile optional. This change streamlines version management but requires full git history and tags in continuous integration environments.Removed Commands: The
odood assembly sync --changelogcommand has been removed in favor ofodood assembly release. This change enforces stricter release workflows.Git Pull Behavior: Git repository pulls now default to pruning and fast-forward only, returning detailed results instead of throwing exceptions. This improves error handling and clarity.
Release Workflow Updates: The initial release command now fetches from
originand refuses to push if the branch is behind, ensuring consistency.
Fixes and Improvements
- Compatibility fixes for Python 3.14 on arm64 architectures, including Docker images.
- Adjustments to user creation commands on Ubuntu 26.04.
- Corrected Docker image PostgreSQL client repository configuration.
- Improved changelog generation and translation export processes.
- Better error reporting for addon manifest parsing and Python script failures.
Impact and Usage
These changes make Odood more flexible and robust for developers managing multiple Odoo projects and releases. The global config option and enhanced assembly commands simplify complex workflows, while Odoo 20 support keeps the tool current with the latest Odoo versions. However, some breaking changes, especially around assembly release commands and git operations, may require users to update their CI configurations and scripts.
Overall, Odood v0.7.0 continues to evolve as a practical CLI tool for the Odoo developer community, providing improved automation and integration capabilities.