Skip to content

Commit 169d49d

Browse files
committed
changelog: 0.4.4 (part 1)
1 parent 68ddc95 commit 169d49d

File tree

2 files changed

+117
-1
lines changed

2 files changed

+117
-1
lines changed

CHANGELOG.md

+116
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,119 @@
1+
## V 0.4.3
2+
*3 January 2024*
3+
#### Improvements in the language
4+
- Implement $for comptime T.variants (#20193)
5+
- Add `r` and `R` switches for repeating in string interpolation, `'${"abc":3r}'` == 'abcabcabc' (#20197)
6+
- Comptime refactor and cleanup (#20196)
7+
- Allow comptime-for to iterate over comptime variables, add `$string` comptime type, cleanup (#20233)
8+
- Unwrap an option value automatically, inside `if o != none {` (#20275)
9+
- Complete support for smartcasting to a comptime variable type (#20270)
10+
- Improve comptime var checking with `is` operator and smartcasting (#20315)
11+
12+
#### Breaking changes
13+
14+
#### Checker improvements/fixes
15+
- Refactor `string` to `enum` error check, handle `EnumName(string_variable)` too (#20210)
16+
- Fix generic array method call with multi-types (#20237)
17+
- Remove unnecessary struct ref field initialization checks and notifications at map initializing(fix #20245) (#20251)
18+
- Add a notice, for accessing by key, map values, that contain pointers (to use unsafe or an `or {}` block) (#20266)
19+
- Fix mismatch checking when a function returns sumtype as an argument (fix #19325) (#20264)
20+
- Fix and cleanup uninitialized checks for array initialisers with `len:` (fix #20272) (#20279)
21+
- Give an error for `.free()` method calls, when used on fixed arrays (#20320)
22+
- Fix type mismatch checking for assignments with generics (fix #20298) (#20327)
23+
- Fix too strict checking with generics in assignment type mismatch (fix #20335) (#20346)
24+
- Disallow `string` to `voidptr` cast entirely (#20351)
25+
- Fix generic method calls with multi generic types (fix #20330) (#20360)
26+
27+
#### Parser improvements
28+
- parser: implement thread returns result and multi_returns (fix #19281) (#20194)
29+
- parser: fix formatting struct decl with comments (#20207)
30+
- parser: fix formatting enum and interface decl with comments (#20216)
31+
- parser: fix fn call with newline opening brace (fix #20258) (#20267)
32+
- parser: fix parse_vet_file() with vfmt off/on flag (#20273)
33+
34+
#### Compiler internals
35+
- pref: support VNORUN=1, to enable running of tests, vsh files etc (i.e. just compile them, for debugging later)
36+
- scanner: fix backslashes followed directly by newline in string literals (fix #20291) (#20296)
37+
- scanner: fix escape character handling in character/rune literals (fix #20301) (#20304)
38+
- pref: disable the -macosx_version_min clang flag by default (#20297)
39+
- builder: remove passing `-fno-strict-aliasing`, for `-prod` to gcc/icc (#20368)
40+
41+
#### Standard library
42+
- gg: fix overlapping slices in `draw_slice_filled()` (#20182)
43+
- json: fix option sumtype handling (#20186)
44+
- builtin: add `@[direct_array_access]` to js string trim_right method (#20222)
45+
- json2: add encoder support for `time.Time` (#20228)
46+
- json2: fix encoding of 💀🐈 etc emojis (fix #20243) (#20247)
47+
- json2: make public the generic function `map_from/1` (#20294)
48+
- json2: optimise encoding to be faster than cJSON with -prod (#20052)
49+
- json2: support sumtype encoding in a more robust way (#20093)
50+
- json2: strict module (#17927)
51+
- crypto: fix notices/errors for `v -N test vlib/crypto`
52+
- crypto: add blake3 hash (#20319)
53+
- sokol: fix compiling gg and other graphical examples on OpenBSD (#20333)
54+
55+
#### Web
56+
- net: make net.fionbio and net.msg_nosignal constants public in net_windows.c.v (#20183)
57+
- net.http: remove unused `read_set_cookies` function (#20187)
58+
- os, net.http.file: add a folder listing to the http static file server, started by file.serve/1 (#20192)
59+
- websocket: enable using an already existing connection (from vweb or another http server) (#20103)
60+
- x.vweb: fix fsanitize-address test for SSE, improve documentation on the usage of `takeover_conn` (#20249)
61+
- net.http: support `-d no_vschannel` on windows, to fix long waits, while connecting on some systems (#20265)
62+
- x.vweb: fix `$vweb.html()` integration in cgen for the newer `x.vweb` module (fix #20204)
63+
- net: support only ip and ip6 in net.tcp_listener (#20336)
64+
65+
#### ORM
66+
- orm: fix the generated SQL for the "not equal" operator (#20321)
67+
68+
#### Database drivers
69+
- db.pg: fix compilation error with the msvc compiler on windows, and add readme (#20326)
70+
71+
#### Native backend
72+
73+
#### C backend
74+
- Fix string interp with zero characters (fix #20199) (#20200)
75+
- Fix interface eq method with option and ref (fix #19441) (#20201)
76+
- Fix infix expr in method of mut receiver variable (#20225)
77+
- Fix cgen for thread wrappers, when spawning fns with with anon-fn array args and mut interfaces (fix #19425) (#20241)
78+
- Fix fixed array return when returning fixed array initialization (#20262)
79+
- Fix function generated code, when returning from match (#20263)
80+
- Fix in expression with mut and ref (fix #20268) (#20271)
81+
- Fix initialization of const string arrays on msvc (fix #20287) (#20289)
82+
- Fix code generation when 'in array init' is used as an if condition (fix #20300) (#20302)
83+
- Escape table names (fix #20313) (#20322)
84+
- Add missing clear method for generic maps (#20340)
85+
- Fix auto unwrapping option fn type (#20332)
86+
- Fix option initialization with default struct initialization to not be `none` (#20349)
87+
- Fix auto str for arr options with possible circular reference (#20354)
88+
- Fix code generation when the function returns mut fixed array (fix #20366) (#20367)
89+
90+
#### vfmt
91+
92+
#### Tools
93+
- ci: add new workflow, for doing the slower tests in vpm specifically with `-d network` (#20177)
94+
- tools.vpm: improve detection of already parsed modules (#20223)
95+
- scanner: change `-d debugscanner` to `-d trace_scanner` for uniformity with the other tracing options, described in CONTRIBUTING.md
96+
- v.pref: support a `-n` option, silencing only notices (#20331)
97+
- ci: add vsql to v_apps_and_modules_compile_ci.yml too (#20341)
98+
- ci: fix the workflow for Vinix, using the rules in its own .yml file (#20371)
99+
- Support -? as alias to -help (implement #20355) (#20358)
100+
- vdoc: filter testdata and tests folders by default, reduce filesystem stats calls
101+
102+
#### Operating System support
103+
- os: small cleanup in the FreeBSD branch of os.executable/0: use fixed array for the sysctl params, instead of allocating a dynamic one (#20353)
104+
- os: improve os.executable() on OpenBSD (#20356)
105+
- v.util.diff: support OpenBSD's default `diff` tool (#20369)
106+
107+
#### Examples
108+
- docs: update null convention in ORM example, since `@[nonull]` is no longer needed (#20286)
109+
- docs: add an example of a nullable ORM field (#20292)
110+
- example: add a path finding algorithm visualizer using gg (#20060)
111+
- examples: add an even smaller gg usage example, demonstrating how to always show the builtin fps counter, and how to avoid importing gx
112+
113+
114+
115+
116+
1117
## V 0.4.3
2118
*11 November 2023*
3119

cmd/tools/changelog_helper.v

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ fn (mut app App) process_line(text string) ! {
149149
println('${app.counter} / ${app.total_lines}')
150150
// println('\n')
151151
println(text)
152-
input := os.input('${category} ?')
152+
input := os.input('${category}? ')
153153
println("INPUT='${input}'")
154154
match input {
155155
'' {

0 commit comments

Comments
 (0)