Polemarch

Latest version: v4.0.0

Safety actively analyzes 707283 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 13

4.0.0

BREAKING CHANGES:
- Removed uWSGI as main server.
- Setting ``addrport`` migrated to ``[web]`` section.
- Dropped support of ``Centrifugo`` versions less than 5 (now require ``allow_subscribe_for_client`` enabled).
- Dropped support for ``MariaDB`` 10.4, PostgreSQL 12 and less.
- Dropped support for ``Python`` less 3.10.
- Dropped support for ``MySQL`` less 8.0.11.
- The minimum supported version of ``SQLite`` is increased from 3.21.0 to 3.27.0.
- Migrated to ``Django`` 5.1.
- ``Pagination-Identifiers`` used to send duplicate values before, but now they can't.
- ``Pagination-Identifiers`` are now sorted independently of the order in the results.
- Migrated to ``OAuth2`` authentication model (internal server API).
- Disabled session auth for swagger ui and API.
- ``msgpack`` is used as default serializer for celery instead of ``pickle`` for security and performance reasons.
- Migrated to pyproject.

Changelog:
- Feature(UI): Custom users tokens for authentication (for integrations and automation).
- Feature(api): Complete migration to uvicorn and asyncio web-server.
- Feature(api): New ``web_worker`` command to start webserver (without celery worker).
- Feature(api): Migrate to JWT authentication.
- Feature(api): ``Python`` 3.13 support.
- Feature(api): Latest Ansible versions support.
- Feature(api): Add tarantool drivers for celery.
- Feature(api): Add support for django cache in tarantool.
- Feature(docker): Migrate base image to python 3.12.
- Fix(api): Other performance enhances.
- Fix(api): Valid Swagger 2.0 schema generation for some custom fields.
- Fix(api): Support SQS fifo queues.
- Fix(plugins): Provide model instances in custom plugin execution.
- Refactoring(build): Migrate to pyproject.

3.0.3

Changelog:
* Feature(backend): Migrate to vstutils 5.6.
* Feature(backend): Provide to setup normal headers to endpoint operations.
* Feature(plugins): Provide async support for history write plugins.
* Feature(web): Provided lightweight healthcheck for webserver ``/api/live/``.
* Fix(backend): Improved healthcheck endpoint to make simple db requests and check current celery connection.
* Fix(dev): Building with docker compose.
* Chore(service): Improved centrifugo notification performance and stability.
* Chore(web): Improved performance for static files.

3.0.2

Changelog:
* Feature(backend): Setup filename for ANSIBLE_STRING plugin.
* Feature(backend): Send `object_name` of models in hooks.
* Fix(backend): Allow to configure rpc backend and broker using environment variables in ``dockerrun``.
* Fix(package): Do not store compressed files.
* Chore(deps): Update rtd, prod and tests dependencies for backend.
* Docs: Add more information about architecture, plugins and centrifugo settings.

3.0.1

Changelog:
* Feature(backend): History ``inventory`` field now has value of ``arg_shown_on_history_as_inventory`` of execution plugin.
* Fix(backend): Migrate initiator fields to new model instances.

3.0.0

BREAKING CHANGES:
* Dropped Python<3.8.
* Dropped API v2 and v3.
* Execution template, template option, periodic task models and API changed a lot. See documentation for more info.
* Hosts and groups count removed from ``/stats/``. Execution and inventory plugins count added instead.
* All API paths containing ``module`` or `playbook` now named ``ansible_module`` or ``ansible_playbook`` accordingly.
* Old ``ci_template`` variable values are not compatible with new which require template option ids. Need to change manually.
* Paths end with ``../set_owner/`` now handles ``PATCH`` method instead of ``POST``. Same for ``/project/{id}/sync/``, ``/history/{id}/cancel/``.
* Import inventory actions now called ``import_inventory``.
* ``plugins`` section renamed to ``execution.plugin`` in ``settings.ini``.
* Database migrations are **potentially dangerous**, it's recommended to make backup before.
* Inventory model now has ``plugin`` field which is required in API.
* Remove ``import_inventory_from_file`` action.
* Rework ``import_inventory`` action.
* Remove ``master_project`` from ``Host``, ``Group`` and ``Inventory`` and remove ``InventoryItems`` abstract model itself.
* Execution plugins now must provide ``compatible_inventory_plugins`` setting. If not provided this is understood that execution plugin is incompatible with any inventory.
* Execution plugins now should be imported from ``polemarch.plugins.execution`` module instead of ``polemarch.plugins``.
* Execution plugin's ``get_execution_data`` now returns command and env vars only. For ``raw_inventory`` there is ``get_raw_inventory`` method.

