Skip to content

Releasing TorOnionProxyLibrary-Android

  • Create a local release branch from master

    git checkout master
    git pull
    git checkout -b release_2.2.0

  • Update VERSION_NAME (remove -SNAPSHOT) in


  • Update the current version and next version in mkdocs.yml

        release: '2.2.0'
        next_release: 'REPLACE_WITH_NEXT_VERSION_NUMBER'

  • Perform a clean build

    ./gradlew clean
    ./gradlew build

  • Generate the Dokka docs

    rm -rf docs/topl-core docs/topl-core-base docs/topl-service-base docs/topl-service
    ./gradlew topl-core-base:dokka topl-core:dokka topl-service-base:dokka topl-service:dokka

  • Fix Dokka doc links

    ./gradlew fixDokkaDocLinks

  • Update docs/ after checking out all changes:

  • Update docs/ with with new milestones:

  • Take one last look

    git diff

  • Commit all local changes and PGP sign

    git commit -S -am "Prepare 2.2.0 release"

  • Create a PGP signed tag, and push it

    git tag -s 2.2.0 -m "Release v2.2.0"
    git push origin 2.2.0

  • Make sure you have valid credentials in ~/.gradle/ to sign and upload the artifacts


  • Upload the artifacts to Sonatype OSS Nexus

    ./gradlew uploadArchives --no-daemon --no-parallel

  • Release to Maven Central

    • Login to Sonatype OSS Nexus:
    • Click on Staging Repositories
    • Scroll to the bottom, you should see an entry named iomatthewnelson-XXXX
    • Check the box next to the iomatthewnelson-XXXX entry, click Close then Confirm
    • Wait a bit, hit Refresh, until the Status for that column changes to Closed.
    • Check the box next to the iomatthewnelson-XXXX entry, click Release then Confirm
  • Merge the release branch to master

    git checkout master
    git pull
    git merge --no-ff -S release_2.2.0

  • Update VERSION_NAME (increase version and add -SNAPSHOT) and VERSION_CODE in


  • Commit your changes and sign with PGP keys

    git commit -S -am "Prepare for next development iteration"

  • Push your changes

    git push

  • Wait for the release to become available on Maven Central, then:

    • Redeploy the docs:
      • pipenv shell
      • mkdocs serve to check locally
      • mkdocs gh-deploy to deploy
      • Check settings in GitHub that it did not revert the url back to use
      • Ensure docs are served Here
      • exit
    • Sign SampleApp release apks:
      • scripts/
    • Go to the Draft a new release page
      • Enter the release name (2.2.0) as tag and title.
      • Have the description point to the changelog. You can find the direct anchor URL from the Change Log page on the doc site.
      • Upload the signed release apks.