Articles with tag releases

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!

Kiwi TCMS 5.0

We're happy to announce Kiwi TCMS and tcms-api version 5.0! This release introduces object history tracking, removal of old functionality and unused code, lots of internal updates and bug fixes.

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

Changes since Kiwi TCMS 4.2

Settings

  • Remove CACHE because not used
  • Remove PLAN_EMAIL_TEMPLATE, CASE_EMAIL_TEMPLATE and CASE_DELETE_EMAIL_TEMPLATE. Templates can still be overridden if desired

Enhancements

  • Upgrade to Django 2.0.7
  • Allow to delete TestPlan. Fixes Issue #273
  • Don't include username in dashboard URL
  • Copy latest TestPlan text when cloning
  • Always require users to be logged in. Anonymous users will not be allowed access by default. Read-only access to some views (e.g. get TestPlan or TestRun) can be enabled by disabling GlobalLoginRequiredMiddleware! Fixes Issue #230
  • Start tracking change history for TestPlan, TestCase, TestRun and TestCaseRun. Fixes Issue #294
  • History changes are recorded as unified diff which is a universally recognized format
  • Show the actual changes in email notifications. Fixes Issue #199

Bug fixes

  • Fix UnboundLocalError local variable 'message' referenced before assignment. Fixes Sentry KIWI-TCMS-1S
  • Make email address unique when adding users via admin panel. Fixes Issue #352 and Issue #68
  • Fix unsupported operand type(s) for +=: 'int' and 'datetime.timedelta' by initializing timedelta variable properly. Fixes Sentry KIWI-TCMS-1Y
  • Remove core.models.fields with MySQL time conversions. Fixes Issue #390
  • Fix bad JavaScript comparison. Fixes Coverity #289956
  • Remove expression with no effect. Fixes Coverity #289974
  • Rewrite request_host_link() to fix Coverity #289987
  • Fix Coverity #289923 - Typo in identifier
  • Don't send emails for changes performed by myself. Fixes Issue #216

Refactoring

  • Fix pylint issues in several modules (Anton Sankov & Ivaylo Ivanov)
  • Fix wrong Plan Type template variable in advanced search form
  • Do not use Model.objects.update() because it doesn't respect history
  • Use the standard ModelChoiceField instead of custom one
  • Use updateRunStatus() instead of deprecated updateObject()
  • Simplify JavaScript function getInfo() and use it multiple times
  • Simplify previewPlan() by removing unused parameters
  • Unify addChildPlan() and removeChildPlan()
  • Unify getInfoAndUpdateObject() with changeCaseRunAssignee()
  • Unify onTestCaseStatusChange() with changeTestCaseStatus()
  • Convert TestCaseEmailSettings.cc_list to string field
  • Merge report/caseruns_table.html with reports/caseruns.html
  • Rename model UserActivateKey to UserActivationKey. Fixes Issue #276
  • Remove cached_entities(). Fixes Issue #307
  • Remove TestPlanText.checksum field
  • Remove checksum fields for TestCaseText model
  • Remove unused and home-grown template tags
  • Remove unused fields auto_blinddown, description, sortkey from TestCaseRunStatus model. Fixes Issue #186
  • Remove Meta.db_name effectively renaming all tables. New names will use Django's default naming scheme
  • Remove RawSQL queries. We are now 100% ORM based. Fixes Issue #36
  • Remove duplicate MultipleEmailField definition
  • Remove TCMSLog view, TCMSLogManager, TCMSLogModel
  • Remove TestPlanText model, use TestPlan.text instead
  • Remove unused JavaScript files - lib/detetmine_type.js - lib/hole.js - lib/scriptaculous-controls.js.patch - lib/validations.js - static/js/index.js
  • Remove constructPlanParentPreviewDialog()
  • Remove changeCasePriority()
  • Remove changeCaseRunOrder()
  • Remove debug_output() from JavaScript files
  • Remove deprecated /ajax/update/ end-point
  • Remove taggleSortCaseRun()
  • Remove strip_parameters()
  • Remove _InfoObjects.users()
  • Remove get_value_by_type()
  • Remove testcases.views.get_log()
  • Remove mail_scene() methods and related templates

