Releases: luthersystems/elps
Releases · luthersystems/elps
v1.48.1
What's Changed
Defensive
- Nil-guards +
defer recoverin error rendering chain (#278) — prevents(*ErrorVal).Error/baseMessage/ErrorMessage/Condition/FunName/WriteTrace/errorCellMessagefrom panicking when fed a malformed*ErrorVal(nil receiver, nilCells[i], corruptedCells[0].Nativeinterface). Well-formed errors render identically. log.Printfon every defensive guard branch so operators see when corruption fires the fallback path — silently swallowing a recovered panic inErrorMessagewould hide the upstream bug the guard is meant to surface.
This is purely defensive. The root cause of the malformed-Native-interface corruption (downstream consumer reported SIGSEGV addr=0x14 inside ErrorMessage's Cells[0].Native type switch — see #279) remains unknown; this release just ensures the diagnostic path never crashes the process while we investigate.
Full Changelog: v1.48.0...v1.48.1
v1.48.0
What's Changed
Bug fixes
- fix(lisp): identity-guard singleton mutation in
stampMacroExpansion(#275) — fixes process-wide corruption ofBool(true)/Bool(false)singletons during macro expansion. Closes #274. - fix(lisp): capture Go panic stack on recovered phylum panics (#272)
- fix: silence
GetFunName BUG:log spam from libschema validators (#273)
New API
lisp.FunInPackage,lisp.MacroInPackage,lisp.SpecialOpInPackage— package-bound LFun constructors so embedders avoid thepackage-less LFunlog spam.lisp.TakeSingletonSnapshot/SingletonSnapshot.Verify— test-infrastructure helpers for detecting singleton mutation.
Safeguards (so the singleton bug class can't silently regress)
TestMaininlisp/snapshots all three singletons; fails the suite if any drifted.elpstest.Runnersnapshots per-test and reports the offending lisp test.- New
//go:build elpschecktag enables per-call integrity verification inBool()/Nil(); CI runsmake test-elpscheck. - New
make racetarget runs the full suite under-race; CI runs it.
Dependencies
- build(deps-dev): Bump
fast-urifrom 3.1.0 to 3.1.2 in/editors/vscode(#270)
Full Changelog: v1.47.2...v1.48.0
v1.47.2
What's Changed
Fixed
- Windows build failure (
go install github.com/luthersystems/elps@latestand any Windows compile) caused by a brokentliron/kutil@v0.3.11API mismatch withtermenv. Bumpedkutiltov0.3.27. (#268, closes #267)
CI
- Added a
Build (Windows)job to.github/workflows/elps.ymlso Windows-only compile regressions are caught on every PR.
Full Changelog: v1.47.1...v1.47.2
v1.47.1
What's Changed
- fix: enrich ELPS LSP metadata and normalize paths by @sam-at-luther in #265
Full Changelog: v1.47.0...v1.47.1
v1.47.0
What's Changed
- fix: analyzer false positives, MCP cross-file diagnostics, macro expansion, and semantic audit (#262) @sam-at-luther
Highlights
- Analysis-time macro expansion:
MacroExpanderinterface +EnvMacroExpanderexpands user macros during static analysis, resolving symbols introduced by macro templates (lambda params, let bindings, etc.) - Workspace macro loading:
LoadWorkspaceMacrosreplays preamble forms (in-package, use-package, export, defmacro, defun, set) in load-tree DFS order, mirroring runtime(load)behavior - Embedder API: Set
EnvonLintConfig— elps handles workspace package creation, import resolution, and macro expansion automatically - Analyzer fixes:
condelse/true (#258), MCP cross-file diagnostics (#259),setPutGlobal semantics (#260), bare-file DefaultPackage resolution - Semantic audit:
macroletscope,qualified-symboldata argument,thread-first/thread-lastexplicit handling
Issues closed
Full Changelog: v1.46.2...v1.47.0
v1.46.2
What's Changed
- fix: resolve quasiquote template symbols as references (#256) @sam-at-luther
- fix: resolve qualified symbols against all package defs, not just exports (#257) @sam-at-luther
Full Changelog: v1.46.1...v1.46.2
v1.46.1
What's Changed
- build(deps): Bump brace-expansion in /editors/vscode (#254) @dependabot
Full Changelog: v1.46.0...v1.46.1
v1.46.0
What's Changed
- fix: LSP diagnostic positions, shadowing noise, and cross-file use-package (#252) @sam-at-luther
- feat: load-tree package inference, keyword hover docs, EndPos everywhere (#253) @sam-at-luther
Full Changelog: v1.45.0...v1.46.0
v1.45.0
What's Changed
- feat(analysis): add build and _* to ShouldSkipDir defaults (#248) @sam-at-luther
- docs: update release skill with vscode changelog and publish steps (#246) @sam-at-luther
- docs(vscode): add About Luther Systems section to README (#245) @sam-at-luther
- chore(vscode): placeholder version + highlight #^ same as lambda (#244) @sam-at-luther
Full Changelog: v1.44.1...v1.45.0
v1.44.1
What's Changed
- chore(vscode): placeholder version + highlight #^ same as lambda by @sam-at-luther in #244
Full Changelog: v1.44.0...v1.44.1