Skip to content
NightSommelierPublic

Latest commit

 

History

23,465 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gajim Build and release packages License: GPL v3 Latest Release

A fully-featured, extensible XMPP chat client built with Python and GTK4.

Gajim aims to be an easy-to-use and fully-featured XMPP client. Chat with friends or family, securely share encrypted images and files, record voice messages, and participate in multi-user group chats with OMEMO end-to-end encryption.

This maintained development fork provides multi-platform release pipelines, modern GNOME Platform 51 Flatpak packages, Apple Silicon macOS DMG images, Windows NSIS/MSIX bundles, Linux portable AppImages, and resilient network connectivity fallbacks.


Key Features & Fork Highlights

  • Modern Upstream Baseline (v2.6.0): Built on the official Gajim 2.6.0 release featuring standard src/ layout, Python 3.12+ compatibility, and httpx2 asynchronous HTTP engine.
  • End-to-End Encryption: State-of-the-art OMEMO encryption powered by omemo-dr, with additional OpenPGP and PGP support.
  • Network Resilience: Custom connectivity guards (check_client_connectivity) ensuring automatic reachability verification and graceful reconnection across diverse network topologies.
  • Enhanced Message Formatting: Refined message input styling, formatting marker toggling, and whitespace preservation in chat views.
  • Multi-Platform Distribution Suite:
    • Linux: Single-bundle Flatpak, standalone AppImage, and portable .tar.zst archive.
    • Windows: Native UCRT64 MSYS2 setup installer and Windows Store MSIX application package.
    • macOS: Isolated virtualenv-based bundling for Apple Silicon (arm64, macOS 15+) producing ready-to-run .dmg disk images.
  • Automated CI/CD with SHA-256 Checksums: Every release builds all target packages in parallel on GitHub Actions with standalone cryptographic checksum verification files.

Downloads

Official multi-platform binaries from our automated release pipeline:

Platform Format / Package Architecture Checksum
Windows Gajim.exe x86_64 SHA-256
Windows Store Gajim.msixbundle x86_64 SHA-256
Linux (Portable) gajim-linux-amd64-portable.tar.zst x86_64 SHA-256
Linux (AppImage) gajim-linux-amd64.AppImage x86_64 SHA-256
Linux (Flatpak) gajim-flatpak.flatpak x86_64 SHA-256
macOS Gajim.dmg Apple Silicon (arm64) SHA-256

For past builds and changelogs, visit GitHub Releases.


Repository Structure & Documentation Map

gajim/
├── src/gajim/              # Application sources (common, GTK4 UI, plugins, data)
├── tests/                  # Unit and integration test suite
├── linux/                  # Linux AppImage, PyInstaller, and portable packaging scripts
├── mac/                    # macOS bundle scripts, gajim.spec, and helper tools
├── win/                    # Windows MSYS2 build scripts, NSIS definitions, and MSIX packaging
├── flatpak/                # Flatpak manifests (GNOME 51 platform) and dependency definitions
└── .github/workflows/      # Automated multi-platform CI/CD and release pipelines
  • FORK.md: Architectural boundaries, upstream synchronization baseline, and fork features.
  • CONTRIBUTING.md: Git commit message standards, pre-commit setup, and pull request guidelines.
  • SECURITY.md: Vulnerability reporting policy, security contacts, and scope.
  • mac/README.md: Detailed macOS packaging and local developer environment guide.
  • win/README.md: MSYS2 UCRT64 build instructions and MSIX registration details.
  • flatpak/README.md: Flatpak installation, plugins, and custom CA certificates.

Requirements

Runtime Requirements


Local Development & Building

The easiest way to develop locally is using uv and Nix:

# Enter reproducible environment
nix-shell .github/nix/shell.nix

# Synchronize dependencies
uv sync

# Run tests
uv run python -m pytest tests/common/test_client.py tests/common/test_styling.py

# Lint & Format
uv run ruff check src/
uv run ruff format --check src/

# Build package wheel
uv build

To run Gajim in development mode:

uv run gajim --user-profile dev

Releases & Packaging

Every push of a gajim-* tag automatically triggers the Multi-Platform Release Pipeline. All packages are compiled in parallel in clean virtual environments and published to GitHub Releases accompanied by individual SHA-256 verification files.

(C) 2003-2026 The Gajim Team & Contributors
https://gajim.org

Releases

Packages

Contributors

Languages