Skip to content

Releases: 0xh7/Rex-language

Rex v0.6.1

Choose a tag to compare

@github-actions github-actions released this 19 Mar 03:23

Rex 0.6.1

Rex 0.6.1 fixes CLI version reporting and release metadata handling for the 0.6 release line.

Fixes

  • Corrected the reported Rex CLI version.
  • Added rex v as a version alias.
  • Moved CLI version lookup to a dedicated rex/VERSION file.
  • Updated Windows installer version defaults.
  • Updated release metadata and release links.

Full Changelog: v0.6.0...v0.6.1

Rex v0.6.0

Choose a tag to compare

@github-actions github-actions released this 19 Mar 02:57

Rex 0.6.0

Rex 0.6.0 expands the standard library, tightens several compiler checks, and clarifies the current path toward Rex 1.0.

Highlights

Standard library

  • Added rex::process
    • process.run(&command) -> Result<num, str>
    • process.capture(&command) -> Result<(num, str), str>
  • Added rex::url
    • url.parse(&url) -> Result<Map<str, str>, str>
    • url.encode_component(&text) -> str
    • url.decode_component(&text) -> Result<str, str>
    • url.join(&base, &part) -> str
    • url.with_query(&base, &params) -> str

Compiler and diagnostics

  • Generic bounds are now validated more strictly at call sites.
  • Multi-tag match arms that attempt to use bindings now fail with a clear parse error instead of being accepted in a broken state.
  • Internal method dispatch generation was tightened for nested member calls.
  • http.get_status now matches its documented return shape more closely.

CLI and release workflow

  • Added explicit CLI version reporting:
    • rex version
    • rex --version
    • rex -v
  • Added rex check-update to compare the local CLI version with the latest published release.
  • Clarified the distinction between:
    • the Rex CLI/language version
    • the project version written to rex.toml

Documentation

  • Updated standard library documentation for the new modules.
  • Added new examples for process and url.
  • Reworked the roadmap and spec notes to make the current pre-1.0 direction explicit.

Notes

This release does not introduce new core syntax. The focus of 0.6.0 is standard library growth, stronger diagnostics, and a cleaner path toward a stable 1.0 baseline.

Direction toward Rex 1.0

The goal remains a disciplined Rex 1.0 release with a stable core surface, clearer version semantics, stronger compiler guarantees, and a more complete standard runtime. Rex 0.6.0 is an incremental step in that direction, not the final freeze point.

Full Changelog: v0.5.1...v0.6.0

Rex v0.5.1

Choose a tag to compare

@github-actions github-actions released this 12 Mar 16:09

Rex v0.5.1

Rex v0.5.1 is a stability and cleanup release focused on long-term correctness.

This update improves confidence in the parser by covering postfix assignment paths more directly, removing obsolete parser branches, and adding regression coverage for nested member and index assignments.

It also refines the public documentation and package workflow notes so the current project model is clearer and more consistent.

The goal of this release is simple: keep Rex reliable as the language and toolchain continue to mature.

Full Changelog: v0.5.0...v0.5.1

Rex v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Mar 15:27

Today we released Rex v0.5.0.

This release adds the first bounded package-manager workflow for Rex projects.

Highlights:

  • manifest-driven projects with rex.toml
  • rex.lock generation
  • local path dependencies
  • git-pinned dependencies
  • package imports for public functions and public types
  • updated CLI and project documentation

Current package surface supports:

  • pub fn via pkg.fn()
  • pub struct via pkg.Type.new(...)
  • pub enum via pkg.Enum.Variant(...)
  • pub type in signatures via pkg::Alias

This release is intentionally narrow. It focuses on a stable project and package workflow before adding registry complexity.

Rex v0.4.0

Choose a tag to compare

@github-actions github-actions released this 06 Mar 00:33

Today we released Rex v0.4.0.

In this update, we focused on improving the day-to-day experience of using the language itself, without introducing changes that break its current style.
We added a new set of functions to the standard library to make working with text, formatting, collections, and Result more practical, so everyday code becomes clearer and less repetitive.

We also significantly improved diagnostics around move and borrow, and introduced stable error codes with clearer help messages to make compiler errors easier to understand and fix.

The examples and documentation were updated as well to cover the new additions.

Highlights in v0.4.0:

  • Expanded text utilities for common string work such as trimming, searching, splitting, case conversion, repetition, and padding.
  • Added more formatting helpers to make output generation and simple formatting tasks easier.
  • Extended collections helpers with more practical vector, map, and set operations for everyday programs.
  • Improved Result ergonomics with helper functions that reduce boilerplate in error-handling flows.
  • Upgraded ownership diagnostics so move and borrow errors are easier to read, easier to classify, and easier to fix.
  • Added stable compiler error codes and clearer help hints for common ownership-related mistakes.
  • Updated examples and standard library documentation to reflect the new APIs.

This release is mainly about ergonomics, diagnostics, and usability.
We wanted Rex to feel better in real code without changing the language into something else.

Rex v0.4.0 is available now.

Full Changelog: v0.3.0...v0.4.0

Rex v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Mar 13:12

Rex v0.3.0

This release expands the Rex language with a set of practical syntax and
compiler improvements focused on clearer code, less repetition, and better
support for common day-to-day patterns.

What's New

  • Added compound assignment operators:
    +=, -=, *=, /=, %=
  • Added compound assignment for indexed values such as:
    v[0] += 1
  • Added nested member assignment support such as:
    o.inner.value = 99
    and
    o.inner.value += 1
  • Added struct literals with named fields:
    Vec2 { x: 3.0, y: 4.0 }
  • Added wildcard match arms using:
    _ => ...
  • Added multi-tag match arms such as:
    A | B => ...

Compiler and Typechecker Improvements

  • Updated the parser, code generator, and typechecker to fully support the new syntax.
  • Struct literal validation is now stricter:
    unknown fields are rejected, duplicate fields are rejected, missing fields are
    reported, and field types are checked.
  • Improved mutability and ownership checks for nested assignment paths.
  • Improved method dispatch for nested member chains such as:
    o.inner.get()

New Examples

  • rex/examples/test_compound_assign.rex
  • rex/examples/test_multi_match.rex
  • rex/examples/test_nested_assign.rex
  • rex/examples/test_struct_lit.rex
  • rex/examples/test_wildcard_match.rex

Rex v0.2.16

Choose a tag to compare

@github-actions github-actions released this 22 Feb 18:25

What's Changed

  • Typos and bugfixs and changing file places by @Potat0os in #1

New Contributors

Full Changelog: https://github.com/0xh7/rex-lang/commits/v0.2.16