Skip to content

DepCtrl 0.7.0 TODOs #7

Open
Open
@line0

Description

@line0

With most of the under-the-hood changes finally done, it's time for a new DependencyControl release.
This ticket tracks the remaining work to be done for 0.7. Feel free to help with any of these tasks or propose additional items, but keep it limited to urgent fixes, improvements and things that would be difficult to add later.

Minimal scope

  • [Feature] SQLite database migration tools: allows incremental database schema upgrades both using .sql files and post-install hooks (see below)
  • [Feature] Package install hooks: let a package perform tasks after it has been installed or updated
  • [Feature] Package file tracking: keep a record of which files have been installed by a package, including hashes (required for proper uninstall support, see below)
  • [Improvement] Safer package uninstaller: current implementation deletes possibly unrelated or modified files, both of which may be undesired
  • [Lifecycle] API documentation updates: API should be fully documented using LDoc
  • [Lifecycle] Compatibility testing: test known scripts using DepCtrl for compatibility issues
  • [Platform] Include lsqlite3 builds: DepCtrl 0.7.0 requires LuaSQLite 3 so we need to provide the native libraries for Windows, OSX and Linux
  • [Feature] Enum class: DepCtrl now uses tables as stand-ins for enums in many places. Provide a class that adds some safety against typos and helper methods to get string representations of numerical values.
  • [Bug] Fix DM, PT binary file name in OSX release archive (see Error installing DependencyControl scripts #8)

Optional

  • [Feature] Custom Menu configuration: The feature needs to be upgraded with a DepCtrl Toolbox GUI and per-macro configuration.
  • [Improvement] Load time optimizations: With the new SQLite backends reloading automation scripts takes some 15-odd seconds with about 70 installed packages. There are still some tweaks and improvements to reduce database contention and speed it up another few seconds

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions