Skip to content

Release 1.1.2 - #47

Merged
horsenuggets merged 34 commits into
releasefrom
pre-release
Apr 1, 2026
Merged

Release 1.1.2#47
horsenuggets merged 34 commits into
releasefrom
pre-release

Conversation

@horsenuggets

Copy link
Copy Markdown
Owner

Summary

  • Release version 1.1.2

Changelog

  • Added script instance support for test roots (Testable.run(script.Parent.Tests))
  • Added automatic .spec.luau file discovery from directory script instances
  • Added support for both single script and dictionary syntax in CoverageRoots

horsenuggets and others added 30 commits January 10, 2026 17:38
## Summary
- Remove the "Verify diff matches main" check from release-checks.yml
- This allows PRs to release from pre-release branches, not just main

## Test plan
- [ ] Release checks workflow still runs correctly

Generated with [Claude Code](https://claude.com/claude-code)
## Summary
- Add back the "Verify diff matches main" check to release-checks.yml
- Ensures release PRs exactly match main before merging

## Test plan
- [ ] Release checks workflow runs correctly

Generated with [Claude Code](https://claude.com/claude-code)
## Summary
- Remove subsection headers (### Added, ### Changed, ### Fixed)
- Remove blank lines between version headers and list items
- Follow simplified changelog format from project guidelines

## Test plan
- [ ] Verify CHANGELOG.md renders correctly on GitHub
- [ ] Confirm format matches other repos

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
## Summary
- Updates claude-md-luau submodule to latest
- Updates luau-cicd submodule to latest (includes version-match CI
check)

## Test plan
- [ ] CI passes
Update claude-md, claude-md-luau, and luau-cicd submodules to latest.
Update CI and release-checks workflows to the latest templates from
luau-cicd, and update the luau-cicd submodule to latest.
## Summary
- Capitalize "Git" with an uppercase G in test descriptions and error
messages since it is a proper name.
Sync unpushed local commits: bump lune, wally, luau-lsp versions and
sync with luau-package-template.
## Summary
- Add code coverage support via `debug.getcoverage` with `CoverageRoots`
config
- Add dictionary syntax for test roots (`{ TestName = func }`)
- Bump version to 0.1.1

## Test plan
- [x] All 93 tests pass (89 existing + 4 new dict syntax tests)
- [x] Coverage integration tested with require results
- [x] Coverage returns nil when disabled (LUNE_COVERAGE=0)
- [x] Both array and dict test root syntax verified
- [x] Static analysis passes
## Summary
- Add Roblox cloud E2E tests that run Testable in a real Roblox server
via Open Cloud API
- Fix TestBootstrap to support dict and array syntax in Roblox
- Fix coverage to gracefully degrade in Roblox (no
debug.iscoverageenabled)
- Bump version to 0.1.2

## Test plan
- [x] 100 tests pass (93 local + 7 Roblox cloud)
- [x] All 7 Roblox cloud tests pass: describe/it/expect, dict syntax,
array syntax, matchers, coverage nil, coverage error, lifecycle hooks
## Summary
- Publish E2E place before running tests in CI
- Pass ROBLOX_E2E_API_KEY secret to test step
- Roblox cloud tests now run in CI instead of being skipped

## Test plan
- [x] Secret added to repo
- [x] CI workflow publishes E2E place then runs all tests including
remote
## Summary
- Add 14 coverage unit tests (resolveRoots, collect, Config options,
Testable.run integration)
- Bump version to 1.0.0

## Test plan
- [x] 114 tests pass (100 previous + 14 new coverage tests)
- [x] Static analysis passes
Update luau-cicd submodule with improved lint output labels and
PascalCase config keys.
Replace HTTPS URLs with SSH in .gitmodules for consistency.
## Summary
- Fix infinite loop when iterating user-provided module tables that have
`__call` metamethods
- Use `pairs()` instead of generalized `for k, v in table` iteration in
Coverage and TestBootstrap

## Test plan
- [x] 120 tests pass
- [x] Verified fix with chalk-luau (which uses callable tables
extensively)
## Summary
- Add `game` and `tick` to .luaurc globals (needed for runtime
environment detection)
- Cast `typeof()` to string to avoid Instance type narrowing errors on
Lune platform
- Ignore `Tests/RobloxCloud/**` from Lune lint pass (Roblox-only test
scripts)
- Delegate lint script to luau-cicd shared helper
- Standardize gitignore format

## Test plan
- Verified lint passes locally with no errors or warnings
Update luau-cicd submodule (adds ServerPackages to default lint ignore
patterns)
## Summary
- CoverageRoots now accepts script instances instead of module tables
- Coverage data includes all functions in each file, including locals
- Supports both individual file scripts and directory discovery
- Bumped lune to 0.10.4-horse.14.4 and rojo to 7.7.0-rc.1-horse.0.7

## Test plan
- [x] All 20 coverage tests pass in isolation
- [x] Verified on chalk-luau: 50% coverage (was 0% with old approach)
horsenuggets and others added 4 commits April 1, 2026 01:08
## Summary
- Bump version to 1.1.0 for release with file-level coverage support
## Summary
- CoverageRoots now accepts a single script instance instead of a
dictionary
- Fixed init.luau modules being skipped during directory discovery
- Bumped lune to 0.10.4-horse.14.5
- Bumped version to 1.1.1

## Test plan
- [x] 109 tests pass locally
- [x] Verified chalk-luau (init.luau module) now shows coverage
## Summary
- Test roots and CoverageRoots now accept both script instances and
dictionaries
- Auto-discovers .spec.luau files from directory script instances
- Version 1.1.2

## Test plan
- [x] 109 tests pass with existing dictionary format
- [x] 109 tests pass with script instance format
- [x] Coverage works with both formats
@horsenuggets horsenuggets self-assigned this Apr 1, 2026
@horsenuggets
horsenuggets merged commit 309fe8d into release Apr 1, 2026
8 checks passed
@horsenuggets
horsenuggets deleted the pre-release branch April 1, 2026 19:04
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.

1 participant