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!

Taking the lead at OpenExpo Europe CfP votes

Vote for Kiwi TCMS at OpenExpo

We are happy to announce that Anton Sankov and Alex Todorov are currently taking the lead at OpenExpo Europe's CfP votes!

Going to OpenExpo will be huge boost for Kiwi TCMS so please help us make this happen! Voting is open until March 17th 2019! You can cast your vote via Facebook login but remember to confirm your email address!

Thanks you & happy testing!

Legacy reports become Telemetry

As we've promised Kiwi TCMS is starting work on improving the legacy reports functionality. After analyzing your feedback in Issue #657 here's what we came up with. Note: screenshots below are mockups.

General tech specs

Feature: Rename TestCaseRun to TestExecution

Inside Kiwi TCMS the term "test case" is used to refer to specific scenario of testing steps. A "test run" is the collection of multiple "test cases" which will be executed against a particular product build and environment.

The specific results are kept into what is now called "test case run". This will be renamed to "test execution" (internally TestExecution class) to make it more clear and easier to distinguish among other artifacts.

Feature: Better color coding for test execution status

As a webUI user I want to easily distinguish between PASSED, FAILED and other statuses when looking at charts and graphical visualizations.

TestRun progress

This feature request comes from the TestRun progress bar. Other charts should use the same 4 status categories and color coding standards:

Here the percent value will continue to mean percent completed, aka non-IDLE.

Implementation wise the TestCaseRunStatus class defines methods for the actual icons to be used. The same can be done for colors and this can be used directly in the HTML templates. For color definitions see Status Palette.

Feature: Printable Test Execution Report

As a tester I want to have a nice looking TestRun execution report which I can present to my managers, stakeholders and/or customers. The page needs to be printer friendly for “Print to PDF” or print on paper!

Kiwi TCMS already has this feature. Clicking the [Report] button in the progress widget at TR-625 presents TestRun execution information in a simplified format found at TR-625/Report. In order to improve the current implementation:

Feature: Individual or team performance telemetry

As a manager I want to know what the work-load/performance of individual teams and engineers is. I can use this information either for performance review or for capacity planning of future work.

Individual/team performance

A new page will be available under TELEMETRY -> Management -> Performance which will:

The backend will query TestExecution.objects and apply the selected filters and grouping logic! The returned data is the count of how many tests this person/team was able to execute.

Further refinement: Aggregate count by statuses (executed vs. non-executed or PASSED vs. FAILED vs. OTHER). May be represented as a stacked bar chart if grouping of series is supported.

Feature: Time-tracking telemetry

As a manager I want to know how much time it took to complete previous testing activities. I can use this information for predicting future capacity.

New page under TELEMETRY -> Management -> Time tracking.

Visually this will be a line chart with one line for each user/group which have been selected. It will be very good if the existing chart libraries allow for a stacked line chart or a stacked area chart here!

Feature: Estimate TestRun completion time

As a test lead I want to know approximately when testing is expected to complete.

This feature will utilize time-tracking data from previous executions and display the approximated calculation in the web UI. The most obvious place for this is the TestRun progress widget (under the progress bar) or the Test Run page (near the Started at/Finished at fields).

Example text:

Started at: YYYY-MM-DD 10:38
Status: Running
Duration: 1.2 / 3 hrs
Estimated completion at: 13:30

Unknown: where does baseline duration come from? Either from the most recent TestRun or an average from all of the previous Test Runs. Note that cumulative TestRun duration is calculated between Start/Finish events while individual TestExecution records may sum up to a different value! This needs to be clarified.

Feature: TestCase health telemetry

As a tester and/or manager I want to be able to discover which TestCase(s) are the most common source of problems, that is they fail all the time or from time to time. This may indicate poor test design or bad practices when developing the product. This is also known as test stability or flaky tests!

Flaky tests

New page under TELEMETRY -> Testing -> Flaky tests

Feature: TestCase breakdown telemetry

As a tester and/or manager I want to see a breakdown of tests so that I have an idea how the existing tests for the product are distributed!

Test case breakdown

New page under TELEMETRY -> Testing -> Breakdown

Shows combined bar/line charts with information about test case priorities, categories, automation status and confirmed status.

Feature: Individual TestCase health widget

As a test engineer I want to be able to quickly see health information about individual test case. This can help me visually locate TCs that need improvement so I can edit them or will help me visually judge the past history of the TC I am looking at.

Individual TestCase health

This depends on the previous feature. Possible places where health status can be shown:

Feature: Execution trends telemetry

As a test manager I want to see information if Product builds are getting better or worse. In other words what is the trend in TestExecution number and status!

Build status

This is going to be a new page at TELEMETRY -> Testing -> Execution trends

You will be able to select TestRuns and/or weeks for detailed comparison.

Feature: TestRun status matrix telemetry

As a test manager I want to see detailed information about testing status for specific test run(s) or a calendar period. I also want to be able to compare the results between various weeks and/or test runs.

Compare TestRuns

This is a continuation of Execution trends telemetry but can be used on its own as well. It will be accessible from TELEMETRY -> Testing -> Status matrix

Filtering options are the same. Results are displayed in a table format where columns are the filtered (or previously selected) TestRun objects or calendar weeks. The rows are the names of individual test cases that have been executed. If a case is missing the cell will be empty.

Cells contain color coded information about status, timestamp of execution, execution duration, links to the TestExecution object, latest comment in case of failure.

Links to bugs will be shown in each cell with a summarized bug table below the charts.

Feature: Search and compare TestRuns

This is complimentary to the TestRun status matrix feature! While searching for TestRuns in SEARCH -> Test Runs the user will be able to select several rows and proceed to compare them as described above.

