This commit is contained in:
Alexander Medvednikov 2023-11-11 13:51:03 +03:00
parent e92d210bd0
commit 44cf1451bc
4 changed files with 34 additions and 4 deletions

View file

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

2
v.mod
View file

@ -1,7 +1,7 @@
Module { Module {
name: 'V' name: 'V'
description: 'The V programming language.' description: 'The V programming language.'
version: '0.4.2' version: '0.4.3'
license: 'MIT' license: 'MIT'
repo_url: 'https://github.com/vlang/v' repo_url: 'https://github.com/vlang/v'
dependencies: [] dependencies: []

View file

@ -1,5 +1,5 @@
Module { Module {
name: 'semver' name: 'semver'
version: '0.4.2' version: '0.4.3'
deps: [] deps: []
} }

View file

@ -2,7 +2,7 @@ module version
import os import os
pub const v_version = '0.4.2' pub const v_version = '0.4.3'
// vhash() returns the build string C.V_COMMIT_HASH . See cmd/tools/gen_vc.v . // vhash() returns the build string C.V_COMMIT_HASH . See cmd/tools/gen_vc.v .
pub fn vhash() string { pub fn vhash() string {