Skip to content

Commit 8a00a64

Browse files
committed
chore(release): v0.0.44
1 parent f1e6ba6 commit 8a00a64

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Changelog
2+
3+
All notable changes to T-Ruby will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [0.0.44] - 2026-01-17
11+
12+
### Added
13+
- Direct `.trb` file execution with `trc run` command without intermediate files (#37)
14+
15+
## [0.0.43] - 2026-01-10
16+
17+
### Added
18+
- TypeScript-style array shorthand syntax `T[]` as alternative to `Array<T>`
19+
- Nested arrays support (`Integer[][]` for `Array<Array<Integer>>`)
20+
- Nullable arrays (`String[]?` for `(Array<String> | nil)`)
21+
- Arrays of nullable elements (`String?[]` for `Array<String?>`)
22+
- Union type arrays (`(String | Integer)[]` for `Array<(String | Integer)>`)
23+
24+
## [0.0.39] - 2025-12-24
25+
26+
### Added
27+
- TypeScript-style type inference engine
28+
- BodyParser for method body IR node generation
29+
- TypeEnv for scope chain management
30+
- ASTTypeInferrer with lazy evaluation and caching
31+
- Literal type inference (`"hello"` -> `String`, `42` -> `Integer`)
32+
- Method call tracking (`str.upcase` -> `String`)
33+
- Implicit return handling (Ruby's last expression as return type)
34+
- Conditional type inference (union types from `if`/`else` branches)
35+
- 200+ built-in method types for common Ruby methods
36+
- Special `initialize` method handling (always returns `void`)
37+
- Unreachable code detection
38+
39+
## [0.1.0-alpha] - 2025-12-09
40+
41+
### Added
42+
- Initial alpha release
43+
- Basic types: `String`, `Integer`, `Float`, `Boolean`, `Symbol`, `nil`
44+
- Special types: `Any`, `void`, `never`, `self`
45+
- Union types with `|` operator
46+
- Optional types shorthand `T?` for `T | nil`
47+
- Array generics `Array<T>`
48+
- Hash generics `Hash<K, V>`
49+
- Type inference for variables and returns
50+
- Type narrowing with `is_a?` and `nil?`
51+
- Literal types (string, number, symbol, boolean)
52+
- Type aliases with `type` keyword
53+
- Generic type aliases
54+
- Intersection types with `&` operator
55+
- Proc types `Proc<Args, Return>`
56+
- Parameter, return, and block type annotations
57+
- Generic functions and classes
58+
- Interface definitions and structural typing
59+
- `.trb` to `.rb` compilation with type erasure
60+
- `.rbs` file generation
61+
- Source maps for debugging
62+
- File watching with `--watch`
63+
- Type checking mode with `--check`
64+
- Standard library type definitions

lib/t_ruby/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module TRuby
4-
VERSION = "0.0.43"
4+
VERSION = "0.0.44"
55
end

0 commit comments

Comments
 (0)