Skip to content

Commit a4371e8

Browse files
committed
blog: release 0.21, 0.22
1 parent 3c598f1 commit a4371e8

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
+++
2+
title = "Release v0.21 – Multi-Arity Functions"
3+
description = "Phel v0.21 delivers multi-arity functions, richer macro hygiene, flexible destructuring, and a brighter REPL experience."
4+
author = "The Phel Team"
5+
+++
6+
7+
Phel v0.21 is all about broadening the way you shape and read code. Multi-arity functions unlock expressive APIs without
8+
boilerplate, while a suite of macro and metadata improvements tighten up contracts and hygiene. With more flexible
9+
comments, smarter destructuring, and a friendlier REPL, this release makes day-to-day development feel smoother from
10+
first keystroke to final evaluation.
11+
12+
## ✨ Highlights
13+
14+
- **Multi-arity functions** let you design natural overloads without branching manually.
15+
- **Comment enhancements** add inline skips via `#_`, an alternative `;` comment symbol, and rich block comments with `#|…|#`.
16+
- **Metadata `pre`/`post` conditions** deliver clearer runtime contracts around your functions.
17+
- **Macro auto-gensym** keeps hygienic macros effortless and robust.
18+
- **Map destructuring with `:keys` and `:as`** brings ergonomic data extraction to bindings.
19+
- **REPL upgrades** surface the running version and forward CLI flags to `phel run` scripts.
20+
21+
## 🐛 Bug fixes
22+
23+
- Ensured `.phar` builds autoload Phel classes correctly and resolve namespaces from the working directory.
24+
- Fixed vector and hashmap literal handling inside `try` blocks.
25+
- Restored reliable REPL symbol resolution when loading from the current directory.
26+
27+
## 🔧 Enhancements
28+
29+
- Updated the default error log file location for a more consistent debugging workflow.
30+
31+
## 👥 Contributors
32+
33+
A big thank you to **@Chemaclass**, **@jasalt**, and **@JesusValeraDev** for shepherding the release.
34+
35+
## Dive deeper
36+
37+
Review every commit and conversation in the official notes:
38+
39+
- [Full changelog for v0.21.0](https://github.com/phel-lang/phel-lang/compare/v0.20.0...v0.21.0)
40+
- [Release on GitHub](https://github.com/phel-lang/phel-lang/releases/tag/v0.21.0)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
+++
2+
title = "Release v0.22 – Metadata Conditions"
3+
description = "Phel v0.22 deepens metadata support, adds new array helpers, introduces a debug namespace, and polishes the developer experience."
4+
author = "The Phel Team"
5+
+++
6+
7+
Just weeks after multi-arity functions landed, Phel v0.22 doubles down on ergonomics. Stronger metadata handling, fresh
8+
array utilities, and the new `phel\\debug` toolbox make it easier than ever to inspect, test, and evolve your code. Along the
9+
way, we tightened the public API surface and nudged code quality forward with a higher PHPStan bar.
10+
11+
## ✨ Highlights
12+
13+
- **Nested array helpers**: reach into deep structures with `php/aget-in`, `php/aset-in`, `php/aunset-in`, and `php/apush-in`.
14+
- **Metadata `:pre`/`:post` conditions** now have a toggle for performance-sensitive workloads.
15+
- **`*file*` global** exposes the current source path for macros, tooling, and documentation.
16+
- **Set literal shorthand `#{...}`** and optional commas in hash maps add readability without ceremony.
17+
- **`phel\\debug` namespace** introduces helpers like `spy` and `tap` for inline introspection.
18+
- **Public API refinements** update `PhelFunction` with generated file paths, GitHub URLs, and structured metadata, while
19+
deprecating older method calls.
20+
21+
## 🐛 Bug fixes
22+
23+
- Ensured the REPL can `require` code from `repl.phel` and returns an empty string for `__FILE__` / `__DIR__`.
24+
- Repaired metadata persistence on definitions, core functions, and macros.
25+
- Fixed `argv` to provide a vector result and tightened `NsSymbol` namespace validation.
26+
27+
## 📈 Code quality
28+
29+
- Raised PHPStan to level 5 and removed the legacy `phel\\trace` namespace in favor of `phel\\debug`.
30+
31+
## 👥 Contributors
32+
33+
Huge thanks to **@Chemaclass**, **@jasalt**, and **@JesusValeraDev** for continuing to push the language forward.
34+
35+
## Dive deeper
36+
37+
For every detail, dig into the official documentation:
38+
39+
- [Full changelog for v0.22.0](https://github.com/phel-lang/phel-lang/compare/v0.21.0...v0.22.0)
40+
- [Release on GitHub](https://github.com/phel-lang/phel-lang/releases/tag/v0.22.0)

0 commit comments

Comments
 (0)