Kiwi TCMS 7.1

We're happy to announce Kiwi TCMS version 7.1! This is a small improvement update which includes database schema and API changes, several other improvements, internal refactoring and updated translations. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  c8cf36ac5ca5    602 MB
kiwitcms/kiwi       6.2     7870085ad415    957 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955 MB
kiwitcms/kiwi       6.1     b559123d25b0    970 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970 MB
kiwitcms/kiwi       5.3.1   a420465852be    976 MB

Changes since Kiwi TCMS 7.0

Improvements

  • Update django from 2.2.5 to 2.2.6
  • Update python-gitlab from 1.11.0 to 1.12.1
  • Update pygithub from 1.43.8 to 1.44
  • Update psycopg2 from 2.8.3 to 2.8.4
  • Add help tooltips in all telemetry pages
  • Better styling for checkboxes in 'Add hyperlink' dialog, part of TestRun page
  • Add hyperlink validation. Fixes Issue #1147

Database migrations

  • Add bugs permissions to Tester group. Will make any difference only if upgrading from existing installation

API

  • New method Bug.remove()

Bug fixes

  • Always build with the latest versions of translations
  • Add 'Delete' menu item in Bugs page. Fixes #1153 Issue #1153
  • When deleting hyperlink from TestExecution hide the actual UI elements from the page
  • Fix failure to delete TCs when the number of TCs inside TP is greater than 100. Fixes Issue #1149 and Sentry KIWI-TCMS-8F

Refactoring

  • Rename directory xmlrpc to rpc and pylint updates. Refs Issue #682 (Matej Aleksandrov, Sinergise)
  • Remove labels from form fields, Refs Issue #652 (Azmi YƜKSEL)
  • New base class for tests around permissions (Svetlomir Balevski)
  • New "blueprint" test case around permissions to make testing in this area more robust
  • Refactor many views from function based to class based
  • Update stale tests in tcms/core/tests/ and make sure they aren't ignored by the test runner
  • Remove empty class XMLRPCBaseCaseForm
  • Remove XMLRPCNewCaseForm, duplicate of NewCaseForm
  • Remove rpc.forms.UpdateCaseForm in favor of XMLRPCUpdateCaseForm
  • Update only English sources with new strings as a temporary workaround b/c Crowdin uses different formatting heuristics than gettext. This will minimize the number of .po format changes
  • A few pylint fixes

Translations

Acknowledgments

A special "thank you" goes to our friends from PyCon Balkan in Belgrade who allowed us to host an open source coding sprint in Belgrade during the conference!

A second "thank you" goes to Open Labs Hackerspace who hosted a localization sprint in Tirana and contributed to several different languages!

Thank you for being part of our community. Version 7.1 includes all of your contributions.

Website updates

We're using the opportunity to share that website is now serving via SSL courtesy of GitHub and Let's encrypt.

Our main page has also been updated to showcase some of our customers: Better (Slovenia), Minds, Inc. (USA), Musala Soft (Bulgaria). If you would like to feature your corporate logo and tell us how you use Kiwi TCMS then drop us an email!

Upcoming conferences

The next two events we are going to participate are:

If you are around come and say "Happy testing"!

Upcoming FOSDEM 2020

We are happy to announce that our team, together with SUSE and Linaro will be hosting the Testing and Automation Developer Room at FOSDEM in Brussels next February.

Call for papers is open until December 10th 2019. Anything related to software testing and open source is welcome. Apply from the link above.

How to upgrade

Backup first! If you are using Kiwi TCMS as a Docker container then:

cd path/containing/docker-compose/
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

WHERE: docker-compose.yml has been updated from your private git repository! The file provided in our GitHub repository is an example. Not for production use!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 7.0

We're happy to announce Kiwi TCMS version 7.0! This is a major release which includes security updates, significant database schema and API changes, many improvements, removed functionality, bug fixes, substantial internal refactoring and several new languages. You can explore everything at https://public.tenant.kiwitcms.org!

The 7.0 version number happily coincides with the fact that we've surpassed 70000 downloads from Docker Hub.

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  d34dc6d896bf    584 MB
kiwitcms/kiwi       6.2     7870085ad415    957 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955 MB
kiwitcms/kiwi       6.1     b559123d25b0    970 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970 MB
kiwitcms/kiwi       5.3.1   a420465852be    976 MB

Changes since Kiwi TCMS 6.11

Security

  • API method BugSystem.filter() has been removed (now unused) but it was possible to use this method to steal passwords or keys used for Issue Tracker integration. This vulnerability could be exploited by users logged into Kiwi TCMS and is classified as medium severity! We advise you to change your integration API keys and passwords immediately!

Improvements

  • Update Django from 2.2.4 to 2.2.5
  • Update django-uuslug from 1.1.8 to 1.1.9
  • Update mysqlclient from 1.4.2.post1 to 1.4.4
  • Update python-bugzilla from 2.2.0 to 2.3.0
  • Update python-gitlab from 1.10.0 to 1.11.0
  • Update patternfly from 3.59.3 to 3.59.4
  • Reduce docker image size from 1.01 GB to under 600 MB
  • Add TestCase Health telemetry
  • Add support for Redmine issue tracker. Fixes Issue #41 (Jesse C. Lin)
  • Add breathing room around HTML form's submit buttons (Rady Madjev)
  • New TestRun page action: bulk-add hyperlinks to TestExecution(s)
  • Make it possible to disable HTTPS by specifying the KIWI_DONT_ENFORCE_HTTPS environment variable! Fixes Issue #1036 (Marco Descher)
  • Documentation updates, including internal style checker. Fixes Issue #1000 (Prome88)
  • When linking a TestExecution to a defect and choosing to update the Issue Tracker Kiwi TCMS will not add a comment pointing back to TR ID/summary/URL and TE ID/summary. This provides more detailed information about the reproducer instead of just linking to a TestCase without any specific execution details like we did in the past
  • Display additional defect information via Issue Tracker integration. On Patternfly pages which show defect URLs this is accessible via a small info icon. Fixes Issue #117
  • Add minimalistic defect tracker functionality. Fixes Issue #699
    • integrated with Issue Tracker integration layer as if it was an external system
    • when adding hyperlink to TestExecition (also via API method TestExecution.add_link()) this is special cased and the references between Bug and TestExecution are always updated
    • when clicking 'Report bug' from inside Test Execution the new defect is reported automatically and a new browser window opens to display the information

