Skip to main content

MTLearn

CI Package

MTLearn (Morphological Tree Learning) is a C++/Python research library for learnable connected operators based on morphological trees. The Python package is published as mtlearn.

The library explores a simple idea: connected morphology can become a structural prior for deep neural networks. Instead of processing images only through local pixel-wise operations, connected operators reason over components, regions, shape, contrast, and hierarchy. This makes them naturally interpretable and well-suited for tasks where structure matters.

Classical connected filters are powerful, but they usually depend on hard keep/discard decisions and manually selected attribute thresholds. This limits their integration into end-to-end trainable neural architectures.

MTLearn provides a stable implementation platform for this research direction. It currently includes Connected Filter Preprocessing (CFP), and is intended to grow toward trainable connected-operator layers, differentiable or learnable attribute criteria, self-dual tree representations, intermediate network insertions, and scalable implementations.

Main Features

  • Connected Filter Preprocessing (CFP): the current main model, available as mtlearn.layers.ConnectedFilterPreprocessingLayer. CFP replaces hard connected-filter decisions with a differentiable sigmoid gate over normalized tree-node attributes.

  • Stable morphology interface: mtlearn.morphology builds max-trees, min-trees, and tree-of-shapes through a backend-independent API.

  • PyTorch integration: CFP layers are torch.nn.Module objects with trainable parameters, checkpoint helpers, and dataset-level normalization utilities.

  • Validation utilities: includes C++ tests, Python tests, gradient checks, reference implementations, notebook utilities, and registered dataset download helpers.

Install

The Python package is available from PyPI as mtlearn:

pip install mtlearn

See the guides for installation and source builds:

Quick Start

Create a CFP layer and run a forward pass:

import torch
from mtlearn import morphology
from mtlearn.layers import ConnectedFilterPreprocessingLayer

cfp_layer = ConnectedFilterPreprocessingLayer(
    in_channels=1,
    filter_specs=[
        {
            "tree_type": morphology.TreeType.MAX_TREE,
            "attributes": (
                morphology.AttributeType.AREA,
                morphology.AttributeType.CIRCULARITY,
            ),
        }
    ],
    device="cpu",
    scale_mode="none",
)

x = torch.tensor([[[[1, 2], [3, 4]]]], dtype=torch.float32)
y = cfp_layer(x)

assert y.shape == x.shape

For tree-of-shapes specs, normalization, caching, checkpoint helpers, and attribute selection, see the guides listed below.

Documentation

The main documentation is built with Sphinx from docs/source.

Examples and Reproducibility

Executable examples are available in notebooks/. Notebook dependency setup is documented in docs/installation.md.

For ICPR 2026 Reproducible Research in Pattern Recognition (RRPR) review, use RRPR guide as the canonical guide for setup, datasets, notebook execution, hardware notes, and current reproducibility scope.

Scope and API Boundaries

MTLearn is a research-oriented library. CFP is the current validated trainable connected-operator layer, with support for max-tree, min-tree, and tree-of-shapes workflows; mixed tree specs; multi-attribute dataset-level normalization; cached preprocessing; and PyTorch forward/backward for CFP parameters on CPU or CUDA tensors.

User code should interact with morphology through the public Python facade mtlearn.morphology and the primary CFP layer in mtlearn.layers, rather than depending on backend-specific APIs. The backend is mmcfilters, but the top-level Python package mmcfilters is not required as a runtime dependency of mtlearn.

Citation

If you use the CFP layer in your work, please cite:

Wonder A. L. Alves, Lucas de P. O. Santos, Ronaldo F. Hashimoto, Nicolas Passat, Anderson H. R. Souza, Dennis J. Silva, Yukiko Kenmochi. A trainable connected filter preprocessing layer based on component trees. International Conference on Pattern Recognition (ICPR), 2026, Lyon, France. ⟨hal-05575141⟩

Metadata

Release files for mtlearn 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mtlearn 1.2.1
File Size Uploaded
mtlearn-1.2.1.tar.gz 1.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mtlearn 1.2.1
File
mtlearn-1.2.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
mtlearn-1.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mtlearn-1.2.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
mtlearn-1.2.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
mtlearn-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mtlearn-1.2.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
mtlearn-1.2.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mtlearn-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mtlearn-1.2.1-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
mtlearn-1.2.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
mtlearn-1.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mtlearn-1.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mtlearn-1.2.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
mtlearn-1.2.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mtlearn-1.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mtlearn-1.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mtlearn-1.2.1-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
mtlearn-1.2.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mtlearn-1.2.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mtlearn-1.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mtlearn-1.2.1-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
mtlearn-1.2.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 21.5 MB

