0 issues 1 contributor 4 branches 0 releases
Additions: 44 Deletions: 13 View patch
1 ## V 0.3.1
2-*Not released yet*
3+*31 Aug 2022*
4 - Anonymous structs.
5+- Lots of bug fixes: 90% of all bugs ever submitted are closed.
6+- Major improvements to the fast native backend including linking support on Linux. The goal is to be able to self host V soon.
7+- Parallelized cc step. Speeds up -prod and clang/gcc compilation by 300-500% (depending on
8+ the number of cores). Experimental and hidden behind a -paralell-cc flag, soon to be the default.
9+- New keyword/type: `nil`. Only to be used inside `unsafe`. Replaces `voidptr(0)`.
10 - V can now find code in the `src/` directory. This allows making V repos much cleaner.
11+- Intel C compiler support.
12+- Older macOS support (<10.12).
13 - `os.mkdir()` now has an optional `mode` parameter.
14-- Full termux support via `$if termux {`.
15+- Full termux support via `$if termux {`, more predictable logging on Android.
16 - Go backend fixes.
17 - More type checks.
18-- New keyword/type: `nil`. Only to be used inside `unsafe`. Replaces `voidptr(0)`.
19 - DOOM is now translated/compiled and launched on CI servers. A screenshot of the running game
20 is made via `vgret` and is compared to the expected result.
21 - VLS performance improvements, especially on Windows.
22 - `v ls` tool for installing, for updating, and for launching VLS (V Language Server).
23 - Support `assert condition, extra_message`, where the `extra_message` will be evaluated and shown if the assertion fails.
24 - Anonymous sumtypes have been removed (deprecated for now) due to complicating the language and the compiler too much.
25+- `encoding.csv` is now generic, supports bools, accepts a custom delimiter, and is compatible with io.Reader/io.Writer.
26+- Operator overloading now works with aliases and generics.
27+- `datatypes` module now uses operator overloading.
28+- All `datatypes` types can be converted to V arrays.
29+- `smtp` improvements including multiple recipients and base64/utf8 support.
30+- `v doc` now has syntax highlighting.
31+- `arrays.carray_to_varray<T>()` for converting C arrays to V arrays.
32+- `strconv.v_sprintf()` has been deprecated in favor of string interpolation.
33+- TOML module now supports `[toml:...]` attributes, just like the JSON module.
34+- `os.walk()` is no longer recursive (still works the same).
35+- Windows code has been removed from `v.c` distributed on non-Windows systems. (`v_windows.c` is used on Windows.)
36+- ORM functions now return `Result`, so the errors can be handled.
37+- `#preinclude` for low level C interop.
38+- `net.urllib` ipv6 support.
39+- Lots of fixes in `shared` types.
40+- `io` has been migrated to `Result`.
41+- Third party window control in Sokol.
42+- Scanner optimizations.
43+- `string.replace_char()`, `math.round_sig()`.
44+- Improved multiplication performance in `math.big`.
45+- `net.Http.Response.text` renamed to `body`.
46+- Using C's #define is no longer allowed in normal V code, only in `.c.v` files.
47+- V interpreter improvements.
48+- `net.websocket` timeout is now configurable.
49+
50
51 ## V 0.3
52 *30 Jun 2022*
53
1 Module {
2 name: 'V'
3 description: 'The V programming language.'
4- version: '0.3.0'
5+ version: '0.3.1'
6 license: 'MIT'
7 repo_url: 'https://github.com/vlang/v'
8 dependencies: []
9
1-Module {
2- name: 'semver'
3- version: '0.3.0'
4- deps: []
5-}
6+Module {
7+ name: 'semver'
8+ version: '0.3.1'
9+ deps: []
10+}
11
1
2 ```
3 $ ./bin/pkgconfig -h
4-pkgconfig 0.3.0
5+pkgconfig 0.3.1
6 -----------------------------------------------
7 Usage: pkgconfig [options] [ARGS]
8
9
1
2 import os
3
4-pub const v_version = '0.3.0'
5+pub const v_version = '0.3.1'
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.0'
5+ version: '0.3.1'
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.0'
13+ assert content.version == '0.3.1'
14 assert content.license == 'MIT'
15 assert content.repo_url == 'https://github.com/vlang/v'
16 assert content.dependencies == []
17