alex

/

v Public
0 Issues 1 Contributor 0 Releases 4 Branches
Additions: 31 Deletions: 9 View patch
1 ## V 0.3.3
2-*Not yet released*
3+*30 Jan 2023*
4+**wip**
5 - Accessing a pointer map value requires an `or {}` block outside `unsafe`.
6 - `math.vec` module for generic vector math.
7 - `go foo()` has been replaced with `spawn foo()` (launches an OS thread, `go` will be used for
8 upcoming coroutines instead).
9-- vfmt now supports `// vfmt off` and `// vfmt on` for turning off the formatting locally for *short* snippets of code. Useful for keeping your carefully arranged matrices intact.
10+- vfmt now supports `// vfmt off` and `// vfmt on` for turning off the formatting locally for short snippets of code.
11+ Useful for keeping your carefully arranged matrices intact.
12+- fast.vlang.io fixes & improvements, new server.
13+- String interpolation changed to just '${name}'.
14+- New official IntelliJ plugin: https://intellij-v.github.io.
15+- Lots of fixes in the type checker.
16 - Match branch range expressions with consts: `match x { const1...const2 {} }`
17+- Builtin stb_image.h used by gg has been updated to the latest v2.28.
18+- Lots of new documentation, a nicer table of contents.
19+- All of vlib has been updated to use separate Option/Result types.
20+- To avoid confusion, all references in the code and documentation to `Optional` have been replaced with `Option`.
21+- `gg.Context` pipeile has more effects, including the `additive` effect.
22+- Hot code reloading via `[live]` is now supported in imported modules, not just the main module.
23+- VFS support in the builtin `sqlite` module; `sqlite.get_affected_rows_count()`.
24+- `make.bat` & `v up` improvements on Windows.
25+- Syntax sugar for map inits without needing explicit casts for interfaces: `all.children := { "abc": rect, "def": ui.rectangle()}`.
26+- `$embed_file()` fixes, including variable args support.
27+- `none` fixes: no longer allowed to be used as a separate type, `dump()` support, not allowed inside `unsafe`.
28+- Much cleaner eof checks in `os`: refactor `err == IError(os.Eof{})` to `err is os.Eof`.
29+- Const functions: `const y = term.yellow`, then `println(y('abc'))`.
30+- Lots of work on `x.json2`, the pure V json encoder, soon to become official.
31+
32+
33
34 ## V 0.3.2
35 *31 Oct 2022*
36
1 Module {
2 name: 'V'
3 description: 'The V programming language.'
4- version: '0.3.2'
5+ version: '0.3.3'
6 license: 'MIT'
7 repo_url: 'https://github.com/vlang/v'
8 dependencies: []
9
1 Module {
2 name: 'semver'
3- version: '0.3.2'
4+ version: '0.3.3'
5 deps: []
6 }
7
1
2 ```
3 $ ./bin/pkgconfig -h
4-pkgconfig 0.3.2
5+pkgconfig 0.3.3
6 -----------------------------------------------
7 Usage: pkgconfig [options] [ARGS]
8
9
1 '/usr/local/libdata/pkgconfig', // FreeBSD
2 '/usr/lib/i386-linux-gnu/pkgconfig', // Debian 32bit
3 ]
4- version = '0.3.2'
5+ version = '0.3.3'
6 )
7
8 pub struct Options {
9
1
2 import os
3
4-pub const v_version = '0.3.2'
5+pub const v_version = '0.3.3'
6
7 // vhash() returns the build string C.V_COMMIT_HASH . See cmd/tools/gen_vc.v .
8 pub fn vhash() string {
9
1 ok_source := "Module {
2 name: 'V'
3 description: 'The V programming language.'
4- version: '0.3.2'
5+ version: '0.3.3'
6 license: 'MIT'
7 repo_url: 'https://github.com/vlang/v'
8 dependencies: []
9 content := vmod.decode(s)?
10 assert content.name == 'V'
11 assert content.description == 'The V programming language.'
12- assert content.version == '0.3.2'
13+ assert content.version == '0.3.3'
14 assert content.license == 'MIT'
15 assert content.repo_url == 'https://github.com/vlang/v'
16 assert content.dependencies == []
17