Removed functionality

  • TestRun completion status is no longer updated automatically. You can still update the status manually via the 'Set Finished' or 'Set Running' links! Fixes Issue #367
  • Remove bookmarks functionality. There are many great bookmark manager apps and if the user is keen on bookmarks they should use one of them. Closes Issue #67 and Issue #210
  • Don't track & display history of changes for EnvGroup model
  • Remove Disable/Enable buttons from TestPlan page. Enabling and disabling can still be done via the edit page
  • Remove changeParentPlan() and the ability to change TestPlan parents from the 'Tree View' tab. This can be done via the edit page
  • When viewing a TestPlan the user is no longer able to specify a sorkey for a particular TestCase. Instead they can use the Re-order cases button and move around the entire row of cases to adjust the sort order
  • When working with test case results, inside a TestRun you will not be allowed to change the order of execution. Order should be defined inside the TestPlan instead
  • Remove XmlRpcLog() model. Kiwi TCMS will no longer log RPC calls to the database. This leads to a small performance boost and can be overridden on individual basis if you need to do so.

Translations

  • More source strings marked as translatable
  • New translations for Chinese Simplified, Chinese Traditional, German and Slovenian
  • Stop keeping compiled translations under git. Fixes Issue #387

tcms-api changes since 4.2

  • Requires Python 3.6 or newer because it fixes bugs related to Django's disabling of keep-alive connections. See https://bugs.python.org/issue26402
  • The rpc client is now accessed via TCMS().exec.<Server-Method>
  • Leave only XML-RPC transport classes! This removes the top-level interface behind the API client and the consuming side is left to work with Python dictionaries instead of objects.
  • Remove the interactive tcms script
  • Remove tcms_api.config module
  • Remove logging class
  • Remove script_examples/ directory. These were never tested and maintained

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
docker exec -it kiwi_web /Kiwi/manage.py populate_history --auto

Help us make Kiwi TCMS better

According to our 2018 roadmap 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 minor 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!

Kiwi TCMS 4.2

We're happy to announce Kiwi TCMS and tcms-api version 4.2! This is a security, bug-fix and enhancement update which upgrades to the latest Django version under Python 3.6. We've pushed new kiwitcms/kiwi:latest docker image to Docker Hub and updated the demo instance at https://public.tenant.kiwitcms.org!

This version also includes GDPR related changes which affect our project. Read below for the details.

Changes since Kiwi TCMS 4.1.4

IMPORTANT: this release introduces new database migrations

Security

Settings

  • BUGZILLA_AUTH_CACHE_DIR is a new setting that may be specified to control where Bugzilla auth cookies are saved! It is not specified by default and Kiwi TCMS uses a temporary directory each time we try to login into Bugzilla!

Enhancements

  • Upgrade to Python 3.6. Fixes Issue #91
  • Upgrade to Django 2.0.6
  • Fix around 100 pylint issues (Anton Sankov)
  • Update email confirmation template for newly registered users and make the text translatable
  • Display Last login column in User admin page
  • Add tests for tcms.management.views (Anton Sankov)
  • Remove unused CSS selectors
  • Remove unnecessary templates/comments/comments.html

Bug fixes

  • Remove unused deferred field product_version. Fixes Sentry KIWI-TCMS-1C
  • Rename left-over get_url() to get_full_url(). Fixes Sentry KIWI-TCMS-1B
  • Fix empty TestPlan url and Product fields in TestRun email notification. Fixes Issue #353 (Matt Porter, Konsulko Group)

Translations

  • Updated translations for Chinese Simplified
  • Updated translations for Chinese Traditional
  • New language and translations for Slovenian

Documentation

  • Added git clone command to documentation. Fixes Issue #344 (Anton Sankov)

Models and database migrations

  • Increase checksum fields size to hold the new checksum values
  • Increase activation_key field size to 64 chars

GDPR related

  • Allow users to delete their accounts. Link is present on My profile page. This will also delete any related objects using cascade delete
  • Try not to be so obvious when it comes to displaying email addresses across the web interface. Instead show username and link to profile

In addition the following changes were deployed to our infrastructure:

  • On our website the Subscribe to our newsletter is now a link, instead of embedded form because embedded forms can't display GDPR compliance fields. If you wish to receive email from Kiwi TCMS you need to select the Email checkbox when signing up for the newsletter.
  • Double opt-in is now enabled when subscribing to our newsletter
  • All newsletter addresses that have been unsubscribed have been deleted
  • Upon registration for https://public.tenant.kiwitcms.org you are no longer subscribed to the newsletter. Now we send a welcome email with a link to the newsletter so you can subscribe if you want
  • https://public.tenant.kiwitcms.org now runs a cron job which deletes inactive accounts and all of their related data. The cron job runs weekly

