Skip to content

Releases: TypesettingTools/DependencyControl

DependencyControl v0.6.4

08 Jan 03:45
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

You will also need the to download and install the proper Visual Studio 2017 CRT for your platform in case you're not using my Aegisub builds which will install the runtime automatically.

Changelog

Fixes

  • Ensured the log files will always have a base name
  • Messages will no longer be formatted when matching varargs are not supplied
  • Fixed file handler calls to work properly, enabling usage on Linux

DependencyControl v0.6.3

07 Oct 21:04
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

You will also need the to download and install the proper Visual Studio 2017 CRT for your platform in case you're not using my Aegisub builds which will install the runtime automatically.

Changelog

Fixes

  • Fixed a v0.6.2 regression that caused DependencyControl to fail loading the first time after a scheduled self-update.

DependencyControl v0.6.2

06 Feb 00:15
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

You will also need the to download and install the proper Visual Studio 2015 CRT for your platform in case you're not using my Aegisub builds which will install the runtime automatically.

Changelog

Fixes

  • An issue was fixed that would cause DepCtrl initializer code in modules previously loaded with regular Lua loading mechanisms to be skipped when requested in a DependencyControl- context. This kept the requireffi DependencyControl record from being established, preventing any updates from taking place. The new SubInspector v0.7.0 release requires a more recent requireffi version than the one shipped with DependencyControl and thus requires this fix for the update to take place.
  • UnitTestSuite: Fixed several broken assertions and related error messages, among them the assertMatches and assertErrorMatches assertions always returning true. Please make sure to rerun your tests after upgrading to confirm your tested actually return values whatever they were supposed to match.
  • Updater: Identical or duplicate feeds from different sources (user configuration, feeds and API use) are no longer being checked for updates multiple times.
  • Several broken error messages/reports were fixed in the Updater and FileOps components.

DependencyControl v0.6.1

27 Jan 00:52
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

You will also need the to download and install the proper Visual Studio 2015 CRT for your platform in case you're not using my Aegisub builds which will install the runtime automatically.

Changelog

Changes

  • The Updater component now supports the DownloadManager v0.4.0 API changes.

Fixes

  • Updater: A regression introduced in DependencyControl v0.6.0 was fixed that caused update or installation processes to fail when the feed contained deletion records (thanks @CoffeeFlux for the bug report)
  • FileOps.mkdir() no longer falsely returns an error state when a path to an existing file is passed with the isFile flag set.
  • Toolbox: Trying to uninstall an unmanaged script no longer results in an error unrelated to the intended error message.

DependencyControl v0.6.0

14 Jan 02:01
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

Changelog

Features

  • A new UnitTestSuite module has been added that provides both script developers and users with a framework to automatically test whether automation scripts and modules are working correctly. DependencyControl automatically loads and registers external unit tests for automation scripts and modules, provided they reside in the ?user/automation/tests/DepUnit/[modules|macros] directory. Comprehensive documentation for this feature is available in the source code for now. See here for an example of a test suite and here for an update feed that includes unit tests.
  • Macros can now be registered with custom submenu name.

Changes

  • All DependencyControl macros are now available under a common automation submenu.
  • The Logger:logEx() method now takes an additional optional indent parameter to specify a custom indentation level.
  • The FileOps.move() function no longer overwrite existing files by default.
  • The FileOps.mkdir() function can now take paths relative to the current working directory as input (thanks @torque) and returns true on success, false when the directory already exists or nil if the operation failed.
  • The FileOps.remove() function now returns detailed results for every path specified in addition to overall success information.

Fixes

  • The FileOps.move() function no longer fails to move files across file systems on *nix operating systems (thanks jabashque for reporting this one)and properly cleans up after itself if files could not be overwritten and were renamed instead.
  • FileOps path validation is no longer broken on non-windows systems (thanks @torque).

DependencyControl v0.5.3

01 Aug 00:23
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

The folder structure of these modules changed with the previous version. The following files can be safely deleted from your Aegisub user folder:

  • automation/include/DM/DownloadManager.dll
  • automation/include/DM/libDownloadManager.dylib
  • automation/include/BM/BadMutex.dll
  • automation/include/BM/libBadMutex.dylib
  • automation/include/PT/PreciseTimer.dll
  • automation/include/PT/libPreciseTimer.dylib

Fixes

  • ConfigHandler: A host of longstanding issues related to config file corruption and concurrent access to config files from multiple DepCtrl-hosting automation scripts have been fixed.
  • Error Reports of required modules loaded by DependencyControl now actually provide semi-useful stack traces.
  • A bug was fixed that could cause DependencyControl to rerun the __depCtrlInit method on modules even though a prior DependencyControl record had already been initialized.
  • The DependencyControl self-update now runs through properly without throwing an error at the end of the process.

DependencyControl v0.5.2

26 Jul 23:22
Compare
Choose a tag to compare
Pre-release

Notes

Aegisub builds for Windows with built-in DependencyControl support are available here. Using these builds is recommended not only because it takes care of the DependencyControl installation for you, but also because it contains the new Aegisub Lua modules required for DependencyControl and ASSFoundation to work correctly.

