major changes between 12.00 and 13.00

General:
  • Windows API headers: 80+ files added (still incomplete), 510+ files modified, and 50+ files removed.
  • Added Windows API library onecore.lib.
  • Revised some definitions in <stdatomic.h>.
  • More complete C runtime support for C23 standard.
  • Added runtime function _cwscanf().
  • Fixed missing declaration of _wcsset().
  • Fixed unwanted multibyte translation of wide character in fgetwc() and fputwc() for stream opened in binary mode.

IDE:
  • Added minimal support for Microsoft Windows dbghelp.dll (needed for Just-In-Time debugging of MSVC-compiled programs on my Windows 10 machine, now that Visual Studio stopped being helpful in this area too).
  • Added larger icons and an attempt to detect when they are needed.
  • Added support for colorized compiler diagnostics.
  • Split text editor settings per syntax (C, ASM, RC, and PIS).
  • Changed browse info levels into just enabled or disabled.
  • Changed image editor zoom factors; added some new brush tool types.
  • Removed debugger support for deprecated debug info types (V1).
  • Added incremental search of name in project tree (within a subgroup; useful for large projects with many files).
  • Added support for UTF-8 encoding in message table resources.
  • Various minor improvements and bug fixes.

Compiler:
  • Added more complete support for the C23 standard (see help file).
  • Added (optional) support for colorized diagnostics.
  • Added side-effect aware __min() and __max() generic functions (used by <minmax.h>).
  • Added checking of format string for strftime() and wcsftime().
  • Added basic checking of flags, width, and precision in printf family format strings.
  • Added basic checking of width in scanf family format strings.
  • Added basic checking of qualifiers for printf and scanf family functions using va_list.
  • Added intrinsics for saturated unsigned addition and subtraction.
  • Added intrinsics for Intel User Interrupt instructions.
  • Added more folding of various SIMD intrinsics.
  • Added new attempt to fix _mul128() intrinsic ("any year now...").
  • Added attempt to fix signature of __udiv128() (and _udiv128()) intrinsic ("any year now...?!").

Macro assembler:
  • Added new richer intermediate MASM-specific expression format, to be lowered to the existing generic expression format only after (macro) evaluation.
  • Revised dot handling for keywords and identifiers (members): now introducer or separator rather than part of name.
  • Added (optional) support for colorized diagnostics.
  • Added better handling and reporting of line numbers.
  • Added handling of ABS and PROTO for EXTERN[DEF] directive.
  • Added Intel User Interrupt instructions CLUI, STUI, SENDUIPI, TESTUI, UIRET.
  • Added Intel SMX (Safer Mode Extension) instruction GETSEC.
  • Added Intel SGX (Software Guard Extension) instructions ENCLS, ENCLU.
  • Added OPTION RIPRELATIVE:{ON|OFF}.
  • Revised handling of dot-keywords, and object dot member.
  • Revised result from OPATTR operator.

Linker:
  • Modernized handling of dynamic virtual memory (mostly unnoticeable).
  • Added detection of archive member //.
  • Added options /FILEALIGN:# and /NOEXP.
  • Removed option /MAPINFO:FIXUPS.

Library Manager:
  • Modernized handling of dynamic virtual memory (mostly unnoticeable).
  • Added detection of archive member //.

Browse Info Manager:
  • More changes, mostly for new C23 syntax.

Resource compiler:
  • Revised some numeric limit checks (disabling unwanted warnings, hopefully keeping the wanted ones).

Message compiler:
  • Added option /U8 and support for UTF-8 encoding.

H-to-INC Converter:
  • Improved emission of RECORD type (bit-fields).
  • Added indentation of conditional code.
  • Fixed several bugs.

Install builder:
  • Added aliases for CreateDirectory statement: CreateDir and MKDir.
  • Refactored installer engine: revised elevation of installer and uninstaller during startup; revised running uninstaller from TEMP diretrory; proper removal of uninstaller and application directory after successful uninstall, etc.
  • Restored name of configuration file as poinst.cfg (note to self: compiler.cfg is a different name).

Dump utility:
  • Added support for UTF-8 encoding in message table resources.
  • Added known info about mostly undocumented symbol @feat.00.
  • Added even more load configuration fields.
  • Added handling of archive member //.

PE/COFF Viewer
  • Added richer info about Pelles C Debug Information.
  • Added known info about mostly undocumented symbol @feat.00.
  • Added even more load configuration fields.
  • Added handling of archive member //.