Changelog:
* Feature(backend): Send history output to multiple places.
* Feature(backend): Create ``POLEMARCH_DB``, ``ANSIBLE_STRING`` and ``ANSIBLE_FILE`` plugins which are handle inventory data structure and processing. Plugins may work with state or db and may support import or not.
* Feature(backend): Hide hosts db stuff for state handled plugins and state action for db handled plugins.
* Feature(backend): Option ``compatible_inventory_plugins`` is dictionary of field names and tuple of plugin names.
* Feature(backend): Make ``get_pre_commands`` hook for execution plugins.
* Feature(backend): Allow to save multiple commands in history instance.
* Feature(backend): Create ``DynamicPluginField`` to allow inventory plugin have ``to_representation``, ``to_internal`` etc.
* Feature(frontend): Add inventory plugins counter to dashboard.
* Feature(frontend): Support ``filters`` by ``InventoryAutoCompletionField`` field and filter supported plugins in execute actions.
* Feature(frontend): Display execution args as fields in history page.
* Fix(backend): Deleting template options when inventory removes doesn't work with postgres.
* Fix(backend): Always save revision to history instead of branch.
* Fix(backend): Make ``import_inventory`` action atomic.
* Fix(backend): ``import_inventory`` creates state for inventory if it's state managed.
* Fix(backend): Remove patch method from inventory state edit action because it resets data if no data sent.
* Fix(docs): RTD build with new Python version.
* Chore(backend): Test execution plugins.
* Chore(backend): Bump vstutils version to 5.4.0.
* Chore(frontend): Update frontend dependencies.
* Chore(docs): Update execution plugins doc according to changes.
* Chore(docs): Update information with latest changes of vstutils.
* Refactor(backend): Rewrite all views using ``create_view``, ``SimpleAction``, ``Action``, ``EmptyAction`` where possible.
* Refactor(backend): Refactor plugin executions so ``CELERY_TASK_SERIALIZER='json'`` now can be used.
* Refactor(backend): Create ``ExecutionTemplate`` (instead of `Template`), ``ExecutionTemplateOption`` (instead of ``TemplateOption``),
``TemplatePeriodicTask`` (instead of ``PeriodicTask``) models.
* Refactor(backend): Add support for parsing new template format in ``.polemarch.yaml``, make old format deprecated.
* Refactor(backend): Remove unnecessary frontend code, such as setting ``hideNotRequired = true``, as it can be done now on backend.
* Refactor(backend): Removed ``set_inventory_field`` openapi hook.
* Refactor(backend): Move inventory rendering logic to plugins.
* Refactor(backend): Move inventory import logic to plugins.
* Refactor(backend): Move history and execution plugins to ``polemarch.plugins`` package.
* Refactoring(backend): Execute and template option create actions now validates all fields related to ``Inventory`` instead of just ``inventory`` field.
* Docs: Update GUI workflow docs screenshots.
* Docs: Add manual for creating inventory plugins.
* Docs: Add GUI workflow docs for ``ANSIBLE_STRING`` and ``ANSIBLE_FILE`` inventories.
* Service: Use ``django.core.cache.backends.redis.RedisCache`` instead of ``django_redis.cache.RedisCache``.

2.3.1

Changelog:
* Fix: Execution output now works as expected (probably).
* Chore: Update frontend dependencies.
* Chore: Add babel config.
* Chore: Update eslint config.
* Chore: Add vue and corejs dev dependencies.
* Chore(docs): Migrate to `sphinxcontrib-openapi` for building schema docs.
* Chore(docs): Add information about admin in installation.rst
* Refactor: Remove `OldLinesMixin`, use script setup and use `useAutoUpdate`.

Page 1 of 13

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.