Skip to content

Releases: ogri-la/strongbox

4.7.0

31 Oct 05:27
32b6656
Compare
Choose a tag to compare

Added

  • expanding rows for grouped addons.
    • clicking the arrow at the far left of the screen will 'expand' the addon and display the set of grouped addons.
    • these addons were bundled together with the addon that was installed but are otherwise hidden behind the 'primary' addon.
      • the 'primary' addon is just a best-guess at which the main addon of the group is.
    • actions like 'ignore', 'pin', 'uninstall' etc can't be performed against these grouped addons.
  • columns in the GUI can now be toggled on and off and reset back to their defaults.
    • these preferences are preserved between application restarts.
  • new columns 'source-id', 'tags', a combined 'version' column, 'browse local files' and friendly 'created' and 'updated' columns.
  • handling for hosts that are refusing connections rather than accepting connections but then timing out.
    • happened with Tukui the other day.
  • most http requests now make two more attempts to download html/json before giving up.
    • curseforge is a bit flaky when making bursts of requests in parallel and we're hitting the 5sec timeout more often.

Changed

  • status button now has 'ignored' (empty circle) and 'pinned' (filled circle) icons instead of nothing and a tick respectively.
  • connection timeouts are now reduced from 8sec to 5sec.
  • minor, File -> Export Github addon list renamed File -> Export the user-catalogue.

Fixed

  • ignored addons had an incorrect 'updated' date.
    • previously only visible on the addon detail page, a dummy 'polyfilled' date of 2001-01-01 was being used.
  • context menu not refreshed after performing an action and then immediately right clicking the addon again.
    • for example, ignoring an addon and then right clicking you would see the 'ignore' option still available.
  • connection timeout handling (introduced 4.3.0) has never worked outside of test conditions.
    • it's because certain configuration is ignored if the more advanced RequestConfig is present.

Removed

  • the inability to resize certain columns. All columns can be resized now, although some still have maximum widths.

4.6.0

01 Oct 15:13
b0bce16
Compare
Choose a tag to compare

Added

  • a --version parameter that prints the name of the app and it's current version.
  • an 'emergency' catalogue that strongbox can use if the remote catalogue is not available.
    • it's a bz2 compressed full-catalogue.json that was available at build time.
    • the trade-offs are it's older, makes strongbox binary a little larger and switching catalogues a little slower.

Changed

  • bumped dependencies
    • slight increase in performance loading JSON with a newer version of the data.json library.
  • searching for addons is now much much faster.
    • matching search input against an addon has been improved by two orders of magnitude.
  • searching now searches within the addon name rather than from the beginning of the name.
  • catalogue is no longer validated when reading the catalogue JSON file.
    • it was the major cause of slow catalogue loads, switches between catalogues and (probably) overly cautious.
    • a well-formed but invalid catalogue would cause a freeze printing the validation error to the console.
  • addon maps no longer have their keys ordered on reading.
    • a minor cause of slow catalogue loading/switching and only necessary when creating catalogues.
  • gui, context menu options disabled when no addons selected.

Fixed

  • case where selected addons persist across addon directory changes.
  • warning on startup about cat already refering to clojure.core/cat.
  • case where a wowinterface addon pending approval couldn't be downloaded because of a missing query parameter.
  • regression where a bad addon downloaded in parallel would still be passed to the 'install addon' operation.
  • typo causing a failure to properly validate the 'created-date' in the catalogue.
    • this affected both reading and writing catalogues however catalogues are no longer validated on read.
  • attempting to check an addon from an unknown host would cause an unhelpful error.
  • attempting to install an addon with an unknown game track would cause an error.
  • installing an addon in certain circumstances assumed a successful check for updates had been made.

Removed

  • the --profile command line option and the scaffolding around integrating it with the tests and test coverage.

4.5.0

05 Sep 07:11
b9baa56
Compare
Choose a tag to compare

Added

  • better error handling when no network connection is available.
  • a warning when the update available is from a different addon host.
    • for example, an addon is removed from curseforge and now receives updates on wowinterface exclusively.

Changed

  • addons that fail to match against the catalogue but have matched against a catalogue previously can now be updated.
    • for example, addons in these cases are now updateable:
      • an addon doesn't get updates any more but still works and is eventually removed from the 'short' catalogue.
      • you decide to go curseforge-only and have that one addon from wowinterface you can't live without (or vice-versa)

4.4.1

19 Aug 13:35
7802695
Compare
Choose a tag to compare

Changed

  • status bar catalogue count is now localised.
  • the 404 error displayed from Curseforge is now more helpful than simply 'not found'.

Fixed

  • fixed bug preventing installation of addons from the search pane.
  • sorting by 'downloads' in search now works as expected.

4.4.0

17 Aug 02:39
534b129
Compare
Choose a tag to compare

Added

  • the operations 'check for update' and 'download addon' now run in parallel.
    • operations run n at a time, where n is the number of cores your machine has.
    • the 'install addon' operation still happens serially to preserve mutual dependency checking.
  • a progress bar that (temporarily) replaces the status button when parallel operations are happening.

Changed

  • installing a specific addon version no longer blocks the GUI while the addon is downloaded and installed.
  • cache duration of textual files is now 1hr rather than 24hrs.
    • a 'hard refresh' to clear the cache and re-fetch addon details is still possible using alt-F5.
    • zip files are still stored indefinitely until manually cleared or the 'Remove addon zip after installation' preference is set.

Fixed

  • fetching strongbox release data while over (GitHub) quota no longer results in an infinite log loop.

Removed

  • row background colour for 'unsteady' addons (updating/downloading/being modified) has been removed.
    • it's too frenetic when multiple addons are doing things in parallel.

4.3.0

01 Jul 13:08
8f6e4d5
Compare
Choose a tag to compare

Added

  • addons from Curseforge, wowinterface.com, Tukui and Github can now be imported from URLs rather than the catalogue.
    • File -> Import addon
    • imported addons are added to the 'user-catalogue' and available for installation regardless of selected catalogue.
      • the user-catalogue lives here: ~/.config/strongbox/user-catalogue
  • Github authentication using Github Personal Access Tokens
    • if the environment variable GITHUB_TOKEN is present, it is used to authenticate with Github for API calls.
    • remaining number of API calls available can be seen in the strongbox log tab.

Changed

  • Import addon from Github from the File menu has been renamed Import addon and is now the first entry.
  • Catalogue -> Refresh user catalogue will now refresh addons in the user-catalogue from all addon hosts.
    • for non-Github addons, updated addon data is pulled from the currently selected catalogue.
  • HTTP requests now have an 8s timeout.
    • if it takes longer than 8s to make a connection or receive data, then the request is cancelled and an error logged.
  • search, very minor, but trailing whitespace in a search term is now ignored.

Fixed

  • HTTP "User-Agent" is now set correctly.
    • I don't think it's ever been working correctly. Total failure.
  • search results are now updated when the catalogue is switched and the search term, if any, is re-searched for.
  • Curseforge API has capped the number of results per-request to a max of 50

4.2.0

02 Jun 13:49
5eeb836
Compare
Choose a tag to compare

Added

  • 'report' level log messages.
    • used to break up and give context to repetitive blocks of log messages.
    • just 'refresh' for now, logged whenever the list of addons are re-read.
  • warnings and errors generated while installing an addon are now captured and displayed in a dialog box.
    • partially addresses points raised in #231
  • a warning when 'strict' is unticked and an update is available for a mismatched game track.
    • for example, a 'classic' release is available for an addon but the addon directory is set to 'retail'.
  • an 'install' button on the search pane to install addons individually.
    • ... which is probably what most of us want most of the time.
  • a 'split' button that brings up the notice logger at the highest current log level.
    • I missed the old split pane layout and decided the "(warnings)" suffix in the log tab title wasn't good enough
    • it's yellow with warnings, red when errors.
    • split doesn't persist between app restarts. If you want to see this let me know.
  • another variation of the burning crusade abbreviation 'bcc' for the github game track guesser to look for.
    • it seems to be gaining traction thanks to BigWigs packager but was non-existant a month or so ago.

