View Single Post
06/28/19, 02:05 PM   #9
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by sirinsidiator View Post
There are many reasons for it:
  • The game offers a new system for loading libraries that ensures that only the newest version of the library code is run. In the past an arbitrary number of old versions of the code embedded in each addon had to be executed before the newest one was found, increasing loading time and opening the way for bugs that are impossible to fix without having to replace all older versions of the libraries in each installed addon.
  • The new library system allows libraries to access all features regular addons can use, like saved variables, XML UI controls, dependencies, multiple source files, etc.
  • It takes less disk space and also slightly improves loading time, since the game doesn't have to check multiple copies of a library.
  • Less "hidden features". Users can see which libraries an addon is using
  • Abandoned addons will receive updates to the libraries they use, potentially making them live longer.
  • Minion cannot update libraries contained within other addons, so installing them separately will ensure that they stay up to date
  • Minion4 will be able to install dependencies automatically
  • Authors spend less time updating bundled libs and as a result have more time for implementing new features and fixing bugs

And not many reasons against it:
  • Users have to install dependencies "manually" a single time, until Minion4 is released
Good points, however not addressing the question in the title. The option to not include libs in add-ons was there since 2014. Embedded libraries became the norm probably because the drawbacks of embedding were deemed not bad enough to require separate installation of libraries, which would be less convenient for users.

Originally Posted by Arato
"Why don't addons include dependant libs anymore?"
Because some authors decided to change their packaging method without utilizing the new AddOnVersion capability of ESO client.

AddOnVersion enables packaging libraries together with an add-on, without embedding them in the add-on manifest (which was clumsy, inefficient and error-prone). If another add-on packages a newer library version, or a newer library version is installed separately, older versions are not loaded. What baffles me is that this new feature prompted some add-ons to change their packaging while ignoring the feature. Instead of switching to the newly enabled packaging method (including libs with their own manifests), they switched from user-friendly method of 2014 (embedded libs) to user-unfriendly method of 2014 (separately installed libs), completely missing the point of AddOnVersion.
  Reply With Quote