Database migrations

  • Tell the migration planner to apply testruns.0006_rename_test_case_run_to_test_execution after linkreference.0001_squashed. This enables subsequent migrations and new functionality to be applied without crashing.

    Warning

    Django should be able to handle this automatically both for existing installations and for new ones. In any case make sure you backup your data first and make a dry-run to verify that nothing breaks!

  • Remove fields url_reg_exp, validate_reg_exp and description from BugSystem model

  • Update the following fields in LinkReference model:

    • rename test_case_run to execution
    • add indexing for created_on and url
    • add is_defect field
  • Apply LinkReference permissions to default group Tester. Fixes Issue #881

    Warning

    Administrators of existing applications will need to apply these permissions by hand via the Admin section.

  • Remove testcases.Bug model, replaced with LinkReference. Closes Issue #1029 and obsoletes Issue #320.

    Note

    Linking bugs to TestExecution is now performed via URLs instead of keeping a reference to BUG-ID and trying to reconstruct the URL on the fly.

    Warning

    The model named Bug which is added by subsequent migrations refers to defects reported into Kiwi TCMS minimalistic defect tracker!

  • New model bugs.Bug is now available. Permissions of type bugs | bug | Can ... will be applied to the default group named Tester only for new installations.

    Warning

    Administrators of existing applications will need to apply these permissions by hand via the Admin section.

API

  • TestExecution.add_link() method now returns serialized LinkReference object.
  • TestExecution.remove_link() method now accepts one parameter of type dict used to filter the objects which to remove
  • TestExecution.get_links() method now accepts one parameter of type dict instead of int
  • TestExecution.add_link() method signature changed from (int, str, str) to (dict), where the single parameter holds field values for the LinkReference model
  • Remove TestExecution.add_bug() method, use TestExecution.add_link()
  • Remove TestExecution.remove_bug() method, use TestExecution.remove_link()
  • Remove TestCase.add_bug() method
  • Remove TestCase.remove_bug() method
  • Remove Bug.remove() method, use TestExecution.remove_link()
  • Remove Bug.create() method, use TestExecution.add_link()
  • Add method Bug.details() which together with the underlying IssueTracker.details() is the foundation of how Kiwi TCMS fetches extra details from the issue tracking system. The default implementation uses OpenGraph protocol to collect the data that will be shown. You may override .details() for each issue tracker (or add your own IT) to extend this functionality. Information is cached for 1 hour by default. References Issue #117
  • Add methods Bug.add_tag() and Bug.remove_tag()
  • Existing method with name Bug.filter() has changed behavior. It is now used to query objects from Kiwi TCMS minimalistic defect tracker

Removed functionality

  • Remove IssueTrackerType.all_issues_link() method. This was used in TestRun Report page to show a single link that will open all bugs in the Issue Tracker. Most trackers don't support this and the UI portion has been rewritten
  • Remove LinkOnly issue tracker - obsolete because all defects are now added to TestExecutions via their URLs
  • Remove bulk-add/bulk-remove of bugs in TestRun page, replaced by bulk-add for hyperlinks

Settings

  • Respect the CACHES setting, see Django docs for more info. Initially this setting is used to cache defect details received via Issue Tracker integration. See Issue #117

Bug fixes

  • Don't auto-download FontAwesome for SimpleMDE. Resolves icons disappearing on pages which have the markdown editor. Fixes Issue #905
  • Reorder HTML elements so Delete button is still visible in TestCase review comment section. Fixes Issue #1013 (Rady Madjev)
  • Remove section that displays bugs in TestExecution container. Bugs are now denoted by a small icon next to their hyperlink. Closes Issue #475
  • Cache Issue Tracker connections per base_url. Fixes Issue #290

Refactoring

  • Lots of refactoring from function based views to class based views (Rady Madjev)
  • Use JavaScript and the API to remove case execution instead of dedicated backend function (Rady Madjev)
  • Update pylint directives around missing permissions (Svetlomir Balevski)
  • Fix typo in identifier. Fixes CID 344186
  • Use TestExecution.add_link() and TestExecution.remove_link() in UI instead of dedicated backend function.
  • Remove unused LinkReference views, forms and tests modules

Translations

For more information check-out all supported languages. To request new language click here!

junit.xml-plugin v0.4

A few days ago we have also released kiwitcms-junit.xml-plugin v0.4 with the following changes:

  • Update junitparser from 1.3.2 to 1.3.4
  • Also support XML files with <testsuites> root tag (Katalon Studio). Fixes Issue #9

tap-plugin v0.4

We have also released kiwitcms-tap-plugin v0.4 with the following changes:

  • Include traceback from TAP file as TestExecution comment. Fixes Issue #7 (Christophe CHAUVET)

How to upgrade

Backup first! If you are using Kiwi TCMS as a Docker container then:

cd path/containing/docker-compose/
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

WHERE: docker-compose.yml has been updated from your private git repository! The file provided in our GitHub repository is an example. Not for production use!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.11

We're happy to announce Kiwi TCMS version 6.11! This is a security and improvement release which updates many internal dependencies, adds 2 new Telemetry reports, updates TestPlan and TestCase cloning pages and provides several other improvements and bug fixes. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  6a8249d23a67    1.011 GB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.10

Security

Improvements

  • Update python-gitlab from 1.8.0 to 1.10.0
  • Update django-grappelli from 2.12.3 to 2.13.1
  • Update django-simple-history from 2.7.2 to 2.7.3
  • Update django-attachments to 1.4.1
  • Update PyGithub from 1.43.7 to 1.43.8
  • Update patternfly to version 3.59.3
  • Update prismjs to version 1.17.0
  • Add Testing Status Matrix telemetry
  • Add Testing Execution Trends telemetry
  • Make it possible to attach files directly inside Test Plan page
  • Make it possible to attach files directly inside Test Execution widget
  • Convert Clone TestPlan page to Patternfly, greatly simplify the UI and update behavior:
    • Cloned TP author will always be set to the current user
    • Cloned TC author will always be set to the current user
    • Always keep the original default tester for test cases when cloning
    • Refactor to class based view
    • Fix a problem where Version values failed form validation b/c we've been trying to filter based on non-existing field product_id instead of just product
    • Fixes a problem where erroneous Version value was shown in the UI
  • Convert Clone TestCase page to Patternfly, greatly simplify the UI and update behavior. Fixes Issue #838:
    • Allow cloning into multiple test plans
    • Remove 'Filter another plan' option. Will be replaced by 'Add TP to TC', see Issue #1021
    • Always update sortkey. Cloned TC will show at the bottom of the TestPlan
    • Cloned TC author will always be set to the current user
    • Always keep the original default tester

API

  • First parameter of RPC method Bug.report() has been renamed from test_case_run_id to execution_id. This may break existing API scripts which try to pass this argument by name instead of by position!

Settings

  • Allow ENV variables KIWI_USE_TZ and KIWI_TIME_ZONE to control settings USE_TZ and TIME_ZONE. Fixes Issue #982 (Jason Yi)

Bug fixes

  • Fix wrong permission label when deleting comments. Fixes Issue #1010

Refactoring

  • Disable unnecessary pylint messages for missing-permission-required checker (Svetlomir Balevski)
  • Remove unnecessary from_plan URL variable making cleaner URLs
  • kiwi_lint: Don't check nested functions for permissions
  • Remove and regroup JavaScript functions
  • Instruct pyup-bot to monitor requirements/tarballs.txt for updates

