content: [changelog]
  body = """
  {% if version %}\
  ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
  {% else %}\
  ## [unreleased]
  {% endif %}\
  {% for group, commits in commits | group_by(attribute="group") %}
  ### {{ group | striptags | trim | upper_first }}
  {% for commit in commits %}
  - {% if commit.scope %}*({{ commit.scope }})* {% endif %}{% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}
  {% endfor %}
  {% endfor %}
  """
  trim = true
  render_always = true
  postprocessors = [
      { pattern = '<REPO>', replace = "https://github.com/nehu3n/tazk" },
  ]
  
  [git]
  conventional_commits = true
  filter_unconventional = true
  require_conventional = false
  split_commits = false
  commit_preprocessors = [
      { pattern = '\\((\\w+\\s)?#([0-9]+)\\)', replace = "([#${2}](<REPO>/issues/${2}))" },
      { pattern = '.*', replace_command = 'typos --write-changes -' },
  ]
  protect_breaking_commits = false
  
  commit_parsers = [
      { message = "^feat", group = "<!-- 0 -->🚀 Features" },
      { message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
      { message = "^perf", group = "<!-- 4 -->⚡ Performance" },
      { message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
      { message = "^style", group = "<!-- 5 -->🎨 Styling" },
      { message = "^test", group = "<!-- 6 -->🧪 Testing" },
      { message = "^doc", group = "<!-- 3 -->📚 Documentation" },
      { message = "^chore\\(release\\): prepare for", skip = true },
      { message = "^chore\\(deps.*\\)", skip = true },
      { message = "^chore\\(pr\\)", skip = true },
      { message = "^chore\\(pull\\)", skip = true },
      { message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
      { body = ".*security", group = "<!-- 8 -->🛡️ Security" },
      { message = "^revert", group = "<!-- 9 -->◀️ Revert" },
      { message = ".*", group = "<!-- 10 -->💼 Other" },
  ]
  
  filter_commits = false
  link_parsers = []
  
  use_branch_tags = false
  topo_order = false
  topo_order_commits = true
  sort_commits = "oldest"
  recurse_submodules = false