-
Release 2026.09.18-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 56sBuild and Deploy Staging / build (push) Successful in 57sTests / test (push) Successful in 1m40sBuild and Deploy Production / deploy (push) Successful in 32sBuild and Deploy Staging / deploy-appuio (push) Successful in 8sreleased this
2026-09-18 15:18:45 +00:00 | 0 commits to main since this releaseRelease 2026.09.18-0
features
- Self-service restore of a backup into a new instance, configurable per service definition and gated behind the organization admin role (#678)
- Staff can view and set the Odoo trial window on an organization, including a fix button for a drifted window (#665)
- Plausible funnel goals and storage-free attribution, with UTM names matched case-insensitively against Odoo (#673)
- Pending-approval tickets now carry the billing data that was submitted (#680)
UI/UX
- Archived organizations are flagged on the staff detail page (#665)
- The tenant-view link moved above the card on the staff instance detail page (#665)
bug
- Storage stays billed while an instance is paused, so unpausing restores the pre-pause volume count (#660)
- Odoo is written only after Postgres has committed, which prevents orphaned Odoo records when a request fails (#521)
- Odoo trouble no longer fails a request or flags legacy rows (#521)
- Line breaks now survive the trip to the Odoo helpdesk
internal
- Odoo is mocked throughout the test suite and real calls are forbidden (#665)
- Trial-end POST tests no longer expire with the calendar (#674)
- Renovate rebases dependency PRs when they fall behind main (#675)
- New hack/check-odoo-permissions.py script to verify Odoo access rights
dependencies
- Update dependency django-allauth to >=65.19.4 (#679)
- Update dependency urllib3 to >=2.8.0 (#677)
- Lock file maintenance (#672)
- Update dependency pyjwt to >=2.14.0 (#670)
- Update dependency sentry-sdk to >=2.69.2 (#676)
- Update dependency django-allauth to >=65.19.3 (#668)
- Update dependency coverage to >=7.16.1 (#671)
- Update https://github.com/renovatebot/github-action action to v46.3.1 (#669)
- Update https://github.com/astral-sh/setup-uv action to v10.1.0 (#667)
- Update dependency djlint to >=1.46.1 (#661)
- Update dependency sentry-sdk to >=2.69.1 (#662)
- Update dependency psycopg2-binary to >=2.9.13 (#663)
- Update dependency flake8-bugbear to v26 (#664)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.09.07-1
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 55sBuild and Deploy Staging / build (push) Successful in 52sBuild and Deploy Production / deploy (push) Successful in 28sTests / test (push) Successful in 1m25sBuild and Deploy Staging / deploy-appuio (push) Successful in 7sreleased this
2026-09-07 06:13:34 +00:00 | 76 commits to main since this releaseRelease 2026.09.07-1
- bump version 2026.09.07-0 -> 2026.09.07-1
- fix: skip audit stamps for organizations that no longer exist
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.09.07-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 52sBuild and Deploy Staging / build (push) Successful in 50sTests / test (push) Successful in 1m22sBuild and Deploy Production / deploy (push) Successful in 31sBuild and Deploy Staging / deploy-appuio (push) Successful in 7sreleased this
2026-09-07 06:01:13 +00:00 | 78 commits to main since this releaseRelease 2026.09.07-0
- bump version 2026.08.21-0 -> 2026.09.07-0
- Merge pull request 'fix(deps): update dependency django-allauth to >=65.19.2' (#656) from renovate/django-allauth-65.x into main
- fix(deps): update dependency django-allauth to >=65.19.2
- Merge pull request 'fix(deps): update dependency django to v6.1.1' (#655) from renovate/django-6.x into main
- Merge pull request 'fix(deps): update dependency psycopg to >=3.3.5' (#657) from renovate/psycopg-3.x into main
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.2.6' (#658) from renovate/https-github.com-renovatebot-github-action-46.x into main
- Merge pull request 'chore(deps): update dependency djlint to >=1.45.2' (#659) from renovate/djlint-1.x into main
- chore(deps): update https://github.com/renovatebot/github-action action to v46.2.6
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.2.5' (#654) from renovate/https-github.com-renovatebot-github-action-46.x into main
- chore(deps): update dependency djlint to >=1.45.2
- fix(deps): update dependency django to v6.1.1
- chore(deps): update https://github.com/renovatebot/github-action action to v46.2.5
- beta banner is gone for good
- Merge pull request 'chore(deps): lock file maintenance' (#644) from renovate/lock-file-maintenance into main
- Merge pull request 'fix(deps): update dependency sentry-sdk to >=2.68.1' (#645) from renovate/sentry-sdk-2.x into main
- Merge pull request 'fix(deps): update dependency cryptography to >=50.0.1' (#647) from renovate/cryptography-50.x into main
- Merge pull request 'chore(deps): update dependency isort to v9' (#648) from renovate/isort-9.x into main
- Merge pull request 'chore(deps): update dependency coverage to >=7.16.0' (#650) from renovate/coverage-7.x into main
- Merge pull request 'Audit Log Frontend per Organization' (#651) from audit-log-frontend into main
- fix: make the audit log swallows and its ordering hold up
- feat: note on the audit log that names are resolved at read time
- feat: record CR spec changes in the audit log
- docs: plan for recording CR spec changes in the audit log
- fix: name the service on every instance event
- feat: name the service and link the instance in audit log sentences
- fix: audit log actor attribution and active category tab
- feat: audit pause, limit profile and validity period changes
- fix: address audit log review findings
- feat: organization audit log page
- feat: stamp audit log entries onto organizations
- docs: organization audit log design and implementation plan
- fix: validate storage and replica bounds in create form and price preview
- configure allowed s3 endpoints for backup reveal
- Merge pull request 'Backup Content Access and Download' (#649) from backup-access into main
- feat: direct backup bucket access with credential reveal
- docs: backup download implementation plan
- docs: backup content access and download design
- fix(deps): update dependency psycopg to >=3.3.5
- chore(deps): update dependency coverage to >=7.16.0
- chore(deps): update dependency isort to v9
- fix(deps): update dependency cryptography to >=50.0.1
- fix(deps): update dependency sentry-sdk to >=2.68.1
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.2.3' (#643) from renovate/https-github.com-renovatebot-github-action-46.x into main
- chore(deps): update https://github.com/renovatebot/github-action action to v46.2.4
- chore(deps): lock file maintenance
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.08.21-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 56sBuild and Deploy Staging / build (push) Successful in 57sTests / test (push) Successful in 1m21sBuild and Deploy Production / deploy (push) Successful in 33sBuild and Deploy Staging / deploy-appuio (push) Successful in 8sreleased this
2026-08-21 07:26:53 +00:00 | 123 commits to main since this releaseRelease 2026.08.21-0
- bump version 2026.08.20-1 -> 2026.08.21-0
- Merge pull request 'fix: treat preserve-unknown-fields as a free-form map' (#637) from fix/preserve-unknown-fields-paths into main
- fix: treat preserve-unknown-fields as a free-form map
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.08.20-1
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 1m2sBuild and Deploy Staging / build (push) Successful in 1m6sTests / test (push) Successful in 1m23sBuild and Deploy Production / deploy (push) Successful in 3m0sBuild and Deploy Staging / deploy-appuio (push) Successful in 8sreleased this
2026-08-20 14:18:27 +00:00 | 126 commits to main since this releaseRelease 2026.08.20-1
- bump version 2026.08.20-0 -> 2026.08.20-1
- fix: treat a blank backup field path as no path
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.08.20-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 1m7sBuild and Deploy Staging / build (push) Successful in 1m4sTests / test (push) Successful in 1m21sBuild and Deploy Production / deploy (push) Successful in 3m13sBuild and Deploy Staging / deploy-appuio (push) Successful in 8sreleased this
2026-08-20 13:57:21 +00:00 | 128 commits to main since this releaseRelease 2026.08.20-0
- bump version 2026.07.15-0 -> 2026.08.20-0
- Merge pull request 'Backup Listing' (#631) from feat/backup-visibility into main
- fix: make the row-2 columns actually share a height
- style: give backup information a clearer presentation
- docs: add a Codey backup_config example, drop a false empty state
- fix: tidy the backup list presentation
- fix: align dotted-path reads with the schema-aware resolver
- docs: add backup visibility design and implementation plan
- test: cover remaining backup branches
- feat: show backup information on the instance detail page
- feat: assemble backup data for the instance detail view
- feat: read the configured backup policy from an instance spec
- feat: read backup objects from Kubernetes
- feat: expose backup_config in the ServiceDefinition admin
- feat: add ServiceDefinition.backup_config
- feat: add humanize_cron for backup schedule display
- refactor: move get_nested into core.utils.data
- Merge pull request 'fix: resolve CRD property names that contain dots' (#636) from fix/dotted-crd-property-keys into main
- fix: harden CRD dotted path resolution
- fix: resolve CRD property names that contain dots
- Merge pull request 'chore(deps): update https://github.com/astral-sh/setup-uv action to v10' (#633) from renovate/https-github.com-astral-sh-setup-uv-10.x into main
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.2.2' (#632) from renovate/https-github.com-renovatebot-github-action-46.x into main
- chore(deps): update https://github.com/astral-sh/setup-uv action to v10
- chore(deps): update https://github.com/renovatebot/github-action action to v46.2.2
- fix duplicate Open button on instance detail page
- fix all djlint findings and align formatter tooling
- upgrade dependencies and improve some tests
- Merge pull request 'chore(deps): update dependency coverage to >=7.15.4' (#620) from renovate/coverage-7.x into main
- Merge pull request 'fix(deps): update dependency sentry-sdk to >=2.68.0' (#625) from renovate/sentry-sdk-2.x into main
- Merge pull request 'fix(deps): update dependency django-scopes to >=2.1.0' (#629) from renovate/django-scopes-2.x into main
- fix(deps): update dependency sentry-sdk to >=2.68.0
- chore(deps): update dependency coverage to >=7.15.4
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.1.20' (#627) from renovate/https-github.com-renovatebot-github-action-46.x into main
- chore(deps): update https://github.com/renovatebot/github-action action to v46.1.21
- fix(deps): update dependency django-scopes to >=2.1.0
- Merge pull request 'chore(deps): update https://data.forgejo.org/actions/setup-node action to v7' (#626) from renovate/https-data.forgejo.org-actions-setup-node-7.x into main
- support instances parameter in provisioning deep links
- chore(deps): update https://data.forgejo.org/actions/setup-node action to v7
- support majorversion field for catalog api
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release 2026.07.15-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 58sBuild and Deploy Staging / build (push) Successful in 57sTests / test (push) Successful in 1m15sBuild and Deploy Production / deploy (push) Successful in 34sBuild and Deploy Staging / deploy-appuio (push) Successful in 6sreleased this
2026-07-15 05:34:09 +00:00 | 167 commits to main since this releaseRelease 2026.07.15-0
- bump version 2026.07.07-0 -> 2026.07.15-0
- Merge pull request 'chore(deps): update dependency coverage to >=7.15.1' (#609) from renovate/coverage-7.x into main
- Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.1.19' (#616) from renovate/https-github.com-renovatebot-github-action-46.x into main
- Merge pull request 'fix(deps): update dependency sentry-sdk to >=2.65.0' (#617) from renovate/sentry-sdk-2.x into main
- fix(deps): update dependency sentry-sdk to >=2.65.0
- chore(deps): update https://github.com/renovatebot/github-action action to v46.1.19
- chore(deps): update dependency coverage to >=7.15.1
- Merge pull request 'Consistent Date and Time Display' (#611) from design/consistent-datetime-display into main
- feat(frontend): render all dates/times in the viewer's local time
- docs: design and plan for consistent local-time display
- Merge pull request 'Fix Pod Log Display and Add Colors' (#612) from fix/pod-logs-bytes-decode into main
- fix autoescape
- Merge pull request 'Update dependency djlint to >=1.40.6' (#614) from renovate/djlint-1.x into main
- Merge pull request 'Update dependency kubernetes to >=36.0.3,<37' (#615) from renovate/kubernetes-36.x into main
- Merge pull request 'Warning-gated Org Deletion' (#607) from design/warning-gated-deletion into main
- Update dependency kubernetes to >=36.0.3,<37
- Update dependency djlint to >=1.40.6
- fix(core): close warning-gated deletion race and billing gaps
- fix(email): link deletion confirmation to general support page, not the archived org's
- fix(staff): resolve absolute support URLs in lifecycle email previews
- style(staff): wrap long lines in lifecycle email preview modal
- feat(staff): broaden lifecycle timeline to validity orgs with email preview modals
- feat(dev): per-worktree dev server port and database helpers
- refactor(core): extract reusable email builders into notifications module
- Merge pull request 'Update dependency django-filter to v26' (#608) from renovate/django-filter-26.x into main
- Merge pull request 'Update dependency djlint to >=1.40.5' (#610) from renovate/djlint-1.x into main
- fix(staff): accurate scheduled-deletion date and reminder states in lifecycle
- feat(staff): show trial & deletion lifecycle on organization detail
- test(reminders): cover deletion_warning key stays unwritten on SMTP failure
- test: align odoo trial-window assertions with effective_deletion_date
- fix(core): require is_expired in is_ready_for_deletion gate (extension race belt)
- feat(cleanup): log expired orgs stuck awaiting a deletion warning
- feat(cleanup): record deletion_confirmation in reminders json
- feat(cleanup): gate deletion on recorded warning + business-day buffer
- fix(reminders): record deletion_warning key only after a successful send
- feat(reminders): clear stale deletion warning when org is extended
- feat(reminders): gating deletion warning at expiry with BCC and Odoo push
- feat(logs): render ANSI color codes as HTML in the pod log viewer
- fix(core): guard is_ready_for_deletion against missing effective_deletion_date
- fix(logs): decode raw pod log bytes instead of str(bytes) wrapper
- feat(core): odoo trial_end tracks effective_deletion_date
- feat(core): add is_ready_for_deletion gate property
- feat(core): add deletion_warning_sent_at and effective_deletion_date
- feat(core): add _add_business_days helper
- feat(settings): add SERVALA_DELETION_WARNING_BCC
- docs: implementation plan for warning-gated deletion
- fix(frontend): render instance ID as HTML in delete confirmation help text
- Update dependency djlint to >=1.40.5
- Update dependency django-filter to v26
- Merge pull request 'Update dependency djlint to >=1.40.4' (#604) from renovate/djlint-1.x into main
- Merge pull request 'Update dependency django to v6.0.7' (#603) from renovate/django-6.x into main
- docs: design for warning-gated org deletion
- Merge pull request 'Fix k8s API client timeout' (#606) from fix/k8s-api-client-timeout-injection into main
- Merge pull request 'Update https://github.com/astral-sh/setup-uv action to v8.3.2' (#605) from renovate/https-github.com-astral-sh-setup-uv-8.x into main
- fix(k8s): inject default timeout when SDK passes _request_timeout=None
- allow to copy prod db
- Update https://github.com/astral-sh/setup-uv action to v8.3.2
- Update dependency djlint to >=1.40.4
- Update dependency django to v6.0.7
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
Release 2026.07.07-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 1m0sBuild and Deploy Staging / build (push) Successful in 1m0sTests / test (push) Successful in 1m21sBuild and Deploy Production / deploy (push) Successful in 2m59sBuild and Deploy Staging / deploy-appuio (push) Successful in 7sreleased this
2026-07-07 13:30:14 +00:00 | 226 commits to main since this releaseRelease 2026.07.07-0
- gitignore local .envrc
- bump version 2026.07.02-1 -> 2026.07.07-0
- feat(staff): refine organization detail view
- temp disable deploy job to talos
- Merge pull request 'Add Talos deployment target alongside OpenShift' (#599) from feat/talos-deployment-target into main
- feat(deploy): add Talos deployment target alongside OpenShift
- Merge pull request 'Service Catalog Read-Only API for Documentation' (#602) from service-catalog-ep into main
- document missing env vars
- document new env vars
- feat(api): add read-only service catalog endpoint
- service catalog endpoint design
- fix(errors): render error pages without DB-hitting context processors
- add staff links to helpdesk message
- fix(fqdn): submit custom domain verbatim instead of appending managed suffix
- feat(emails): point notification emails to the support page
- Merge pull request 'Automated Trial Cleanup with Grace Period' (#583) from trial-cleanup-grace-period into main
- just fmt
- fix(core): surface trial-cleanup teardown failures for retry
- feat(deploy): run procrastinate worker as a sidecar in the portal pod
- feat(core): run trial cleanup as a procrastinate periodic task
- install required dep for procrastinate
- feat(core): auto-clean expired trials with grace period
- add non-tech summary
- docs: refine trial cleanup with scale-down and human-friendly timing
- docs: add trial cleanup grace period design and plan
- Merge pull request 'Task Runner for Deferred or Periodic Tasks' (#597) from feature/task-runner into main
- feat(core): configurable task crons, timestamped worker logs
- fix(core): surface procrastinate logs on the console
- fix(core): allow manual defer of periodic tasks
- docs: document procrastinate background worker
- feat(deploy): replace CronJobs with procrastinate worker
- feat(core): add procrastinate task runner
- feat(staff): add per-instance fix for K8s health findings
- support git worktrees
- Merge pull request 'Fixes from Automated Security Review' (#596) from security/review-fixes into main
- fix(security): escape instance fields in support ticket HTML
- fix(security): run best-effort schema validation on CRD spec data
- fix(security): disable server-controlled hidden CRD form fields
- fix(security): render JSON payloads via json_script instead of |safe
- fix(security): bind invitation acceptance to the invited email
- fix(security): constant-time comparison for OSB basic auth
- fix(security): enable HSTS, SSL redirect and nosniff in prod
- fix(security): set CSRF_COOKIE_SECURE alongside the session cookie
- fix(security): scope invitation deletion to the request organization
- fix(security): default SERVALA_ENVIRONMENT to production (fail-safe DEBUG)
- fix(security): escape dynamic array widget hidden JSON value
- fix(security): enforce delete permission on ServiceInstanceDeleteView
- Merge pull request 'Update dependency djlint to >=1.40.3' (#591) from renovate/djlint-1.x into main
- Merge pull request 'Resolve compute-plan size field names from CRD schema' (#593) from fix/compute-plan-size-field-names into main
- Merge pull request 'Update https://github.com/renovatebot/github-action action to v46.1.18' (#594) from renovate/https-github.com-renovatebot-github-action-46.x into main
- Merge pull request 'Update https://github.com/astral-sh/setup-uv action to v8.3.0' (#595) from renovate/https-github.com-astral-sh-setup-uv-8.x into main
- Update https://github.com/astral-sh/setup-uv action to v8.3.0
- Update https://github.com/renovatebot/github-action action to v46.1.18
- Update dependency djlint to >=1.40.3
- fix: resolve compute-plan size field names from CRD schema
- Merge pull request 'Update dependency coverage to >=7.15.0' (#592) from renovate/coverage-7.x into main
- Merge pull request 'Organization Approval' (#590) from feature/organization-approval into main
- fix: make Odoo invoice-address lookup robust and cached
- feat: friendlier approval emails and resolved existing billing address
- feat: clearer Odoo search on approval card
- feat: link existing Odoo records at approval for deduplication
- docs: design for approval-time Odoo deduplication
- feat: improve staff approval detail UI
- feat: refine org approval UX (helpdesk html, picker, staff list)
- Update dependency coverage to >=7.15.0
- feat: require staff approval for new organizations
- docs: add organization approval flow design and plan
- don't display _HOSTS connection keys
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
-
Release 2026.07.02-1
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 56sBuild and Deploy Staging / build (push) Successful in 1m1sTests / test (push) Successful in 1m16sBuild and Deploy Production / deploy (push) Successful in 21sBuild and Deploy Staging / deploy (push) Successful in 8sreleased this
2026-07-02 08:51:58 +00:00 | 294 commits to main since this releaseRelease 2026.07.02-1
- bump version 2026.07.02-0 -> 2026.07.02-1
- bump version 2026.06.30-0 -> 2026.07.02-0
- Merge pull request 'Update dependency djlint to >=1.40.1' (#588) from renovate/djlint-1.x into main
- Merge pull request 'Update dependency pillow to >=12.3.0' (#589) from renovate/pillow-12.x into main
- Fix choice field validation for integer control plane enums
- show filtered total in staff view
- Update dependency pillow to >=12.3.0
- Update dependency djlint to >=1.40.1
- fix multiple container in pod log
- Merge pull request 'Display location in dashboard of recent instances' (#587) from location-of-instance into main
- display location in dashboard of recent instances
- Bulk Finding Fix on Staff Views (#584)
- Merge pull request 'Update dependency djlint to >=1.40.0' (#585) from renovate/djlint-1.x into main
- Merge pull request 'Update dependency sentry-sdk to >=2.64.0' (#586) from renovate/sentry-sdk-2.x into main
- Update dependency sentry-sdk to >=2.64.0
- Update dependency djlint to >=1.40.0
- reword the pricing disclaimer
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
-
Release 2026.06.30-0
StableAll checks were successfulBuild and Deploy Production / build (push) Successful in 58sBuild and Deploy Staging / build (push) Successful in 57sTests / test (push) Successful in 1m12sBuild and Deploy Production / deploy (push) Successful in 22sBuild and Deploy Staging / deploy (push) Successful in 8sreleased this
2026-06-30 07:20:47 +00:00 | 311 commits to main since this releaseRelease 2026.06.30-0
- bump version 2026.06.23-0 -> 2026.06.30-0
- Merge pull request 'Set Odoo payment term on the sale order' (#582) from odoo-payment-term-per-sale-order into main
- Set Odoo payment term on the sale order
- Merge pull request 'Allow overriding managed FQDN with a custom domain' (#581) from custom-fqdn-override into main
- Allow overriding managed FQDN with a custom domain
- Merge pull request 'Update dependency djlint to >=1.39.5' (#578) from renovate/djlint-1.x into main
- Merge pull request 'Update https://github.com/renovatebot/github-action action to v46.1.17' (#579) from renovate/https-github.com-renovatebot-github-action-46.x into main
- Merge pull request 'Add /support redirect to organization support form' (#580) from support-redirect into main
- Add /support redirect to organization support form
- Update https://github.com/renovatebot/github-action action to v46.1.17
- Update dependency djlint to >=1.39.5
- Merge pull request 'Scale price preview dynamically with replica count' (#575) from replica-dynamic-pricing into main
- Render choice config on non-enum fields as a dropdown
- Scale price preview dynamically with replica count
- Merge pull request 'Surface an error when the CRD schema cannot be fetched' (#576) from surface-crd-schema-fetch-error into main
- Surface an error when the CRD schema cannot be fetched
- Merge pull request 'Handle Sale Order Pricelist in Origin and Organization' (#574) from odoo-pricelist-per-sale-order into main
- Polish pricelist feature from review feedback
- Manage Odoo pricelists per sale order
- Merge pull request 'Link Odoo res.partner records from staff org billing entity' (#573) from billing-entity-links into main
- Link Odoo res.partner records from staff org billing entity
- Merge pull request 'Remove unused erp_reference field and clarify Odoo ID fields on BillingEntity' (#572) from remove-billingentity-erp-reference into main
- Remove unused erp_reference field and clarify Odoo ID fields on BillingEntity
- Merge pull request 'Update dependency djlint to >=1.39.4' (#571) from renovate/djlint-1.x into main
- Merge pull request 'Manage Resource Request via Catalog API' (#570) from compute-requests-limits into main
- Update dependency djlint to >=1.39.4
- Lock catalog-managed admin fields read-only
- Sync separate CPU/memory requests from catalog
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads