> For the complete documentation index, see [llms.txt](https://docs.runway.team/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.runway.team/using-runway/app-settings/general-settings.md).

# General settings

Manage your app's general settings

## Version files

The file path(s) corresponding to your app's version files. Runway will bump the version in these files during manual or [automated version bumps](/automations/types-of-automations.md#bump-version-number-in-code), and parses these files to determine your app's `Version in code` for the working branch and the release branch.&#x20;

{% hint style="info" %}
Version files are populated by default using platform-specific files where versions are commonly found, but you can always customize your app's version files to any files found in your repository.&#x20;
{% endhint %}

The default file types that Runway will detect versions in are as follows:

**iOS:**

* `.pbxproj`
* `.xcconfig`
* `.plist`
* `.json`
* `.yaml`

**Android**:

* `.gradle`
* `.json`
* `.yaml`

**React Native / OTA:**

* `package.json`

The table below describes the format (in regex) Runway is expecting to find the version in depending on the file type.

<table><thead><tr><th width="150">File type</th><th>Regular expression</th><th width="238">Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>.pbxproj</strong></td><td><code>MARKETING_VERSION = (\d+\.\d+\.\d+)</code></td><td>Matches the string <code>MARKETING_VERSION =</code> (case sensitive) followed by one or more digits separated by a <code>.</code> character</td><td><code>MARKETING_VERSION = 12.2.2</code></td></tr><tr><td><strong>.xcconfig</strong></td><td><code>MARKETING_VERSION = (\d+\.\d+\.\d+)</code> </td><td>Matches the string <code>MARKETING_VERSION =</code> (case sensitive) followed by one or more digits separated by a <code>.</code> character</td><td><code>MARKETING_VERSION = 12.2.2</code></td></tr><tr><td><strong>.plist</strong></td><td><code>CFBundleShortVersionString&#x3C;\/key>\s*&#x3C;string>(\d+\.\d+\.\d+)&#x3C;\/string></code></td><td>Matches the <code>CFBundleShortVersionString&#x3C;/key></code> string (case sensitive) followed by zero or more white space characters (spaces, tabs, line breaks), followed by the <code>&#x3C;string></code> string, followed by one or more digits separated by a <code>.</code> character, followed by the <code>&#x3C;/string></code> string</td><td><code>CFBundleShortVersionString&#x3C;/key>&#x3C;string>2.2.2&#x3C;/string></code></td></tr><tr><td><strong>.yaml</strong></td><td><code>version:\s+?(\d+\.\d+\.\d+)</code></td><td>Matches the <code>version:</code> string, followed by one or more white space characters (spaces, tabs, line breaks), followed by one or more digits separated by a <code>.</code> character</td><td><code>version: 12.2.2</code></td></tr><tr><td><strong>.gradle</strong></td><td><code>versionName.*?(\d+\.\d+\.\d+)|versionString.*?(\d+\.\d+\.\d+)</code></td><td>Matches the <code>versionName</code> string, followed by zero or more of any character (except line breaks), followed by one or more digits separated by a <code>.</code> character OR the string <code>versionString</code>, followed by zero or more of any character (except line breaks), followed by one or more digits separated by a <code>.</code> character</td><td><code>versionName 12.2.2</code></td></tr><tr><td><strong>.json</strong></td><td><p></p><p><code>\"version\":\s+?\"(\d+\.\d+\.\d+)\"</code></p></td><td>Matches the <code>"version":</code> string (case sensitive), followed by one or more white space characters (spaces, tabs, line breaks), followed by the one or more digits separated by a <code>.</code> character wrapped in quotation marks</td><td><code>"version": "12.2.2"</code></td></tr><tr><td><strong>Default (all other file types)</strong></td><td><code>(\d+\.\d+\.\d+)</code></td><td>Matches one or more digits separated by a <code>.</code> character</td><td> <code>12.2.2</code></td></tr></tbody></table>

#### Custom version patterns

If Runway's built-in patterns can't read the version in one of your files, you can set a custom pattern for that file. In **Version files**, click **Edit** and enter a regular expression in the file's **Custom pattern** field. The pattern must contain a capture group around the version, for example `"version": "(\d+\.\d+\.\d+)"`.

Click **Test** next to a file to check its pattern against the file on your working branch. Runway reports the version it found and how many lines the pattern matched. Patterns that don't compile, or that have no capture group, are rejected when you save.

<figure><img src="https://727226624-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjFmyReUsbJqDjHEAlW%2Fuploads%2FOSbedDWxq5gbFHVBjPVq%2Fimage.png?alt=media&amp;token=5bae64e1-5626-401a-a2aa-ab1c08561180" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
A custom pattern replaces the built-in pattern for that file only. Files without a custom pattern keep using the defaults above.
{% endhint %}

## Localization directories

Specify the directory/paths that contain your app's localization files. Localization directories are relevant for teams using the [Translations release step](/using-runway/release-steps/translations.md) to track the status of their localizable strings.
