Skip to content

Releases: hh696-wq/hhy-vm

HHY Language 1.3.10

Choose a tag to compare

@github-actions github-actions released this 01 Sep 10:26

Full Changelog: v1.3.9...v1.3.10

HHY Language 1.3.9

Choose a tag to compare

@github-actions github-actions released this 01 Sep 09:20

Full Changelog: v1.3.8...v1.3.9

HHY Language 1.3.8

Choose a tag to compare

@github-actions github-actions released this 01 Sep 07:48

Full Changelog: v1.3.7...v1.3.8

HHY Language 1.3.7

Choose a tag to compare

@github-actions github-actions released this 01 Sep 07:29

Full Changelog: v1.3.6...v1.3.7

HHY Language 1.3.6

Choose a tag to compare

@github-actions github-actions released this 01 Sep 06:41

HHY Language v1.3.6

HHY v1.3.6 reduces the verified Bytecode VM's scalar Stream overhead while preserving the AST oracle and --engine ast fallback.

  • Safely fuses Bytecode map -> where -> distinct -> collect pipelines backed by bounded Range/List sources.
  • Executes compiler-recognized Int multiply and modulo/equality closure shapes through fixed local/constant operands and checked Int operations.
  • Keeps dynamic closures, effects, unknown calls, parallel/error pipelines, and unsupported Stream kinds on the general runtime path.
  • Retains cancellation safepoints, collection and memory limits, overflow/division checks, Stream claiming, close propagation, and profiler fidelity.

No public language semantics, extension protocol, or Bytecode persistence format changed.

HHY Language 1.3.5

Choose a tag to compare

@github-actions github-actions released this 01 Sep 05:59

HHY Language v1.3.5

HHY v1.3.5 makes the verified Bytecode VM the default execution engine for run, profile, and script shorthand.

Highlights

  • Executes verified Opcode trees directly without routing normal Bytecode execution through the AST evaluator.
  • Covers expressions, declarations, control flow, functions, closures, errors, Pipes, collections, imports, and module exports.
  • Adds verified subtree navigation, resolved local-slot metadata, reusable call frames, low-allocation Stream closure calls, and typed integer fast paths.
  • Keeps --engine ast and HHY_ENGINE=ast as permanent rollback paths and retains AST as the semantic oracle in CI.
  • Passes the measured default-switch gates: 1M CPU workload ratio ≤ 0.90, short-script ratio ≤ 1.25, and JSON/I/O ratio ≤ 1.10.

Compatibility

Language syntax, Value/Stream/Error semantics, extension protocol, resource limits, diagnostics, stack traces, cancellation, and dry-run contracts are unchanged.

Verification

The release workflow builds and tests macOS arm64, Linux x86_64, Linux arm64, and Windows x86_64 archives. Each archive has a dedicated SHA-256 file and is included in SHA256SUMS.

HHY Language 1.3.2

Choose a tag to compare

@github-actions github-actions released this 01 Sep 04:35

HHY v1.3.2

HHY v1.3.2 stabilizes the internal Bytecode VM boundary and makes the AST
semantic oracle a permanent regression gate for the v1.3 train.

Stabilized internal boundary

  • Introduces src/bytecode_runtime.h as the only preparation boundary visible
    to the semantic Runtime.
  • Moves compilation, fault injection, verification, structural frame planning,
    and Chunk lifetime ownership into src/bytecode_runtime.c.
  • Prevents runtime.c from directly accessing HhyBytecodeChunk or calling the
    Compiler, Verifier, or execution planner.
  • Versions this internal contract with
    HHY_BYTECODE_RUNTIME_BOUNDARY_VERSION = 1.
  • Extends static Runtime governance so boundary bypasses fail CI.

Continuous semantic oracle

  • Runs the complete language/runtime suite once with AST and once with Bytecode.
  • Preserves deterministic malformed-Bytecode fault injection.
  • Runs official real workloads under both engines and records capability skips.
  • Uploads benchmark, default-engine decision, and workload evidence from CI.
  • Keeps AST as the default because the CPU performance switch gate remains unmet.

Compatibility

  • No v1.0 language semantic, extension protocol, lockfile, diagnostic, or exit
    status contract changes.
  • No persistent Bytecode format, external loader, JIT, Native ABI, or public VM ABI.
  • --engine ast remains an explicit fallback and semantic oracle.

HHY Language 1.3.1

Choose a tag to compare

@github-actions github-actions released this 01 Sep 04:32

