Skip to content

chore(release): refresh README and CHANGELOG for 1.0.0-rc.1#201

Merged
davydog187 merged 6 commits into
mainfrom
docs/0-5-0
May 7, 2026
Merged

chore(release): refresh README and CHANGELOG for 1.0.0-rc.1#201
davydog187 merged 6 commits into
mainfrom
docs/0-5-0

Conversation

@davydog187
Copy link
Copy Markdown
Contributor

@davydog187 davydog187 commented May 7, 2026

Update README and CHANGELOG for 1.0.0-rc.1

Plan: .agents/plans/A12-readme-changelog.md
Closes #173

The VM rewrite (Luerl → Elixir-native) is significant enough to warrant a major version bump rather than a minor. This PR retargets from 0.5.0 to 1.0.0-rc.1 — pre-release leaves room to catch regressions before locking 1.0 final while still signaling the magnitude of the change.

Goal

Refresh user-facing docs to reflect the new VM and bump the version to 1.0.0-rc.1.

Success criteria

  • README.md accurately describes the new VM (no Luerl claims in Features/encoding tables; only a historical mention in Credits).
  • CHANGELOG.md has a 1.0.0-rc.1 section summarizing:
  • mix.exs @version bumped to 1.0.0-rc.1.
  • Doctests in lib/lua.ex still pass (52 doctests, 0 failures).
  • mix docs does not introduce new warnings (the 6 warnings present are pre-existing on main and reference hidden modules — out of scope; noted in Discoveries).

Changes

 .agents/plans/A12-readme-changelog.md | 65 ++++++++++++++++++++++++++++--
 .agents/plans/A13-release-rc1.md      | 38 ++++++++++--------
 CHANGELOG.md                          | 85 ++++++++++++++++++++++++++++++++++-
 README.md                             | 60 +++++++++++++++-----------
 ROADMAP.md                            | 22 ++++++----
 mix.exs                               |  2 +-
 6 files changed, 222 insertions(+), 50 deletions(-)

README revisions:

  • Tagline rewritten: "ergonomic interface to Luerl" → "Elixir-native Lua 5.3 virtual machine".
  • Features list updated to describe the new VM and its capabilities.
  • Encoding/decoding table replaced :luerl.tref()/:luerl.usdref()/:luerl.erl_func() with the new VM's tags ({:tref, integer()}, {:udref, integer()}, {:native_func, fun}). Removed the MFA row since the new VM doesn't accept that form.
  • Credits section reframed: still acknowledges Luerl as prior art, but no longer claims this library "piggy-backs off" Luerl.

CHANGELOG 1.0.0-rc.1 entry covers Added / Changed / Removed / Performance / Fixed buckets, with PR references for all major fixes shipped under Direction A.

ROADMAP and plan A13 retargeted to 1.0.0 milestone naming. ROADMAP's stale 4/24 suite count corrected to 5/29.

Discoveries

  • Version: framing this as 0.5.0 undersold the magnitude of the VM rewrite. After discussion the version was bumped to 1.0.0-rc.1.
  • mix docs emits 6 pre-existing warnings on main (references to hidden modules Lua.CompilerException, Lua.Compiler.Scope.State). These are about code visibility, not docs content — out of scope for a README/CHANGELOG plan. This PR does not introduce new warnings.
  • ROADMAP said 4/24 suite files passing; the actual count is 5/29 (bitwise.lua was added as ready in fix(vm): handle Lua 5.3 hex and string coercion for bitwise ops #198/feat(stdlib): implement math.fmod for bitwise.lua bit32 verification #199). ROADMAP updated.
  • The {module(), atom(), list()} MFA encoding form is no longer accepted by Lua.encode!/2 in the new VM. Documented in the CHANGELOG's Removed section.

Verification

mix format         # no diff
mix compile --warnings-as-errors   # ✓
mix test           # 52 doctests, 45 properties, 1420 tests, 0 failures, 31 skipped
mix docs           # 6 pre-existing warnings (same as main); no new warnings

Out of scope (intentional)

  • Tagging and publishing to Hex — that's plan A13 (Cut 1.0.0-rc.1).
  • Migration guides — there are no breaking public-API changes from 0.4. The breaking changes are in encoded value tag shapes and parser error strings, both noted in Changed.
  • Fixing the pre-existing mix docs warnings about hidden modules.

davydog187 added 6 commits May 6, 2026 18:51
Update README to reflect the new Elixir-native VM (no Luerl runtime
dependency). Rewrite the Features, encoding/decoding table, and
Credits sections. Add a comprehensive 0.5.0 CHANGELOG entry covering
the VM rewrite, performance wins, suite progress, behavioural
differences from 0.4, and the bug fixes shipped under Direction A.

Plan: A12
Closes #173
The VM rewrite (Luerl \u2192 Elixir-native) is significant enough to
warrant a major version bump rather than a minor. Cutting an rc
first leaves room to catch regressions before locking 1.0 final.

- Bump mix.exs @Version to 1.0.0-rc.1.
- Rename CHANGELOG entry from [v0.5.0] to [v1.0.0-rc.1] with a
  brief release-candidate note up top.
- Update README Credits to reference 1.0.0.
- Update ROADMAP milestone names (0.5.0 \u2192 1.0.0, 0.5.x \u2192
  1.0.x) and refresh the stale suite count (4/24 \u2192 5/29) and
  unit test count (1369 \u2192 1420).
Update A12 title/goal/success criteria, and update A13 to reflect
that A12 already bumps mix.exs and seeds the CHANGELOG entry.
@davydog187 davydog187 changed the title docs(readme): refresh README and CHANGELOG for 0.5.0 chore(release): refresh README and CHANGELOG for 1.0.0-rc.1 May 7, 2026
@davydog187 davydog187 merged commit 3b272d8 into main May 7, 2026
4 checks passed
@davydog187 davydog187 deleted the docs/0-5-0 branch May 7, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update README and CHANGELOG for 0.5.0

1 participant