Translations

How to upgrade

Backup first! If you are using Kiwi TCMS as a Docker container then:

cd path/containing/docker-compose/
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

WHERE: docker-compose.yml has been updated from your private git repository! The file provided in our GitHub repository is an example. Not for production use!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.10

We're happy to announce Kiwi TCMS version 6.10! This is a small security and improvement update. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  bbb581d60ed1    1.005 GB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.9

Security

  • Update Django from 2.2.1 to 2.2.2 for medium severity CVE-2019-12308 (XSS), CVE-2019-11358 (jQuery). More info
  • Add missing permission checks for menus in Test run page UI template. Permission check added for TestExecution status and comment menu. References Issue #716
  • Re-enable static analysis with bandit and Coverity Scan in Travis CI (Svetlomir Balevski)

Improvements

  • Update psycopg2 from 2.8.2 to 2.8.3
  • Update markdown from 3.1 to 3.1.1
  • Update patternfly to version 3.59.2
  • Override PasswordResetForm because Site.objects.get_current() didn't produce correct results when working with kiwitcms-tenants
  • Show column is_active in user admin page

Refactoring

  • Add test for email_case_deletion() (Rik)
  • New linter to warn about usage of AutoField. Fixes Issue #737 (Ivo Donchev, HackSoft)
  • New linter to discover empty classed. Fixes Issue #739 (Daniel Goshev)
  • New linter to warn about usage of OneToOneField. Fixes Issue #735 (George Goranov)
  • New linter to warn about usage of function based views. Fixes Issue #734 (Yavor Lulchev, Uber)
  • New linter to discover Python files in directories without __init__.py. Fixes Issue #790

Join us at OpenExpo in Madrid

Kiwi TCMS is exhibitor at OpenExpo Europe on June 20th in Madrid. We will be hosting an info booth and 2 technical presentations delivered by Anton Sankov and Alex Todorov.

Kiwi TCMS is also the leading finalist in the Best Tech Community category at Open Awards 2019!

Use OE19SPEAKERINVITE 100% discount code! Get your ticket here!

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.9

We're happy to announce Kiwi TCMS version 6.9! This is a small improvement and bug-fix update which introduces our first telemetry report: testing breakdown. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  a01eaeddf213    1.001 GB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.8

Improvements

  • Update mysqlclient from 1.4.2 to 1.4.2.post1
  • Ship with prism.js so it can be used for syntax highlighting
  • Add Testing Breakdown telemetry
  • Mark more strings for translations
  • Add delete_user() function which can delete data across Postgre schemas (if kiwitcms-tenants add-on is installed)

API

  • Remove deprecated TestCaseRun. API methods. Use the new TestExecution. methods introduced in v6.7. Fixes Issue #889

Bug fixes

  • Fix typos in documentation (@Prome88)
  • Fix TemplateParseError in email templates when removing test cases. On-delete email notification is now sent properly

Refactoring

  • Add more tests around TestRun/TestExecution menu permissions
  • Minor pylint fixes

Translations

Join us at OpenExpo in Madrid

Kiwi TCMS is exhibitor at OpenExpo Europe on June 20th in Madrid. We will be hosting an info booth and 2 technical presentations delivered by Anton Sankov and Alex Todorov.

Next week we are going to announce 100% discount tickets for our guests at the conference. If you are interested in coming subscribe to our newsletter and don't miss the announcement!

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.8

We're happy to announce Kiwi TCMS version 6.8! This is a small improvement and bug-fix update. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  fca095f95475    994.8 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.7

Improvements

  • Update Django from 2.2 to 2.2.1
  • Update django-simple-history from 2.7.0 to 2.7.2
  • Update django-grappelli from 2.12.2 to 2.12.3
  • Update psycopg2 from 2.8 to 2.8.2
  • Update pygithub from 1.43.6 to 1.43.7
  • Upgrade pip and setuptools inside Docker image
  • Update documentation with newer screenshots and updated Tutotial. Fixes Issue #837 (@Prome88)
  • Document how to enable public read-only views
  • Remove deprecated documentation section about Bugzilla authentication
  • Install PostgreSQL libraries in Docker image which makes it easier to switch the DB backend without rebuilding the entire image
  • Remove npm, libxml2-devel and libxslt-devel from Docker image
  • Database engine configuration now respects the KIWI_DB_ENGINE environment variable which defaults to django.db.backends.mysql. This will make it easier for admins to change DB engine by updating their docker-compose.yml

Bug fixes

  • Pin bootstrap-switch to version 3.3.4 in package.json. Fixes Issue #916

Translations

Refactoring

  • Don't use Site.objects.get_current() because it has an internal cache and causes email notifications from tenants to use the wrong URL
  • More changes around renaming of TestCaseRun to TestExecution

GitHub Marketplace

During the past week we have silently launched Kiwi TCMS on GitHub Marketplace. Free plans will be redirected to public.tenant.kiwitcms.org while paid plans will be hosted under *.tenant.kiwitcms.org sub-domains!

Our team is still working on all requirements for GitHub integration and we will issue a formal statement when ready!

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.7

We're happy to announce Kiwi TCMS version 6.7! This is a small improvement and bug-fix update. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  702a78976de7    993.5 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.6

Improvements

  • Update Django from 2.1.7 to 2.2
  • Update markdown from 3.0.1 to 3.1
  • Update psycopg2 from 2.7.7 to 2.8
  • Update pygithub from 1.43.5 to 1.43.6
  • Update bleach-whitelist from 0.0.9 to 0.0.10
  • Update marked(.js) to version 0.6.2
  • Support arbitrary depth for MENU_ITEMS setting
  • Support auto-discovery of 3rd party Telemetry plugins, see documentation

Database migrations

  • Rename TestCaseRun to TestExecution including renaming existing permissions
  • Rename TestCaseRunStatus to TestExecutionStatus

API

  • Rename TestCaseRun.* to TestExecution.*
  • Rename TestCaseRunStatus.* to TestExecution.*
  • This version keeps the old names for backwards compatibility reasons but they will be removed in Issue #889

Bug fixes

  • Prompt user before deleting attachments. Fixes Issue #867 (Martin Jordanov)
  • email_case_deletion() format error fixed so notifications when test cases are deleted are not sent (Rik)

Refactoring

  • Remove unused images
  • Install node_modules/ under tcms/ and include it inside PyPI tarball

Translations

Native JUnit 5 plugin

Our team is happy to announce the availability of kiwitcms-junit-plugin. This is a native JUnit 5 plugin which will read the results from your automated test suite and send them back to Kiwi TCMS.

Version 1.0.3 and the latest changes in master branch are still to be considered Beta quality. They are available for early preview and feedback.

Many thanks to Aneta Petkova who is the main contributor behind this plugin!

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.6

We're happy to announce Kiwi TCMS version 6.6! This is a medium severity security update, improvement and bug-fix update. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  c4734f98ca37    971.3 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.5.3

