Skip to content

Releases: haidaraM/ansible-playbook-grapher

v2.8.0 (2025-01-01)

01 Jan 19:36
Compare
Choose a tag to compare

What's Changed

  • fix: Make sure the import_role tasks are always added to the graph. More info at #231.
  • Changes the shape of the graphviz node to make it consistent with Mermaid. The tasks will be rectangle instead of octagon: https://graphviz.org/doc/info/shapes.html
  • fix: Remove the play name from the edge going from the playbook to the plays. This was not consistent with the other edges.
  • fix: The tags on the role itself should not be evaluated. Instead, what we care about is the tasks (they inherit the tags set on the roles). More info [here.]https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_tags.html#adding-tags-to-roles)
  • The empty roles and blocks are no longer displayed by default. An empty role is a role with no tasks (after applying the tags filters, for example). This is the same behavior as the option --hide-empty-plays but with roles. I will eventually drop --hide-empty-plays to make this the default behavior in the future.
  • feat: Add the initial support for handlers to the graph with --show-handlers. They are by default added at the end of the play and roles only. This might change in the future to actually reflect the handlers' behavior.
  • feat: Add a new option --title to add a title to the graph by @haidaraM in #229. Default to 'Ansible Playbook Grapher'. The graphviz
    renderer will now use this as the title (label). The Mermaid renderer already has a title.
  • improvement: Make the play node label like what "ansible-playbook --list-tasks" show. This is more consistent with the actual playbook output.
  • fix: The playbook location.path should be the absolute path + use local paths when testing by @haidaraM in #230.
  • docs: Add a comparison matrix for the different renderers
  • (Internal) Moved some flags out of the parser to the renderer instead. The whole playbook and all the tasks and roles (except the excluded ones) are always parsed. The renderer(s) will decide later what do based on the flags
  • (Internal) Refactor how the nodes and tasks indices are computed given we can now add handlers after all the tasks are parsed.
  • (Internal) Add a new display_name() method to the node for a friendly name for the graph. This removes passing the node_label_prefix in multiple places.

Full Changelog: v2.7.0...v2.8.0

v2.7.0 (2024-12-22)

22 Dec 11:23
Compare
Choose a tag to compare

What's Changed

  • fix: Blocks inside roles weren't added to the graph @haidaraM in #225
  • feat: Add support for excluding specific roles in the graph view with --exclude-roles by @Eltryo in #219

Full Changelog: v2.6.0...v2.7.0

v2.6.0 (2024-12-16)

16 Dec 22:52
Compare
Choose a tag to compare

