code: def release(ctx, type_, repo=None, prebump_to=PREBUMP):
      
      unprebump(ctx)
      if bump_release(ctx, type_=type_):
          return
  
      this_version = _read_version()
      ctx.run('towncrier')
      ctx.run(f'git commit -am "Release {this_version}"')
      ctx.run(f'git tag -fa {this_version} -m "Version {this_version}"')
  
      if repo:
          if upload(ctx, repo=repo):
              return
      else:
          print('[release] Missing --repo, skip uploading')
  
      prebump(ctx, type_=prebump_to)
  
      next_version = _read_version()
      ctx.run(f'git commit -am "Prebump to {next_version}"')
docs: Make a new release.