Skip to content

Releases: taedlar/neolith

neolith v1.0.0-alpha.10

02 Jun 08:09
4ba75b0

Choose a tag to compare

Pre-release

1.0.0-alpha.10 — 2026-06-02

Changes since 1.0.0-alpha.9

Features
Bug Fixes
Cleanup
Chores & CI
Documentation
Tests

neolith v1.0.0-alpha.9

17 Apr 16:24

Choose a tag to compare

Pre-release

1.0.0-alpha.9 — 2026-04-18

Changes since 1.0.0-alpha.8

Features

  • feat: add optional PACKAGE_JSON support with to_json() and from_json() efuns
  • feat: extend from_json() to accept buffer input for large JSON payloads
  • feat: add optional PACKAGE_CURL support with perform_using(), perform_to(), and in_perform() efuns
  • feat: add c_str() efun to make C-string truncation an explicit LPC contract
  • feat: harden counted-string comparison and JSON/CURL text-option boundaries to use byte-span semantics and explicit embedded-NUL rejection/conversion rules

Documentation

  • doc: add efun docs for to_json() and from_json()
  • doc: add efun docs and unit tests for CURL efuns
  • doc: add guarded curlget PACKAGE_CURL example to the sample mudlib
  • doc: add c_str() efun docs and unit tests

neolith 1.0.0-alpha.8

24 Mar 16:34

Choose a tag to compare

neolith 1.0.0-alpha.8 Pre-release
Pre-release

1.0.0-alpha.8 — 2026-03-25

Changes since 1.0.0-alpha.7

