code: def get_commits_between(base_version, new_version):
      merge_base = get_merge_base(base_version, new_version)
  
      # Returns a list of items in the form
      # a7854f33 Add HuBERT model architectures (#1769)
      cmd = [
          "git",
          "log",
          "--reverse",
          "--oneline",
          f"{merge_base}..{base_version}",
      ]
      base_commits = _run_cmd(cmd).split("\n")
      base_prs = [parse_pr_number(commit) for commit in base_commits]
  
      cmd = [
          "git",
          "log",
          "--reverse",
          "--oneline",
          f"{merge_base}..{new_version}",
      ]
      new_commits = _run_cmd(cmd).split("\n")
  
      commits = [
          commit
          for commit in new_commits
          if parse_pr_number(commit) not in base_prs
      ]
      hashes, titles = zip(
          *[commit.split(" ", 1) for commit in commits]
      )
      return hashes, titles
  
file_path: audio/tools/release_notes/retrieve_prs.py
imports: import argparse
  import json
  import re
  import subprocess
  from collections import namedtuple
  from os.path import expanduser
  import requests
label_desc: Use image node_id 9 for calling a global function with example usage: get_commits_between(base_version, new_version) and returns: hashes,  titles