In case you want to install DependencyControl by yourself, please pick a binary release suitable for your platform from the Downloads section on this page and read the installation instructions before unpacking the archive in your user automation directory.

Binary releases are shipped with the following modules required for DependencyControl to work:

The folder structure of these modules changed with this version. The following files can be safely deleted from your Aegisub user folder:

  • automation/include/DM/DownloadManager.dll
  • automation/include/DM/libDownloadManager.dylib
  • automation/include/BM/BadMutex.dll
  • automation/include/BM/libBadMutex.dylib
  • automation/include/PT/PreciseTimer.dll
  • automation/include/PT/libPreciseTimer.dylib

Fixes

  • Updates and installations no longer fail when no suitable version of a module marked as an optional dependency can be found.
  • Fixed a bug that may have caused updates of unmanaged modules to throw an error after completion.
  • DependencyControl initialization functions in modules with optional DepCtrl support are now expected to use the predefined name __depCtrlInit. This lifts the unreasonable requirement of having to specify the name of the function in the dependency tables of the loading scripts. By extension, this also fixes errors when trying to update the binary modules required by DependencyControl (such as DownloadManager).

Changes

  • The Updater now checks for an active internet connection before going ahead with downloading feeds and packages.
  • FileOps: added a copy function for files.

DependencyControl v0.5.1

02 Jun 23:23
Compare
Choose a tag to compare
Pre-release

Fixes

  • Macros registered using DependencyControl now get passed the previously missing active_line paramter.
  • Fixed a bug that would cause an unrelated error to be thrown in place of the real error message when an updated module failed to load.

Notes

Binary releases are shipped with the following modules required for DependencyControl to work:

DependencyControl v0.5.0

02 May 20:53
Compare
Choose a tag to compare
Pre-release

Features / Improvements

  • DependencyControl does now auto-update itself and its dependencies.
  • Provided Sub-Modules (Logger, ConfigHandler, ...) can now easily be accessed as class properties of the main DependencyControl module.
  • The update feed format has been updated to v0.2.0 and introduces the template variable @{feed:name} to reference knownFeeds specified at the top level.
  • Toolbox:
    • The Install, Uninstall and Update dialogs now sort scripts by name.
    • In order to prevent accidents, DependencyControl and its requirements no longer appear in the uninstall menu.

Fixes

  • A bug was fixed that caused macros always being registered with the overall script description, ignoring specific descriptions for the macro menu entries.
  • The \getConfigHandler() method no longer ignores the defaults parameter.
  • FileOps: fixed a bug that would cause path validation to fail on paths relative to the working directory.
  • ConfigHandler:
    • Writes to the configuration table are no longer accidentally routed to the defaults table when a value is updated that only exists in the defaults.
    • Looping over the configuration table is now completely transparent wrt which fields are user configuration or defaults.
    • Fixed a bug that prevented a global lock on the config file from being released on certain error conditions.

Notes

  • While DependencyControl can update its requirements, it can't initally fetch them from the internet. In other words, compatible versions of the modules listed below still need to be already installed in order for DependencyControl to load. If you're getting binary releases from this page or are using my Aegisub builds, this has already been taken care of.
  • As always, big thanks to @torque for enabling DepCtrl to become our new Aegisub scripting overlord.

Binary releases are shipped with the following modules required for DependencyControl to work:

DependencyControl v0.4.0

18 Apr 23:40
Compare
Choose a tag to compare
Pre-release

Features / Improvements

  • API functions have been added/modified to support manual update, installation and removal of scripts. DependencyControl now ships with a macro that provides this functionality as well as configuration options to customize the behavior of DependencyControl.
  • The FileOps library now provides two functions for file deletion. rmdir for recursively deleting directories and remove for deleting files as well as directories with the option to reschedule failed deletions for the next Aegisub start / script reload.
  • The Updater can now also fetch/update scripts that are not managed by DependencyControl
  • Outdated modules can now be updated without the user having to reload scripts/restart Aegisub.
  • Several smaller additions and improvements have been made to the APIs to make using them more convenient.
  • Several log messages had their severity reduced to TRACE, so they won't clutter the Aegisub log window anymore (unless you adjust your log level settings accordingly).
  • Update feeds now use the DownloadManager eTag cache and no longer litter the user directory when dumping is enabled.
  • Update feeds can now specify any number of other 'known' feeds, which can be used to discover available scripts.

Fixes

  • Modules with circular dependencies (like Aegisub-Motion) can now be installed/updated without failing due to recursion issues.
  • Update task can no longer be started when they are already running.
  • Several issues related to config file corruption and the config file becoming out of sync with script data have been resolved.
  • Numerous other fixes (check the changelog for details).

Notes

It's recommended to remove your old Dependency Control configuration file from your Aegisub user directory (%appdata%\Aegisub\config\l0.DependencyControl.json on Windows) prior to installing this release.

Binary release are shipped with the following modules required for DependencyControl to work: