|
1 | 1 | ## V 0.4.3 |
2 | | -*10 November 2023* |
| 2 | +*11 November 2023* |
| 3 | +*not complete yet* |
3 | 4 |
|
4 | 5 | #### Improvements in the language |
| 6 | +- Align ternary expressions in const blocks (#19721) |
| 7 | +- Respect raw strings in `$embed_file(r'/some/path')` expressions (#19753) |
5 | 8 | - Remove additional line breaks after call_expr before params struct args (#19795) |
6 | 9 |
|
7 | 10 | #### Breaking changes |
8 | 11 |
|
9 | 12 | #### Checker improvements/fixes |
| 13 | +- Check error of implementing other module private interface (fix #19620) (#19688) |
| 14 | +- Extend byte deprecation warning to array init types (#19671) |
| 15 | +- Extend byte deprecation warnings to return types (#19668) |
| 16 | +- Fix negative cap, len checks in array init (#19694) |
| 17 | +- Turn warning for var and param module name duplicates into error (#19645) |
| 18 | +- Fix closure in if guard (#19750) |
| 19 | +- Fix closure in if guard, with multi_return (#19765) |
10 | 20 | - Fix comptime enumdata value property access (#19768) |
11 | 21 | - Fix `field ?&Type` without default value (#19786) |
12 | 22 | - Avoid nil assign to option var (#19746) |
| 23 | +- Allow for a shared variable to be whole reassigned (keeping the same mutex state) (fix #15649) (#19751) |
13 | 24 |
|
14 | 25 | #### Parser improvements |
| 26 | +- parser: add `set_all` + `clear_all` methods to `[flag]` enum bitfields (#19717) |
| 27 | +- ast: reduce cost of frequently called functions by using constants (#19733) |
| 28 | +- parser: warn on unused imports, even when they are declared via `import math { sin, cos }` (#19738) |
15 | 29 | - ast: add missing docstrings for the public fns in vlib/v/ast/types.v (#19752) |
16 | 30 | - parser: give a friendly error when misusing if over $if (#19810) |
17 | 31 | - Add multiple struct attributes error for new attribute syntax |
18 | 32 |
|
19 | 33 | #### Compiler internals |
| 34 | +- pref: fix unintended file extensions in default output names, allow for `v run file.c.v` (#19745) |
20 | 35 | - transformer: fix using a constant, instead of a fn parameter with the same name (fix #19766) (#19773) |
21 | 36 |
|
22 | 37 | #### Standard library |
| 38 | +- crypto.sha: fix calculating the same hash values when .sum() is called several times for sha1/256/512 (fix #19696) (#19697) |
| 39 | +- crypto.md5: fix calculating the same hash values, when .sum() is called several times (#19703) |
| 40 | +- os: add a new function `execute_opt` (#19723) |
| 41 | +- os: add os.page_size() (#19770) |
23 | 42 | - vlib: add an `encoding.xml` module with parser, validation, entity encoding, unit tests (#19708) |
24 | 43 | - os: implement os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1 (#19787) |
25 | 44 | - builtin: copy min/max integer values consts from `math` to builtin so that the entire math module doesn't have to be imported(#19809) |
26 | 45 |
|
27 | 46 | #### Web |
| 47 | +- net.http: increase max_redirects to 16 (#19743) |
| 48 | +- picoev: implement raw mode (#19771) |
28 | 49 | - flag,json,net: handle C calls in .v files (part of enabling `-W impure-v` as default) (#19779) |
29 | 50 | - net.http: add socks5|http(s) proxy support [Linux] (#19676) |
30 | 51 |
|
|
35 | 56 | #### Native backend |
36 | 57 |
|
37 | 58 | #### C backend |
| 59 | +- Fix infix op when handling comptime selector (#19691) |
| 60 | +- Fix array contains method with interface(fix #19670) (#19675) |
| 61 | +- Reduce expense in repetitively called functions by using consts (#19732) |
| 62 | +- Fix closure parameter judgment when var cross assign inside anon fn(fix #19734) (#19736) |
38 | 63 | - Only generate free in wrapper for spawn and not go (#19780) |
39 | 64 | - Fix g.obf_table data missing(fix #19695) (#19778) |
40 | 65 | - Fix closure variable in smartcast (#19796) |
41 | 66 |
|
42 | 67 | #### Tools |
| 68 | +- testing: add temporary file hash to prevent accidental collisions with test file binaries (#19710) |
| 69 | +- ci: compile VTL and VSL in their own CI job, with `VFLAGS=-no-parallel` |
| 70 | +- tools: fix windows install of an already existing module with vpm (#19761) |
| 71 | +- tools: use `VPM_NO_INCREMENT` env var to skip dl count increment when testing vpm (#19756) |
| 72 | +- tools.vpm: improve handling of urls that end with .git (#19758) |
43 | 73 | - tools: fix resolving external dependencies in vpm, add test (#19772) |
44 | 74 | - tools: cleanup and simplify vcreate, for upcoming fixes and features (#19794) |
45 | 75 | - tools: improve error messages, add color coding and debug logging (#19781) |
|
0 commit comments