{"id":26482022,"url":"https://github.com/kiwitcms/enterprise","last_synced_at":"2025-03-20T03:36:40.385Z","repository":{"id":37952814,"uuid":"93170831","full_name":"kiwitcms/enterprise","owner":"kiwitcms","description":"Kiwi TCMS Enterprise Edition","archived":false,"fork":false,"pushed_at":"2024-10-23T14:29:38.000Z","size":343,"stargazers_count":6,"open_issues_count":6,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-30T05:42:01.512Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://kiwitcms.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiwitcms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://kiwitcms.org/#subscriptions"],"github":["kiwitcms"],"patreon":null,"open_collective":"kiwitcms","ko_fi":null,"tidelift":"pypi/kiwitcms","community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2017-06-02T13:58:55.000Z","updated_at":"2024-10-23T14:31:12.000Z","dependencies_parsed_at":"2023-10-10T14:48:06.588Z","dependency_job_id":"d8ae08d5-9114-4e71-a3ca-cb8c718dd834","html_url":"https://github.com/kiwitcms/enterprise","commit_stats":{"total_commits":643,"total_committers":7,"mean_commits":91.85714285714286,"dds":0.5272161741835149,"last_synced_commit":"bf5d7eaba5c344f6f63b982a6c223cd9be4f1eb6"},"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fenterprise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fenterprise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fenterprise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fenterprise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiwitcms","download_url":"https://codeload.github.com/kiwitcms/enterprise/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244545529,"owners_count":20469879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-20T03:36:39.752Z","updated_at":"2025-03-20T03:36:40.377Z","avatar_url":"https://github.com/kiwitcms.png","language":"Shell","funding_links":["https://kiwitcms.org/#subscriptions","https://github.com/sponsors/kiwitcms","https://opencollective.com/kiwitcms","https://tidelift.com/funding/github/pypi/kiwitcms","https://tidelift.com/badges/package/pypi/kiwitcms","https://tidelift.com/subscription/pkg/pypi-kiwitcms?utm_source=pypi-kiwitcms\u0026utm_medium=github\u0026utm_campaign=enterprise"],"categories":[],"sub_categories":[],"readme":"[![Tidelift](https://tidelift.com/badges/package/pypi/kiwitcms)](https://tidelift.com/subscription/pkg/pypi-kiwitcms?utm_source=pypi-kiwitcms\u0026utm_medium=github\u0026utm_campaign=enterprise)\n[![Become-a-sponsor](https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors\u0026color=brightgreen)](https://opencollective.com/kiwitcms#contributors)\n[![Twitter](https://img.shields.io/twitter/follow/KiwiTCMS.svg)](https://twitter.com/KiwiTCMS)\n\n\nKiwi TCMS Enterprise Edition\n============================\n\nThis repository contains downstream distribution for the\n[Kiwi TCMS](http://kiwitcms.org) open source test management\nsystem, dubbed *Enterprise Edition*, which contains the following changes:\n\n* Based on `kiwitcms/kiwi` Docker image\n* **Compatible only with PostgreSQL !!!**\n* Versioned static files\n* NGINX replaced by [OpenResty](https://openresty.org) with embedded\n  [Lua](https://github.com/openresty/lua-nginx-module) support\n* Render Mermaid.js diagrams in Markdown fenced code blocks as PNG.\n  Controlled via `settings.MERMAID_RENDERER_URL`. Example\n    ```\n        See an example flowchart below:\n\n        ```mermaid\n        flowchart LR\n            Start --\u003e Stop\n        ```\n    ```\n* Add-ons:\n  - [django-ses](https://github.com/django-ses/django-ses) - Amazon SES email backend\n  - [django-storages](https://github.com/jschneier/django-storages) - storage backends\n  - [dj-database-url](https://github.com/jacobian/dj-database-url) - DB configuration\n    via the `DATABASE_URL` environment variable\n  - [django-prometheus](https://github.com/korfuri/django-prometheus) - Export Django\n    monitoring metrics for Prometheus.io\n  - [kiwitcms-github-app](https://github.com/kiwitcms/github-app/) - extra integration\n    with GitHub\n  - [kiwitcms-tenants](https://github.com/kiwitcms/tenants/) - multi-tenant support\n  - [kiwitcms-trackers-integration](https://github.com/kiwitcms/trackers-integration/) -\n    integration with extra issue trackers\n  - [sentry-sdk](https://docs.sentry.io/platforms/python/integrations/django/) - automatic error reporting with Sentry\n  - [social-auth-app-django](https://github.com/python-social-auth/social-app-django) -\n    extra [authentication backends](http://python-social-auth.readthedocs.io/en/latest/backends/index.html#supported-backends)\n  - [social-auth-kerberos](https://github.com/kiwitcms/python-social-auth-kerberos/) -\n    MIT Kerberos authentication backend\n  - [django-python3-ldap](https://github.com/etianen/django-python3-ldap) -\n    LDAP authentication backend\n  - [Let's Encrypt certbot](https://certbot.eff.org/)\n  - [certbot-dns](https://eff-certbot.readthedocs.io/en/latest/using.html#dns-plugins) plugins\n* Supported environment variables, configurable on the container:\n  - `DATABASE_URL` - short-hand database connection configuration, according to this\n    [this URL schema](https://github.com/jazzband/dj-database-url#url-schema); Replaces individual\n    database configuration via settings override, see\n    [example](https://github.com/kiwitcms/enterprise/blob/master/docker-compose.testing)\n  - `KIWI_TENANTS_DOMAIN` - FQDN for the multi-tenant configuration, e.g. *tcms.my-company.org*,\n    see [kiwitcms-tenants](https://github.com/kiwitcms/tenants/#dns-configuration) for more info\n  - `NGX_AUTHENTICATED_RATE`  - req/sec for authenticated URLs; **default 300 r/s**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_AUTHENTICATED_BURST` - burst rate for authenticated URLs; **default 100**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_ERRORS_RATE`  - req/sec for URLs resulting in 4xx, 5xx errors; **default 1 r/m**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_ERRORS_BURST` - burst rate for URLs resulting in 4xx, 5xx errors; **default 1**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_STATIC_RATE`  - req/sec for static files; **default 300 r/s**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_STATIC_BURST` - burst rate for static files; **default 100**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_UPLOADS_RATE` - req/sec for uploaded files; **default 10 r/s**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_UPLOADS_BURST`- burst rate for uploaded files; **default 10**,\n    see [etc/rate-limit.lua](https://github.com/kiwitcms/enterprise/blob/master/etc/rate-limit.lua)\n  - `NGX_CSP_SCRIPT_SRC`- extra value for the `Content-Security-Policy` header `script-src`\n     directive; **default: nil**)\n\nWhile the software itself is open source we do not provide public\naccess to the resulting `kiwitcms/enterprise` container image.\nThis is made available only to our subscribers, see https://kiwitcms.org/containers/\nand https://kiwitcms.org/#subscriptions for more information.\n\nIf you want to use Kiwi TCMS free of charge head to http://kiwitcms.org!\n\n\nInitial configuration\n---------------------\n\n1. Create your *docker-compose.yml* similar to our\n   [docker-compose.testing](https://github.com/kiwitcms/enterprise/blob/master/docker-compose.testing).\n   Make sure to define the `KIWI_TENANTS_DOMAIN` environment variable.\n2. Once your containers are running execute:\n\n    ```\n    docker exec -it web /Kiwi/manage.py initial_setup\n    ```\n\n   **NOTE:** the domain value provided during `initial_setup` should be the same or one-level up from\n   the value of `KIWI_TENANTS_DOMAIN`.\n\nFor more information see\nhttps://kiwitcms.readthedocs.io/en/latest/installing_docker.html#initial-configuration-of-running-container\nand https://github.com/kiwitcms/tenants/#first-boot-configuration\n\n3. For initial configuration of Let's Encrypt SSL certificates execute the command:\n\n    ```\n    docker exec -it -u0 web /Kiwi/bin/lets-encrypt \u003csecondary-fqdn\u003e \u003ctertiary-fqdn\u003e \u003cetc\u003e\n    ```\n\n   - the value of `KIWI_TENANTS_DOMAIN` will be the primary domain on the SSL certificate\n   - additional domain names may be specified as arguments\n   - **WARNINGS:**:\n       - true\n         [wildcard certificates](https://letsencrypt.org/docs/faq/#does-let-s-encrypt-issue-wildcard-certificates)\n         are only possible via certbot's DNS plugins while this script uses `--webroot`\n       - for full control you may want to execute the `certbot` command directly\n       - you need to bind-mount `/etc/letsencrypt/` and `/Kiwi/ssl/` inside the container\n         if you want the Let's Encrypt certificates to persist a restart\n\n\nHacking and customization\n-------------------------\n\nIn case you need to customize and extend the container image we recommend to use the\nexisting image as a baseline and incorporate all of your changes on top of it. For example\ncreate a `Dockerfile` like so:\n\n```\nFROM hub.kiwitcms.eu/kiwitcms/enterprise\n\n# your own changes go here\n```\n\nthen build your own image with the command\n`docker build -f Dockerfile.customized -t kiwitcms/customized .`.\n\n\nRebuilding from source is not recommended b/c it will result in slightly different images\ncompared to what we provide online to subscribers. There is no way for the Kiwi TCMS team\nto test or provide any guarantees on container images rebuilt by anyone but us!\n\nIn the event that you need to do so then use the `make docker-image` command and watchout\nfor errors during the build process. The buildroot generally needs Python 3,\nthe `make` and `docker` commands, the `wheel` and `twine` Python packages.\n\n\nChangelog\n---------\n\n### v14.1-mt (10 Mar 2025)\n\n- Based on Kiwi TCMS v14.1\n- Update certbot-* from 3.1.0 to 3.2.0\n- Update sentry-sdk from 2.20.0 to 2.22.0\n- Update social-auth-app-django from 5.4.2 to 5.4.3\n- Add new setting `MERMAID_RENDERER_URL`\n\n\n### v14.0-mt (05 Feb 2025)\n\n- Based on Kiwi TCMS v14.0\n- Remove dependency on ``dict-hash`` package\n- Update certbot-* from 3.0.1 to 3.1.0\n- Update django-ses from 4.3.0 to 4.4.0\n- Update sentry-sdk from 2.19.0 to 2.20.0\n- Update kiwitcms-tenants from 3.2.1 to 4.0.0\n- Replace deprecated ``STATICFILES_STORAGE`` setting\n\n\n### v13.7-mt (04 Dec 2024)\n\n- Based on Kiwi TCMS v13.7\n- Add dependency on ``dict-hash`` package\n- Update django-ses from 4.2.0 to 4.3.0\n- Update dj-database-url from 2.2.0 to 2.3.0\n- Update certbot from 2.11.0 to 3.0.1\n- Update certbot-dns-* plugins from 2.11.0 to 3.0.1\n- Update sentry-sdk from 2.16.0 to 2.19.0\n\n\n### v13.6-mt (12 Oct 2024)\n\n- Based on Kiwi TCMS v13.6\n- Update django-ses from 4.1.0 to 4.2.0\n- Update kiwitcms-tenants from 3.1.0 to 3.2.1\n- Update sentry-sdk from 2.12.0 to 2.16.0\n- Update value for `Content-Security-Policy` header to match\n  upstream Kiwi TCMS\n\n\n### v13.5-mt (07 Aug 2024)\n\n- Based on Kiwi TCMS v13.5\n- Update django-python3-ldap from 0.15.6 to 0.15.8\n- Update kiwitcms-github-app from 2.0.0 to 2.0.1\n- Update kiwitcms-tenants from 3.0.0 to 3.1.0\n- Update kiwitcms-trackers-integration from 0.7.0 to 1.0.0\n- Update sentry-sdk from 2.5.1 to 2.12.0\n- Update social-auth-app-django from 5.4.1 to 5.4.2\n\n\n### v13.4-mt (12 Jun 2024)\n\n- Based on Kiwi TCMS v13.4\n- Relicense this source code under GNU Affero General Public License v3 or later\n- Prior versions are still licensed under GNU General Public License v3\n- Support Mermaid.js syntax in Markdown fenced code blocks. Closes\n  [Issue #3116](https://github.com/kiwitcms/Kiwi/issues/3116)\n- Update certbot from 2.10.0 to 2.11.0\n- Update certbot-dns-* plugins from 2.10.0 to 2.11.0\n- Update django-ses from 4.0.0 to 4.1.0\n- Update dj-database-url from 2.1.0 to 2.2.0\n- Update kiwitcms-github-app from 1.7.0 to 2.0.0\n- Update kiwitcms-tenants from 2.8.3 to 3.0.0\n- Update sentry-sdk from 2.2.0 to 2.5.1\n\n\n### v13.3-mt (20 May 2024)\n\n- Based on Kiwi TCMS v13.3\n- Update kiwitcms-github-app from 1.6.0 to 1.7.0\n- Update sentry-sdk from 2.0.1 to 2.2.0\n- Preserve `/static/ca.crt` file inside the container\n\n\n### v13.2-mt (04 May 2024)\n\n- Update certbot from 2.9.0 to 2.10.0\n- Upgrade certbot-dns-* plugins from 2.9.0 to 2.10.0\n- Update django-python3-ldap from 0.15.5 to 0.15.6\n- Update django-ses from 3.5.2 to 4.0.0\n- Update kiwitcms-tenants from 2.6.0 to 2.8.3\n- Update sentry-sdk from 1.40.5 to 2.0.1\n- Update social-auth-app-django from 5.4.0 to 5.4.1\n- Update documentation related to production deployments\n- Add test for file uploads via browser UI\n\n\n### v13.1.1-mt-20240302 (02 Mar 2024)\n\n- Fix for 404 errors when uploading files caused by\n  different default configuration between OpenResty and NGINX\n\n\n### v13.1.1-mt (27 Feb 2024)\n\n- Based on Kiwi TCMS v13.1.1\n- Fix a bug introduced in v13.1\n\n\n### v13.1-mt (26 Feb 2024)\n\n- Based on Kiwi TCMS v13.1\n- Replace NGINX with OpenResty with built-in support for Lua scripting\n- Implement request limits configurable via environment variables\n- Initial integration with Let's Encrypt. Closes\n  [Issue #253](https://github.com/kiwitcms/enterprise/issues/253)\n\n  **WARNINGS:**:\n    - true\n      [wildcard certificates](https://letsencrypt.org/docs/faq/#does-let-s-encrypt-issue-wildcard-certificates)\n       are only possible via certbot's DNS plugins while current integration uses `--webroot`\n    - you need to bind-mount `/etc/letsencrypt/` and `/Kiwi/ssl/` inside the container\n      if you want the Let's Encrypt certificates to persist a restart\n\n- Replace ``raven`` with ``sentry-sdk``\n- Override ``HEALTHCHECK`` command\n- Add more tests for container and http functionality\n\n\n### v13.0-mt (17 Jan 2024)\n\n- Based on Kiwi TCMS v13.0\n- Update container runtime from Python 3.9 to Python 3.11\n- Update django-ses from 3.5.0 to 3.5.2\n- Update kiwitcms-github-app from 1.5.1 to 1.6.0\n- Update kiwitcms-tenants from 2.5.2 to 2.6.0\n- Update kiwitcms-trackers-integration from 0.6.0 to 0.7.0\n- Update social-auth-kerberos from 0.2.4 to 0.3.0\n- Start testing with upstream Postgres container image\n- Assert that Personal API Tokens is listed in PLUGINS menu\n- Adjust search path for images during test\n\n\n### v12.7-mt (25 Nov 2023)\n\n- Based on Kiwi TCMS v12.7\n- Update kiwitcms-tenants from 2.5.1 to 2.5.2\n- Update kiwitcms-trackers-integration from 0.5.0 to 0.6.0\n\n    Provides functionality for personal API tokens. Accessible via\n    PLUGINS -\u003e Personal API tokens menu!\n\n    WARNING: in order for users to be able to define personal API tokens\n    for 3rd party bug-trackers they will need to be assigned permissions.\n\n    Database administrators should consider granting the following\n    permissions::\n\n        tracker_integrations | api token | Can add api token\n        tracker_integrations | api token | Can change api token\n        tracker_integrations | api token | Can delete api token\n        tracker_integrations | api token | Can view api token\n\n    either individually per-user basis or via groups!\n\n- Update python3-saml from 1.15.0 to 1.16.0\n- Update social-auth-app-django from 5.2.0 to 5.4.0\n\n\n### v12.6.1-mt (31 Aug 2023)\n\n- Based on Kiwi TCMS v12.6.1\n- Update dj-database-url from 2.0.0 to 2.1.0\n\n\n\n### v12.5-mt (04 Jul 2023)\n\n- Based on Kiwi TCMS v12.5\n- Update django-python3-ldap from 0.15.4 to 0.15.5\n- Install django-prometheus inside container\n- Pin Selenium to 4.9.1 b/c of failures with 4.10.0\n\n\n### v12.4-mt (06 Jun 2023)\n\n- Based on Kiwi TCMS v12.4\n- Update kiwitcms-trackers-integration from 0.4.0 to 0.5.0\n\n\n### v12.3-mt (22 May 2023)\n\n- Based on Kiwi TCMS v12.3\n- Update dj-database-url from 1.3.0 to 2.0.0\n- Update django-ses from 3.3.0 to 3.5.0\n- Update kiwitcms-tenants from 2.5.0 to 2.5.1\n- Explicitly set permissions to read-all\n- Enable checkov linter\n\n\n### v12.2-mt (23 Apr 2023)\n\n- Based on Kiwi TCMS v12.2\n- Update social-auth-app-django from 5.0.0 to 5.2.0\n\n\n### v12.1-mt (29 Mar 2023)\n\n- Based on Kiwi TCMS v12.1\n- Update dj-database-url from 1.2.0 to 1.3.0\n- Update kiwitcms-github-app from 1.4.1 to 1.5.1\n- Update kiwitcms-trackers-integration from 0.3.0 to 0.4.0\n- Add test for missing migrations\n\n\n### v12.0-mt (15 Feb 2023)\n\n- Based on Kiwi TCMS v12.0\n- Update kiwitcms-github-app from 1.4.0 to 1.4.1\n- Update kiwitcms-tenants from 2.4.0 to 2.5.0\n\n\n\n### v11.7-mt (03 Jan 2023)\n\n- Based on Kiwi TCMS v11.7\n- Update dj-database-url from 1.0.0 to 1.2.0\n- Update django-python3-ldap from 0.15.3 to 0.15.4\n- Update django-ses from 3.2.2 to 3.3.0\n- Update kiwitcms-tenants from 2.3.2 to 2.4.0 to\n  allow customization of tenant logo in navigation\n- Update python3-saml from 1.14.0 to 1.15.0\n- Add CodeQL workflow for GitHub code scanning\n- Adjust ldap commands for Ubuntu 22.04.1 during testing in CI\n\n\n\n### v11.6-mt (08 Nov 2022)\n\n- Based on Kiwi TCMS v11.6\n- Update containers for RHEL 9, CentOS Stream 9 and Python 3.9\n- Update actions/checkout from 2 to 3\n- Update django-ses from 3.1.2 to 3.2.2\n- Update kiwitcms-tenants from 2.3.1 to 2.3.2\n- Update kiwitcms-trackers-integration from 0.2.0 to 0.3.0.\n  Supports integration with OpenProject and Mantis BT. Closes\n  [Issue #2203](\u003chttps://github.com/kiwitcms/Kiwi/issues/2203\u003e) and\n  [Issue #879](\u003chttps://github.com/kiwitcms/Kiwi/issues/879\u003e)\n\n\n\n### v11.5.1-mt (10 Sep 2022)\n\n- Update kiwitcms-tenants from 2.3.0 to 2.3.1\n\n\n\n### v11.5-mt (06 Sep 2022)\n\n- Based on Kiwi TCMS v11.5\n- Update django-python3-ldap from 0.15.2 to 0.15.3\n- Update django-ses from 3.1.0 to 3.1.2\n- Update kiwitcms-tenants from 2.1.1 to 2.3.0\n- Update kiwitcms-github-app from 1.3.3 to 1.4.0\n\n\n\n### v11.4-mt (03 Aug 2022)\n\n- Based on Kiwi TCMS v11.4\n- Update django-python3-ldap from 0.13.1 to 0.15.2\n- Update django-ses from 3.0.1 to 3.1.0\n- Update dj-database-url from 0.5.0 to 1.0.0\n- Add more icons for extra GitHub login backends\n- Add images for various Google login backends\n\n\n\n### v11.3.1-mt (27 April 2022)\n\n- Based on Kiwi TCMS v11.3\n- Update kiwitcms-tenants from 2.1.0 to 2.1.1 to fix a bug in\n  tenant groups admin page\n\n\n### v11.3-mt (27 April 2022)\n\n- Based on Kiwi TCMS v11.3\n- Update django-ses from 2.6.0 to 3.0.1\n- Update kiwitcms-tenants from 1.11.0 to 2.1.0 for\n  tenant groups support\n\n\n### v11.2-mt (09 March 2022)\n\n- Based on Kiwi TCMS v11.2\n- Update django-ses from 2.4.0 to 2.6.0\n- Update python3-saml from 1.13.0 to 1.14.0\n- Revert \"Use django.contrib.staticfiles.storage from Django==3.2.12\".\n  Instead use the implementation from latest Django version. Closes\n  [Issue #140](https://github.com/kiwitcms/enterprise/issues/140)\n- Start building kiwitcms/enterprise on aarch64\n- Add changelog check \u0026 docker release automation\n- Add test for PSA login URLs on login page. References\n  [Issue #83](https://github.com/kiwitcms/enterprise/issues/83)\n- Add SAML \u0026 Azure AD logo images\n- Update GitHub Actions\n- Hard-code testing with Keycloak 16.1.1 to workaround significant differences\n  with Keycloak v17 container\n\n\n### v11.1-mt (02 February 2022)\n\n- Based on Kiwi TCMS v11.1\n- Update kiwitcms-github-app from 1.3.2 to 1.3.3\n- Update django-ses from 2.3.1 to 2.4.0\n- Update python3-saml from 1.12.0 to 1.13.0\n- Workaround UnicodeDecodeError while building the docker image\n\n### v11.0-mt (24 January 2022)\n\n- Based on Kiwi TCMS v11.0\n- Update kiwitcms-tenants from 1.8.0 to 1.11.0\n\n### v10.5.1-mt (05 January 2022)\n\n- Based on Kiwi TCMS v10.5\n- Update django-python3-ldap from 0.13.0 to 0.13.1\n- Update kiwitcms-github-app from 1.3.1 to 1.3.2\n\n### v10.5-mt (25 November 2021)\n\n- Based on Kiwi TCMS v10.5\n- Update django-python3-ldap from 0.12.0 to 0.12.1\n- Update django-ses from 2.3.0 to 2.3.1\n- Update kiwitcms-tenants from 1.7.0 to 1.8.0\n\n\n### v10.4.1-mt (05 October 2021)\n\n- Update kiwitcms-github-app from 1.3.0 to 1.3.1\n\n\n### v10.4-mt (04 October 2021)\n\n- Based on Kiwi TCMS v10.4\n- Update django-ses from 2.2.1 to 2.3.0\n- Update python3-saml from 1.11.0 to 1.12.0\n- Update social-auth-app-django from 4.0.0 to 5.0.0\n- Use initial_setup during testing. Closes\n  [Issue #88](https://github.com/kiwitcms/enterprise/issues/88)\n- Fix new pylint issues and start using f-strings\n- Test \"ADMIN -\u003e Users and Groups\" menu redirect\n\n\n### v10.3-mt (11 August 2021)\n\n- Based on Kiwi TCMS v10.3\n- Container image based on Red Hat Universal Base Image\n- Update django-ses from 2.1.1 to 2.2.1\n- Update python3-saml from 1.10.1 to 1.11.0\n- Add GitLab login icon\n\n\n### v10.2-mt (11 July 2021)\n\n- Based on Kiwi TCMS v10.2\n- Update django-ses from 2.0.0 to 2.1.1\n- Update django-python3-ldap from 0.11.4 to 0.12.0\n- Update documentation around initial config\n\n\n### v10.1.1-mt (01 July 2021)\n\n- Based on Kiwi TCMS v10.1\n- Fix URL to Python Social Auth documentation\n- Support read-only view on tenants for anonymous users. Contains a\n  database migration to rename `on_trial` field to `publicly_readable`\n- Document initial configuration. Site administrators should add the\n  `tenants.change_tenant` permission to users/groups who are allowed\n  to make their tenants publicly visible. Fixes\n  [Issue #87](https://github.com/kiwitcms/enterprise/issues/87),\n  References\n  [Issue #88](https://github.com/kiwitcms/enterprise/issues/88)\n- Document the build process. Fixes\n  [Issue #89](https://github.com/kiwitcms/enterprise/issues/89)\n- Verify support for Keycloak logins. Fixes\n  [Issue #86](https://github.com/kiwitcms/enterprise/issues/86)\n- Update kiwitcms-github-app from 1.2.4 to 1.3.0\n- Update kiwitcms-tenants from 1.5.0 to 1.6.0\n\n\n### v10.1-mt (18 May 2021)\n\n- Based on Kiwi TCMS v10.1\n- Container image built with Python 3.8\n- Update kiwitcms-tenants from 1.4.3 to 1.4.4\n\n\n### v10.0.1-mt (29 Apr 2021)\n\n- Based on Kiwi TCMS v10.0\n- Update django-ses from 1.0.3 to 2.0.0\n- Add python3-saml to dependencies, needed by Python Social Auth SAML backend\n\n\n### v10.0-mt (02 Mar 2021)\n\n- Based on Kiwi TCMS v10.0\n- Update kiwitcms-github-app from 1.2.2 to 1.2.4\n- Update kiwitcms-tenants from 1.4.2 to 1.4.3\n- Update django-python3-ldap from 0.11.3 to 0.11.4\n\n\n### v9.0-mt (12 Jan 2021)\n\n- Based on Kiwi TCMS v9.0\n- Update kiwitcms-github-app from 1.2.1 to 1.2.2\n- Update kiwitcms-tenants from 1.3.1 to 1.4.2\n\n\n### v8.9-mt (07 Dec 2020)\n\n- Based on Kiwi TCMS v8.9\n\n\n### v8.8-mt (07 Nov 2020)\n\n- Based on Kiwi TCMS v8.8\n- Update kiwitcms-github-app from 1.2 to 1.2.1\n\n\n### v8.7-mt (16 Sep 2020)\n\n- Based on Kiwi TCMS v8.7\n- Overrides for setting ``PUBLIC_VIEWS`` have been removed b/c this\n  setting has been removed upstream\n- Update django-ses from 1.0.2 to 1.0.3\n- Update kiwitcms-github-app from 1.1 to 1.2\n- Update kiwitcms-tenants from 1.2.1 to 1.3.1\n\n\n### v8.6-mt (23 Aug 2020)\n\n- Based on Kiwi TCMS v8.6\n\n\n### v8.5.2-mt (06 Aug 2020)\n\n- Update django-ses from 1.0.1 to 1.0.2\n- Update kiwitcms-github-app from 1.0 to 1.1\n\n\n### v8.5.1-mt (24 July 2020)\n\n- Based on Kiwi TCMS v8.5\n- Update kiwitcms-tenants from 1.2 to 1.2.1\n\n\n### v8.5-mt (10 July 2020)\n\n- Based on Kiwi TCMS v8.5\n- Update django-ses from 0.8.14 to 1.0.1\n- Update kiwitcms-tenants from 1.1.1 to 1.2\n- Update social-auth-app-django from 3.4.0 to 4.0.0\n- Start tagging non-Enterprise images of `kiwitcms/kiwi` - will be provided\n  via separate private repository for enterprise customers\n\n\n### v8.4-mt (03 June 2020)\n\n- Based on Kiwi TCMS v8.4\n- Update social-auth-app-django from 3.1.0 to 3.4.0\n- Add django-python3-ldap add-on for LDAP logins\n\n\n### v8.3-mt (27 Apr 2020)\n\n- Convert into a proper Kiwi TCMS plugin before installing into docker image\n- Update kiwitcms-tenants from 1.0.1 to 1.1.1\n- Ship with kiwitcms-github-app plugin\n- Add icon for kerberos login backend\n- Add translation source strings\n- Add ``tcms_settings_dir/`` like other plugins\n- Make `enterprise.py` settings idempotent\n- Update LICENSE to GPLv3\n- Fix pyllint issues\n- Add tests in CI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwitcms%2Fenterprise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiwitcms%2Fenterprise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwitcms%2Fenterprise/lists"}