Kiwi TCMS 17.0

major release, security, improvements and API changes

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: