Dear testers, we're happy to announce Kiwi TCMS version 17.0!
IMPORTANT:
This is a major version release which includes security related updates, new Python runtime, several improvements and API changes.
You can explore everything at https://public.tenant.kiwitcms.org!
---
Public container image (x86_64):
pub.kiwitcms.eu/kiwitcms/kiwi latest aecae70a8f8a 911MB
IMPORTANT: version tagged and multi-arch container images are available only to subscribers!
Changes since Kiwi TCMS 16.6
Security
- Update Django from 6.1.2 to 6.1.3
- Update django-guardian from 3.5.0 to 3.5.1
- Update node_modules/fast-uri from 3.1.8 to 3.1.9
- Normalize Unicode and strip invisible characters from API responses
Improvements
- Update Python runtime from 3.12 to 3.14
- Update django-grappelli from 5.0.0 to 5.0.1
- Update django-guardian from 3.5.1 to 3.5.2
- Update django-tree-queries from 0.26.1 to 0.28.0
- Update markdown from 3.11 to 3.11.2
- Update psycopg from 3.3.6 to 3.3.7
- Update tzdata from 2026.5 to 2026.6
- Update node_modules/pdfmake from 0.3.11 to 0.3.13
- Update node_modules/webpack from 5.111.1 to 5.112.2
- Update node_modules/webpack-cli from 7.2.3 to 7.3.1
- Add Search button to Telemetry pages and redraw when pressed. Fixes Issue #3325
- PDF export Search results in A3 landscape & auto-fit to page width. Fixes Issue #4496
- Replace hard-coded /admin/ URLs. Closes Issue #4595
- Set TestExecution.start_date when changing status on TestRun page. Closes Issue #4371
- Keep stored API password when editing BugSystem via Admin. Closes Issue #4643
- Remove redundant CSS file from HTML template. Fixes Issue #4634
- Return to Test Plan page when Cancel button is clicked on New Test Case page. Closes Issue #4499
API
- API method Bug.get_comments() now returns fields id, comment, object_pk, user_id, user_name, submit_date
- API method TestCase.comments() now returns fields id, comment, object_pk, user_id, user_name, submit_date
- API method TestExecution.get_comments() now returns fields id, comment, object_pk, user_id, user_name, submit_date
- Add generate_rpc_schema command for static API descriptions
- Annotate API method arguments with their types
- Generate OpenAPI schema and llms.txt files from the API registry and serve them under https://<kiwitcms-host>/static/api/
Refactoring and testing
- Update locust from 2.46.6 to 2.47.0
- Update pylint from 4.1.2 to 4.1.3
- Update sphinx from 9.0.4 to 9.1.1
- Migrate to ESLint 10 with flat config
- Include test packages in the Python package
Changes since Kiwi TCMS Enterprise v16.6-mt
- Based on Kiwi TCMS v17.0
- Update Python runtime from 3.12 to 3.14
- Update certbot from 5.8.0 to 5.9.0
- Update django-ses from 4.8.0 to 4.9.0
- Update kiwitcms-tenants from 4.10.0 to 4.10.3
- Update sentry-sdk from 2.71.0 to 2.72.0
- Update social-auth-app-django from 6.1.0 to 7.2.0
- Keep automatic name normalization in social-auth pipeline
- Add Model Context Protocol server with OAuth 2.1 authorization. Available under https://<kiwitcms-host>/mcp/
- Add API Help menu to navbar
- Add Model Context Protocol menu to navbar
- Add Privacy Policy menu under Help menu item
- Add remove_stale_tenant_tokens management command
- Add django-oauth-toolkit add-on
- Remove django-prometheus add-on
Private container images
hub.kiwitcms.eu/kiwitcms/version 17.0 (aarch64) 488c91b75a72 03 Nov 2026 737MB hub.kiwitcms.eu/kiwitcms/version 17.0 (x86_64) f13386e66e3a 03 Nov 2026 805MB hub.kiwitcms.eu/kiwitcms/enterprise 17.0-mt (aarch64) ebbc08c607fe 03 Nov 2026 1.05GB hub.kiwitcms.eu/kiwitcms/enterprise 17.0-mt (x86_64) 8a57c0727c1d 03 Nov 2026 1.12GB
IMPORTANT: version tagged, multi-arch and Enterprise container images are available only to subscribers!
How to upgrade
Follow the Upgrading instructions from our documentation.
Happy testing!
---
If you like what we're doing please help us grow:
- Give ⭐ on GitHub;
- Join our newsletter and follow all news;
- Become a subscriber and help us sustain development
- Become a reseller and help us serve your community