Skip to content

0.3.0

Compare
Choose a tag to compare
@joshuacc joshuacc released this 01 Nov 15:06
· 56 commits to main since this release
d619287

Ready for widespread use

With the completion of the features listed below, ahkpm is now stable and useful enough to be used as a day-to-day tool in writing and maintaining both personal AutoHotKey scripts and public AutoHotKey libraries.

1. ahkpm now resolves transitive dependencies! 🎉

This means that ahkpm is now useful for developing public AutoHotKey libraries, not just private ones. If you create a new package A, which specifies in ahkpm.json that it depends on package B, if a user installs A, they will automatically receive B as well.

2. ahkpm now uses a lockfile to prevent unexpected changes to dependencies. 😌

When installing packages, ahkpm will produce an ahkpm.lock file with all the details of the dependency tree, including exactly which commit that dependency resolved to. If you later run ahkpm install without specifying any changes to your top level dependencies, then ahkpm will install exactly those commit versions. So if you depend on somepackage@branch:main, you'll continue to get exactly the same commit as before even if somepackage's main branch has a new commit. As a result, if your script worked before, it will continue to work until you opt into new versions by updating your direct dependencies.

3. ahkpm install now validates its arguments

A small change, but a big usability improvement. There is now a reasonable error message if you specify a dependency incorrectly at the command line.