Release NotesΒΆ
This page summarises what's new, improved, or fixed in each version of oops.
[0.15.1] - 2026-05-13ΒΆ
A small fix for the README update command.
π FixesΒΆ
oops readme update: addons are now listed in alphabetical order in the generated README table
[0.15.0] - 2026-05-11ΒΆ
Smarter Python requirements management: fewer false positives, automatic deduplication, and conflict detection.
π ChangesΒΆ
- Import name normalization:
oops requirementsnow maps Python import names to their pip package names automatically (e.g.dateutilβpython-dateutil,PILβPillow) β no more spurious differences caused by naming mismatches - Deduplication: duplicate lines are removed from the generated
requirements.txt - Version constraint merging: when multiple modules require the same package at different versions,
oops requirementspicks the tightest compatible range automatically; exact==pins that conflict with a range are flagged so you can resolve them manually - Missing file handled gracefully:
oops requirements checkno longer crashes on a fresh project whererequirements.txtdoesn't exist yet
[0.14.0] - 2026-05-11ΒΆ
New experimental commands to analyze and refactor Odoo modules using a built-in knowledge base.
β¨ What's newΒΆ
oops misc build-kb(experimental): build a global knowledge base for your Odoo version, used by the analyze and refactor commandsoops addons analyze(experimental): get a structured summary of any custom Odoo module β useful for audits and code reviewsoops addons refactor(experimental): automatically apply canonical section headers and docstring skeletons to custom module files; the project knowledge base is rebuilt when staleoops addons refactor --refresh: force a knowledge base rebuild before running, even when the KB looks freshinstalled_modules.txtconvention: list your installed modules (one per line) to helpoopsbuild an accurate project knowledge base
[0.13.0] - 2026-05-04ΒΆ
A new feature for project initialisation and an internal fix.
β¨ What's newΒΆ
- Default admin password:
oops project initnow sets a default admin password in the generated stack configuration
π FixesΒΆ
- Updated internal submodule reference
[0.12.3] - 2026-04-27ΒΆ
A small fix for the addons workflow.
π FixesΒΆ
oops addons: fixed an issue where the migration command was printed even when no file was saved
[0.12.2] - 2026-04-27ΒΆ
A small fix in the release tooling.
π FixesΒΆ
- Fixed an issue where generated changelog section headers were missing the
vprefix in version numbers
[0.12.1] - 2026-04-23ΒΆ
A targeted bug fix for the oops submodules add command.
π FixesΒΆ
oops submodules add: fixed an issue where incorrect file paths were staged after adding a new submodule
[0.12.0] - 2026-04-16ΒΆ
Small quality-of-life improvements and a bug fix in the project initialisation.
β¨ What's newΒΆ
oops requirements check --no-fail: you can now run the requirements check without blocking your workflow β differences are still displayed, but the command exits successfully
π ChangesΒΆ
oops project exclude: the pre-commit flag has been renamed from--hookto--failfor consistency with other commands
π FixesΒΆ
oops project init: the generateddocker-compose.ymlnow correctly mounts./.configinstead of./configfor the Odoo configuration directory
[0.11.0] - 2026-04-16ΒΆ
Improved workspace generation and a more ergonomic submodule workflow.
β¨ What's newΒΆ
- Odoo sources in your workspace:
oops misc create-workspaceandoops project initnow accept--include-sourcesto add the Odoo Community and Enterprise source directories as workspace folders in VSCode β great for go-to-definition and cross-project navigation
π ChangesΒΆ
oops submodules addreworked: the branch is now the first argument (before the URL), a-y/--yesflag skips the confirmation prompt, the URL scheme is automatically normalized to the configured value, and a pre-flight check prevents confusing errors when a stale.git/modulesdirectory already exists
π FixesΒΆ
oops odoo show: the--base-diroption has been removed β the sources directory is now always read fromodoo.sources_dirin config, consistent with all other Odoo commands
[0.10.0] - 2026-04-14ΒΆ
Usage tracking and a new pre-commit hook for Python requirements validation.
β¨ What's newΒΆ
- Usage statistics: every
oopscommand invocation is recorded locally; runoops misc usageto see which commands you use most, sorted by frequency - Requirements pre-commit hook: a new
check-requirementshook validates thatrequirements.txtis in sync with addon manifest dependencies β catches missing or extra entries before they reach CI
[0.9.0] - 2026-04-14ΒΆ
Smarter workspace generation: missing Odoo sources are fetched automatically.
β¨ What's newΒΆ
oops misc create-workspacenow downloads missing Odoo sources automatically before generating the workspace file; use--without-downloadto opt out
π ChangesΒΆ
- Workspace Python analysis paths now reflect the actual project edition (community-only vs community + enterprise)
oops addons downloadswitches to SSHgit clone(depth=1) β no GitHub token required;.gitignoreentries are managed with tagged blocks that accumulate across runs
π FixesΒΆ
oops addons download: fixed a silent.gitignorecorruption that wrote a comma-joined string instead of one entry per line
[0.8.0] - 2026-04-13ΒΆ
New commands for project creation, config editing, and submodule removal.
β¨ What's newΒΆ
oops --version: display the installed version at any time- Remove a submodule interactively:
oops submodules removepresents a numbered menu to pick the submodule to delete - Create a new GitHub project:
oops misc new-projectscaffolds a repository from a template, clones it locally, and triggers the update workflow β all in one command - Edit your config:
oops misc edit-configopens~/.oops.yaml(or the local.oops.yaml) directly in your default editor - Pre-commit hook integration:
oops project exclude --hookraises an error when the exclusion list was updated, prompting pre-commit to re-run automatically - Unified manifest checker:
oops-check-manifestnow accepts addon names, file paths, or directories β works identically from the CLI and from pre-commit
π FixesΒΆ
oops submodules check: fixed a false positive on pull-request submodule placement
[0.7.0] - 2026-04-10ΒΆ
New command to scaffold a complete Docker Compose stack for an Odoo project.
β¨ What's newΒΆ
oops project init: generatesdocker-compose.ymland.config/odoo.conffor the current project; optional services (--with-maildev,--with-sftp), port override (--port), and production-like mode (--no-dev)oops project syncoverrides:--branchand--fileslet you target a specific remote branch or file list at call time, without touching the config
π FixesΒΆ
oops project exclude: fixed a crash when the addon list was a generator; overhauled formatting and ensured changes are always committedoops project show: removed duplicate package and requirements rows from the output
[0.6.0] - 2026-04-09ΒΆ
Batch submodule initialization, README generation, and requirements management.
β¨ What's newΒΆ
oops submodules init: initialize and update all submodules recursively with configurable parallel jobs (-j/--jobs, default 4)oops project exclude: generate the pre-commit exclusion list for third-party addons automatically- Requirements management:
oops requirements checkcomparesrequirements.txtagainst manifest dependencies;oops requirements updaterewrites it from scratch oops readme update: generate the addon table inREADME.mdwith version badges, maintainer avatars, and summaries
π FixesΒΆ
oops submodules fixandoops submodules check: fixed URL scheme detection that always triggered due to incorrect scheme comparisonoops readme update:--no-commitflag default was inverted, preventing commits in all cases
[0.5.0] - 2026-04-08ΒΆ
Documentation browser, VSCode workspace generator, and auto-discovery of command groups.
β¨ What's newΒΆ
oops misc view-doc: open theoopsdocumentation site in your default browseroops misc create-workspace: generate a ready-to-use VSCode workspace file for any Odoo project- Command groups are now auto-discovered at startup β adding a new group requires no manual registration
oops addons materialize: redesigned with--include/--excludefilters; materializes all addons by default
[0.4.0] - 2026-04-07ΒΆ
Full Odoo source management and a manifest version-bump lint rule.
β¨ What's newΒΆ
- Odoo source commands:
oops odoo downloadclones Community and Enterprise via SSH into a shared team directory;oops odoo updatepulls the latest commit or snapshots at a given date (--date);oops odoo showlists all local checkouts with their commit hash and date - Manifest version bump rule:
ManifestVersionBumpenforces that the version is bumped on modified manifests; supportsstrict(every commit) andtrunk(once per release) strategies - New
odoosection in~/.oops.yaml: configuresources_dir,community_url, andenterprise_url
π FixesΒΆ
- Config loading:
~is now correctly expanded in path values;Optional[Path]fields no longer crash when the default isNone
[0.3.1] - 2026-04-07ΒΆ
π FixesΒΆ
- Eliminated a spurious
UserWarning: Unknown config key ignored: 'version'on every config load
[0.3.0] - 2026-04-06ΒΆ
Manifest linting, release management, and project file sync.
β¨ What's newΒΆ
- Manifest lint and autofix:
oops manifest checkandoops manifest fixenforce required keys, author/maintainers/summary rules, version format, and canonical key ordering β all configurable via.oops.yaml - Release commands:
oops release createandoops release showfor semver release management oops project sync: sparse-clone a remote repository and copy configured files (CI workflows, pre-commit config, etc.) into the local project- Config is now loaded lazily on first access β a clear error is shown immediately when no
.oops.yamlis found
π ChangesΒΆ
- All commands unified under a shared base class for consistent repo resolution and error handling
- Legacy
oops/git/module removed; all git operations consolidated intoservices/git.py
[0.2.0] - 2026-04-03ΒΆ
New submodule and addon commands, migration to GitPython.
β¨ What's newΒΆ
oops addons compare: compare addon lists between two sourcesoops submodules replace: replace a submodule in-placeoops submodules fix: repair broken submodule configuration
π ChangesΒΆ
- Migrated internals to the GitPython library for more reliable git operations
- Module structure reorganized; git operations decoupled from command logic
π FixesΒΆ
oops addons diff: fixed detection of modified addonsoops submodules add: fixed error path handling- Fixed entry points and imports after module restructuring
[0.1.0] - 2025-11-19ΒΆ
First public release of oops with initial support for addon management, project configuration, and git submodule workflows.