Now with Automatic Split APK Updates

Distribute Test Builds To Your Team

ReleaseHub is the internal distribution platform for Flutter apps. Share beta builds, manage test releases, and streamline your QA workflow.

FLaunch — Share Build with Team
$ flaunch production
✓ Building app bundle...
✓ Uploading to ReleaseHub...
✓ Notifying beta channel...
✓ v2.5.0 live — 12 testers notified
Scroll to explore
The Ecosystem

Three Tools.
One Platform.

ReleaseHub connects your development workflow, CLI tools, and in-app updates for seamless internal distribution.

CLI Tool

FLaunch

The command-line powerhouse for Flutter releases. Global installation, automatic version bumping, and direct integration with your CI/CD pipeline.

Windows users: download EXE/MSI installer

$ curl -fsSL https://releasehub.dev/install | sh
flaunch — Interactive mode
flaunch <flavor> — Full pipeline
flaunch build — Build only
flaunch upload — Upload only
flaunch sync — Version sync
Flutter Package

Plugin

Drop-in update checking and installation for your Flutter app. Just add to pubspec.yaml and you're ready for OTA updates.

# pubspec.yaml
dependencies:
  releasehub_updater: ^1.0.0
  • Automatic update checks on app start
  • Split APK support (arm64, arm, x86)
  • Customizable update dialogs
  • Force update & optional update modes
Architecture

How It All Connects

A complete pipeline from your development machine to users' devices.

Developer
FLaunch CLI
FLaunch
Build & Upload
ReleaseHub
Distribution Hub
Plugin
In-App Updates
Users
Get Updates
Features

Everything You Need

From version bumping to multi-channel releases, we've got you covered.

Split APK Updates

Automatic architecture-specific APK generation. Users download only what their device needs — smaller updates, faster installs.

Semantic Versioning

Bump major, minor, or patch versions with a single command. Automatically syncs pubspec.yaml and build configurations.

Multi-Channel Releases

Deploy to development, staging, beta, and production channels. Different update rules per channel with targeted rollouts.

API Key Management

Generate and revoke API keys for CI/CD integration. Scoped permissions for upload-only, read-only, or admin access.

Access Codes & Invites

Share private beta access with invite codes. Track who's using your app before public release with gated access.

Self-Hosting Option

Deploy ReleaseHub on your own infrastructure. Docker-ready with full control over your data and compliance requirements.

Workflow

How It Works

From code to users and testers in three simple steps.

1

Install & Configure

Install flaunch globally and add the plugin to your Flutter app. Configure your project with a single command.

$ curl -fsSL https://releasehub.dev/install | sh
$ flaunch init
✓ Created flaunch.yaml
✓ Added releasehub to pubspec.yaml
2

Build & Release

Bump your version and deploy to any channel. FLaunch handles building, signing, and uploading automatically.

$ flaunch production -b minor
↳ Bumped to 2.5.0 → Built → Uploaded → Notified
✓ Done in 47s
3

Users Get Updates

The plugin checks for updates automatically. Users see a beautiful prompt and install with one tap.

Update Available
Version 2.5.0 is ready
Integration

Simple Integration

Add the plugin to your Flutter app and start checking for updates with just a few lines of code.

Automatic Checks

Plugin checks for updates on app launch and periodically in the background.

Custom UI

Use the built-in update dialog or build your own custom update experience.

Force Updates

Mark critical releases as mandatory and block usage until updated.

// lib/main.dart
import 'package:releasehub_updater/autoupdater.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize with your ReleaseHub server
  await AutoUpdater.init(
    baseUrl: 'https://releases.example.com',
    projectSlug: 'my-app',
    channel: 'stable',
  );

  runApp(MyApp());
}

// In your MaterialApp:
MaterialApp(
  navigatorKey: AutoUpdater.navigatorKey,
  scaffoldMessengerKey: AutoUpdater.scaffoldMessengerKey,
  // ...
)

// Manual check from settings:
AutoUpdater.checkForUpdates();
docker-compose.yml
services:
  releasehub:
    image: releasehubdev/server:latest
    ports:
      - "8080:80"
    environment:
      - APP_URL=https://releases.example.com
      - JWT_SECRET=your-jwt-secret
      - FILESYSTEM_DISK=local
    volumes:
      - ./storage:/var/www/html/storage
      - ./database.sqlite:/var/www/html/database/database.sqlite
Self-Hosting

Your Server, Your Rules

Deploy ReleaseHub on your own infrastructure for complete control over your data, compliance, and costs.

Data Privacy

Your releases never leave your servers.

Performance

Deploy close to your users for fast updates.

Cost Control

No per-user fees. Unlimited releases.

Full Control

Customize everything to your needs.

Stay in the Loop

Get notified about new features, releases, and tips for Flutter app distribution. No spam, unsubscribe anytime.

Ready to Streamline
Your Testing?

Stop emailing APKs and sharing drive links. Distribute test builds to your team the right way.