We're trying to be respectful to your private data and not expose that to any 3rd parties or use it for means other than making Kiwi TCMS better open source software. If you spot areas for improvement please report an issue so we can take a look at it!

tcms-api changes since 4.0.0

  • Remove coloring. Fixes Issue #185
  • Fix using the API client against https:// URLs (Adam Ɓoszyn, Samsung)

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

Help us make Kiwi TCMS better

According to our 2018 roadmap 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 minor 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!

Kiwi TCMS 4.1.4

We're happy to announce Kiwi TCMS version 4.1.4! This is a bug-fix and enhancement update which upgrades to the latest Django version, resolves several issues and includes lots of internal code updates.

We've pushed new kiwitcms/kiwi docker image to Docker Hub and updated the demo instance at https://public.tenant.kiwitcms.org!

Changes since Kiwi TCMS 4.1.3

Enhancements

  • Upgrade to Django 2.0.4
  • Enable pylint and fix around 700 issues (Anton Sankov)
  • Add pylint plugin to check docstrings for triple double quotes. Fixes Issue #296
  • Add pylint plugin to check for list comprehensions. Fixes Issue #270
  • Add pylint plugin to check for class attributes enclosed with double underscores. These are dunders and are reserved for Python!

Signals

BREAKING CHANGES:

  • Renamed user_registered to USER_REGISTERED_SIGNAL and post_update to POST_UPDATE_SIGNAL!

Bug fixes

Refactoring

  • Move Bugzilla and Kerberos backends code into their own repositories. Fixes Issue #239
  • Remove cache from TestCaseRunStatus. Fixes Issue #279
  • Rewrite UrlMixin. Fixes Issue #157 (Chenxiong Qi)
  • Remove unused split_as_option template tag
  • Internal refactoring and more tests in tcms/core/ajax.py
  • Delete unused file tcms/core/forms/widgets.py
  • Merge case/form/filter.html into plan/get_cases.html
  • Remove unused TestCaseStatus.id_to_string()

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

Help us make Kiwi TCMS better

According to our 2018 roadmap 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 minor 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!

Kiwi TCMS 4.1.3

We're happy to announce Kiwi TCMS version 4.1.3! This is a bug-fix and enhancement update which upgrades to the latest Django version, provides easier way for Docker administrators to override SSL certificates and access httpd log files and resolves several issues. This release also includes lots of internal code refactoring which removes code duplication and brings down CodeClimate metrics to 26.9% of technical debt or 10 months to fix.

We've pushed the new kiwitcms/kiwi docker image to Docker Hub and updated the demo instance at https://public.tenant.kiwitcms.org. Starting forward the demo will use the info-at-kiwitcms.org email address for all communication sent. There are real people behind this address so if you write to us we will reply!

Changes since Kiwi TCMS 4.1.0

Enhancements

  • Upgrade to Django 2.0.3
  • Show date_joined column for user admin
  • Expose httpd logs to the host running docker. Fixes Issue #191

Bug fixes

  • Move SSL keys under common directory in the container. Fixes Issue #231
  • Always select active builds for TestRun. Fixes Issue #245
  • Swap escape and escapejs filters. Fixes Issue #234
  • Globally disable delete_selected action in Admin, this removes the drop down selection widget! Fixes Issue #221
  • Fix error in TestCase view when from_plan is empty string. Fixes Sentry KIWI-TCMS-Z
  • Fix sorting issue when None is compared to int. Fixes Sentry KIWI-TCMS-V
  • Validate form field as integer, not char. Fixes Sentry KIWI-TCMS-W
  • [docs] Remove information about importing test cases via XML. This functionality was removed in version 3.49

