Repository navigation
MinZ v0.10.1: Professional Toolchain Evolution ๐ ๏ธ
MinZ v0.10.1: Professional Toolchain Evolution ๐ ๏ธ
August 10, 2025
The Professional Compiler Suite You Deserve
MinZ v0.10.1 transforms our compiler toolkit into a professional-grade development environment with standardized CLI interfaces, proper architecture documentation, and powerful new language features.
๐ฏ Highlights
Standardized CLI Experience
Every MinZ tool now follows Unix/POSIX conventions perfectly:
mza -o output.bin input.a80 # Short options
mza --output=output.bin input.a80 # Long options
mza -vc input.a80 # Combined short optionsReal Enums & Logical Operators
enum Status { Ready, Running, Done }
if (status == Status.Ready && count > 0) {
// Now with proper && and || operators!
}
Array Literals
let numbers: [u8; 5] = [1, 2, 3, 4, 5]; // Finally!
Architecture Decision Records
Professional engineering practices with documented decisions in /adr:
- Why we chose Cobra for CLI
- How platform independence works
- Character literal implementation
- And more!
๐ Breaking Changes
CLI Option Changes
If you have scripts using the old options, update them:
mza (assembler):
-undocโ-uor--undocumented-caseโ-cor--case-sensitive
mze (emulator):
- Removed duplicate
-targetflag (use-tor--target)
Type Renames
strโString(MinZ native strings)*strโ*u8(C-style strings)
๐ Quick Migration Guide
Update Your Scripts
# Old
mza -undoc program.a80
# New
mza -u program.a80
# or
mza --undocumented program.a80Update Your Code
// Old
let name: str = "MinZ";
let cstr: *str = "Hello";
// New
let name: String = "MinZ";
let cstr: *u8 = "Hello";
๐ฆ What's New
Language Features
- โ Enum support with proper variant checking
- โ
Logical operators
&&and||with short-circuit evaluation - โ
Array literals
[1, 2, 3]syntax - โ Fixed string types for clarity
Toolchain Improvements
- โ Standardized CLI across all tools
- โ Better help text with examples
- โ Consistent option naming
- โ Professional documentation
Documentation
- โ 5 Architecture Decision Records
- โ CLI standards in CONTRIBUTING.md
- โ Enhanced README with tool overview
- โ Platform independence guide
๐ By The Numbers
- 3 tools standardized with Cobra
- 5 ADRs documenting decisions
- 4 major language features added
- 70% test success rate maintained
- 20+ commits of improvements
๐ง Installation
# Get the latest
git checkout v0.10.1
# Build and install
cd minzc
make install-user # No sudo needed!
# Verify
mz --version # Should show v0.10.1๐ฎ Try It Out
// New enum support
enum Color { Red, Green, Blue }
// New logical operators
fun is_valid(x: u8, y: u8) -> bool {
return x > 0 && y < 100 || x == 255;
}
// New array literals
let data: [u8; 3] = [0xFF, 0x00, 0xAA];
// It all just works!
fun main() -> void {
let color = Color.Blue;
if is_valid(42, 50) {
@print("Valid!");
}
}
๐ฎ What's Next
- v0.11.0: Module system implementation
- v0.12.0: Standard library expansion
- v1.0.0: Production readiness!
๐ฌ Community
Found a bug? Have a suggestion?
- Open an issue on GitHub
- Check our new ADRs for design decisions
- Read CONTRIBUTING.md for guidelines
๐ Thank You!
To everyone who contributed code, reported issues, or provided feedback - this release is for you! MinZ is becoming the professional language that retro systems deserve.
MinZ v0.10.1: Where professional meets retro ๐
Download now and experience the evolution!