What's Changed

  • feat: Add support for ignoring standalone tasks and role tasks with --only-roles in the graph view by @Eltryo in #218
  • fix: Tasks in 'include_role' were being wrongly included in the graph by default by @haidaraM in #222
  • fix: Increase Ansible and Python compatibility range to [2.16, 2.18.2[ by @haidaraM in https://github.com//pull/220
  • fix(mermaid): More rounded role node for consistency with graphviz
  • ci: Collapse the mermaid graphs in the job summary by @haidaraM in #221
  • ci: Make sure workflows are triggered for forks
  • chore(deps): bump pytest from 8.3.3 to 8.3.4 by @dependabot in #216

New Contributors

Full Changelog: v2.5.1...v2.6.0

v2.5.1 (2024-12-04)

04 Dec 21:15
Compare
Choose a tag to compare

What's Changed

  • chore(deps): bump ruff from 0.7.4 to 0.8.1 by @dependabot in #211
  • chore(deps): update ansible-core requirement from >=2.16,<2.17.5 to >=2.17.5,<2.18.1 by @dependabot in #210

Full Changelog: v2.5.0...v2.5.1

v2.5.0 (2024-11-23)

23 Nov 11:55
Compare
Choose a tag to compare

What's Changed

  • feat: Adding support for reading playbooks from collections by @haidaraM in #208
  • chore(deps): bump ruff from 0.7.1 to 0.7.4 by @dependabot in #209
  • chore(deps): update ansible-core requirement from <2.17.3,>=2.16 to >=2.16,<2.17.5 by @dependabot in #201
  • chore(deps): bump pytest-cov from 5.0.0 to 6.0.0 by @dependabot in #206
  • chore(deps): bump ruff from 0.6.8 to 0.7.1 by @dependabot in #205

Full Changelog: v2.4.0...v2.5.0

v2.4.0 (2024-10-31)

30 Oct 23:32
Compare
Choose a tag to compare

What's Changed

  • ci: Use ruff for linting and format by @haidaraM in #199
  • chore(deps): bump ruff from 0.6.4 to 0.6.8 by @dependabot in #202
  • chore(deps): bump pytest from 8.3.2 to 8.3.3 by @dependabot in #200
  • fix: 'dict' object has no attribute 'ansible_pos' when validating arguments by @haidaraM in #204

Full Changelog: v2.3.0...v2.4.0

v2.3.0 (2024-09-07)

07 Sep 08:34
Compare
Choose a tag to compare

What's Changed

  • feat: Add support for a JSON renderer by @haidaraM in #193
  • chore(deps): update black requirement from ~=24.3 to ~=24.4 by @dependabot in #188
  • chore(deps): bump pytest from 8.1.1 to 8.2.1 by @dependabot in #189
  • chore(deps): bump pytest from 8.2.1 to 8.2.2 by @dependabot in #191
  • chore(deps): update ansible-core requirement from <2.16.6,>=2.15 to >=2.15,<2.17.1 by @dependabot in #190
  • chore(deps): bump pytest from 8.2.2 to 8.3.2 by @dependabot in #195
  • chore(deps): bump pyquery from 2.0.0 to 2.0.1 by @dependabot in #197
  • chore(deps): update black requirement from ~=24.4 to ~=24.8 by @dependabot in #196
  • chore(deps): update ansible-core requirement from <2.17.1,>=2.16 to >=2.16,<2.17.3 by @dependabot in #194

Full Changelog: v2.2.1...v2.3.0

v2.2.1 (2024-04-24)

24 Apr 18:47
Compare
Choose a tag to compare

What's Changed

  • fix: Only display mermaid live editor URL with the flag -vv
  • chore(deps): bump pytest from 8.0.2 to 8.1.1 by @dependabot in #185
  • chore(deps): bump pytest-cov from 4.1.0 to 5.0.0 by @dependabot in #182
  • chore(deps): update black requirement from ~=24.2 to ~=24.3 by @dependabot in #184
  • chore(deps): update ansible-core requirement from <2.16.5,>=2.15 to >=2.15,<2.16.6 by @dependabot in #183

Full Changelog: v2.2.0...v2.2.1

v2.2.0 (2024-04-21)

21 Apr 18:38
Compare
Choose a tag to compare

What's Changed

  • feat: Add support for hiding empty plays and plays without roles #177.
    • Add a new flag --hide-empty-plays to not show in the graph the plays that end up being empty after applying the filters.
    • Add a new flag --hide-plays-without-roles to not show in the graph the plays that end up with no roles. Only roles at the play level and include_role as tasks are considered (no import_role).
  • Add support for viewing mermaid graphs in the browser with --view --renderer mermaid-flowchart in #181
  • refactor(internal): PlaybookNode.plays is now a method instead of property.
  • refactor(internal): Do not access the _compositions in the child classes: use method from the CompositeNode.
  • chore(deps): update black requirement from ~=24.1 to ~=24.2 by @dependabot in #175
  • chore(deps): bump pytest from 8.0.0 to 8.0.2 by @dependabot in #173
  • fix: make sure pip install from github works by @haidaraM in #178
  • chore(deps): update ansible-core requirement from <2.16.4,>=2.15 to >=2.15,<2.16.5 by @dependabot in #174

Full Changelog: v2.1.2...v2.2.0

v2.1.2

24 Feb 23:00
Compare
Choose a tag to compare

What's Changed

Dependency updates:

  • chore(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #166
  • chore(deps): bump actions/setup-python from 4 to 5 by @dependabot in #165
  • chore(deps): bump pytest from 7.4.3 to 7.4.4 by @dependabot in #168
  • chore(deps): update black requirement from ~=23.11 to ~=23.12 by @dependabot in #169
  • chore(deps): update lxml requirement from <5 to <6 by @dependabot in #167
  • chore(deps): update ansible-core requirement from <2.16,>=2.15 to >=2.15,<2.17 by @dependabot in #164
  • chore(deps): bump pytest from 7.4.4 to 8.0.0 by @dependabot in #171
  • chore(deps): update black requirement from ~=23.12 to ~=24.1 by @dependabot in #172
  • chore(deps): update ansible-core requirement from <2.16.1,>=2.15 to >=2.15,<2.16.4 by @dependabot in #170

Full Changelog: v2.1.1...v2.1.2