diff --git a/.copier-answers.yml b/.copier-answers.yml
index d4b6ba0151..93e56ad96c 100644
--- a/.copier-answers.yml
+++ b/.copier-answers.yml
@@ -1,5 +1,5 @@
# Do NOT update manually; changes here will be overwritten by Copier
-_commit: v1.29
+_commit: v1.34
_src_path: git+https://github.com/OCA/oca-addons-repo-template
additional_ruff_rules: []
ci: GitHub
@@ -14,7 +14,7 @@ github_enable_stale_action: true
github_enforce_dev_status_compatibility: true
include_wkhtmltopdf: false
odoo_test_flavor: Both
-odoo_version: 18.0
+odoo_version: 19.0
org_name: Odoo Community Association (OCA)
org_slug: OCA
rebel_module_groups: []
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..e0d56685a9
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+test-requirements.txt merge=union
diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index 5eb021ef15..d61380e4fd 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -3,11 +3,11 @@ name: pre-commit
on:
pull_request:
branches:
- - "18.0*"
+ - "19.0*"
push:
branches:
- - "18.0"
- - "18.0-ocabot-*"
+ - "19.0"
+ - "19.0-ocabot-*"
jobs:
pre-commit:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index a06488079f..6101a2b026 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -3,11 +3,11 @@ name: tests
on:
pull_request:
branches:
- - "18.0*"
+ - "19.0*"
push:
branches:
- - "18.0"
- - "18.0-ocabot-*"
+ - "19.0"
+ - "19.0-ocabot-*"
jobs:
unreleased-deps:
@@ -35,14 +35,14 @@ jobs:
fail-fast: false
matrix:
include:
- - container: ghcr.io/oca/oca-ci/py3.10-odoo18.0:latest
+ - container: ghcr.io/oca/oca-ci/py3.10-odoo19.0:latest
name: test with Odoo
- - container: ghcr.io/oca/oca-ci/py3.10-ocb18.0:latest
+ - container: ghcr.io/oca/oca-ci/py3.10-ocb19.0:latest
name: test with OCB
makepot: "true"
services:
postgres:
- image: postgres:12.0
+ image: postgres:13
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c74099edcf..3d0fa1036b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,14 @@
exclude: |
(?x)
# NOT INSTALLABLE ADDONS
+ ^base_import_async/|
+ ^queue_job/|
+ ^queue_job_batch/|
+ ^queue_job_cron/|
+ ^queue_job_cron_jobrunner/|
+ ^queue_job_subscribe/|
+ ^test_queue_job/|
+ ^test_queue_job_batch/|
# END NOT INSTALLABLE ADDONS
# Files and folders generated by bots, to avoid loops
^setup/|/static/description/index\.html$|
@@ -39,11 +47,11 @@ repos:
language: fail
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
- repo: https://github.com/sbidoul/whool
- rev: v1.2
+ rev: v1.3
hooks:
- id: whool-init
- repo: https://github.com/oca/maintainer-tools
- rev: bf9ecb9938b6a5deca0ff3d870fbd3f33341fded
+ rev: f9b919b9868143135a9c9cb03021089cabba8223
hooks:
# update the NOT INSTALLABLE ADDONS section above
- id: oca-update-pre-commit-excluded-addons
@@ -52,7 +60,7 @@ repos:
- id: oca-gen-addon-readme
args:
- --addons-dir=.
- - --branch=18.0
+ - --branch=19.0
- --org-name=OCA
- --repo-name=queue
- --if-source-changed
@@ -60,7 +68,7 @@ repos:
- --convert-fragments-to-markdown
- id: oca-gen-external-dependencies
- repo: https://github.com/OCA/odoo-pre-commit-hooks
- rev: v0.0.33
+ rev: v0.1.6
hooks:
- id: oca-checks-odoo-module
- id: oca-checks-po
@@ -79,8 +87,8 @@ repos:
files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
language: node
additional_dependencies:
- - "prettier@3.3.3"
- - "@prettier/plugin-xml@3.4.1"
+ - "prettier@3.6.2"
+ - "@prettier/plugin-xml@3.4.2"
- repo: local
hooks:
- id: eslint
@@ -93,10 +101,11 @@ repos:
types: [javascript]
language: node
additional_dependencies:
- - "eslint@9.12.0"
- - "eslint-plugin-jsdoc@50.3.1"
+ - "eslint@9.35.0"
+ - "eslint-plugin-jsdoc@57.0.8"
+ - "globals@16.0.0"
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
+ rev: v6.0.0
hooks:
- id: trailing-whitespace
# exclude autogenerated files
@@ -105,8 +114,6 @@ repos:
# exclude autogenerated files
exclude: /README\.rst$|\.pot?$
- id: debug-statements
- - id: fix-encoding-pragma
- args: ["--remove"]
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
@@ -118,13 +125,13 @@ repos:
- id: mixed-line-ending
args: ["--fix=lf"]
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.6.8
+ rev: v0.13.0
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- id: ruff-format
- repo: https://github.com/OCA/pylint-odoo
- rev: v9.1.3
+ rev: v9.3.15
hooks:
- id: pylint_odoo
name: pylint with optional checks
diff --git a/.pylintrc b/.pylintrc
index 7c62b6d2ed..16996cb36f 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -10,7 +10,7 @@ manifest-required-authors=Odoo Community Association (OCA)
manifest-required-keys=license
manifest-deprecated-keys=description,active
license-allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid-odoo-versions=18.0
+valid-odoo-versions=19.0
[MESSAGES CONTROL]
disable=all
@@ -99,6 +99,29 @@ enable=anomalous-backslash-in-string,
xml-deprecated-qweb-directive,
xml-deprecated-tree-attribute,
external-request-timeout,
+ bad-builtin-groupby,
+ category-allowed,
+ deprecated-name-get,
+ deprecated-odoo-model-method,
+ inheritable-method-lambda,
+ inheritable-method-string,
+ invalid-email,
+ manifest-behind-migrations,
+ manifest-data-duplicated,
+ missing-odoo-file,
+ no-raise-unlink,
+ no-search-all,
+ no-wizard-in-models,
+ prohibited-method-override,
+ prefer-env-translation,
+ translation-format-interpolation,
+ translation-format-truncated,
+ translation-fstring-interpolation,
+ translation-not-lazy,
+ translation-too-few-args,
+ translation-too-many-args,
+ translation-unsupported-format,
+ no-write-in-compute,
# messages that do not cause the lint step to fail
consider-merging-classes-inherited,
create-user-wo-reset-password,
@@ -114,7 +137,8 @@ enable=anomalous-backslash-in-string,
old-api7-method-defined,
redefined-builtin,
too-complex,
- unnecessary-utf8-coding-comment
+ unnecessary-utf8-coding-comment,
+ manifest-external-assets
[REPORTS]
diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory
index 018fd61cdd..dc9b71ed30 100644
--- a/.pylintrc-mandatory
+++ b/.pylintrc-mandatory
@@ -9,7 +9,7 @@ manifest-required-authors=Odoo Community Association (OCA)
manifest-required-keys=license
manifest-deprecated-keys=description,active
license-allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid-odoo-versions=18.0
+valid-odoo-versions=19.0
[MESSAGES CONTROL]
disable=all
@@ -90,7 +90,30 @@ enable=anomalous-backslash-in-string,
xml-attribute-translatable,
xml-deprecated-qweb-directive,
xml-deprecated-tree-attribute,
- external-request-timeout
+ external-request-timeout,
+ bad-builtin-groupby,
+ category-allowed,
+ deprecated-name-get,
+ deprecated-odoo-model-method,
+ inheritable-method-lambda,
+ inheritable-method-string,
+ invalid-email,
+ manifest-behind-migrations,
+ manifest-data-duplicated,
+ missing-odoo-file,
+ no-raise-unlink,
+ no-search-all,
+ no-wizard-in-models,
+ prohibited-method-override,
+ prefer-env-translation,
+ translation-format-interpolation,
+ translation-format-truncated,
+ translation-fstring-interpolation,
+ translation-not-lazy,
+ translation-too-few-args,
+ translation-too-many-args,
+ translation-unsupported-format,
+ no-write-in-compute
[REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
diff --git a/README.md b/README.md
index 82906ba06b..a526a2f90d 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
-[](https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=18.0)
-[](https://github.com/OCA/queue/actions/workflows/pre-commit.yml?query=branch%3A18.0)
-[](https://github.com/OCA/queue/actions/workflows/test.yml?query=branch%3A18.0)
-[](https://codecov.io/gh/OCA/queue)
-[](https://translation.odoo-community.org/engage/queue-18-0/?utm_source=widget)
+[](https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=19.0)
+[](https://github.com/OCA/queue/actions/workflows/pre-commit.yml?query=branch%3A19.0)
+[](https://github.com/OCA/queue/actions/workflows/test.yml?query=branch%3A19.0)
+[](https://codecov.io/gh/OCA/queue)
+[](https://translation.odoo-community.org/engage/queue-19-0/?utm_source=widget)
@@ -17,18 +17,18 @@ queue
[//]: # (addons)
-Available addons
-----------------
+Unported addons
+---------------
addon | version | maintainers | summary
--- | --- | --- | ---
-[base_import_async](base_import_async/) | 18.0.1.0.0 | | Import CSV files in the background
-[queue_job](queue_job/) | 18.0.2.0.2 |
| Job Queue
-[queue_job_batch](queue_job_batch/) | 18.0.1.0.0 | | Job Queue Batch
-[queue_job_cron](queue_job_cron/) | 18.0.1.1.1 | | Scheduled Actions as Queue Jobs
-[queue_job_cron_jobrunner](queue_job_cron_jobrunner/) | 18.0.1.0.1 |
| Run jobs without a dedicated JobRunner
-[queue_job_subscribe](queue_job_subscribe/) | 18.0.1.0.0 | | Control which users are subscribed to queue job notifications
-[test_queue_job](test_queue_job/) | 18.0.2.0.0 | | Queue Job Tests
-[test_queue_job_batch](test_queue_job_batch/) | 18.0.1.0.0 | | Test Job Queue Batch
+[base_import_async](base_import_async/) | 18.0.1.0.0 (unported) | | Import CSV files in the background
+[queue_job](queue_job/) | 18.0.2.0.2 (unported) |
| Job Queue
+[queue_job_batch](queue_job_batch/) | 18.0.1.0.0 (unported) | | Job Queue Batch
+[queue_job_cron](queue_job_cron/) | 18.0.1.1.1 (unported) | | Scheduled Actions as Queue Jobs
+[queue_job_cron_jobrunner](queue_job_cron_jobrunner/) | 18.0.1.0.1 (unported) |
| Run jobs without a dedicated JobRunner
+[queue_job_subscribe](queue_job_subscribe/) | 18.0.1.0.0 (unported) | | Control which users are subscribed to queue job notifications
+[test_queue_job](test_queue_job/) | 18.0.2.0.0 (unported) | | Queue Job Tests
+[test_queue_job_batch](test_queue_job_batch/) | 18.0.1.0.0 (unported) | | Test Job Queue Batch
[//]: # (end addons)
diff --git a/base_import_async/__manifest__.py b/base_import_async/__manifest__.py
index b6a054a10b..5432d7c5ca 100644
--- a/base_import_async/__manifest__.py
+++ b/base_import_async/__manifest__.py
@@ -20,6 +20,6 @@
"base_import_async/static/src/xml/import_data_sidepanel.xml",
],
},
- "installable": True,
+ "installable": False,
"development_status": "Production/Stable",
}
diff --git a/eslint.config.cjs b/eslint.config.cjs
index 0d5731f89a..dd0cbe0aef 100644
--- a/eslint.config.cjs
+++ b/eslint.config.cjs
@@ -1,3 +1,4 @@
+var globals = require('globals');
jsdoc = require("eslint-plugin-jsdoc");
const config = [{
@@ -16,6 +17,8 @@ const config = [{
openerp: "readonly",
owl: "readonly",
luxon: "readonly",
+ QUnit: "readonly",
+ ...globals.browser,
},
ecmaVersion: 2024,
@@ -191,7 +194,7 @@ const config = [{
},
}, {
- files: ["**/*.esm.js"],
+ files: ["**/*.esm.js", "**/*test.js"],
languageOptions: {
ecmaVersion: 2024,
diff --git a/queue_job/__manifest__.py b/queue_job/__manifest__.py
index 69211ec167..70b9774518 100644
--- a/queue_job/__manifest__.py
+++ b/queue_job/__manifest__.py
@@ -27,7 +27,7 @@
"/queue_job/static/src/views/**/*",
],
},
- "installable": True,
+ "installable": False,
"development_status": "Mature",
"maintainers": ["guewen"],
"post_init_hook": "post_init_hook",
diff --git a/queue_job_batch/__manifest__.py b/queue_job_batch/__manifest__.py
index 669ba10927..12dc679b8f 100644
--- a/queue_job_batch/__manifest__.py
+++ b/queue_job_batch/__manifest__.py
@@ -29,5 +29,7 @@
"queue_job_batch/static/src/**/*.xml",
"queue_job_batch/static/src/**/*.scss",
],
- },
+ 'installable': False,
+},
+ 'installable': False,
}
diff --git a/queue_job_cron/__manifest__.py b/queue_job_cron/__manifest__.py
index 9f67febffd..5d14b5d602 100644
--- a/queue_job_cron/__manifest__.py
+++ b/queue_job_cron/__manifest__.py
@@ -10,5 +10,5 @@
"category": "Generic Modules",
"depends": ["queue_job"],
"data": ["data/data.xml", "views/ir_cron_view.xml"],
- "installable": True,
+ "installable": False,
}
diff --git a/queue_job_cron_jobrunner/__manifest__.py b/queue_job_cron_jobrunner/__manifest__.py
index ca5d211a4f..c61918262d 100644
--- a/queue_job_cron_jobrunner/__manifest__.py
+++ b/queue_job_cron_jobrunner/__manifest__.py
@@ -13,5 +13,5 @@
"data/ir_cron.xml",
"views/ir_cron.xml",
],
- "installable": True,
+ "installable": False,
}
diff --git a/queue_job_subscribe/__manifest__.py b/queue_job_subscribe/__manifest__.py
index e6ab4081eb..0b6ff496bc 100644
--- a/queue_job_subscribe/__manifest__.py
+++ b/queue_job_subscribe/__manifest__.py
@@ -10,5 +10,5 @@
"category": "Generic Modules",
"depends": ["queue_job"],
"data": ["views/res_users_view.xml"],
- "installable": True,
+ "installable": False,
}
diff --git a/test_queue_job/__manifest__.py b/test_queue_job/__manifest__.py
index 1a844dcd39..fe6c339e98 100644
--- a/test_queue_job/__manifest__.py
+++ b/test_queue_job/__manifest__.py
@@ -15,5 +15,5 @@
"security/ir.model.access.csv",
"data/queue_job_test_job.xml",
],
- "installable": True,
+ "installable": False,
}
diff --git a/test_queue_job_batch/__manifest__.py b/test_queue_job_batch/__manifest__.py
index ba7449b09f..e0d6eb85ab 100644
--- a/test_queue_job_batch/__manifest__.py
+++ b/test_queue_job_batch/__manifest__.py
@@ -12,4 +12,5 @@
"queue_job_batch",
"test_queue_job",
],
+ 'installable': False,
}