|
1 | | -# v0.2 changelog |
| 1 | +# Changelog |
2 | 2 |
|
3 | | -This document lists the major changes in the [main](https://github.com/solod-dev/solod/commits/main/) branch since the latest release ([v0.1](https://github.com/solod-dev/solod/releases/tag/v0.1.0)). |
| 3 | +This document outlines the main changes in different So versions. |
4 | 4 |
|
5 | | -New directives: `so:volatile`, `so:thread_local`, `so:attr`.<br> |
6 | | -[600e881](https://github.com/solod-dev/solod/commit/600e881fe72cf5f9857745b489c6dedf9a864ea3) |
| 5 | +## v0.2 |
7 | 6 |
|
8 | | -32-bit target support.<br> |
9 | | -[deac815](https://github.com/solod-dev/solod/commit/deac815a5100f119765ffcf8b5961ef579c7a766) |
10 | | -[de30cde](https://github.com/solod-dev/solod/commit/de30cdec169be0f7f8835853ccde5f78e3e4c233) |
| 7 | +Networking, new targets, and friendlier interop. |
11 | 8 |
|
12 | | -WebAssembly support (WASI).<br> |
13 | | -[3d0791b](https://github.com/solod-dev/solod/commit/3d0791b69e8fd5053fd508dbbb8c9cebfb0b3ff7) |
| 9 | +### Language |
14 | 10 |
|
15 | | -Freestanding mode (no libc dependency).<br> |
16 | | -[1cfc8c7](https://github.com/solod-dev/solod/commit/1cfc8c7cd602a379332e6c128ebd2bde007c9a63) |
| 11 | +New directives: `so:volatile`, `so:thread_local`, `so:attr`.<br> |
| 12 | +[600e881](https://github.com/solod-dev/solod/commit/600e881fe72cf5f9857745b489c6dedf9a864ea3) |
17 | 13 |
|
18 | 14 | Implement `error` as a regular interface (it was special-cased before).<br> |
19 | 15 | [6c8f0bd](https://github.com/solod-dev/solod/commit/6c8f0bd68e4ba8693d22be59f763676889270070) |
20 | 16 |
|
| 17 | +Type aliases.<br> |
| 18 | +[deeccb9](https://github.com/solod-dev/solod/commit/deeccb98d22f342e6bdceb9d7827e9d464af9603) |
| 19 | + |
21 | 20 | ⚠️ Auto-generate result types for `(T, error)` multi-return values where `T` is a custom struct type. This is a breaking change: previously, you had to manually define a `T{Result}` type for any such `T`.<br> |
22 | 21 | [745b174](https://github.com/solod-dev/solod/commit/745b174e11c08bee91cdaeaf8a8b2aa083863b61) |
23 | 22 |
|
24 | | -Numeric C types in the `so/c` package for better interop.<br> |
25 | | -[5914a75](https://github.com/solod-dev/solod/commit/5914a7591bc44335b4556893a3f848e1a6c9cc8c) |
| 23 | +⚠️ Block-scoped `defer` is no longer supported. This is a breaking change.<br> |
| 24 | +[fb49cca](https://github.com/solod-dev/solod/commit/fb49ccab2316815308f690f2690e1c3bf19ee59b) |
26 | 25 |
|
27 | | -Type aliases.<br> |
28 | | -[deeccb9](https://github.com/solod-dev/solod/commit/deeccb98d22f342e6bdceb9d7827e9d464af9603) |
| 26 | +### Standard library |
29 | 27 |
|
30 | | -Support for third-party packages (`go install` or vendoring) and multi-module projects.<br> |
31 | | -[bba8265](https://github.com/solod-dev/solod/commit/bba8265883b10814803510518693b224b70d2d98) |
| 28 | +`encoding/hex` package.<br> |
| 29 | +[42a5cf0](https://github.com/solod-dev/solod/commit/42a5cf0d7f6f08ba9e862bd5a738cf74448b2711) |
| 30 | + |
| 31 | +`net` package.<br> |
| 32 | +[ee89acb](https://github.com/solod-dev/solod/commit/ee89acb4ab1e1a05861c186ca5b8fc588a9ec268) |
| 33 | +[658ce66](https://github.com/solod-dev/solod/commit/658ce6693272f85641f4b5f6228e78b40f322fd8) |
| 34 | +[2ec017b](https://github.com/solod-dev/solod/commit/2ec017bed64e611aa2e975a3aa6bee9d9b2bcc89) |
32 | 35 |
|
33 | 36 | `net/netip` package.<br> |
34 | 37 | [5f87292](https://github.com/solod-dev/solod/commit/5f87292ac5b334cd1080a20ca75cc5a1c2c3ea59) |
35 | 38 |
|
| 39 | +`uuid` package.<br> |
| 40 | +[fc8f2fa](https://github.com/solod-dev/solod/commit/fc8f2fabdac147f576fcede45bd178b313a7e25a) |
| 41 | + |
| 42 | +Numeric C types in the `so/c` package for better interop.<br> |
| 43 | +[5914a75](https://github.com/solod-dev/solod/commit/5914a7591bc44335b4556893a3f848e1a6c9cc8c) |
| 44 | + |
36 | 45 | `mem/Arena.Free` reclaims the last allocation if the pointer matches.<br> |
37 | 46 | [f9adba6](https://github.com/solod-dev/solod/commit/f9adba6baca67b2ed332e3aaaf1e59b44113d1db) |
38 | 47 |
|
| 48 | +### Tools |
| 49 | + |
| 50 | +Support for third-party packages (`go install` or vendoring) and multi-module projects.<br> |
| 51 | +[bba8265](https://github.com/solod-dev/solod/commit/bba8265883b10814803510518693b224b70d2d98) |
| 52 | + |
39 | 53 | Report So source location (file and line number) instead of C source location when panicking (`track-source` flag, off by default).<br> |
40 | 54 | [fb78b7a](https://github.com/solod-dev/solod/commit/fb78b7af20525055e320e5f01cb5bb8198ab18ff) |
41 | 55 |
|
42 | 56 | Check for nil pointer dereference on struct pointer field access and interface method calls (`check-nil` flag, off by default).<br> |
43 | 57 | [426961e](https://github.com/solod-dev/solod/commit/426961e0ef463cc2390e6d1a930555f2db581f7e) |
44 | 58 |
|
45 | | -⚠️ Block-scoped `defer` is no longer supported. This is a breaking change.<br> |
46 | | -[fb49cca](https://github.com/solod-dev/solod/commit/fb49ccab2316815308f690f2690e1c3bf19ee59b) |
| 59 | +### Targets |
47 | 60 |
|
48 | | -`encoding/hex` package.<br> |
49 | | -[42a5cf0](https://github.com/solod-dev/solod/commit/42a5cf0d7f6f08ba9e862bd5a738cf74448b2711) |
| 61 | +32-bit target support.<br> |
| 62 | +[deac815](https://github.com/solod-dev/solod/commit/deac815a5100f119765ffcf8b5961ef579c7a766) |
| 63 | +[de30cde](https://github.com/solod-dev/solod/commit/de30cdec169be0f7f8835853ccde5f78e3e4c233) |
50 | 64 |
|
51 | | -`uuid` package.<br> |
52 | | -[fc8f2fa](https://github.com/solod-dev/solod/commit/fc8f2fabdac147f576fcede45bd178b313a7e25a) |
| 65 | +WebAssembly support (WASI).<br> |
| 66 | +[3d0791b](https://github.com/solod-dev/solod/commit/3d0791b69e8fd5053fd508dbbb8c9cebfb0b3ff7) |
| 67 | + |
| 68 | +Freestanding mode (no libc dependency).<br> |
| 69 | +[1cfc8c7](https://github.com/solod-dev/solod/commit/1cfc8c7cd602a379332e6c128ebd2bde007c9a63) |
0 commit comments