# Changelog 2026-04-15

## Reviewed V1 Base Fixes

- Corrected Win32 `INVALID_HANDLE_VALUE` definitions from `0` to `-1`.
- Fixed `FindFirstFile` failure checks to compare against `INVALID_HANDLE_VALUE`.
- Hardened process launch helpers by initializing `STARTUPINFO` and `PROCESS_INFORMATION`, waiting on process handles, checking `CreateProcess`, and returning real exit status or negative Win32 errors.
- Improved path helper buffer sizing and backward scanning guards.
- Preserved command-line argument case in compiler front ends while keeping switch checks case-insensitive.
- Quoted batch execution paths and made file extension checks case-insensitive.

## Language And Compiler Features

- Added `#pragma pack(n)`, `#pragma pack(push[,n])`, `#pragma pack(pop)`, and `#pragma once`.
- Accepted `#pragma region`, `#pragma endregion`, and `#pragma warning(...)` as reserved/no-op forms where appropriate.
- Added property syntax lowering for `property get`, `property set`, `property byref`, and `static property`.
- Added `module ... end module` lowering to namespace/scope constructs.
- Added `interface ... end interface` lowering to type/block constructs.

## JSON Parser Module

- Added reusable `inc\JsonUtil.inc`.
- Updated `inc\ParseUtil.inc` to import the JSON utility module.
- Reworked `demos\DataProcessing\JSONparsing.o2bas` as a system-module sample.
- Public helpers include `JsonEscape`, `JsonQuote`, `JsonFormat`, `JsonMinify`, and `JsonValid`.
- `JsonDoc` provides DOM-style parsing, navigation, query, inspection, and stringify support.

## DebugMap v2

- Added `o2_debug(0|1)` and `o2_debugmap()` API support.
- Extended `o2_stats()` with debug-map counts.
- Added `-g` handling to all compiler front ends included in the patch.
- Debug map v2 records files, line ranges, symbols with kind fields, and procedure ranges.

## LMStudioAI

- Added `inc\LMStudioAI.inc`.
- Added `demos\System\Internet\LMStudioAI_Demo.o2bas`.
- Supports LM Studio and OpenAI-compatible `/v1` endpoints for models, responses, chat completions, embeddings, and completions.