Security

  • Explicitly require marked v0.6.1 to fix medium severity ReDoS vulnerability. See SNYK-JS-MARKED-73637

Improvements

  • Update python-gitlab from 1.7.0 to 1.8.0
  • Update django-contrib-comments from 1.9.0 to 1.9.1
  • More strings marked as translatable (Christophe CHAUVET)
  • When creating new TestCase you can now change notification settings. Previously this was only possible during editing
  • Document import-export approaches. Closes Issue #795
  • Document available test automation plugins
  • Improve documentation around Docker customization and SSL termination
  • Add documentation example of reverse rroxy configuration for HAProxy (Nicolas Auvray)
  • TestPlan.add_case() will now set the sortkey to highest in plan + 10 (Rik)
  • Add LinkOnly issue tracker. Fixes Issue #289
  • Use the same HTML template for both TestCase new & edit
  • New API methods for adding, removing and listing attachments. Fixes Issue #446:
    • TestPlan.add_attachment()
    • TestCase.add_attachment()
    • TestPlan.list_attachments()
    • TestCase.list_attachments()
    • Attachments.remove_attachment()

Database migrations

  • Populate missing TestCase.text history. In version 6.5 the TestCase model was updated to store the text into a single field called text instead of 4 separate fields. During that migration historical records were updated to have the new text field but values were not properly assigned.

    The "effect" of this is that in TestCaseRun records you were not able to see the actual text b/c it was None.

    This change ammends 0006_merge_text_field_into_testcase_model for installations which have not yet migrated to 6.5 or later. We also provide the data-only migration 0009_populate_missing_text_history which will inspect the current state of the DB and copy the text to the last historical record.

Removed functionality

  • Remove legacy reports. Closes Issue #657

  • Remove "Save & Continue" functionality from TestCase edit page

  • Renamed API methods:

    • TestCaseRun.add_log() -> TestCaseRun.add_link()
    • TestCaseRun.remove_log() -> TestCaseRun.remove_link()
    • TestCaseRun.get_logs() -> TestCaseRun.get_links()

    These methods work with URL links, which can be added or removed to test case runs.

Bug fixes

  • Remove hard-coded timestamp in TestCase page template, References Issue #765
  • Fix handling of ?from_plan URL parameter in TestCase page
  • Make TestCase.text occupy 100% width when rendered. Fixes Issue #798
  • Enable markdown.extensions.tables. Fixes Issue #816
  • Handle form erros and default values for TestPlan new/edit. Fixes Issue #864
  • Tests + fix for failing TestCase rendering in French
  • Show color-coded statuses on dashboard page when seen with non-English language
  • Refactor check for confirmed test cases when editting to work with translations
  • Fix form values when filtering test cases inside TestPlan. Fixes Issue #674 (@marion2016)
  • Show delete icon for attachments. Fixes Issue #847

Refactoring

  • Remove unused .current_user instance attribute
  • Remove EditCaseForm and use NewCaseForm instead, References Issue #708, Issue #812
  • Fix "Select All" checkbox. Fixes Issue #828 (Rady)

Translations

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.5.3

We're happy to announce Kiwi TCMS version 6.5.3! This is a security, improvement and bug-fix update that includes new versions of Django, includes several database migrations and fixes several bugs. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  b9355cf85833    1.039 GB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.5

Security

  • Update Django from 2.1.5 to 2.1.7. Fixes CVE-2019-6975: Memory exhaustion in django.utils.numberformat.format()

Improvements

  • Update mysqlclient from 1.4.1 to 1.4.2
  • Multiple template strings marked as translatable (Christophe CHAUVET)

Database migrations

  • Email notifications for TestPlan and TestCase now default to True
  • Remove TestPlanEmailSettings.is_active field

API

  • New method Bug.report(), References Issue #18
  • Method Bug.create() now accepts parameter auto_report=False

Translations

Bug fixes

  • Show the user who actually tested a TestCase instead of hard-coded value. Fixes Issue #765
  • Properly handle pagination button states and page numbers. Fixes Issue #767
  • Add TestCase to TestPlan if creating from inside a TestPlan. Fixes Issue #777
  • Made TestCase text more readable. Fixes Issue #764
  • Include missing templates and static files from PyPI tarball

Refactoring

  • Use find_packages() when building PyPI tarball
  • Install Kiwi TCMS as tarball package inside Docker image instead of copying from the source directory
  • Pylint fixes
  • Remove testcases.views.ReturnActions() which is now unused
  • Refactor New TestCase to class-based view and add tests

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.5

We're happy to announce Kiwi TCMS version 6.5! This is a minor security, improvement and bug-fix update that includes new versions of Django and other dependencies, removes some database fields, includes backend API updates and fixes several bugs. You can explore everything at https://public.tenant.kiwitcms.org!

Together with this release we announce:

Both of these are implemented in Python and should work on standard TAP and junit.xml files generated by various tools!

Additionally 3 more plugins are currently under development by contributors:

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  7ca4fda602fc    1.002 GB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.4

Security

  • Better override of SimpleMDE markdown rendering to prevent XSS vulnerabilities in SimpleMDE

Improvements

  • Update patternfly to version 3.59.1
  • Update bleach from 3.0.2 to 3.1.0
  • Update django-vinaigrette from 1.1.1 to 1.2.0
  • Update django-simple-history from 2.6.0 to 2.7.0
  • Update django-grappelli from 2.12.1 to 2.12.2
  • Update mysqlclient from 1.3.14 to 1.4.1
  • Update psycopg2 from 2.7.6.1 to 2.7.7
  • Update pygithub from 1.43.4 to 1.43.5
  • Convert TestCase page to Patternfly
    • page menu is under ... in navigation bar
    • Test plans card is missing the old 'add plan' functionality b/c we are not at all sure if adding plans to test cases is used at all. Can bring it back upon user request!
    • Bugs card is missing the add/remove functionality for b/c we are not quite sure how that functionality is used outside test runs!
  • Convert new TestCase page to Patternfly and provide Given-When-Then text template. This prompts the author to use a BDD style definition for their scenarios. We believe this puts the tester into a frame of mind more suitable for expressing what needs to be tested
  • Add a favicon. Fixes Issue #532
  • Sort Component, Product and Version objects alphabetically. Fixes Issue #633
  • Search test case page now shows Components and Tags
  • Search test case page now allows filtering by date. Fixes Issue #715
  • Search test case page now uses radio buttons to filter by automation status
  • Small performance improvement when searching test plans and test cases
  • Search test run page now allows to filter by Product but still continue to display all Builds in the selected Product
  • Updated doc-string formatting for some tcms modules

Database migrations

Known issues: on our demo installation we have observed that permission labels were skewed after applying migrations. The symptom is that labels for removed models are still available, labels for some models may have been removed from groups/users or there could be permission labels appearing twice in the database.

This may affect only existing installations, new installations do not have this problem!