Changed

  • GUI now disables some actions when no addon directory is selected.
  • the game track (retail, classic, classic-tbc) + version (1.2.3) is now used to determine if an addon is updateable.
  • 'report' level log messages now appear in an addon's notice logger.
    • used to break up and give context to repetitive blocks of log messages.
  • tweaks to error/information dialog panes so messages are easier to read.
    • asterisks * and hyphen - for list bullets have been replaced with a round black dot
  • the 'downloads' column on the search tab are now formatted according to your locale.
    • for me, this means long numbers are now comma separated.
  • the 'updated' column on the search tab is now centred.
  • the 'installed' and 'available' columns are now right aligned with ellipses appearing on the left when truncated.
    • I'm 50/50 on this, let me know if you feel strongly one way or the other.
  • an addon's status (green tick, yellow line, red cross, etc) is limited to just events since the last refresh.
  • 'install' buttons in the search and addon detail panes are slightly less Weird looking.

Fixed

  • a bug where refreshing the 'user' catalogue would throw an error if a repository no longer existed.
  • a case where hitting 'update all' many times quickly could cause unexpected behaviour and errors.
    • it will now issue a warning that addons are being updated.

Removed

  • github addons will no longer have a -classic or -classic-tbc suffix.
    • this was added to differentiate two releases using the same name and version but different game tracks.
    • strongbox will mark affected addons as being updateable because the versions no longer match. The same version will be re-installed.

4.1.0

09 May 13:28
fad0cc0
Compare
Choose a tag to compare

Added

  • a 'welcome' screen for instances of strongbox with no addon directories selected.
  • added Classic (TBC) to selectable game tracks and the Strict checkbox to toggle between strictness
  • support for Classic (TBC) for wowinterface, curseforge, tukui and github.
  • github api now considers the name of the release when attempting to detect the game track of an asset.
    • priority is now: asset name, release name and then any game tracks detected in .toc file

Changed

  • replaced the 'any, prefer retail' and 'any, prefer classic' in the game track list with a 'strict' checkbox.
    • 'any, prefer retail' is now just 'retail' and 'not strict'
    • 'any, prefer classic' is now just 'classic' and 'not strict'
    • see README for priorities
  • the follow widgets and features are now disabled if no addon directory is selected (more to follow):
    • the search tab
    • the game track drop down
    • the addon directory drop down

Fixed

  • a bug in wowinterface catalogue generation.
    • wowinterface.com changed a label from "Classic" to several other things and it broke classic support detection.
    • I don't know how long this has been happening for.

4.0.0

16 Apr 11:30
9b3dce6
Compare
Choose a tag to compare

Added

  • an addon detail tab accessible by double clicking on either an installed addon or a search result.
    • addon detail tabs can be closed.
    • shortcut ctrl-w also closes an open tab except the installed, search and log tabs.
    • has a new option browse local files if addon is installed locally.
    • has its own menu of buttons to install/re-install, update, remove, pin and ignore.
    • a 'raw data' widget with the fields used within the application.
    • a 'releases' widget that lists all available releases with an install button.
    • ' a 'grouped addons' widget that displays the other addons that came with this addon and a file browser link.
    • a logging widget with per-addon logging and adjustable severity level.
  • dedicated log tab.
    • will display (warnings) or (errors) if any warnings or errors present in log.
  • View menu has a menu option for open addon detail tabs with an additional close all button.
  • a column on the installed tab that shows the status of an addon.
    • a happy green tick if everything is ok.
    • an unhappy red cross if the addon has errors.
    • a stern yellow bar if the addon has warnings.
    • an arrow if an update is available.
    • single-clicking (rather than double-clicking) in this column takes you to the addon detail pane.

Changed

  • console logging is now colour coded.
  • console log line now excludes a number of fields including the machine's 'hostname'.
  • many error messages have been truncated or made less verbose now they have that context built-in.
  • switched from Travis CI to Circle CI.
    • I can't package an AppImage from Circle CI however, so this is happening manually for now.
  • search pane, styling of the 'already installed' addons now shares the same styling as ignored addons.

Fixed

  • looks like the the gap between the File menu labels and their submenus is now gone with an update to JavaFX 15.
    • this only affected some window managers (like mine).
  • truncated 'source' column in the search results when in dark mode.
  • fixed missing strongbox.version value from debug output when run as a binary.

Removed

  • original Swing GUI
  • the split window with the tab pane in one half and the notice logger in the other.

3.3.1

03 Apr 05:29
45e2c9b
Compare
Choose a tag to compare

Fixed

  • added a fix for addons supporting Classic (BC) appearing in the retail game track.
    • affects only curseforge addons
  • removed debug statement left in the 3.3.0 release