lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Happy to announce a new release of Penlight, a general purpose utility library.

There is ongoing work to rewrite the test suite into more structured tests using Busted. This has uncovered a number of small edge case bugs that were fixed. But also several bug fixes encountered by users have been fixed. Test coverage is now over 88%.

A notable extension is the Lua 5.4 “warn” compatibility feature, which is used by a new Penlight function `utils.raise_deprecation`. This feature is used to warn about the usage of deprecated functionality, foremost by Penlight itself.
Because it is used by Penlight itself to warn about using deprecated functionality, the advice would be to run at least in your test suites with warnings enabled, so you can take appropriate action.

The most important deprecation is that of the “Date” module. There were a lot of open issues with that module, while at the same time there are other modules out there that do a better job at it. Hence the decision to deprecate it.

A subset of the change log with the most important changes:
- deprecate: permute.iter, renamed to permute.order_iter (removal later) #360
- deprecate: permute.table, renamed to permute.order_table (removal later) #360
- deprecate: Date module (removal later) #367

- feat: permute.list_iter to iterate over different sets of values #360
- feat: permute.list_table generate table with different sets of values #360
- feat: Lua 5.4 'warn' compatibility function #366
- feat: deprecation functionality utils.raise_deprecation #361

- fix: dir.rmtree failed to remove symlinks to directories #365
- fix: pretty.write could error out on failing metamethods (Lua 5.3+) #368
- fix: app.parse now correctly parses values containing '=' or ':' #373
- fix: dir.makepath failed to create top-level directories #372
- fix: array2d.iter didn't properly iterate the indices #376

The deprecated functionality will be permanently removed in the next major version.

As usual installation is easiest using LuaRocks, the source repo is under the LunarModules organization at Github:

If there are any issues, please let us know.

Many thanks to everyone who contributed. Most notably Caleb Maclennan who revised the CI setup and migrated a lot of tests.


Penlight Team.