We are not certain what caused this but a quick fix is to remove all permissions from the default Tester group and re-add them again!

  • Remove TestCase.alias
  • Remove TestCaseRun.running_date
  • Remove TestCaseRun.notes
  • Remove TestCase.is_automated_proposed
  • Remove TestCaseText model, merge into TestCase.text field. Closes Issue #198
  • Remove Priority.sortkey
  • Remove Build.description
  • Remove Classification.sortkey and Classification.description
  • Convert TestCase.is_automated from int to bool
  • Rename TestCaseRun.case_run_status to status

API

  • New method TestCaseRunStatus.filter()
  • New method Product.create()
  • New method Classification.filter()
  • New method BugSystem.filter()
  • Changes to TestCase.add_component():
    • now accepts component name instead of id
    • now fails if trying to add components linked to another Product.
    • now returns serialized TestCase object

Translations

Bug fixes

  • Fix for missing migrations from django-simple-history, see DSH #512 and StackOverflow #54177838
  • Fix cloning of test cases by surrounding bootstrap-selectpicker call with try-catch. Fixes Issue #695
  • Fix a traceback with TestRun report page when the RPC connection to Bugzilla can't be established

Refactoring

  • Remove unused form classes, methods, fields and label attributes
  • Remove unused or duplicate methods from TestCase model
  • Remove useless methods from BaseCaseForm()
  • Add test for discovering missing migrations
  • Add test for sanity checking PyPI packages which will always build tarball and wheel packages

tcms-api 5.2 (30 Jan 2019)

  • Add plugin_helpers.Backend which implements our test runner plugin specification in Python
  • Add dependency to kerberos (Aniello Barletta)

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.4

We're happy to announce Kiwi TCMS version 6.4! This is a security, improvement and bug-fix update that includes new versions of Django, Patternfly and other dependencies. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  39fcb88182bb    963.4 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.3

Security

  • Update Django from 2.1.4 to 2.1.5, which deals with CVE-2019-3498: Content spoofing possibility in the default 404 page
  • Update Patternfly to version 3.59.0, which deals with XSS issue in bootstrap. See CVE-2018-14041
  • By default session cookies will expire after 24 hours. This can be controlled via the SESSION_COOKIE_AGE setting. Fixes Issue #556

Improvements

  • Update mysqlclient from 1.3.13 to 1.3.14
  • Update python-gitlab from 1.6.0 to 1.7.0
  • Update django-simple-history from 2.5.1 to 2.6.0
  • Update pygithub from 1.43.3 to 1.43.4
  • New API method TestCase.remove(). Initially requested as SO #53844380
  • Drop down select widges in Patternfly pages are now styled with bootstrap-select giving them more consistent look and feel with the rest of the page (Anton Sankov)
  • Create new TestPlan page now includes toggles to control notifications and whether or not the test plan is active. This was previously available only in edit page (Anton Sankov)
  • By default TestPlan notification toggles are turned on. Previously they were off (Anton Sankov)
  • Create and Edit TestPlan pages now look the same (Anton Sankov)
  • Kiwi TCMS is now accepting donations via Open Collective

Removed functionality

  • Remove TestPlan page -> Run menu -> Add cases to run action. This is the same as TestRun page -> Cases menu -> Add action
  • Legacy reports will be removed after 1st March 2019. Provide your feedback in Issue #657
  • The /run/ URL path has been merged with /runs/ due to configuration refactoring. This may break your bookmarks or permalinks!

Bug fixes

  • Don't traceback if markdown text is None. Originally reported as SO #53662887
  • Show loading spinner when searching. Fixes Issue #653
  • Quick fix: when viewing TestPlan cases make TC summary link to the test case. Previously the summary column was a link to nowhere.

Refactoring

  • Pylint fixes
  • New and updated internal linters
  • Refactor testplans.views.new to class based view (Anton Sankov)
  • Refactor TestCase -> Bugs tab -> Remove to JSON-RPC. References Issue #18
  • Refactor removeCaseRunBug() to JSON-RPC, References Issue #18
  • Remove unused render_form() methods
  • Remove unnecessary string-to-int conversion (Ivaylo Ivanov)
  • Remove obsolete label fields. References Issue #652 (Anton Sankov)
  • Remove JavaScript that duplicates requestOperationUponFilteredCases()
  • Remove QuerySetIterationProxy class - not used anymore

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.3

We're happy to announce Kiwi TCMS version 6.3! This is a medium severity security update that includes new versions of Django and Patternfly, new database migrations, lots of improvements, bug fixes and internal refactoring. This version also introduces integration with GitLab issue tracker! You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  8135624fdca2    960.3 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.2.1

Security

  • Resolve medium severity XSS vulnerability which can be exploited when previewing malicious text in Simple MDE editor. See CVE-2018-19057, SNYK-JS-SIMPLEMDE-72570
  • Use mozilla/bleach before rendering Markdown to the user as a second layer of protection against the previously mentioned XSS vulnerability

Improvements

  • Update to Django 2.1.4
  • Update to Patternfly 3.58.0
  • Make docker container restartable (Maik Opitz, Adam Hall)
  • Add GitLab issue tracker integration. Fixes Issue #176 (Filipe Arruda, Federal Institute of Pernambuco)
  • Convert Create new TestPlan page to Patternfly (Anton Sankov)
  • Upon successful registration show the list of super-users in case new accounts must be activated manually. This can be the same or expanded version of the addresses in the ADMIN setting. Include super-users in email notifications sent via tcms.signals.notify_admins().
  • Don't include admin/js/*.js files in templates when not necessary. Results in faster page load. Fixes Issue #209
  • Enable nl2br Markdown extension which allows newline characters to be rendered as <br> tags in HTML. Visually the rendered text will look closer to what you seen in the text editor. Fixes Issue #623
  • Use auto-complete for adding components to TestCase

Removed functionality

  • Bulk-update of Category for selected TestCase(s) inside of TestPlan
  • Bulk-update of Components for selected TestCase(s) inside of TestPlan
  • Bulk-update of automated status for selected TestCase(s) inside of TestPlan
  • Bulk-remove for TestCase Component tab

These actions have always been a bit broken and didn't check the correct permission labels. You can still update items individually!

  • Selection of Components when creating new TestCase. Closes Issue #565. Everywhere else Kiwi TCMS doesn't allow selection of many-to-many relationships when creating or editing objects. Tags, Bugs, Components, TestPlans can be added via dedicated tabs once the object has been saved.

Bug fixes

  • Hide KiwiUserAdmin.password field from super-user. Fixes Issue #610
  • Don't show inactive Priority. Fixes Issue #637
  • Don't traceback when adding new users via Admin. Fixes Issue #642
  • Teach TestRun.update() API method to process the stop_date field. Fixes Issue #554 (Anton Sankov)
  • Previously when reporting issues to Bugzilla, directly from a TestRun, Kiwi TCMS displayed the error Enable reporting to this Issue Tracker by configuring its base_url although that has already been configured. This is now fixed. See Stack Overflow #53434949