Release files / mtlearn-1.2.1.tar.gz

Download URL mtlearn-1.2.1.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
0ee42e9cf59764946ba3e8b5b6e28a499e1595436fb1ba9ed53310c743f51963
BLAKE2b-256 checksum
How to use checksums
8dd06db00a93dc0c2b993caac8b6ebade5d2d9fb0f4f0946839f2d9b216070cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp314-cp314-win_amd64.whl

Download URL mtlearn-1.2.1-cp314-cp314-win_amd64.whl
Size 998.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
32a759af49c83a2990b7fc5fdbb529b52daae03acea25bcd2c1135f246d4389c
BLAKE2b-256 checksum
How to use checksums
93d2fe4d5969b1093cf4e4cf80a18a341b29d604633fa1b16e4da889e3202be9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 986.2 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d1728b3d0c6ea7b3cfe82d84ff6ed4906e249bf952bc12b722b2e7a43766683c
BLAKE2b-256 checksum
How to use checksums
87ba4d17260aa1b83ad00a7e50459ae6e2a2ee59cd5b229b91f0c36133ae561b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp314-cp314-macosx_11_0_arm64.whl
Size 791.0 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7e6c5e80a43ed4574bb00d37f5f6ece87cce5ca80faf405323d35c7f4c331724
BLAKE2b-256 checksum
How to use checksums
e5768bab258b14e3709ae66f0cb4c2f898f89585b99a6698f2dc73fe085cb1ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp313-cp313-win_amd64.whl

Download URL mtlearn-1.2.1-cp313-cp313-win_amd64.whl
Size 982.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
780f8d02edfed66055b40bc838f3cac101f74781ea6a80c03344ec2920419670
BLAKE2b-256 checksum
How to use checksums
37d3aa273282be9eed245e3d821c4e2ac15471ea99e86be90c6b23679f4f14b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 985.7 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
08570bb8b56fae6ec6b5844ebcd8b67117d9e123bf0c189347e979730524a932
BLAKE2b-256 checksum
How to use checksums
7a538f6e77e93426fecfb6aae567cf583afa39ea2e069b78da504bd5979043e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp313-cp313-macosx_11_0_arm64.whl
Size 790.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3f4ed91634df6bc29eeb1b45843cd8838a1b4c6f34548c4c9ef6fef438062f17
BLAKE2b-256 checksum
How to use checksums
d390655c9603cb03aa11cbebc4ad19be793fdf383bda38701936a861acd5e047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp312-cp312-win_amd64.whl

Download URL mtlearn-1.2.1-cp312-cp312-win_amd64.whl
Size 982.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3c8c56dae979144c2f932decdbbbbd881912ddbe95c6f13b15139cab758de242
BLAKE2b-256 checksum
How to use checksums
8c5a8de3014352b45b7cfa29ecfc3b71f4a3ef8b04f20229cba5bb13cb88ca61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 985.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6109e9c38346748d998aa2030428209e82a3200ad4e29cc90c92a1c24ab2881b
BLAKE2b-256 checksum
How to use checksums
a3761b86c9b11774660bf3e1d6bc6197a17505fd520b75afd7317c65be139546
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp312-cp312-macosx_11_0_x86_64.whl

Download URL mtlearn-1.2.1-cp312-cp312-macosx_11_0_x86_64.whl
Size 872.3 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
2f79547042bbe0cd052e1d296c873e9b3f6fb977f53f222a29796cdeed8d04d7
BLAKE2b-256 checksum
How to use checksums
d477280f9a855c5d90162f210908404096cf18952ddfbd439fadde47e783d0b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp312-cp312-macosx_11_0_arm64.whl
Size 790.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c74ad1a7784f4fe783370abd439e303b9ced4fd1a804b2385f5618593a349073
BLAKE2b-256 checksum
How to use checksums
8dc091da3d2a20ab3f196fedd9efca7bdbb82eef5bdaf3c41af101a6992126fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp311-cp311-win_amd64.whl