Features
  • f6be500 feat: add PACKAGE_SOCKETS cmake option (#309)
  • dcdd4ce feat: shared resolver admission control (#307)
  • b8ea5fc feat: implement c-ares backed shared resolver with tests (#306)
  • 2951ac1 feat: add dns lookup cache for shared resolver (#305)
  • cf69a0f feat: add resolver worker pool to prevent head-of-line (#304)
  • 77d1999 feat: implement shared resolver for no c-ares case (#303)
  • 6b1f998 feat: import or fetch c-ares (#300)
  • eefcfc3 feat: async reverse dns resolver (#298)
  • 53bf590 feat: align socket efuns with lib/async (#296)
  • 67a018a feat: more socket efun behavior tests (#295)
  • 9313e38 feat: echo/single-char handling on windows console mode (#294)
  • 2bf4ea6 feat: add socket efun unit-tests (#293)
  • 5e20cf5 feat: add cmake variable FETCH_CURL_FROM_SOURCE (#291)
  • 85659df feat: add cmake variable FETCH_OPENSSL_FROM_SOURCE (#290)
  • bbb9ac2 feat: archive agent reports to avoid RAG noise (#287)
Bug Fixes
  • 2faae00 fix: resolved design decisions of shared resolver (#302)
  • 60c457a fix: socket_connect() DNS option (#301)
Documentation
Other

1.0.0-alpha.7

09 Mar 07:57

Choose a tag to compare

1.0.0-alpha.7 Pre-release
Pre-release

Release 1.0.0-alpha.7

Key Highlights

  • OpenSSL-based crypt: Portable password hashing (#286)
  • Clang-CL build support: Additional compiler option for Windows (#273)
  • Control stack cleanup: Refactored interpreter stack handling (#281)
  • Command handling separation: Extracted from comm.c for better modularity (#280)

All Changes (26 commits)

  • feat: add portable crypt based on openssl (#286)
  • doc: guideline about optional packages (#285)
  • chore: detect optional dependencies (#284)
  • fix: null guard all_users in process_io to prevent segfault (#283)
  • chore: fix include setting of grammar.h (#282)
  • clean: control stack handling (#281)
  • clean: separate command handling from comm.c (#280)
  • fix: telnet echo handling (#279)
  • doc: update build info (#278)
  • fix: call_function to access current_object variables (#277)
  • doc: update m3_mudlib (#276)
  • chore: linux-build error (#275)
  • fix: socket async read event (#274)
  • feat: add clang-cl build (#273)
  • doc: update comm refactor plan (#272)
  • chore: move in_edit() efun to ed.c (#271)
  • feat: unify input_to, get_char and add_action efun carryover arguments (#270)
  • doc: add sentence enhance plan (#269)
  • doc: comm refactor plan (#268)
  • clean: split outbuf.c from comm.c (#267)
  • clean: lpc interpreter source code (#266)
  • fix: refactor sync with c++ primitives (#265)
  • chore: remove librt timer (#264)
  • fix: refactor timer with c++11 primitives (#263)
  • clean: f_localtime (#262)
  • feat: foreach extracts unicode chars in strings (#261)

See docs/ChangeLog.md for complete details.

1.0.0-alpha.6

03 Feb 10:28

Choose a tag to compare

1.0.0-alpha.6 Pre-release
Pre-release

title: "1.0.0-alpha.6"
tag: "1.0.0-alpha.6"
draft: true
date: 2026-02-03

1.0.0-alpha.6 (Draft)

This is a draft release for tag 1.0.0-alpha.6 (head of main).

Summary

Changelog (commits since 1.0.0-alpha.5):

  • e1b21f6 fix: lpc warnings (Ted Zhang)
  • 99d564a fix: sprintf warnings (Ted Zhang)
  • 1c7dc1c fix: windows compile warnings (Ted Zhang)
  • 8ecb713 fix: file utils warnings (Ted Zhang)
  • dabbe3e fix: various warnings (Ted Zhang)
  • 896c84f fix: misc. warnings (Ted Zhang)
  • 58c736e fix: warnings in compiler.c (taedlar)
  • c284ac9 fix: misc int type warnings (Ted Zhang)
  • bbea0b8 clean: update set_eval_limit docs (Ted Zhang)
  • 80b8eb7 fix: console worker unit tests (Ted Zhang)
  • 1518362 clean: console type detection on windows (Ted Zhang)
  • 0e99d28 fix: posix console type (Ted Zhang)
  • d3979d5 fix: leaked shared strings (Ted Zhang)
  • 0fafe10 fix: destruct objects in tear down (Ted Zhang)
  • 0e313ee fix: free permanent identifiers (Ted Zhang)
  • 8428eea fix: updating vital objects (Ted Zhang)
  • 32eb865 fix: free ip entry string (Ted Zhang)
  • 31de21f clean: fix misc warnings (Ted Zhang)
  • ec67b2b clean: fix windows build warnings (Ted Zhang)
  • 8691abe fix: accept worker for windows iocp integration (Ted Zhang)
  • 16727e7 feat: add timer flags (Ted Zhang)
  • 89c1b34 feat: integrate async_worker with port_event_t (Ted Zhang)
  • fb84ba3 fix: windows line mode setting (Ted Zhang)
  • d8ac4e8 feat: integrate console mode with lib/async (Ted Zhang)
  • 96ef28b feat: add library async to unify io reactor and worker threads (Ted Zhang)
  • caa079f doc: add design for lib/async (Ted Zhang)
  • a31965b feat: use pexpect for testbot (Ted Zhang)
  • 6f6f8d7 feat: added console testbot (Ted Zhang)
  • 47617f4 clean: simplify lpc compiler init (Ted Zhang)

Notes

  • Tag: 1.0.0-alpha.6
  • Target branch: main (head)
  • This file is a draft; publish via GitHub Releases when ready.

What's New

  • Consolidated and fixed numerous compiler and format warnings across the codebase, improving build hygiene and reducing noisy diagnostics.
  • Windows build and console improvements: better console type detection, safer line-mode handling, and fixes to Windows IOCP integration.
  • New lib/async library and integration: unified async worker/runtime, async_worker integration with port_event_t, and added timer flags to improve cross-platform I/O and worker coordination.
  • Console automation and testing: added a console testbot (using pexpect), improved piped-stdin support, and fixed related unit tests for console workers.
  • Stability and memory fixes: fixed leaked shared strings, ensured proper object destruction during teardown, and cleaned up permanent identifier and IP entry memory handling.
  • Documentation updates: added design docs for lib/async and cleaned up set_eval_limit docs.

These changes collectively improve cross-platform reliability (especially Windows), reduce runtime leaks, and make developing and testing the driver easier.

1.0.0-alpha.5

15 Jan 08:39
6926b41

Choose a tag to compare

1.0.0-alpha.5 Pre-release
Pre-release

Release 1.0.0-alpha.5

This alpha release includes significant improvements to I/O handling, platform compatibility, and internal architecture.

🚀 New Features

  • Command Turn System (#230, #229): Implemented command processing turn mechanism for better game loop control
  • 64-bit Integer Support (#227): Platform-agnostic 64-bit integer support for LPC runtime
  • IO Reactor (#214, #209, #205): Complete IO reactor abstraction with poll() implementation for non-blocking I/O
    • Phase 2 implementation (#209)
    • Phase 3 implementation (#214)
    • Design documentation (#204)
  • Console Mode (#221, #213): Added CONSOLE_USER connection type that bypasses telnet protocol
    • Windows console support (#213)
  • Timer Port Integration (#225): Integrated timer_port API for improved event handling
  • Testing Enhancements (#215): Extended load_object() to accept pre-text parameter for easier unit testing

🐛 Bug Fixes

  • Windows Platform (#228, #216, #212, #206): Multiple Windows compatibility fixes
    • localtime() implementation (#228)
    • restore_object() on Windows (#216)
    • IO reactor for listen sockets (#212)
    • IO reactor build fixes (#206)
  • IO Reactor (#220, #219): Console I/O handling and io_reactor_wait() fixes
  • Timer (#226): Fixed timer_port for heart_beat mechanism
  • Compiler (#223): Fixed program_t pointer alignment issues
  • LPC Runtime (#218, #211, #210): Multiple runtime fixes
    • Crasher in check_valid_path() (#218)
    • Reverted find_function semantics (#211)
    • find_function now returns runtime index (#210)
  • Unit Tests (#217, #202): Fixed save_object unit tests and cleaned up test environment
  • Socket Communication (#207): Fixed socket_comm issues
  • MSVC Build (#208): Fixed various warnings on MSVC build

🧹 Code Quality & Documentation

  • LPC Types (#224, #222): Clarified LPC type system and improved program structure documentation
  • Documentation (#203, #201): Updated admin guide and formatting improvements
  • AI Assistance (#200, #198): Added GitHub Copilot instructions for development
  • Graceful Cleanup (#197): Added --pedantic flag to enable graceful cleanup on shutdown

📊 Statistics

  • 33 commits since 1.0.0-alpha.4
  • Major improvements in cross-platform compatibility
  • Enhanced testing infrastructure
  • Comprehensive I/O subsystem refactoring

⚠️ Breaking Changes

  • find_function() now returns runtime function index instead of function number (reverted behavior from #210)

Full Changelog: 1.0.0-alpha.4...1.0.0-alpha.5

1.0.0-alpha.4

09 Dec 04:05
c5e2313

Choose a tag to compare

1.0.0-alpha.4 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-alpha.3...1.0.0-alpha.4

1.0.0-alpha.3

06 Nov 17:21
3c01867

Choose a tag to compare

1.0.0-alpha.3 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-alpha.2...1.0.0-alpha.3

v1.0.0-alpha.2

23 Oct 16:54
1e54e05

Choose a tag to compare

v1.0.0-alpha.2 Pre-release
Pre-release

What's Changed

  • feat: add unit-tests integration using googletest by @taedlar in #73
  • ci: enable codeql scan by @taedlar in #74
  • fix: check HAVE_LIBRT in cmake by @taedlar in #75
  • fix: trace flags for backend tier by @taedlar in #76
  • clean: reference simulate.h from stem header by @taedlar in #77
  • clean: reorganize lpc related headers by @taedlar in #78
  • clean: reorganize lpc code generation by @taedlar in #79
  • clean: reorganize lpc compiler code by @taedlar in #80
  • fix: telnet related warnings by @taedlar in #81
  • fix: various compile warnings by @taedlar in #82
  • fix: scanf return value check by @taedlar in #83
  • fix: potential crasher in subtract_array by @taedlar in #84
  • clean: separate runtime config as static lib by @taedlar in #85
  • fix: warnings by @taedlar in #86
  • doc: add doc for driver main program by @taedlar in #87
  • test: add stem object library for unit-testing by @taedlar in #88
  • clean: rearrange stem variables for unit-testing by @taedlar in #89
  • test: add unit-testing to load master object by @taedlar in #90
  • testL add LPC compiler tear down by @taedlar in #91
  • test: update logger unit-tests by @taedlar in #92
  • test: add unit-tests for stralloc by @taedlar in #93
  • doc: unit-testing by @taedlar in #94
  • test: add deinit for otable, livings and strings by @taedlar in #95
  • feat: allow trully destruct master_ob by @taedlar in #96
  • doc: update running ctest in debugger by @taedlar in #97
  • feat: add deinit_config and updated unit-tests by @taedlar in #98
  • test: add unit test for load_obejct() by @taedlar in #99
  • clean: main function and add comments by @taedlar in #100

Full Changelog: 1.0.0-alpha.1...1.0.0-alpha.2

v1.0.0-alpha.1

16 Oct 09:43

Choose a tag to compare

v1.0.0-alpha.1 Pre-release
Pre-release