Refactoring

  • Refactor inner class CaseActions. Fixes Issue #21 (Chenxiong Qi)
  • Only use get_cases.html template. Fixes Issue #176
  • Unify get_details_review.html and get_details.html templates
  • Remove internal Prompt.render class and replace with Django messages
  • Remove mail/delete_plan.txt template
  • Remove handle_emails_pre_plan_delete signal handler
  • Remove the Export button from TestPlan view, use Case->Export sub-menu item in the Cases tab. Also remove the export buttons from search and advanced search result templates. If you'd like to export the cases from a given plan you have to open it in a new browser window and use the menu
  • Remove the Print button from plan search form
  • Remove TestRun cloning from search results and plan details, use sub-menu
  • Remove unnecessary JavaScript handling for EnvGroup edit view

Settings

  • Remove PLAN_DELELE_EMAIL_TEMPLATE setting (not used)

Models and database migrations

  • Use Django's own DurationField, instead of custom one. Fixes Issue #183

API clients must now send values for estimated_time which must be in a format that parse_duration() understands, for example 'DD HH:MM:SS'! See https://docs.djangoproject.com/en/2.0/ref/utils/#django.utils.dateparse.parse_duration

IMPORTANT: this release introduces new database migrations!

Translations

There are new translatable strings introduced with this release! At this moment translating Kiwi TCMS in languages other than English is purely a community effort. If you'd like to help consult our translations contribution page.

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

Help us make Kiwi TCMS better

According to our 2018 roadmap 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 minor 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!

Kiwi TCMS 4.1.0

We're happy to announce Kiwi TCMS version 4.1.0! This is a bug-fix and enhancement update centered around providing more flexibility for administrators to configure the user approval process. Refer to the documentation for more information about signals handling in Kiwi TCMS.

Changes since Kiwi TCMS 4.0.0

Enhancements and bug fixes

  • Add tests for tcms.core.ajax.tag (Anton Sankov)
  • Remove unused code from tcms.core.ajax.tag (Anton Sankov)
  • Refactor tcms.core.ajax.tag to work with only one object. Fixes Issue #135 (Anton Sankov)
  • Add test for tcms_api.TestRun. Closes Issue #194
  • Send the user_registered signal when new users are registered
  • Add signal handler to notify admins on new users. Fixes Issue #205
  • Add is_superuser column to User admin. Fixes Issue #206
  • Properly pass variables to blocktrans tag. Fixes Issue #225
  • Minor documentation updates

Refactoring

  • Remove double thread when sending email on post_save signal
  • Remove unused EmailBackend authentication backend
  • Remove unused tcms.core.models.signals module
  • Consolidate all signals and handlers in tcms.signals
  • Make use of django_messages during account registration

Settings

  • Remove LISTENING_MODEL_SIGNAL (internal setting)
  • New setting AUTO_APPROVE_NEW_USERS. Fixes Issue #203

Models and database migrations

  • Remove unused fields from Product model: disallow_new, max_vote_super_bug, vote_super_user, field votes_to_confirm, default_milestone, milestone_url
  • Remove unused Milestone model

IMPORTANT: this release introduces new database migrations!

Translations

There are new translatable strings introduced with this release, including translations of a few email templates! At this moment translating Kiwi TCMS in languages other than English is purely a community effort. If you'd like to help consult our translations contribution page.

How to upgrade

If you are using Kiwi TCMS as a Docker container then

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

Happy testing!

Kiwi TCMS & tcms-api version 4.0.0

We're happy to announce Kiwi TCMS version 4.0.0 and the corresponding tcms-api version 4.0.0! This is a very big release which introduces tons of backwards incompatible changes to the RPC layer as well as several bug-fixes and enhancements!

With this release Kiwi TCMS meets one of our milestones for 2018! All XML-RPC namespaces now match DB model names and the API client class names. Lots of similar and duplicate methods were removed and existing ones were simplified. We've also reduced code duplication and technical debth by 1 month according to stats by CodeClimate.

IMPORTANT: this is also the first release to officially publish the kiwitcms/kiwi image on Docker Hub!

WARNING: upgrading to Kiwi TCMS 4.0.0 means you will have to upgrade the tcms-api client as well. None of the 4.x releases is compatible with older releases due to the massive ammount of changes in the RPC layer.

Changes since Kiwi TCMS 3.50

Enhancements and bug fixes

  • Upgrade to Django 2.0.2 which patches a security issue
  • Pin JIRA client version to 1.0.10. Fixes Issue #195
  • Generate api-docs for model classes
  • Updated documentation for all RPC methods
  • Use Grappelli jQuery initialization, fixes popup windows
  • Unify RPC namespaces, API client class names and server-side model names. Fixes Issue #153

Settings

  • Remove ADMIN_PREFIX setting

RPC methods refactoring

  • Remove Build.check_build, use Build.filter
  • Remove Build.get, use Build.filter
  • Remove Build.get_caseruns, use TestCaseRun.filter
  • Remove Build.get_runs, use TestRun.filter

  • Rename Env.filter_groups, use Env.Group.filter

  • Rename Env.filter_properties, use Env.Property.filter
  • Rename Env.filter_values, use Env.Value.filter

  • Remove Product.add_component, use Component.create

  • Remove Product.add_version, use Version.create
  • Remove Product.check_category, use Category.filter
  • Remove Product.check_component, use Component.filter
  • Remove Product.check_product, use Product.filter
  • Remove Product.filter_categories, use Category.filter
  • Remove Product.filter_components, use Component.filter
  • Remove Product.filter_versions, use Version.filter
  • Remove Product.get, use Product.filter
  • Remove Product.get_builds, use Build.filter
  • Remove Product.get_cases, use TestCase.filter
  • Remove Product.get_categories, use Category.filter
  • Remove Product.get_category, use Category.filter
  • Remove Product.get_component, use Component.filter
  • Remove Product.update_component, use Component.update

  • Rename Tag.get_tags to Tag.filter

  • Remove TestCase.add_comment

  • Update signature for TestCase.add_component
  • Update signature for TestCase.add_tag
  • Remove TestCase.add_to_run, use TestRun.add_case
  • Remove TestCase.attach_bug, use Bug.create
  • Remove TestCase.calculate_average_estimated_time
  • Remove TestCase.calculate_total_estimated_time
  • Remove TestCase.check_case_status, use TestCaseStatus.filter
  • Remove TestCase.check_priority, use Priority.filter
  • Update signature for TestCase.create, no longer accepts plan, component and bug dict attributes. Instead use TestPlan.add_case, TestCase.add_component and Bug.create
  • Remove TestCase.detach_bug, use Bug.remove
  • Remove TestCase.filter_count
  • Remove TestCase.get, use TestCase.filter
  • Remove TestCase.get_bugs, use Bug.filter({'case': ?})
  • Remove TestCase.get_bug_systems
  • Remove TestCase.get_case_status, use TestCaseStatus.filter
  • Update signature for TestCase.get_components
  • Remove TestCase.get_plans, use TestPlan.filter({'case': ?})
  • Remove TestCase.get_priority, use Priority.filter
  • Remove TestCase.get_tags, use Tag.filter({'case': ?})
  • Remove TestCase.get_text, use TestCase.filter
  • Remove TestCase.link_plan, use TestPlan.add_case
  • Rename TestCase.notification_add_cc to TestCase.add_notification_cc and update signature
  • Rename TestCase.notification_get_cc_list to TestCase.get_notification_cc and update signature
  • Rename TestCase.notification_remove_cc to TestCase.remove_notification_cc and update signature
  • Update signature for TestCase.remove_component
  • Update signature for TestCase.remove_tag
  • Remove TestCase.store_text, use TestCase.update with setup, breakdown, action and effect attributes in the parameter dict
  • Remove TestCase.unlink_plan, use TestPlan.remove_case

  • Remove TestCasePlan.get

  • Remove TestCasePlan.update

  • Update TestCaseRun.add_comment to accept a single ID as first parameter

  • Remove TestCaseRun.attach_bug, use Bug.create
  • Rename TestCaseRun.attach_log to TestCaseRun.add_log
  • Remove TestCaseRun.detach_bug, use Bug.remove
  • Rename TestCaseRun.detach_log to TestCaseRun.remove_log
  • Remove TestCaseRun.get, use TestCaseRun.filter
  • Remove TestCaseRun.get_bugs, use Bug.filter({'case_run': ?})
  • Remove TestCaseRun.get_case_run_status_by_name
  • Update signature for TestCaseRun.update

  • Remove TestPlan.add_component

  • Update signature for TestPlan.add_tag
  • Remove TestPlan.check_plan_type, use PlanType.filter
  • Remove TestPlan.filter_count
  • Remove TestPlan.get, use TestPlan.filter
  • Remove TestPlan.get_all_cases_tags
  • Remove TestPlan.get_components
  • Remove TestPlan.get_env_groups, use Env.Group.filter({'testplan': ?})
  • Remove TestPlan.get_plan_type, use PlanType.filter
  • Remove TestPlan.get_product, use Product.filter({'plan': ?})
  • Remove TestPlan.get_tags, use Tag.filter({'plan': ?})
  • Remove TestPlan.get_test_cases, use TestCase.filter({'plan': ?})
  • Remove TestPlan.get_test_runs, use TestRun.filter({'plan': ?})
  • Remove TestPlan.get_text, use TestPlan.filter
  • Rename TestPlan.link_env_value to TestPlan.add_env_value and update signature
  • Remove TestPlan.remove_component
  • Update signature for TestPlan.remove_tag
  • Remove TestPlan.store_text, use TestPlan.update with a text attribute in the parameter values
  • Rename TestPlan.unlink_env_value to TestPlan.remove_env_value and update signature

  • Rename TestRun.add_cases to TestRun.add_case and update signature

  • Update signature for TestRun.add_tag
  • Update signature for TestRun.create, no longer accepts case dict attribute. Instead use TestRun.add_case
  • Remove TestRun.filter_count
  • Remove TestRun.get, use TestRun.filter
  • Remove TestRun.get_bugs
  • Remove TestRun.get_env_values, use Env.Value.filter({'testrun': ?})
  • Remove TestRun.get_tags, use Tag.filter({'run': ?})
  • Rename TestRun.get_test_cases to TestRun.get_cases
  • Remove TestRun.get_test_case_runs, use TestCaseRun.filter({'run': ?})
  • Remove TestRun.get_test_plan, use TestPlan.filter({'run': ?})[0]
  • Rename TestRun.remove_cases to TestRun.remove_case and update signature
  • Update signature for TestRun.remove_tag
  • Update signature for TestRun.update

  • Rename User.get to User.filter

  • Rename User.join to User.join_group
  • Update signature for User.update

