1 | *30 Jan 2023* |
2 | **wip** |
3 | - Accessing a pointer map value requires an `or {}` block outside `unsafe`. |
4 | -- `math.vec` module for generic vector math. |
5 | +- `math.vec` module for generic vector math including 2D, 3D, and 4D vector operations. |
6 | - `go foo()` has been replaced with `spawn foo()` (launches an OS thread, `go` will be used for |
7 | upcoming coroutines instead). |
8 | - vfmt now supports `// vfmt off` and `// vfmt on` for turning off the formatting locally for short snippets of code. |
9 | - Lots of fixes in the type checker. |
10 | - Match branch range expressions with consts: `match x { const1...const2 {} }` |
11 | - Builtin stb_image.h used by gg has been updated to the latest v2.28. |
12 | -- Lots of new documentation, a nicer table of contents. |
13 | +- Lots of new language documentation, a nicer table of contents. |
14 | +- Improved documentation for most of the vlib modules |
15 | - All of vlib has been updated to use separate Option/Result types. |
16 | - To avoid confusion, all references in the code and documentation to `Optional` have been replaced with `Option`. |
17 | - `gg.Context` pipeile has more effects, including the `additive` effect. |
18 | - Much cleaner eof checks in `os`: refactor `err == IError(os.Eof{})` to `err is os.Eof`. |
19 | - Const functions: `const y = term.yellow`, then `println(y('abc'))`. |
20 | - Lots of work on `x.json2`, the pure V json encoder, soon to become official. |
21 | +- Improved compile time checks, like `$if x is Type {`; `$if T in [$Array, $Struct] {`. |
22 | +- New `v.reflection` module for runtime reflection. |
23 | +- Improved `os.mv()`, which now works consistently even across different windows drives/mount points |
24 | +- `string.trim_indent()`, useful with multi line strings, that start/end with new lines and indentation |
25 | +- Reduced memory consumption in the `crypto` modules. |
26 | +- Installation instructions for using V on NixOS. |
27 | +- TeamCity test runner support via `v -test-runner teamcity foo_test.v`. |
28 | +- Better `make` support for OpenBSD. |
29 | +- Much improved experience for `v install pcre` on Windows (it now bundles its own .c files, so it compiles cleanly, even if the platform does not have another pcre package installed) |
30 | +- Improved vweb stability under load. |
31 | +- Improved `pg` compatibility with older PostgreSQL versions before 2014. |
32 | |