HHY v1.3.1

HHY v1.3.1 hardens the opt-in Bytecode path against official real workloads
without changing the frozen language contract or the AST default.

Real-workload compatibility

  • Adds make workload-test and a machine-readable workload evidence report.
  • Runs each selected official project self-test under both AST and Bytecode.
  • Always validates the local Asset Governance filesystem workflow.
  • On hosts with loopback socket capability, also validates DataFlow ETL,
    FlowGuard, Hong Kong Film Companies, Multi-API Data Collector, my-crawler,
    and SiteGraph Auditor.
  • Preserves every project's existing report assertions, expected failure paths,
    dry-run behavior, extension usage, cancellation, and resource boundaries.

CI integration

  • Linux arm64/x86_64 and macOS arm64 release suites run the real-workload matrix.
  • The release workflow runs the same matrix before archives can be published.
  • Capability-based skips are recorded explicitly instead of silently passing.

Compatibility

  • hhy run remains AST by default.
  • hhy run --engine bytecode remains source- and diagnostic-compatible.
  • No Bytecode disk format or public ABI is introduced.

HHY Language 1.3.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 04:28

HHY v1.3.0

HHY v1.3.0 formally ships the opt-in verified Bytecode execution path while
preserving the frozen v1.0 language semantics and the AST fallback.

Bytecode execution

  • Adds hhy run --engine ast|bytecode; plain hhy run remains AST by default.
  • Compiles and verifies every Bytecode run before execution planning.
  • Enforces bounded structural frames and keeps function recursion governed by
    the shared RuntimeLimits.max_recursion call boundary.
  • Reuses the single Runtime implementation for Values, closure/upvalue
    lifetimes, structured errors, GC roots, cancellation, Streams, effects, and
    filesystem/process/HTTP/extension boundaries.
  • Rejects malformed opcodes, constants, trees, and HALT structure before runtime.

Diagnostics and evidence

  • Adds hhy profile --engine ast|bytecode with engine, HHY function, and source
    location reporting.
  • Adds bounded HHY call stacks to structured errors.
  • Runs the complete release suite independently with AST and Bytecode selected.
  • Adds deterministic invalid-opcode and missing-HALT fault injection.
  • Adds schema-2 engine benchmarks and a machine-readable default-switch decision.

Default-engine decision

The reviewed local RC evidence did not pass every performance gate: the measured
CPU-bound gain was below the required threshold and the JSON/I/O case regressed
beyond its limit. HHY therefore keeps AST as the default and Bytecode opt-in.
This is the intended evidence-driven behavior, not an incomplete silent switch.

Compatibility and release boundary

  • No persistent .hhyc format, external Bytecode loader, or public Bytecode ABI.
  • Existing source, extension protocol, lockfile, diagnostics, and exit-code
    contracts remain compatible.
  • Release archives continue to target macOS arm64, Linux x86_64, Linux arm64,
    and Windows x86_64 through MSYS2.

HHY Language 1.3.0-alpha

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Sep 03:43

HHY 1.3.0-alpha

HHY 1.3.0-alpha introduces the first verifiable Bytecode compiler skeleton while
keeping the AST evaluator as the only execution engine and default runtime path.

Bytecode compiler skeleton

  • Defines an internal Chunk with bounded instruction and constant storage.
  • Lowers every current AST node kind to an explicit Opcode instruction.
  • Deduplicates token text in a constant pool.
  • Preserves source line and column on every instruction.
  • Adds hhy bytecode <file.hhy> to compile, verify, and disassemble the internal IR.

Verifier

  • Rejects unknown opcodes and out-of-range constant references.
  • Validates the complete preorder node structure and declared child counts.
  • Enforces instruction, constant, and nesting limits.
  • Requires one canonical final HALT and rejects trailing instructions.
  • Runs against all valid examples and receives direct malformed-chunk and fuzz coverage.

Compatibility boundary

  • hhy run continues to use the AST evaluator.
  • Parser, Checker, Resolver, Runtime values, Streams, Errors, effects, cancellation,
    extensions, and resource limits are unchanged.
  • Opcode numeric values and Chunk layout are internal alpha details.
  • No Bytecode VM, persistent .hhyc, disk cache, external Bytecode loader, Native ABI,
    or default-engine switch is included.

Release policy

This is a prerelease. Linux x86_64, Linux arm64, macOS arm64, and Windows x86_64
must pass before publishing the corresponding archives and checksums. The stable
v1.2.2 release remains the recommended production release.