Models and database migrations

  • Remove model TestEnvironment
  • Remove model TestEnvironmentCategory
  • Remove model TestEnvironmentElement
  • Remove model TestEnvironmentMap
  • Remove model TestEnvironmentProperty
  • Remove model TestPlanComponent
  • Remove TestPlan.get_text_with_version()
  • Remove TestRun.get_previous_or_next()

IMPORTANT: this release introduces new database migrations!

tcms-api changes since 1.5.1

  • Make the code compatible with Kiwi TCMS XML-RPC v4.0.0
  • Rename Status to TestCaseRunStatus
  • Rename CaseRun to TestCaseRun
  • Remove PlanStatus, use TestPlan.is_active
  • Remove RunStatus, use TestRun.finished
  • Remove TestPlan.components container
  • Update signature for TestPlan. Now accept text kwarg in constructor instead of document.

How to upgrade

If you are using Kiwi TCMS as a Docker container then

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

Happy testing!

Kiwi TCMS version 3.50

We're happy to announce Kiwi TCMS version 3.50 and the corresponding tcms-api version 1.5.1! This is a bug-fix and enhancement release and we advise you to upgrade as soon as possible!

Changes since Kiwi TCMS 3.49

Enhancements and bug fixes

  • Update documentation for XML-RPC and positional arguments, translations, environment groups
  • Enable translations. Fixes Issue #129
  • Register models for DB translations. Fixes Issue #182
  • New German translations (@xbln)
  • Require django-attachments>=1.3 and restore attachments count in tabs
  • Fix missing tag names in TestPlan page
  • Hide admin forms for some models not supposed to be edited by users. Fixes Issue #174
  • Use django-grappelli for the admin templates: modern look and feel and less template files overridden by Kiwi TCMS
  • Load values for default property in TestRun 'Add Property' dialog. Fixes Issue #142
  • Correctly find property ID when renaming environment properties. Fixes Issue #167
  • Convert request body to string. Fixes Issue #177

Refactoring

  • Remove batch tag Add/Remove sub-menu in TestPlan view (Anton Sankov)
  • Remove Edit tag button in Tag tab (Anton Sankov)
  • Remove template functions. Fixes Issue #107
  • Remove custom HttpJSONResponse classes
  • Remove unused and duplicate code

tcms-api changes since 1.5.0

  • Fix order of TestCaseRun statuses. Fixes Issue #184

