# Ement

> Matrix client for Emacs

**Wikidata**: [Q113883196](https://www.wikidata.org/wiki/Q113883196)  
**Source**: https://4ort.xyz/entity/ement

## Summary  
Ement is a Matrix client for GNU Emacs, enabling users to access Matrix-based messaging services directly within the Emacs environment. It is written in Emacs Lisp and distributed as a free software package through GNU ELPA, Debian, Ubuntu, and Guix.

## Key Facts  
- Ement is a Matrix client designed specifically for GNU Emacs.  
- It is implemented in Emacs Lisp, a dialect of Lisp used in GNU Emacs since 1985.  
- Ement is part of the GNU Project and has been distributed via GNU ELPA since September 2022.  
- The software is cross-platform, running wherever GNU Emacs is supported.  
- It was first released as version 0.1 in 2022, with initial development traceable to 2021.  
- Ement is free software, aligned with the free software movement, and has been copyrighted since 2022.  
- The latest stable version as of late 2025 is 0.17, released on November 16, 2025.  
- It is distributed by GNU ELPA, with earlier versions available through GitHub and mirrored on GNU Savannah.  
- Ement is packaged in Debian as `ement-el` (since July 23, 2022), in Ubuntu as `elpa-ement`, and in Guix as `emacs-ement`.  
- The source code is hosted on GitHub at `https://github.com/alphapapa/ement.el.git`, with mirrors on GNU Savannah.  
- The official website is `https://github.com/alphapapa/ement.el`, maintained by developer Alpha Papa.  
- Issue tracking is conducted via GitHub Issues at `https://github.com/alphapapa/ement.el/issues`.  
- Ement’s GNU ELPA package ID is `ement`.  
- The project uses English as its primary language for documentation and communication.

## FAQs  
**What is Ement used for?**  
Ement is an instant messaging client that allows GNU Emacs users to connect to Matrix, a decentralized communication protocol. It enables chat, room participation, and message synchronization directly within the Emacs interface.

**Which platforms and operating systems support Ement?**  
Ement runs on any system that supports GNU Emacs, making it cross-platform. It is not tied to a specific operating system and operates wherever Emacs is installed.

**What programming language is Ement written in?**  
Ement is written entirely in Emacs Lisp, the extension language of GNU Emacs, allowing deep integration with the editor’s environment and customization capabilities.

**Is Ement free and open-source software?**  
Yes, Ement is free software distributed under terms that allow users to run, study, modify, and redistribute it. It is part of the GNU Project and aligns with the free software movement.

**Where can I download or install Ement?**  
Ement can be installed via GNU ELPA, Debian (`ement-el`), Ubuntu (`elpa-ement`), or Guix (`emacs-ement`). It is also available from its GitHub repository and GNU Savannah mirrors.

**Who maintains Ement?**  
Ement is primarily developed and maintained by Alpha Papa, with contributions tracked through its public GitHub repository and GNU mailing lists.

**When was Ement first released?**  
The initial version, 0.1, was released in 2022, with public announcement on September 1, 2022. Development began as early as 2021, as evidenced by archived project pages.

**What is the current stable version of Ement?**  
The current stable version is 0.17, released on November 16, 2025, and published to GNU ELPA and GitHub.

## Why It Matters  
Ement fills a critical niche for users who value integration, privacy, and extensibility in their communication tools. By bringing Matrix protocol support directly into GNU Emacs, it allows developers, system administrators, and power users to manage messaging without leaving their primary work environment. This reduces context switching and enhances productivity, particularly for those already embedded in the Emacs ecosystem. As a free software project under the GNU umbrella, Ement also advances the principles of user freedom and decentralized communication, offering an alternative to proprietary chat clients. Its availability across major Linux distributions and packaging systems ensures broad accessibility and long-term maintainability.

## Notable For  
- Being the first fully functional Matrix client built natively in Emacs Lisp for GNU Emacs.  
- Seamless integration with GNU Emacs via the ELPA package system, enabling one-command installation and updates.  
- Active development and rapid release cycle, with over 15 stable versions released between 2022 and 2025.  
- Dual hosting on both GitHub and GNU Savannah, reflecting its status as an official GNU ELPA package.  
- Support for decentralized, end-to-end encrypted communication through the Matrix protocol, aligning with privacy-focused workflows.  
- Inclusion in major Linux distributions including Debian, Ubuntu, and GNU Guix, ensuring wide deployment and package manager compatibility.  
- Use of standard GNU development infrastructure, including mailing lists and version control mirrors, for transparency and community collaboration.

## Body  
### Overview and Functionality  
Ement is a Matrix client designed for GNU Emacs, allowing users to interact with Matrix-based communication services such as chat rooms, direct messages, and encrypted conversations directly within the Emacs interface. It functions as an instant messaging client specifically tailored to the Emacs environment, leveraging Emacs Lisp for full integration with the editor’s customization and scripting capabilities. The software enables real-time communication, message history synchronization, and presence management, all without requiring users to switch to external applications.

### Development and Licensing  
Ement is free software, developed in alignment with the free software movement and distributed under licenses that permit use, modification, and redistribution. It has been copyrighted since 2022, with the copyright holder not explicitly named but associated with the project’s maintainers. The software is written in Emacs Lisp, a dialect of Lisp that has been integral to GNU Emacs since its inception in 1985. Development began at least as early as 2021, with the earliest archived version of the project’s GitHub page dating to July 26, 2021.

### Release History and Versioning  
The first public version of Ement was 0.1, released in 2022 and formally announced on September 1, 2022, via the emacs-devel mailing list. The initial stable versions followed rapidly:  
- 0.1.1 (September 2022)  
- 0.1.2 (September 9, 2022)  
- 0.1.3 (September 11, 2022)  
- 0.1.4 (September 15, 2022)  
- 0.2 (September 21, 2022)  
- 0.2.1 (September 26, 2022)  
- 0.3 (September 29, 2022)  
- 0.3.1 (October 5, 2022)  
- 0.4 (October 22, 2022)  
- 0.4.1 (October 27, 2022)  
- 0.5.1 (December 8, 2022)  
- 0.5.2 (December 23, 2022)  
- 0.6 (February 24, 2023)  
- 0.7 (March 6, 2023)  
- 0.8 (March 31, 2023)  
- 0.8.1 (March 31, 2023)  
- 0.8.2 (April 6, 2023)  
- 0.8.3 (April 11, 2023)  
- 0.9 (May 14, 2023)  
- 0.9.1 (May 14, 2023)  
- 0.9.2 (May 16, 2023)  
- 0.9.3 (May 17, 2023)  
- 0.10 (June 16, 2023)  
- 0.11 (August 21, 2023)  
- 0.12 (September 15, 2023)  
- 0.13 (October 3, 2023)  
- 0.14 (January 26, 2024)  
- 0.15 (April 16, 2024)  
- 0.15.1 (June 6, 2024)  
- 0.16 (October 12, 2024)  
- 0.17 (November 16, 2025) — marked as the preferred stable version  

Each version has been published to GNU ELPA and GitHub, with release announcements sent to GNU mailing lists and GitHub’s release system.

### Distribution and Packaging  
Ement is distributed primarily through GNU ELPA (Emacs Lisp Package Archive), becoming an official package on September 9, 2022. The GNU ELPA package ID is `ement`, and it is available at `https://elpa.gnu.org/packages/ement.html`. It is also packaged in:  
- Debian as `ement-el`, first included on July 23, 2022  
- Ubuntu as `elpa-ement`  
- GNU Guix as `emacs-ement`  

The Launchpad project ID for the Ubuntu source package is `ubuntu/+source/ement-el`, indicating its integration into Ubuntu’s packaging infrastructure.

### Hosting and Source Code  
The primary source code repository is hosted on GitHub at `https://github.com/alphapapa/ement.el.git`, with the issue tracker at `https://github.com/alphapapa/ement.el/issues`. The repository is also mirrored on GNU Savannah:  
- `https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/?h=externals/ement` (cgit interface)  
- `https://git.savannah.gnu.org/gitweb/?p=emacs/elpa.git;a=tree;h=refs/heads/externals/ement;hb=refs/heads/externals/ement` (Gitweb interface)  

These mirrors reflect Ement’s status as an external package in the Emacs Lisp Package Archive.

### Project Affiliation and Ecosystem  
Ement is part of the GNU Project, officially joining GNU ELPA in September 2022. Its inclusion was announced in a message titled “New GNU ELPA package: ement - Matrix client” on September 12, 2022. As a GNU ELPA package, it benefits from integration with Emacs’ built-in package manager and adherence to GNU coding standards. The project is associated with the broader free software movement and promotes decentralized, user-controlled communication through the Matrix protocol.

### Technical Specifications  
- **Platform**: GNU Emacs  
- **Operating System**: Cross-platform (dependent on Emacs)  
- **Programming Language**: Emacs Lisp  
- **User Interface**: Text-based, integrated within Emacs buffers  
- **Communication Protocol**: Matrix  
- **Package Format**: ELPA tarball (`.tar.lz`)  
- **Website**: `https://github.com/alphapapa/ement.el` (in English, targeted at programmers)  

### Community and Development Infrastructure  
Development is coordinated through public channels:  
- GitHub repository for code, releases, and issues  
- GNU mailing lists: `gnu-emacs-sources`, `emacs-devel`, and `info-gnu-emacs`  
- Public announcements include author names (e.g., Adam Porter), publication dates, and direct links to release artifacts  

All versions are accompanied by references to mailing list posts or GitHub releases, ensuring verifiability and transparency.

### Aliases and Naming  
Ement is known by several aliases, including `emacs-ement`, `elpa-ement`, and `ement-el`, reflecting its presence across different packaging systems. The name `ement-el` is used in Debian, while `emacs-ement` is used in Guix, and `elpa-ement` in Ubuntu repositories.

### Significance in the Emacs Ecosystem  
As a native Emacs Lisp application, Ement exemplifies the extensibility and depth of the GNU Emacs platform. It enables users to consolidate communication within their editing environment, reducing reliance on external GUI applications. Its adoption of the Matrix protocol supports interoperability across servers and clients, promoting a federated model of communication. By being part of GNU ELPA, it ensures long-term maintenance, security updates, and compatibility with future Emacs versions.

## References

1. [Source](https://elpa.gnu.org/packages/ement.html)
2. [Ement version 0.1.3. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00035.html)
3. [Release 0.1.3. 2022](https://github.com/alphapapa/ement.el/releases/tag/v0.1.3)
4. [Ement version 0.1.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00026.html)
5. [Release 0.1.2. 2022](https://github.com/alphapapa/ement.el/releases/tag/v0.1.2)
6. [Ement version 0.1.4. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00041.html)
7. [Ement version 0.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00057.html)
8. [Release 0.2. 2022](https://github.com/alphapapa/ement.el/releases/tag/v0.2)
9. [Ement version 0.2.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00064.html)
10. [Release 0.2.1. 2022](https://github.com/alphapapa/ement.el/releases/tag/v0.2.1)
11. [Ement version 0.3. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00077.html)
12. [Release 0.3. 2022](https://github.com/alphapapa/ement.el/releases/tag/v0.3)
13. [Source](https://github.com/alphapapa/ement.el/blob/master/README.org#011)
14. [Source](https://github.com/alphapapa/ement.el/blob/master/README.org#01)
15. [New package: Ement (Matrix client). 2022](https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg00045.html)
16. [Ement version 0.3.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-10/msg00007.html)
17. [Ement version 0.4. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-10/msg00057.html)
18. [Ement version 0.4.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-10/msg00082.html)
19. [Ement version 0.5.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-12/msg00018.html)
20. [Ement version 0.5.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-12/msg00070.html)
21. [Release 0.6. 2023](https://github.com/alphapapa/ement.el/releases/tag/v0.6)
22. [Release 0.7. 2023](https://github.com/alphapapa/ement.el/releases/tag/v0.7)
23. [Ement version 0.7. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-03/msg00013.html)
24. [Release 0.8. 2023](https://github.com/alphapapa/ement.el/releases/tag/v0.8)
25. [Ement version 0.8.1. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-03/msg00077.html)
26. [Ement version 0.8.2. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-04/msg00009.html)
27. [Ement version 0.8.3. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-04/msg00026.html)
28. [Ement version 0.9.1. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-05/msg00027.html)
29. [Ement version 0.9.2. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-05/msg00032.html)
30. [Ement version 0.9.3. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-05/msg00037.html)
31. [Release 0.9. 2023](https://github.com/alphapapa/ement.el/releases/tag/v0.9)
32. [Ement version 0.10. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-06/msg00032.html)
33. [Ement version 0.11. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-08/msg00038.html)
34. [Release 0.12. 2023](https://github.com/alphapapa/ement.el/releases/tag/v0.12)
35. [Ement version 0.12. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-09/msg00036.html)
36. [Ement version 0.13. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-10/msg00006.html)
37. [Ement version 0.14. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-01/msg00064.html)
38. [Release 0.15. 2024](https://github.com/alphapapa/ement.el/releases/tag/v0.15)
39. [[GNU ELPA] Ement version 0.15. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-04/msg00030.html)
40. [Release 0.15.1. 2024](https://github.com/alphapapa/ement.el/releases/tag/v0.15.1)
41. [[GNU ELPA] Ement version 0.15.1. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-06/msg00011.html)
42. [Release 0.16. 2024](https://github.com/alphapapa/ement.el/releases/tag/v0.16)
43. [[GNU ELPA] Ement version 0.16. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-10/msg00022.html)
44. [Release 0.17. 2025](https://github.com/alphapapa/ement.el/releases/tag/v0.17)
45. [[GNU ELPA] Ement version 0.17. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-11/msg00056.html)
46. [New GNU ELPA package: ement - Matrix client. 2022](https://lists.gnu.org/archive/html/info-gnu-emacs/2022-09/msg00002.html)
47. [emacs-ement 0.4.1](https://guix.gnu.org/en/packages/emacs-ement-0.4.1/)