Skip to content
Topazdocs
Download

Search documentation

Project and manual

Use arrow keys to choose a result. Press Enter to open.

Type an API name, diagnostic number, rule, or project topic.

    Public Source and Licenses

    Use public Topaz source under Apache-2.0 and official executables under the terms supplied with their components. You can use Topaz for personal, educational and commercial work.

    Choose the component terms

    ComponentTerms
    Topaz compiler source, generated Rust and runtime in the compiler seedApache-2.0
    Official executables from 5.21.0Separate executable terms with Apache and third-party component rights retained
    npm installer wrapperApache-2.0; its downloaded executable has separate component terms
    Your programs and dataYou retain your rights; generated output carries its output grant and runtime notices
    Previously published Apache materialExisting Apache-2.0 grants remain effective

    The executable grant permits downloading, installing, running and copying on any number of computers. This includes commercial services, hosted services and automated builds. You may redistribute unmodified executables with their terms and required notices. Normal use does not require a fee. Apache and third-party components retain their own modification and redistribution rights. Previously published Apache code does not become proprietary under this policy. Trademarks are separate.

    The executable and generated-output grants do not require publication of your Topaz source. Included runtimes and third-party code retain their own licenses and required notices.

    Build the compiler from its seed

    From 5.21, each release publishes one compiler seed archive at topaz.ooo/dl/v<version>/. The seed holds the compiler written in Topaz, the Rust that compiler generates and the runtime that builds that Rust, all under Apache-2.0.

    The build script in the seed builds the generated Rust with Cargo into a compiler. That compiler compiles the seed's Topaz source again and produces the same Rust the seed holds. The script compares the two byte for byte. The build needs the Rust toolchain, including Cargo.

    Each release goes through the same comparison before publication. A release whose two Rust outputs differ is not published.

    Published downloads and retention

    Install lists the current release and available earlier releases. Withdrawn releases are excluded from the download list and from the current release selected by latest.json. Their published files remain available unchanged at their versioned URLs for verification and reproduction. The mutable latest.json pointer selects the current release. Existing Apache and third-party rights remain effective.

    The current release is Topaz 5.21.3. Download its executables and compiler seed from Install. The releaseVersion field in version.json and the download manifest record the same release version.

    Site terminology

    TermMeaning
    Compiler seedThe archive published with each release that holds the Topaz compiler source, generated Rust and runtime
    Generated RustRust code the Topaz compiler generates from Topaz source
    Executable termsThe binary grant accompanying component licenses

    Bootstrap input limits

    The seed runner reads bootstrap requests within a 128 MiB byte limit and compiler source files within a cumulative 64 MiB limit. It applies the remaining byte budget while reading, so oversized input is rejected without first allocating the complete file. The limits count UTF-8 bytes.

    Menu

    Download