Releases: ntntlang/ntnt
Releases · ntntlang/ntnt
NTNT v0.4.0
v0.4.0: Type Safety Modes — Two Axes of Type Control
11 commits | 45 files changed | +2,647 / -961 lines | 960 tests passing
Highlights
Two independent axes for type control:
- Runtime (
NTNT_TYPE_MODE):strict(crash on mismatch) /warn(log + continue, default) /forgiving(silent) - Lint (
NTNT_LINT_MODE):default/warn(--warn-untyped) /strict(--strict)
World-class error messages — file:line, source snippets, expected/got context, fix hints:
error[E003]
--> /path/to/file.tnt:3
= Type error: Cannot apply '-' to String and Int
|
2 | let y = 42
3 | let result = x - y
|
expected: compatible types for '-'
found: String - Int
New type syntax:
T?shorthand forOptional<T>- Type aliases:
type Handler = (Request) -> Response - Array types:
[Int],[String] - Generics:
fn identity<T>(x: T) -> Twith full unification in the type checker
Bug fixes:
- Runtime errors now show accurate line numbers (was missing for all declaration-level errors)
- Parser EOF errors show correct line (was line 0)
- lib/route/middleware modules now have identical execution contexts (fixes stdlib imports in lib files)
- Lint correctly processes Located-wrapped declarations
Breaking changes
None. All new behavior is opt-in.
Full changelog
See PR #19 for the complete breakdown.
What's Changed
- v0.4.0: Type Safety Modes — Two Axes of Type Control (DD-009) by @larimonious in #19
Full Changelog: v0.3.17...v0.4.0
NTNT v0.3.17
NTNT v0.3.16
What's Changed
- v0.3.16: template partials, static file cache/ETag, builtins, entries() fix, runtime line numbers by @larimonious in #15
Full Changelog: v0.3.15...v0.3.16
NTNT v0.3.15
What's Changed
- DX Improvements: consistency, robustness, and developer experience by @larimonious in #10
Full Changelog: v0.3.14...v0.3.15
NTNT v0.3.14
What's Changed
- fix: nested {{#if}} blocks in template engine by @larimonious in #7
- Security & Performance Audit by @larimonious in #8
Full Changelog: v0.3.13...v0.3.14
What's Changed
- fix: nested {{#if}} blocks in template engine by @larimonious in #7
- Security & Performance Audit by @larimonious in #8
Full Changelog: v0.3.13...v0.3.14
NTNT v0.3.13
What's Changed
- feat: Auth module + KV store + function name cleanup by @larimonious in #6
Full Changelog: v0.3.12...v0.3.13
What's Changed
- feat: Auth module + KV store + function name cleanup by @larimonious in #6
Full Changelog: v0.3.12...v0.3.13
NTNT v0.3.12
What's Changed
- fix: escape pipe characters in Global Builtins table signatures by @larimonious in #5
New Contributors
- @larimonious made their first contribution in #5
Full Changelog: v0.3.11...v0.3.12
NTNT v0.3.11
Full Changelog: v0.3.10...v0.3.11
NTNT v0.3.10
Full Changelog: v0.3.9...v0.3.10
NTNT v0.3.9
Full Changelog: v0.3.8...v0.3.9