IMPORTANT: this release introduces new database migrations!

How to upgrade

If you are using Kiwi TCMS as a Docker container then

cd Kiwi/
docker-compose down
make docker-image
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Happy testing!

Kiwi TCMS version 3.49

Happy New Year to everyone. We're happy to announce Kiwi TCMS version 3.49 and the corresponding tcms-api version 1.5.0! This release includes a fair amount of bug fixes and many changes related to Kiwi's RPC layer!

Most importantly Kiwi is updated to Django 2.0.1, the API client no longer supports Python 2 and many RPC methods have been removed or updated. https://public.tenant.kiwitcms.org has also been updated so you can explore the new version.

Changes since Kiwi TCMS 3.48

Enhancements and bug fixes

  • Upgrade to Django 2.0.1
  • Don't log passwords sent via RPC
  • Log XML-RPC requests from anonymous users. Fixes Issue #126
  • Order TCMSEnvValue records by property name and value. Fixes Issue #155
  • flake8 fixes (Anton Sankov)
  • Start building source code documentation from Python doc strings
  • Properly urlencode emails in personal menu links
  • Remove test case import via XML files
  • Use django-attachments for user uploaded files. Fixes Issue #160 As part of this change we no longer copy Plan and Case attachments when cloning these objects.

NOTE: Since django-attachments introduces new permission objects you will have to adjust default permissions for existing users! In order for them to be able to upload/delete their own files they need to have attachments.add_attachment and atachments.delete_attachment permissions.

These same permissions are added by default to the 'Tester' group. If you are running an existing installation registering a new user with Kiwi TCMS will update the default permissions for this group!

Refactoring

  • Remove unused class EditCaseNotifyThread (Chenxiong Qi)
  • Remove model TestPlanActivity (Chenxiong Qi)
  • Remove many unused models and classes
  • Execute tests via manage.py test and drop py.test dependency
  • Remove useless TestTag.string_to_list method. Fixes Issue #106
  • Use settings.AUTH_USER_MODEL in ForeignKey definitions. Fixes Issue #143

Settings

  • Rename EMAIL_FROM to DEFAULT_FROM_EMAIL. Fixes Issue #128
  • Rename FILE_UPLOAD_DIR to MEDIA_ROOT
  • Rename MAX_UPLOAD_SIZE to FILE_UPLOAD_MAX_SIZE
  • New setting DELETE_ATTACHMENTS_FROM_DISK
  • Remove unused XMLRPC_TEMPLATE and TESTOPIA_XML_VERSION

Server side API

  • Migrate to django-modern-rpc and remove home-grown XML-RPC handling code. As part of this change the XML-RPC endpoint has been changed to /xml-rpc/. There's also a new JSON-RPC endpoint at /json-rpc/!
  • Auth.login method now accepts positional parameters username, password instead of dict
  • TestCaseRun.get method now accepts a query dict as parameter
  • TestCaseRun.get_bugs method now accepts a query dict as parameter
  • Remove Build.lookup_id_by_name, Build.lookup_name_by_id RPC methods
  • Remove Product.lookup_name_by_id, Product.lookup_id_by_name RPC methods
  • Remove Product.get_components, use Product.filter_components instead
  • Remove Product.get_plans, use TestPlan.filter instead
  • Remove Product.get_runs, use TestRun.filter instead
  • Remove Product.get_tag, use Tag.get_tags instead
  • Remove Product.get_versions, use Product.filter_versions instead
  • Remove TestCaseRun.filter_count, use TestCaseRun.filter instead
  • Remove TestCaseRun.get_s, use TestCaseRun.get instead
  • Remove TestCaseRun.get_bugs_s, use TestCaseRun.get_bugs instead
  • Remove TestCaseRun.get_case_run_status, use TestCaseRun.get_case_run_status_by_name instead
  • Remove TestCaseRun.get_completion_time, TestCaseRun.get_completion_time_s RPC methods. Instead calculate them on the client side
  • Rename TestCaseRun.check_case_run_status to TestCaseRun.get_case_run_status_by_name
  • TestCaseRun.detach_log will not raise exceptions when deleting logs from non-existing TestCaseRun objects.
  • Remove User.get_me, instead use User.get without parameters
  • Remove Version. and Testopia. RPC modules
  • Update documentation for RPC methods in Auth, Build and Env namespaces. Unformatted documentation is also available for the rest of the RPC methods

