On this page, you will find information about MatterLinux release cycle and 
version numbering.

## Release cycle
The release cycle is pretty simple, if there are enough package updates and changes,
then you get a new release. So its expected to have a release or once a month.

### Package updates
MatterLinux follows a slow rolling release cycle for all the packages. Packages update every 
once in a while, generally to fix security issues. Packages get tested on a development pool, 
[next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main pools.
This way we can maintain a stable experience.

### ISOs and release archives
With each release, project releases two new files, an **ISO** and a **Release Archive**:

- **ISO**: A bootable disk image
- **Release Archive**: An archive used during the installation of a release

With new release, a new ISO and a release archive will be published. This way
the packages in these ISO and archive files will always be up-to-date. 

### Learn the version you are using
You can learn the MatterLinux release version you are using by printing 
out the `/etc/os-release` file:
```
# cat /etc/os-release
```

## Version numbering
MatterLinux and all it's projects are version numbered after the year.
For example MatterLinux release for the year 2024 is versioned "*MatterLinux 24*".

Minor numbers may be added for other releases. For example the 2nd release of the 
MatterLinux 24 ISO would be named "*MatterLinux 24.01*".

Similarly 15th release of the MatterLinux package manager for the year 2024 
is versioned "*24.14*".

## Building releases
You can build an up-to-date ISO and a release archives using [`mtsc`](https://git.matterlinux.xyz/matter/mtsc).
`mtsc` can be found the in the [`base` pool](/wiki/pools), and can be installed using
the [package manager](/wiki/matt).

> **Important**
>
> You should be on a MatterLinux system for a proper build!

### Building the release archive
To build a release archive, you can use the `matter-base` tool. This tool will create a temporary directory,
install all the required base packages into it and then it will archive it all up for the final archive.

All you need to do is to specify a name for the archive, for example:
```
# matter-base matterlinux_example-build
```

### Building the ISOs 
Official ISOs are built using the `matter-iso` tool. By providing a release archive and a configuration 
directory to this tool, you can create an ISO image.

> **Note**
>
> ISO image is created using `grub-mkrescue`, so you should install `libisoburn` before proceeding.

As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso).
Or you can use your own custom configuration.

To build the ISO with the release archive that we created on the previous example, using the configuration
directory located at `./iso`:
```
# matter-iso matterlinux_example-build.tar.gz iso
```
The final ISO should be available at `./iso/dist/<name_version>.iso` after the build.
