Skip to content

Wi 9.7.0-beta

Choose a tag to compare

@cyxigo cyxigo released this 30 Sep 22:41
· 221 commits to main since this release

API

  • Add wi_push_lstring/arg to API (0648cd0)
  • Bump array->items.mod_count in wi_array_set (a9be286)

General

  • Print warnings to state->error instead of state->out (wi_parser_warning_at) (1527b6c)
  • Report OOM in wi_state_add_lib (a5e985f)
  • Fix already imported library nodes not pushing modules (2875cbb)
  • Refactor the import expression implementation (b59fc14, 384aba4)
  • Delete foreign libraries modules from state->imported when closing the handle (c100f79)
  • Fix _state_capture_overflow_ctx corrupting frame stack when there are any recoveries (2c4402c)
  • Fix PUSH_MAP calling wi_state_error instead of _ERROR (9446fd8)
  • Check if we are at the start of the file instead of line 1 when checking shebang (c0ff0f3)
  • Mirror wi_table_reserve behavior in WI_DECL_BUF wi_name_buf_reserve (aa8b535)
  • Check if character after 0base is_alnum in wi_string_to_real (a7cf42a)
  • Move _state_close_upvalues to the top in _state_reset (e6408a7)
  • Check state->frame_count == 0 in _parser_error_va when checking for an EOF error (862b4cf)
  • Refactor stack growing/reserving/overflow checking (1df82f6, 3299cb0)
  • Capture and restore gc->temp_root_count instead of zeroing it in the compiler (1352351)
  • Check if we're actually in a console on Windows in wi_read_line; fallback to fgets if not (7171480)
  • Fix memory leaks in escape sequences and import attempts (wi_compiler.c) (b4edb1b)
  • Use _flag_parse_error for multiple script files instead of raw fprintf (wi.c) (dcd098e)
  • Fix _os_sleep/_string_repeat error wording (must be positive -> must not be negative) (4171854)
  • Add ./file/init.wi and lib/file/init.wi search paths to _compiler_import_expr (d7620c5)
  • Move state->main_module initialization to the bottom of wi_new_state (1538b85)
  • Measure/read relative to the current position in wi_read_stream (a3c94e8)
  • Root name in _compiler_export_stmt (like in _compiler_def_var) (e611d87)
  • Add WI_TABLE_SET_FOREIGN_ALL (wi_table.h, not public API); use it in all of STM (9d79f0c)
  • Bump version to v9.7.0 (7bc1ca3)

STD

  • Guard std::ismain (_base_ismain) against running it outside of a running script (80e7480)

STM

  • Validate callbacks in _string_each/select/where (4a9f3e2)

Repo

  • Normalize path slashes in the test runner (util/test.py) (b900007)
  • Add Clang to build.yml workflow (9b252d4)
  • Rename build workflow to just "Build Wi" (4538a47)
  • Cleanup .clangd a bit (0c03184)

Full Changelog: v9.6.0-beta...v9.7.0-beta