Download URL mtlearn-1.2.1-cp311-cp311-win_amd64.whl
Size 979.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5861388f94b4ca40ed082a96be6e4a5dbe3be4584482dc9b478882963dbb20f4
BLAKE2b-256 checksum
How to use checksums
a3750fffef88386adffe1e20f80083dcfc542d0afe7e0e26a2ad4ae6191d2d72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 979.7 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
afe7b5a5d7b438b25597bd0d551895de488bc5e0f5d4a768fddb9014ca84b6da
BLAKE2b-256 checksum
How to use checksums
fd9f9fcd621af1ae434fa9a563985b179219bace80166e442da3deadc0736aa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp311-cp311-macosx_11_0_x86_64.whl

Download URL mtlearn-1.2.1-cp311-cp311-macosx_11_0_x86_64.whl
Size 868.1 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
027f8e0c7f5e551a957e4d7e84ef2a64db9cde2c4fe354af39c2298ad9f45a61
BLAKE2b-256 checksum
How to use checksums
920e13e24c8c5251753d0f6d4fb92b68804db1c29c9962f0c18bb4d5094214de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp311-cp311-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1e200d3d2b32114b898a85947aa67394c005e1b24ccb451c27259883ad2935b5
BLAKE2b-256 checksum
How to use checksums
6c2dc55b833a210c9406010b37241c9f70343b1e05c68339c7d45e7e377fc12c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp310-cp310-win_amd64.whl

Download URL mtlearn-1.2.1-cp310-cp310-win_amd64.whl
Size 977.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6672382bf457c7c8879199bb98cd17dea69b7872247c751a91223923ae0f001a
BLAKE2b-256 checksum
How to use checksums
98e19e90771a054d3072c4f1f95872f10c17d962270223c86cde1e1a31fcfd5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 977.3 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
09f990e19cd2434ad501131a9277455e77801612fde1653b354ce08fbc938de0
BLAKE2b-256 checksum
How to use checksums
91fd75f36012d0d08102ba4519f8b4daa268401b75a3dd1ec94541e27a69409b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp310-cp310-macosx_11_0_x86_64.whl

Download URL mtlearn-1.2.1-cp310-cp310-macosx_11_0_x86_64.whl
Size 866.8 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
995ca0c6ddcce2d5d2935d40bd32221e85873ef29219acb76151cabdeff2bdbd
BLAKE2b-256 checksum
How to use checksums
21d4360ce361fd08e7e98630ae434d52e71f992485a7f22a2de5cc262bc99372
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp310-cp310-macosx_11_0_arm64.whl
Size 787.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
766323da650793cf6dc9c27829f6e0721ce37aa7551839649f2dae5b291dec66
BLAKE2b-256 checksum
How to use checksums
4855f0e6da37930d8286df6b79394330afe582cf1de91c321617e20180f18991
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp39-cp39-win_amd64.whl

Download URL mtlearn-1.2.1-cp39-cp39-win_amd64.whl
Size 977.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
edb60bf5fdca6d8271295fd6ff8da4b11c4211d8b81af9944d3c6a6596203b30
BLAKE2b-256 checksum
How to use checksums
bc300f63ec6733c2df92976e199eaf74f6a8617f5d48342a62837b80587e6a72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mtlearn-1.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 975.8 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b8481d9e88a23088a2579f7d4096e3800868afe17a484ec912af79bcb345e870
BLAKE2b-256 checksum
How to use checksums
9c2f2e09bf9355c1edcfa4b1b467cbe7ad406efbcdb1f6dba7231a965b9ecb7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp39-cp39-macosx_11_0_x86_64.whl

Download URL mtlearn-1.2.1-cp39-cp39-macosx_11_0_x86_64.whl
Size 866.9 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
c176fcee8ff54342c161c0e6e3d97bec19c5a1c33345b9adaff412f2b6cc3348
BLAKE2b-256 checksum
How to use checksums
c5e6121a3565744e37dd6239dc8d7ac9dd036822fd143e2092043c168ddca4ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mtlearn-1.2.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL mtlearn-1.2.1-cp39-cp39-macosx_11_0_arm64.whl
Size 788.0 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ba79a2d1b9a70a360b15298cd433e24f1d55bf584bd6f14a52b24211cf86091f
BLAKE2b-256 checksum
How to use checksums
917b0b32f6422ead74880584a4c3c10d72ad496ed18518977456c513d0720a9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

1.3.0

23 release files

1.2.2

23 release files

This release

1.2.1 This release

23 release files

1.2.0

23 release files

1.1.0

23 release files

1.0.9

23 release files

1.0.8

23 release files

1.0.7

23 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page