2025-12-08: Fuzion December Update
This month marked a period of stability for the Fuzion language itself. Most changes were done to the compiler internals, the standard library, and the tooling around Fuzion.
- General
Upgrade to Java 25 (#6191)
- Base library
-
New library features
lib: add String.from, creating String from variable data (#6188)
lib: add
io.Read_Handler.fromallowing to create a Read_Handler fro… (#6189)lib: add
io.slurp(#6219)base: add feature idx for index accesses (#6244)
net: implement basic IP address parsing (#6314)
lib: add
index [] (v String)toenvir.vars(#6249)lib:
date_time, add feature to calcunix_time_stamp(#6239)
-
Changed library features
lib: use
infix :for list creation (#6196)lib: encodings, add html encoding (#6197)
lib: cleanup API according to #6198 (#6202)
print_effect: add check for error (#6212)
map_of: change arg type fromarraytoSequence(#6224)lib: bench, change API (#6230)
lib: change features splitting Strings to return array backed Sequence (#6215)
lib: Blocking_Queue cleanup (#6302)
lib: circular buffer, simplifcations, contracts (#6306)
mod: buffered_writer, change write result, add write_detailed (#6305)
base: add effect annotations to public features (#6294)
bool: do not wrap bool in lazy (#6320)
abstract_array redefine first/last/is_empty (#6321)
base: update example (#6332)
lib: use
[]instead oflist.empty(#6313)net: return a
net.ip_addressfromnet.channel.get_peer_address(#6310)lib: Iterator, rename
has_nextasnext(#6298)lib:
as_array, avoid iterating twice (#6286)lib: fix deadlock in
concur.Channel(#6261)
-
- Modules
http: add common reason phrases and response_message convenience cons… (#6190)
nom: add comment json parser (#6208)
modules/nom: implement access feature in json_value (#6210)
nom: add xml parser (#6214)
ctrie: add qualifiers to pre/post conditions (#6220)
web: default user agent, via
web.Configeffect (#6228)web, module: fix "Call has ambiguous result" (#6252)
lock_free, Map: switch to array from list as backing for list_node (#6300)
mod: add module webserver (#6308)
- Documentation
add hierarchy of faults diagram (#6319)
- Front end
- Monomorphization/DFA
- FUIR
- JVM back end
- C back end
- native features
- Fuzion tools
- Build
Makefile: fix a few dependency definitions (#6194)
Makefile: reorder include mod_java.mk after all target (#6204)
Makefile: _simple_example, FUZION_BASE, order only dependency (#6203)
Makefile: order only dependency
MOD_TERMINALfor (check|record)_simple_example(#6206)makefile: refinements, should prevent copying fz when changing module (#6279)
- Windows
- Tests
skip test lib_concur_Channel, failing frequently due to #5722 (#6187)
tests: #3178, reduce running time (#6223)
restore windows tests (#6231)
check simple example, remove seemingly unneeded replacements (#6232)
actions: move docs, lsp, syntaxcheck, shellcheck to own action (#6242)
tests: mutable hash map, change test sizes (#6247)
tests: update wolfssl (#6271)
post test results to influxdb (#6241)
tests: add _backend_ fuir (#6250)
run make jobs in parallel in GitHub actions (#6240)
add jenkins fail mails (#6274)
tests: skip channel test (#6280)
try enable test native_value again (#6312)
remove skip file mod_wolfssl (#6325)
run_tests: add metric total_time (#6327)
skip test
lock_free_stackdue to bug (#6288)tests: remove distinction
run_testsvsrun_test_parallel(#6256)
Cheers,
--The Fuzion Team.