# Releasing

Before releasing, update the version numbers in `android/gradle.properties` and `WalletCore.podspec`, then commit the change. Create a new git tag for that version and push (replace 0.0.0 with the actual version number):

```
git tag 0.0.0
git push
git push origin 0.0.0
```

## iOS

Run `bootstrap.sh` then `tools/ios-xcframework-release`. This will build the xcframework binaries, upload them to GitHub Releases, and auto-generate `Package.swift` with the correct checksums for Swift Package Manager.

You need to be authenticated with the GitHub CLI (`gh auth login`) and registered as a repository collaborator to upload release assets.

## Android

Run `bootstrap.sh` then `tools/android-release`. This will build and publish the Android artifacts to [GitHub Packages](https://github.com/trustwallet/wallet-core/packages).

You need the following credentials as environment variables in order to publish:

```
GITHUB_USER=user
GITHUB_TOKEN=token
```

## Docker Hub

We need to release a new prebuilt Docker image every time our dependencies or sources change. To build the docker image(s), see `tools/docker-build`. Use `docker push` to upload to Docker Hub.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.trustwallet.com/developer/wallet-core/developing-the-library/releasing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
