katyukha/Odood

Odood v0.7.0 Introduces Enhanced Project Configuration, Assembly Management, and Odoo 20 Support

Odood

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/--config option 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 like odood start.

  • Script Listing Command: The odood script list command 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 assembly enable version assignment, release artifact generation, committing, and tagging of releases. The release command requires a clean working tree, while status displays the current assembly version. Additionally, sync --changelog-preview updates the CHANGELOG.md with 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 --initial command 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 VERSION file optional. This change streamlines version management but requires full git history and tags in continuous integration environments.

  • Removed Commands: The odood assembly sync --changelog command has been removed in favor of odood 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 origin and 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.

Sources