[
  {
    "hash": "77a5b43",
    "message": "chore(git-blame): fix commit hash for SPDX header change"
  },
  {
    "hash": "6b83891",
    "message": "chore(git-blame): ignore SPDX license header commit"
  },
  {
    "hash": "d4e50ff",
    "message": "chore(licenses): update license headers to use SPDX"
  },
  {
    "hash": "f868e5e",
    "message": "chore: reformat black"
  },
  {
    "hash": "404908d",
    "message": ":package: release: v2.4.0"
  },
  {
    "hash": "a53b079",
    "message": "feat: add support for anchor in invenio_url_for"
  },
  {
    "hash": "9f1b8ce",
    "message": "release: v2.3.2"
  },
  {
    "hash": "03ee557",
    "message": "fix: python3.9 can contain duplicates"
  },
  {
    "hash": "9587e5c",
    "message": "release: v2.3.1"
  },
  {
    "hash": "a288761",
    "message": "fix: use standard"
  },
  {
    "hash": "a0e64d6",
    "message": "release: v2.3.0"
  },
  {
    "hash": "cfaceba",
    "message": "temp: fix python3.9 compatibility"
  },
  {
    "hash": "64cbc9b",
    "message": "fix: pkg_resources DeprecationWarning"
  },
  {
    "hash": "64c89cd",
    "message": "fix: click breaking changes"
  },
  {
    "hash": "20c9d38",
    "message": ":package: release: v2.2.0"
  },
  {
    "hash": "c94a30a",
    "message": "urls: update documentation of the URL builder constructor"
  },
  {
    "hash": "bb8990c",
    "message": "urls: support converters in create_invenio_apps_urls_builder_factory"
  },
  {
    "hash": "dd0aca9",
    "message": "ci: remove DB and Search services from matrix"
  },
  {
    "hash": "2b28f4a",
    "message": "ci: use shared pypi publish workflow"
  },
  {
    "hash": "9cb8b67",
    "message": "urls: implement cross-app way to generate urls"
  },
  {
    "hash": "d12d883",
    "message": "release: v2.0.0"
  },
  {
    "hash": "dce06e8",
    "message": "setup: set flask,werkzeug min version"
  },
  {
    "hash": "dfe7058",
    "message": "tests: move to reusable workflows"
  },
  {
    "hash": "e14a2b3",
    "message": "jws: move functionality from itsdangerous"
  },
  {
    "hash": "1dc849c",
    "message": "setup: remove upper pins"
  },
  {
    "hash": "8c7235b",
    "message": "relase: v1.4.0"
  },
  {
    "hash": "22ef8d7",
    "message": "app: add configurable gc.freeze() call"
  },
  {
    "hash": "d1a75bf",
    "message": "setup: pin watchdog"
  },
  {
    "hash": "92b07cc",
    "message": "release: 1.3.0"
  },
  {
    "hash": "06252c5",
    "message": "fix: black and pydocstyle disagreed"
  },
  {
    "hash": "1d8a904",
    "message": "base: renamed entrypoint"
  },
  {
    "hash": "aed5cd5",
    "message": "app: add init_functions_loader"
  },
  {
    "hash": "417a61a",
    "message": "release: v1.2.15"
  },
  {
    "hash": "f0c09b0",
    "message": "installation: pin Werkzeug<2.3.0"
  },
  {
    "hash": "48c2325",
    "message": "release: v1.2.14"
  },
  {
    "hash": "3265a0a",
    "message": "installation: pin Flask to <2.3.0"
  },
  {
    "hash": "0495114",
    "message": "release: v1.2.13"
  },
  {
    "hash": "8299f6d",
    "message": "Revert \"setup: upper pin werkzeug\""
  },
  {
    "hash": "d8815ae",
    "message": "release: v1.2.12"
  },
  {
    "hash": "007909b",
    "message": "setup: upper pin werkzeug"
  },
  {
    "hash": "b461466",
    "message": "global: clean test infrastructure"
  },
  {
    "hash": "9eb5cd3",
    "message": "add .git-blame-ignore-revs"
  },
  {
    "hash": "369e1ba",
    "message": "migrate to use black as opinionated auto formater"
  },
  {
    "hash": "9c96cc8",
    "message": "release: v1.2.11"
  },
  {
    "hash": "43dc967",
    "message": "global: monkey patch Werkzeug 2.1"
  },
  {
    "hash": "15dfbe7",
    "message": "release: v1.2.10"
  },
  {
    "hash": "202efe5",
    "message": "global: Flask v2.1 support"
  },
  {
    "hash": "7437273",
    "message": "release: v1.2.9"
  },
  {
    "hash": "9d39e6c",
    "message": "app loaders: remove duplicated entry points"
  },
  {
    "hash": "735ff4a",
    "message": "release: v1.2.8"
  }
]