Database

  • Remove TestPlan.owner field, duplicates TestPlan.author

Translations

Refactoring

  • Remove fmt_queries(). Fixes Issue #330 (Anton Sankov)
  • Remove unused parameter from plan_from_request_or_none(). Refers to Issue #303 (Anton Sankov)
  • Remove ComponentActions() class. Fixes Issue #20
  • Convert lots of AJAX calls to JSON-RPC
  • Remove lots of unused Python, JavaScript and templates. Both after migration to JSON RPC and other leftovers
  • Pylint fixes (Alexander Todorov, Anton Sankov)

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.2.1

We're happy to announce Kiwi TCMS version 6.2.1! This is a small release that includes some improvements and bug-fixes. You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

Docker images:

kiwitcms/kiwi       latest  24338088bf46    956.8 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.2

Improvements

Bug fixes

  • Fix InvalidQuery, field TestCase.default_tester cannot be both deferred and traversed using select_related at the same time. References Issue #346

Refactoring

  • Pylint fixes (Ivaylo Ivanov)
  • Remove JavaScript and Python functions in favor of existing JSON-RPC
  • Remove vendored-in js/lib/jquery.dataTables.js which is now replaced by the npm package datatables.net (required by Patternfly)

Translations

Misc

  • https://public.tenant.kiwitcms.org is using a new SSL certificate with serial number 46:78:80:EA:80:A4:FC:65:17:E4:59:EC:1D:C2:27:47
  • Version 6.2.1 has been published to PyPI to facilitate people who want to deploy Kiwi TCMS on Heroku. Important: PyPI package will be provided as a convenience for those who know what they are doing. Valid bugs and issues will be dealth with accordingly. As we do not deploy from a PyPI tarball we ask you to provide all the necessary details when reporting issues! If you have no idea what all of this means then stick to the official Docker images!

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Happy testing!

Kiwi TCMS 6.2

We're happy to announce Kiwi TCMS version 6.2! This is a small release that removes squashed migrations from previous releases and includes a few improvements. You can explore everything at https://public.tenant.kiwitcms.org or find our info booth at OpenFest in Sofia during the weekend and do a live demo with the team!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (latest)

Docker images:

kiwitcms/kiwi       latest  7870085ad415    957.6 MB
kiwitcms/kiwi       6.2     7870085ad415    957.6 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.1.1

Improvements

  • Update to Django 2.1.3
  • Update Apache config to print logs on the console. Fixes Issue #549
  • https://public.tenant.kiwitcms.org now allows email associations when logging via GitHub. If you have an existing account which shares the same email address with your GitHub profile you will be redirected to that account upon logging in via GitHub! This also resolves a problem where existing users trying to login via GitHub were presented with error message that their email exists in the database! Fixes Issue #573

Database

  • Remove old variants of squashed migrations from earlier releases

Translations

Refactoring

  • Update tcms.tests.factories.BugFactory (Ivaylo Ivanov)
  • Add test for tcms.testcases.views.group_case_bugs (Ivaylo Ivanov)
  • Pylint fixes (Ivaylo Ivanov)
  • Remove unused JavaScript and re-use the existing JSON RPC methods

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

WARNING: kiwitcms/kiwi:latest and docker-compose.yml will always point to the latest available version! If you have to upgrade in steps, e.g. between several intermediate releases, you have to modify the above workflow:

# starting from an older Kiwi TCMS version
docker-compose down
docker pull kiwitcms/kiwi:<next_upgrade_version>
edit docker-compose.yml to use kiwitcms/kiwi:<next_upgrade_version>
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate
# repeat until you have reached latest

Subscription based online service

We are planning to convert https://public.tenant.kiwitcms.org into a subscription based service for people who don't want to bother installing Kiwi TCMS on their own systems and just want to use it for test collaboration with their team.

The income from this service will go towards covering operating costs and supporting the development team. Watch this blog for further announcements about this. Meanwhile you may share your thoughts via Issue #515.

Plans to remove deprecated functionality

