# General Translation Changelog: generaltranslation 8.0.0: Branching and API deprecations
URL: https://generaltranslation.com/en-GB/blog/generaltranslation_v8.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Brian Lou
Published: 2025-11-10

## Overview

In **generaltranslation v8**, we&#39;re making significant changes to our API and deprecating some API functions and endpoints.

**<u>Older versions of the API will no longer be supported.</u>**

`generaltranslation` versions prior to `7.5` are likely to result in errors.
`gtx-cli` versions prior to `2.1.5` are likely to result in errors.

***

## Motivation

To improve the developer experience, support future development, and make translations easier to manage, we&#39;re introducing branching and deprecating some API endpoints that were no longer used.

***

## Features

The latest API functions support branching, allowing you to create different translations for different branches of your project.

Every file is now associated with a branch. File versioning is now determined by `branchId`, `fileId`, and `versionId`.

Previously, file translations were associated with a single branch.
Cached file translations defaulted to using the most recently updated version of the file.

In version 8, updating a file&#39;s translations will now use the latest version of the file on the specified branch.
Versioning is tied to a branch&#39;s history, rather than a timestamp.

The new versioning system mirrors git&#39;s branching model:

* Updating a source file on a branch will create a new version of the file.
* Merging a branch into main will generate a link between the source file on the main branch and the source file on the merged branch.
  * Future translations will incorporate translations from both branches.
* Checking out a branch will create a new version of the file
  * Translations on this branch will reference previous translations from the main branch.

To enable this feature, add the `--enable-branching` flag to the `gtx-cli translate` command in the latest version of gtx-cli.

By default, branching is disabled and all project files are associated with the main branch.

To use this feature, your organisation must be on a paid plan.

## Changes

### `generaltranslation`

* Deprecated `checkTranslationStatus`
* Deprecated [`downloadFile`](/docs/platform/core/reference/gt-class-methods/translation/download-file)
* Renamed `downloadTranslatedFile` to [`downloadFile`](/docs/platform/core/reference/gt-class-methods/translation/download-file)
  * Depending on whether a locale is specified, it will download either the source or the corresponding translation
* Modified params of both [`downloadFile`](/docs/platform/core/reference/gt-class-methods/translation/download-file) and [`downloadFileBatch`](/docs/platform/core/reference/gt-class-methods/translation/download-file-batch)
* Deprecated `enqueueEntries`
* Modified params of [`enqueueFiles`](/docs/platform/core/reference/gt-class-methods/translation/enqueue-files) (added branchIds)
* Deprecated `fetchTranslations`
* Deprecated `shouldSetupProject`
* Modified params of `submitUserEditDiffs` (added branchIds, made id fields required)
* Modified params of [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) (added branchIds)
* Modified params of [`uploadTranslations`](/docs/platform/core/reference/gt-class-methods/translation/upload-translations) (added branchIds)
* Modified params of [`querySourceFile`](/docs/platform/core/reference/gt-class-methods/translation/query-source-file) (added branchIds)
* Added [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status)
* Added [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data)
* Deprecated `checkSetupStatus` (use [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status) instead)
* Deprecated `checkFileTranslations` (use [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) instead)

### `gtx-cli`

* Added `--enable-branching` flag to [`translate`](/docs/cli/reference/commands/translate) command
* Added `--branch` flag to [`translate`](/docs/cli/reference/commands/translate) command
  * (Optional) Override the branch used for translation
* Added `--disable-branch-detection` flag to [`translate`](/docs/cli/reference/commands/translate) command
  * (Optional) When disabled, the CLI will not automatically attempt to detect which branches to use.
  * Use this flag if `git` is not installed or if the project is not a Git repository.
* Improved translation progress tracking and logging
* Improved translation error handling
* Optimised API performance to avoid unnecessary API file uploads

### `gt-sanity`

* Updated to use the latest version of `generaltranslation`
* Translations default to using the main branch.
  * Support for document draft preview branching will be added in a future release.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