Happy testing!

Want to hack open source ?

Have you ever wanted to be part of an open source team? Have you ever wanted to contribute back the open source community ? Have you ever wanted to see your code used by thousands of people ?

If yes now you have the opportunity! Read on to learn how you can help Kiwi TCMS and how our team can help you.

Inexperienced Python developer(s)

It is fine not to have any experience at all! You will compensate with commitment and hard work. Initially you are going to work on refactoring, cleaning up pylint errors, removing duplicate code and other issues reported by CodeClimate.

By doing this you will have the opportunity to learn git, Python, Django, some CSS, JavaScript and Patternfly HTML of course. We are going to provide you with all the learning materials plus help and guidance from existing team members.

Everyone on the team has gone though the same training procedure and grueling tasks and so will you! Once you can demonstrate progress and learn the ropes you will continue working on more complicated tasks.

Experienced Python developer(s)

So you have some experience already, you've probably contributed code before and are now looking for more green stripes on your GitHub profile. We've got you covered!

There are many areas to choose from: issue tracker integration, GitHub integration, GitLab integration, external API library, Kiwi TCMS plugins written in Python and customized pylint linters! This is going to be where you get your hands dirty and show your strengths. Our team is here to help if necessary but we expect you to show progress by yourself.

A challenge for you will be to review pull requests from other contributors and be patient with less experienced contributors and team members. This is an excellent opportunity to work on your people skills as well.

Experienced non-Python developer(s) (with Java)

Kiwi TCMS is primarily looking for Java developers who will own our test automation plugins. Currently we have a plugin for JUnit 5 and TestNG is in planning. Maybe there will be a plugin for Jenkins as well. You are going to own these components and work solely on them. Unless you decide to learn Python and Django that would be a very easy job!

.NET, PHP, Ruby, JavaScript ? We don't have a lot of code written in these languages but you can help change this. The main thing we'd like you to know (or become familiar with) are the internals of popular test automation frameworks for these languages and how to create plugins for them.

QA engineer with Python

You are going to test a lot! You are going to write test automation a lot! Ideally you already have a medium level of experience in the software testing field and want to improve your coding skills and/or get more experience into a different application domain. We also have Linux and Docker in the mix, just for fun!

Your responsibility will be to design test scenarios for various features (new or existing), write test automation scripts and help improve overall test coverage and quality of Kiwi TCMS. You will also check-in on non-Python developers and help them with test design when necessary.

There are other things that can be tested as well, for example Kiwi TCMS performance and scalability. Here you will have to get down to the nitty-gritty stuff and do some profiling to pin-point where the root cause of the problem is.

Security freak

We've got Coverity scan and Snyk automatically inspecting our code base. We do have some other tools as well and we know they can never be enough.

You will be responsible for triaging the numerous issues being reported by these tools and help us decide if they are a real threat or a false positive. For example Coverity reports hundreds of issues mostly coming from our Python and Node.js dependency stack. We haven't had the time to classify them and work with upstream communities to fix them thus the majority of your contributions will be outside of the Kiwi TCMS code base.

Graphics designer

Your main job is going to be creating beautiful images for our website, blog posts and promotional material. All the images we use are licensed under Creative Commons which we then modify with the specific Kiwi TCMS look and feel. This is not going to change, your work will remain under a permissive license!

Marketing specialist

You will be directly responsible for driving more traffic to our website, interpreting Google Analytics metrics and coming up with creative ideas how to boost Kiwi TCMS popularity. This means, but not limited to blog posts, collaborations with other projects and/or bloggers, professional magazines, etc. You will also be in charge of events and conferences that we go to! Whenever possible you will be coming with us as well!

A challenge for you will be to learn some technical jargon and learn more about the software testing profession and software testers in general!

What's in it for you ?

You will sharpen your skills! You will use Kiwi TCMS as a platform to improve your career. You will experience the gratification of our community of users.

This blog is the medium where you can share tips and tricks and technical articles about interesting features in Kiwi TCMS. If you'd rather have your personal blog working on Kiwi TCMS will give you lots of topics to write about.

We go to conferences and meetups too. If public speaking is your thing you will have plenty of topics to talk about. We can also help you deliver your first presentation! Everyone on the team has done it!

Our existing team will help you learn and we will help you grow. Our personal time is the most expensive item we can offer to you! In return we expect you to fulfill your commitments and when you promise something will be done you will make sure it is done!

How to apply ?

You can figure this out yourself.

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 is going to FOSDEM 2019

Hello testers, Kiwi TCMS is going to FOSDEM this year. This is where you can find us:

Kiwi TCMS sticker

We would like to meet with all of you and talk about test management and test process organization. In case you are stuck for crazy ideas checkout our project mission for inspiration.

Be part of the community

We are turning 10 years old and we have presents for you! You will have to perform a small challenge and you can get your hands(errr, feet) on a pair of these:

Kiwi TCMS socks

Here's what else you can do to help us:

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 winter conference presence

We are happy to announce that OpenFest - the biggest open source conference in Bulgaria has provided an info booth for our project. This year the event will be held on 3rd and 4th of November at Sofia Tech Park!

Last time the team went to a conference together we had a lot of fun! Join us at OpenFest to learn more about Kiwi TCMS and have fun with us!

In case you are unable to visit Sofia, which you totally should, you can catch up with us in Russia until the end of the year:

Feel free to ping us at @KiwiTCMS or look for the kiwi bird logo and come to say hi. Happy testing!

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).

Happy birthday Kiwi TCMS

1 year infographic

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.

Subscribe to our newsletter