TestRun.product_version will be removed from the database schema in favor of TestRun.plan.product_version! With the latest web interface it is not possible to select a product version different than the one selected in the Test Plan. Test runs should only be able to select product builds (after Issue #246 is fixed).

Kiwi TCMS 6.1.1

We're happy to announce Kiwi TCMS version 6.1.1! This release squashes database migrations and removes older migrations that have been squashed in previous releases, a few improvements and bug fixes. You can explore everything at https://public.tenant.kiwitcms.org.

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1

Docker images:

kiwitcms/kiwi       latest  49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1.1   49fa42ddfe4d    955.7 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.1

Improvements

  • Dashboard will now show TestRuns which have test cases assigned to current user. Fixes Issue #520
  • API method TestRun.add_case() now returns a serialized TestCaseRun object. Previously this method returned None

Bug fixes

  • Don't show disabled Priority records in UI. Fixes Issue #334

Translations

Refactoring

  • Fix some pylint errors (Ivaylo Ivanov)

Database

  • Remove old squashed migrations for management, testplans, testcases and testruns apps
  • Squash the remaining migrations for management, testplans, testcases and testruns apps

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Subscription based online service

We are planning to convert https://public.tenant.kiwitcms.org into a subscription based service for people who don't want to bother installing Kiwi TCMS on their own systems and just want to use it for test collaboration with their team.

The income from this service will go towards covering operating costs and supporting the development team. Watch this blog for further announcements about this. Meanwhile you may share your thoughts via Issue #515.

Plans to remove deprecated functionality

TestRun.product_version will be removed from the database schema in favor of TestRun.plan.product_version! With the latest web interface it is not possible to select a product version different than the one selected in the Test Plan. Test runs should only be able to select product builds (after Issue #246 is fixed).

Kiwi TCMS 6.1

We're happy to announce Kiwi TCMS version 6.1! This release introduces new database migrations, internal updates and bug fixes. It is a small release designed to minimize the number of database migrations by squashing them together. You can explore everything at https://public.tenant.kiwitcms.org.

NOTE: there is the 6.0.1 release which resolves an upgrade problem caused by non-applied migrations which have been later squashed and released in the same release! It is best to jump through the intermediate releases to ensure a smooth upgrade!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1

Docker images:

kiwitcms/kiwi       latest  b559123d25b0    970.2 MB
kiwitcms/kiwi       6.1     b559123d25b0    970.2 MB
kiwitcms/kiwi       6.0.1   87b24d94197d    970.1 MB
kiwitcms/kiwi       5.3.1   a420465852be    976.8 MB

Changes since Kiwi TCMS 6.0

Improvements

  • Update Jira from 1.0.10 to 2.0.0
  • Update to Patternfly 3.55.0
  • Use button instead of HTML link for deleting test plan (Oleg Kainov)
  • New middleware that will check missing settings. At the moment will only check Base URL configuration which often gets forgotten!

Bug fixes

  • Hot-fix for error caused by the API method TestRun.update. Error was initially reported on StackOverflow. This patch makes it possible to use the API without crashing however the TestRun.update method doesn't handle the stop_date field at the moment!

Translations

Refactoring

  • Fix pylint errors (Ivaylo Ivanov)
  • Remove unused TestRun.list and TestCase.list_confirmed methods
  • Remove unused plan_by_id_or_name() and is_int(). Fixes Issue #269

Database

  • Rename tcms.core.contrib.auth to tcms.kiwi_auth
  • Remove field user from TestCaseTag, TestRunTag and TestPlanTag models
  • Squash migrations for management app
  • Squash migrations for testcases app
  • Squash migrations for testplans app
  • Squash migrations for testruns app

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Subscription based online service

We are planning to convert https://public.tenant.kiwitcms.org into a subscription based service for people who don't want to bother installing Kiwi TCMS on their own systems and just want to use it for test collaboration with their team.

The income from this service will go towards covering operating costs and supporting the development team. Watch this blog for further announcements about this. Meanwhile you may share your thoughts via Issue #515.

Plans to remove deprecated functionality

TestRun.product_version will be removed from the database schema in favor of TestRun.plan.product_version! With the latest web interface it is not possible to select a product version different than the one selected in the Test Plan. Test runs should only be able to select product builds (after Issue #246 is fixed).

Kiwi TCMS 6.0

We're happy to announce Kiwi TCMS version 6.0! This release introduces new database migrations, removal of environment properties in favor of tags, internal updates and bug fixes. You can explore everything at https://public.tenant.kiwitcms.org.

This release removes squashed migrations. Direct upgrades from versions < 5.3.1 to 6.0 will break without an intermediate upgrade to 5.3.1!

Docker images:

kiwitcms/kiwi       latest  cd087297f349    991.3 MB

Changes since Kiwi TCMS 5.3.1

Improvements

  • Update to Django 2.1.2 due to high severity security issue
  • Update to Patternfly 3.54.8
  • Tag objects are now shown in Admin panel
  • Add autocomplete when adding tags to TestRun via UI

Removed functionality

  • TestCase new and edit views no longer allow editing of tags. Tags can be added/removed from the Tags tab which also makes sure to properly account for permissions
  • Remove EnvGroup, EnvProperty and EnvValue models in favor of tags. Existing values and properties are converted into tags and automatically added to test runs!
  • Convert squashed database migrations to regular ones and remove older migrations. WARNING: upgrade from versions <= 5.3.1 to 6.0 will break without an intermediate upgrade to kiwitcms/kiwi:5.3.1 a420465852be.
  • Remove deprecated TestCase.estimated_time and TestRun.estimated_time. Fixes Issue #514

Backend API

  • No longer use product_version for TestRun.create. Fixes Issue #522
    • 'product' is no longer required
    • 'product_version' is no longer required
    • 'manager' and 'default_tester' can be usernames or IDs
  • TestCase.create no longer accepts 'tag' values
  • TestRun.add_tag and TestRun.remove_tag now return list of tags. Previously these methods returned None! This is the list of tags assigned to the TestRun that is being modified!

Bug fixes

  • Fix mismatched HTML tag in plan/get.html template (Oleg Kainov)
  • Don't use |slugify filter in templates which breaks HTML links with non-ASCII TestPlan names. Fixes Sentry KIWI-TCMS-38

Refactoring

  • Fix pylint errors (Ivaylo Ivanov, Anton Sankov)
  • Use existing JSON-RPC methods to add/remove tags via webUI and remove specialized backend methods that handled these requests. Also make sure to obey respective permissions

Translations

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Subscription based online service

We are planning to convert https://public.tenant.kiwitcms.org into a subscription based service for people who don't want to bother installing Kiwi TCMS on their own systems and just want to use it for test collaboration with their team.

The income from this service will go towards covering operating costs and supporting the development team. Watch this blog for further announcements about this. Meanwhile you may share your thoughts via Issue #515.

Plans to remove deprecated functionality

TestRun.product_version will be removed from the database schema in favor of TestRun.plan.product_version! With the latest web interface it is not possible to select a product version different than the one selected in the Test Plan. Test runs should only be able to select product builds (after Issue #246 is fixed).

Kiwi TCMS 5.3.1

We're happy to announce Kiwi TCMS version 5.3.1! This release brings lots of UI updates and removal of unused and/or duplicated functionality and source code. Many pages have been redesigned with the Patternfly library to have a modern look and feel which you can experience at https://public.tenant.kiwitcms.org.

This will be the last release to carry around squashed migrations. In version 6.0 older migrations will be deleted and replaced with their squashed equivalents. Upgrades from versions < 5.3 to 6.0 will break without an intermediate upgrade to 5.3.1!

Use kiwitcms/kiwi:5.3.1 from Docker Hub when upgrading at some point in the future!

Docker images:

kiwitcms/kiwi        5.3.1               a420465852be        976.8 MB
kiwitcms/kiwi        latest              a420465852be        976.8 MB

Changes since Kiwi TCMS 5.2

Improvements

  • Update to Django 2.1.1
  • Update Patternfly version. Fixes Issue #381
  • Replace TinyMCE with SimpleMDE markdown editor. Used for TestPlan text and TestCase action, setup, breakdown, effect fields
  • Allow downstream builds to customize the login templates by providing registration/custom_login.html template. It can either override the entire login page or provide additional information inside the custom_login block!

Known issues

  • You may need to strip existing texts from HTML tags that were generated by TinyMCE. Either do this manually as you go along and use/edit records or in bulk via the API and tools like html2text. We strongly advise you to backup your database before attempting to automatically edit text fields!

Visual changes

  • Remove breadcrumbs at the top of pages. Only admin pages still have them
  • Convert login and registration templates to Patternfly. Fixes Issue #211
  • Convert 404 and 500 templates to Patternfly
  • Convert dashboard page to Patternfly
  • Convert TestRun new, edit and clone pages to Patternfly. Fixes Issue #17
  • Convert Search Test Plans page to Patternfly
  • Convert Search Test Runs page to Patternfly
  • Convert Search Test Cases page to Patternfly
  • TestPlan view page, Runs tab now re-uses the search form for test runs which is built using Patternfly
  • Added pagination controls to pages with search results

Removed functionality

  • When creating or editing TestRun
    • field estimated_time is scheduled for removal and is not shown
    • product_version is scheduled for removal in favor of TR.plan.product_version
    • Product & Version can't be edited anymore. Must be set on the parent TestPlan instead. Still allows to specify builds
  • Remove the ability to clone multiple TestPlans from search results
  • Remove the ability to upload TestPlan document files in favor of the existing API
  • Remove TestCase export to XML in favor of existing API
  • Remove Advanced Search functionality. Fixes Issue #448, Issue #108
  • Remove tech preview feature: Django Report Builder

Translations

Bug fixes

  • Don't use get_full_url() where not needed. Closes Issue #380
  • Remove unused templates. Fixes Issue #114
  • Submit filter form when clicking on tag value. Fixes Issue #426
  • Update TestCaseRun.tested_by when setting status. Fixes Issue #459
  • Add tests for KiwiUserAdmin. Closes Issue #489

Settings

  • The following settings have been removed MOTD_LOGIN, WELCOME_MESSAGE and TINYMCE_DEFAULT_CONFIG

Refactoring

  • Fix pylint errors (Anton Sankov, Ivaylo Ivanov)
  • Remove lots of unused functions and classes
  • Remove old or unnecessary templates
  • Remove html2text dependency
  • Remove unused CSS and vendored-in JavaScript libraries
  • Add JavaScript JSON-RPC client which is now used by the front-end to communicate with the existing JSON-RPC API on the back-end. This replaces many 'ajax' views which are only used to render the UI and were duplicating functionality with existing API
  • Non dist/ files are no longer removed from node_modules/ when building a docker image because packages like moment.js and bootstrap-datetimepicker.js don't ship their files in dist/
  • Convert TestPlans.TreeView to JSON RPC

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Ask your questions on StackOverflow

Kiwi TCMS is now using the 'kiwi-tcms' tag on StackOverflow to track questions. Please submit your support requests and general questions to StackOverflow tagged with the 'kiwi-tcms' tag! Support requests via GitHub or email will not be answered anymore (GitHub issues are for bugs or feature discussions only)!

Subscription based online service

We are planning to convert https://public.tenant.kiwitcms.org into a subscription based service for people who don't want to bother installing Kiwi TCMS on their own systems and just want to use it for test collaboration with their team.

The income from this service will go towards covering operating costs and supporting the development team. Watch this blog for further announcements about this. Meanwhile you may share your thoughts via Issue #515.

Plans to remove deprecated functionality

TestRun.product_version will be removed from the database schema in favor of TestRun.plan.product_version! With the latest web interface it is not possible to select a product version different than the one selected in the Test Plan. Test runs should only be able to select product builds (after Issue #246 is fixed).

TestRun.estimated_time is scheduled for removal if not used. Objections and use-cases must be shared via Issue #514.

EnvGroup and EnvProperty models are scheduled for removal in favor of Tag. Internally tags are referenced in more places inside Kiwi TCMS' source code and they appear to be more fully developed. On the other hand while environment appears very similar to tags it is not exactly the same. Ongoing discussion is happening via Issue #484.

Kiwi TCMS 5.2

We're happy to announce Kiwi TCMS version 5.2! This release introduces new database migrations and converts the Docker image to a non-root user with uid 1001. You may have to adjust ownership/permissions on the kiwi_uploads Docker volume!

The new kiwitcms/kiwi:latest docker image has Image ID 6bc4e3124fd4. https://public.tenant.kiwitcms.org has also been updated!

Changes since Kiwi TCMS 5.1

Enhancements

  • Upgrade to Django 2.1
  • Upgrade to django-report-builder 6.2.2, compatible with Django 2.1
  • Docker image now executes with uid 1001 instead of root
    • image based on centos7 image instead of centos/httpd
    • image now exposes ports 8080 and 8443
    • Apache logs now printed on Docker console
    • SSL certificates copied to /Kiwi/ssl inside Docker image instead of being bind-mounted
    • uploads dir changed to /Kiwi/uploads
    • static dir changed to /Kiwi/static
    • /Kiwi is now owned by uid 1001
    • /venv is now owned by uid 1001
    • docker-compose.yml is updated to match
  • Fix pylint errors (Ivaylo Ivanov)
  • Allow users to see other profiles via Admin
  • Use password change form from Admin instead of custom one
  • product.py will try to import local_settings.py if available in the same directory. This can be used to customize settings in downstream distributions
  • Updated Slovenian translation

Bug fixes

  • Make password reset views public
  • Don't crash when adding new users via Admin

Refactoring

  • Remove UserProfile model. Kiwi TCMS doesn't needs extra information about users so we remove this part of the application. Custom installations may choose to define their own profiles if they wish
  • Remove custom DBModelBackend authentication backend
  • Remove unused tcms.core.context_processors.auth_backend_processor
  • Remove unused get_using_backend(). Fixes Issue #261
  • Remove dj_pagination. Fixes Issue #110

Settings

  • AUTHENTICATION_BACKENDS is removed
  • PAGINATION_DEFAULT_PAGINATION is removed
  • Navigation menu links are now defined in MENU_ITEMS and can be redefined

Signals

  • USER_REGISTERED_SIGNAL now doesn't receive the backend parameter

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Kiwi TCMS 5.1

We're happy to announce Kiwi TCMS version 5.1! This release introduces new database migrations, an experimental reporting feature, deprecated functionality and bug fixes.

The new kiwitcms/kiwi:latest docker image has Image ID cc9b55aa664d. https://public.tenant.kiwitcms.org has also been updated!

Changes since Kiwi TCMS 5.0

Enhancements

  • Integrate with Django Report Builder as tech-preview. This makes it possible for power users and administrators to generate tabular reports. You will have to know the existing DB schema if you want to create your own reports. See http://kiwitcms.readthedocs.io/en/latest/db.html. This feature is in tech-preview and it may be removed if it doesn't work out. Please comment at: Issue #452.
  • Allow using manage.py dumpdata|loaddata|sqlflush|dbshell for backups, see blog post
  • In TestCase view page add a link to delete the current test case
  • In TestCase Admin page the + Add TestCase button now allows to create new test case
  • The version menu item in the helper menu now links to Changelog

Deprecated functionality

  • Start showing deprecation warning for Advanced search, see Issue #448

Bug fixes

  • Allows Product/Version/Build to be shown in Testing Report. Fixes Sentry KIWI-TCMS-2C
  • Default to https:// links if not running locally. Fixes Issue #450
  • Apply missing CSS class for object history table so it can be displayed nicely

Refactoring

  • Squash some database migrations
  • Fix a number of pylint issues
  • Remove unused testruns.views::view_caseruns(). References Issue #316
  • Remove unused template report/caserun.html
  • Handle TestRun deletion via admin not home grown code

How to upgrade

If you are using Kiwi TCMS as a Docker container then:

cd Kiwi/
git pull
docker-compose down
docker pull kiwitcms/kiwi
docker pull centos/mariadb
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Don't forget to backup before upgrade!

Help us make Kiwi TCMS better

According to our 2018 roadmap update the Kiwi TCMS team is investing a great deal of our time to make the code base more maintainable! For the past few releases we've been balancing code refactoring with bug-fixing and enhancements and we have lots of ideas down the line.

We want to hear your voice! Tell us how you use Kiwi TCMS inside your organization. We want to know what works for you and what doesn't so we can make it better. Feel free to comment below, file GitHub issues or send us an email.

Happy testing!

Project news only, GDPR compliant. Subscribe here!