4.12

Nov 28, 2021

I’m pleased to announce a new release 4.12 is available now.

Highlights

  • The main branch switches to main.

  • Drop support of Django 2.1 and 3.0

  • Work with Django 3.2

  • Work with Python 3.10

  • Add more linters to CI

  • Lots of refactor in tcms/core/ajax.py

Get Nitrate

From PyPI

python3 -m pip install nitrate-tcms

RPM Packages

Packages are available via a Fedora Copr.

sudo dnf copr enable cqi/python-nitrate-tcms
sudo dnf install python-nitrate-tcms

# Install extra subpackages accordingly, e.g.
sudo dnf install python-nitrate-tcms+pgsql python-nitrate-tcms+async

Container Images

  • quay.io/nitrate/nitrate:4.12: the main image including Nitrate Web application.

  • quay.io/nitrate/nitrate-worker:4.12: an optional worker image if the asynchronous tasks scheduled and run by Celery are required.

Refer to Deployment for detailed information.

Database Migration

Run:

django-admin --settings=tcms.settings.produce migrate

Please note that, this time, before run the migrations, you have to update the app name in django_migrations directly manually:

UPDATE django_migrations SET app = 'tcms_auth' WHERE app = 'tcms.core.contrib.auth';
UPDATE django_migrations SET app = 'tcms_core' WHERE app = 'core';

Change Logs

  • Pin black version (#1008)

  • Run black linter in GH workflow (#1007)

  • Add isort linter

  • Add doc8 linter and fix errors (#1005)

  • The main branch has moved to main branch (#921)

  • py39 is the minimum required version (#984)

  • Show plans in order by pk when clone

  • Add django versions badge in README

  • Add Python versions badge (#994)

  • Add Python 3.10 to testenv (#985)

  • Refactor two tests to remove warning (#991)

  • Remove warning: The providing_args argument is deprecated (#941)

  • Pass value to middleware get_response argument (#942)

  • Add missing csrf token to import cases HTML form (#953)

  • Show components and tags in order in case run detailed info

  • Add Django 3.2 to testenv (#979)

  • Fix and rewrite TestUserUpdate

  • Drop django 2.1 and 3.0 (#978)

  • Use manage_tags view to remove tags from selected cases (#575)

  • manage_tags views accepts GET or POST request properly

  • Do not calculate number of plans, cases and runs for a run’s tags

  • JS: remove irrelevant parameters for adding tags to test cases

  • Refactor core.ajax.tag view method

  • JS: rewrite tags management

  • Exclude unnecessary HTML elements from FORM in get_tag.html

  • Fix typo and reword for the link of tag removal

  • Do not use anchor for tag operation buttons

  • Remove unnecessary id tag from tbody element

  • Fix the container port in the compose

  • Fix httpd conf path in Containerfile

  • Cleanup install section in spec

  • Do not remove /var/cache/dnf from containers

  • Update httpd config for running in the cloud

  • Refactor objects info view to make it more readable (#913)

  • Move comment_case_runs view to testruns app (#913)

  • Use dummy email backend for the worker service

  • Use non-bool value for environment variables of web service

  • Fix wrong environment format for messagebus service

  • Fix mailto task argument user type

  • Upgrade Fedora image version to 34 in CI

  • Remove Fedora 32 from CI for building packages

  • Use dummy email backend for local run inside container

  • Fix User.objects.create_user call in test

  • Write tests for TestCase.get_notification_recipients

  • Test ComponentAdmin.get_queryset

  • 100% code coverage on xmlrpc/api/build.py

  • Make it easy to assert equality with expected by pk

  • Fix type annotation Iterable for old Python version

  • Write tests for info view to get tags and users

  • Fix black and flake8 issues

  • Remove unused function is_sort_key_in_range

  • Remove unused view FilterPlansForTreeView

  • Write tests for xmlrpc/testrun.py

  • Correct the way to mock the import error for celery

  • Fix SQL param marker

  • Write more tests for testplans app

  • Fix plugins_support import error

  • Write and refactor a few tests for XMLRPC

  • Fix black issues

  • Write more tests for core app

  • Remove django_extensions from devel apps list

  • Fix wrong test case status id used in test

  • Fix eslint error

  • Use PATCH to change plan parent and enable/disable a plan

  • JS: remove duplicate code of changing order sort key

  • JS: fix code change test cases sort key

  • Use forms to validate objects PATCH request

  • JS: fix js to send PATCH request correctly

  • Avoid updating duplicate property value

  • Remove unused get_plan from TestCasesPatchView

  • Fix eslint errors

  • Use HTTP PATCH for the AJAX request to update object property

  • Refactor object property AJAX update view (#913)

  • Fix wrong Template.render call in 500 error handler

  • Format code with black (#934)

  • Upgrade tox-docker>=2.0.0 (#916)

  • Remove seldom used devtools packages

  • Fix python version for the WSGI conf (#931)

  • Adjust auth plugin for MySQL to run tests in CI

  • Fix django_comments.object_pk migration

  • Revert “Do not alter comment model’s object_pk data type”

  • Fix py39 testenv

  • Do not alter comment model’s object_pk data type

  • Fix package name libcrypt-dev

  • Exclude .mypy_cache/ from sdist (#927)

  • Use setup.cfg to configure setup.py (#922)

  • Use general name container instead of docker (#924)

  • Update release notes template (#923)