tcms-api changes since 1.4.0

  • Update endpoint configuration, compatible with Kiwi TCMS 3.49
  • Drop support for Python 2
  • Remove the internal do_command method which eliminates use of eval()
  • Remove TCMSXmlrpc.get_me() and TCMSXmlrpc.build_get() methods

IMPORTANT: this release introduces new database migrations!

How to upgrade

If you are using Kiwi TCMS as a Docker container then

cd Kiwi/
docker-compose down
make docker-image
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Happy testing!

Kiwi TCMS Python API client

We are happy to announce the first official release of the tcms-api package! This is a Python client for Kiwi TCMS.

There are couple of main distinctions in this module:

  • mutable vs. immutable types of objects
  • high-level class interface vs. low-level XML-RPC interface

For more information you should check-out the documentation and the script_examples/ directory.

At the moment the API client is both Python2 and Python3 compatible, however it is tested only under Python3!

A bit of history

The original API client, like Kiwi TCMS itself began its origin under a different name and was created primarily by Petr Splichal. Since then Kiwi TCMS has evolved and we've decided that the API module needs to evolve as well. At the moment the tcms-api module is a bit rough around the edges, its documentation is not really the best one and it's currently advisable to spend some time reading the code to figure out how everything works.

We're going to improve on all of these areas and we need help from the community to do so! Please download the tcms-api module, check it out, write and contribute example scripts (you can use the demo site for this), send us bug reports, suggestions and pull requests!

Happy testing!

Kiwi TCMS version 3.48

We're proud to announce Kiwi TCMS version 3.48! This is the first release to be announced on our blog and it is also an important one!

Kiwi TCMS 3.48 introduces new versions of Django and Patternfly, a Python API client library, many bug-fixes and updated documentation.

Changes since KiwiTCMS 3.44

  • Update to Django 1.11.7 (Mr. Senko)
  • Update documentation including high level information about how data is organized within Kiwi TCMS and how to work with the system. (Mr. Senko)
  • Stop caching report views. (Mr. Senko)
  • Make test execution comments optional. Fixes Issue #77. (Mr. Senko)
  • Escape special symbols when exporting JSON. Fixes Issue #78. (Mr. Senko)
  • Remove Test Run export to XML functionality in favor of API. Fixes Issue #79. (Mr. Senko)
  • Make it possible to search Test Runs via Env properties. Fixes Issue #82. (Mr. Senko)
  • Display Environment properties in Test Run search results. (Mr. Senko)
  • Allow bulk update TestCase.default_tester via email. Fixes Issue #85. (Mr. Senko)
  • Don't crash reports when there are untested TestCaseRuns. Fixes Issue #88. (Mr. Senko)
  • Bind localhost:80 to container:80. Fixes Issue #99. (Mr. Senko)
  • Enable testing with Python 3.6 in preparation for migration. (Mr. Senko)
  • If JIRA isn't fully configured then don't connect. Fixes Fixes Issue #100. (Mr. Senko)
  • Pin patternfly version to 3.30 and update templates. Fixes Issue #120. (Mr. Senko)
  • Show status name rather than status id in TestCaseRun change log. (Chenxiong Qi)
  • [api] Adds a Python API client with changes that make it possible to execute on both Python 2 and Python 3. For now take a look at tcms_api/script_examples/ for examples how to use it.
  • [api] Remove experimental support for Teiid. (Mr. Senko)
  • [api] Cache level defaults to CACHE_NONE if not set. (Mr. Senko)
  • [api] Remove persistent cache, in-memory caching is still available. (Mr. Senko)
  • [api] Remove multicall support. (Mr. Senko)

IMPORTANT: this release introduces new database migrations!

NOTE: the API client has been initially developed as the python-nitrate project by Petr Splichal and other contributors! We've decided to fork their code base into Kiwi's repository and continue further development in a central place. This makes it easier testing the API server and client together and allows us to move more rapidly!

As of now there isn't a lot of documentation and examples on how to use the API client but we are looking to improve this. Additional documentation and examples will be published in the project's repository or on this blog!

How to upgrade

If you are using Kiwi TCMS as a Docker container then

cd Kiwi/
docker-compose down
make docker-image
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py migrate

Happy testing!

Newer Posts

Page 4 / 4