Skip to content

Commit

Permalink
7.1.0 (#418)
Browse files Browse the repository at this point in the history
* updated docs
* config, logging, adds support for NO_COLOR envvar
* search, filtering by host alone no longer samples requests.
* search, adds ability to toggle sampling
* search, 'tag' buttons are now centered vertically
* jfx, adds tooltip to sampling button
* constants, adds tooltip for Dragonflight 10.1 and 10.2
* adds a summary testing report.
  so I don't have to wade through test output looking for failures.
* cli, fixes bump-search and a growing blank string.
* core-test, updates a test that shouldn't have been passing.
* testing, NO_COLOR is always disabled during testing.
* README, added last-updated timestamp to comrades.csv link
* cli, adds a 'print-config' action that prints some selected config and exits.
* core, cli, gui, downgrades some 'info' level messages to 'debug'.
  this reduces noise when running 'print-config'.
* main, adds a 'noui' switch to skip the cli/gui 'start' functions.
  these ui functions are intended for longer, interactive, sessions and not one-shots like 'print-config'.
  there is precedence for this in the tests when ':ui' is set to 'nil'
* gui, 'raw data' widget now has 'keyvals', 'json' and 'plain text' output modes.
* jfx, fixes bug with localised interface version in raw data
* new preference 'check-for-update' (#417)
* config, adds new preference 'check-for-update'
* cli, adds new flag '--update-check' and it's complement '--no-update-check'
* CHANGELOG, added missing dates
* CHANGELOG, added missing section for one release, removed dangling sections for some others
* CHANGELOG, removed hyperlinks from the first line of any change.
  these are the lines that make it into the metainfo.xml file that Flathub uses and they don't like hyperlinks ...
* README, CHANGELOG and TODO updated
  • Loading branch information
torkus authored Nov 26, 2023
1 parent efacfab commit 7825fb4
Show file tree
Hide file tree
Showing 22 changed files with 918 additions and 543 deletions.
70 changes: 54 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,41 @@ All notable changes to this project will be documented in this file. This change
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 7.1.0 - 2023-11-26

### Added

* added checkbox to bottom of search tab that will toggle search results sampling when search results are unfiltered.
- this lets you browse a catalogue page by page.
* added patch tooltips for Dragonflight 10.1 and 10.2
* added support for the `NO_COLOR` environment variable.
- it turns off coloured output in the console if that is where you launched strongbox from.
* added new command line action `print-config` that prints the final config and exits.
- usage: `./strongbox --action print-config`
* added new information captured from the environment when using `--debug` or `--action print-config`.
- `state.paths.config-dir`, path to where Strongbox is storing the application *config*.
- `state.paths.data-dir`, path to where Strongbox is storing the application *data*.
- `flatpak-id`, looks like `la.ogri.strongbox` when running within a Flatpak.
* added plain-text and JSON views of the raw addon data to the 'raw data' widget on the addon detail tab.
- it's pretty basic but JavaFX really resists being able to select text within it's widgets.
* added new preference 'check for update' that toggles checking for an update to Strongbox on startup (default is `true`).
* added new command line flag `--update-check` and it's complement `--no-update-check` that toggles update checks.
* added Flatpak distribution hosted by Flathub
- see: https://flathub.org/en-GB/apps/la.ogri.strongbox

### Changed

* bumped JavaFX dependencies from 17.x to 19.x.
* removed the fixed widths on the 'updated' and 'downloads' columns in the search pane.
- attempting to control column widths in a JavaFX table is futile.
* some `info` level logging has been dropped to `debug` to reduce console noise.

### Fixed

* tag buttons in search pane are now centred vertically.
* selecting hosts in search pane no longer samples results.
* 'interface version' was being treated as an integer and being localised in the raw data widget.

## 7.0.0 - 2023-06-11

### Added
Expand Down Expand Up @@ -78,6 +113,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## 6.1.2 - 2023-05-16

### Fixed

* issue #402, fixed a freezing bug in the search results, introduced in 5.1.0 (2022-03-02).
- if the 'full' catalogue were selected, searching and selecting a result would freeze the GUI.
- it may possibly have disabled mouse events as well, depending on your window manager.
Expand Down Expand Up @@ -296,7 +333,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed

* replaced 'View -> Columns -> Reset to defaults' with the 'default' column preset.
* github catalogue tweaks to support latest version of https://github.com/layday/github-wow-addon-catalogue
* github catalogue tweaks to support latest version of layday's `github-wow-addon-catalogue`.
- see: https://github.com/layday/github-wow-addon-catalogue
* column preferences in the config file are now upgraded to the new default column set.
- any customised column preferences are preserved.
* minor, errors/warning/info messages that appeared across multiple messages are now just one message.
Expand Down Expand Up @@ -489,7 +527,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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
## 4.4.1 - 2021-08-19

### Changed

Expand All @@ -501,7 +539,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* fixed bug preventing installation of addons from the search pane.
* sorting by 'downloads' in search now works as expected.

## 4.4.0
## 4.4.0 - 2021-08-17

### Added

Expand All @@ -526,7 +564,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* 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
## 4.3.0 - 2021-07-01

### Added

Expand Down Expand Up @@ -554,7 +592,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* 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
## 4.2.0 - 2021-06-02

### Added

Expand Down Expand Up @@ -602,7 +640,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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
## 4.1.0 - 2021-05-09

### Added

Expand All @@ -629,7 +667,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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
## 4.0.0 - 2021-04-16

### Added

Expand Down Expand Up @@ -708,8 +746,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- the gui wasn't positioning it's components as well as it could once vertical resolution exceeded 768px
- thanks to @DarkVirtue for raising the issue

### Removed

## 3.2.1 - 2021-01-31

### Fixed
Expand Down Expand Up @@ -854,14 +890,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* another type of code linting, provided by [Joker](https://joker-lang.org/)
* another type of code linting, provided by Joker.
- see: https://joker-lang.org/
* a `--debug` flag that will run strongbox with lots of output and write a log file.
- the name of the log file is shown after the application has exited
* ticket templates with instructions on using the new `--debug` flag

### Changed

* 'wowman' was renamed 'strongbox' in [the list](https://ogri-la.github.io/wow-addon-managers/)
* 'wowman' was renamed 'strongbox' in The List
- see: https://ogri-la.github.io/wow-addon-managers/
* split 'tukui' into 'tukui' and 'tukui-classic' in the 'source' column
- this should make it clearer which game track a tukui addon can be installed to
* the number of addons displayed in the search results is now tuned according to number of addons in catalogue
Expand Down Expand Up @@ -943,8 +981,6 @@ This has been a large clean up and code analyis/refactor exercise.

* fixes an exception that is raised by clicking a link when Java cannot detect your 'desktop' or a means to open URLs

### Removed

## 0.12.3 - 2020-02-23

### Fixed
Expand All @@ -954,6 +990,8 @@ This has been a large clean up and code analyis/refactor exercise.

## 0.12.2 - 2020-02-08

### Fixed

* release 0.12.1 was badly formed and missing the commit with the actual fix.

## 0.12.1 - 2020-02-06
Expand Down Expand Up @@ -1221,13 +1259,13 @@ curseforge if an addon appears in multiple sources.
* Paths to cache and configuration directories fixed up during testing so tests run in a more isolated environment
* Fake HTTP responses added to tests so curseforge.json/catalog.json is not downloaded while testing

### Removed

## 0.6.0 - 2019-05-08

### Added

* Arch Linux [PKGBUILD](https://github.com/ogri-la/wowman-pkgbuild) ([AUR](https://aur.archlinux.org/packages/wowman/))
* Arch Linux PKGBUILD (AUR)
- see: https://github.com/ogri-la/wowman-pkgbuild
- see: https://aur.archlinux.org/packages/wowman/
* total number of downloads is now captured in the catalog and is available in the gui; visible in the search tab
* a 'spec' section to the catalog with a 'version' of '1'. I expect it to change soon and want to support older versions
* more aliases for the top 50 most installed addons. This will help with automatic matching and re-installion of addons
Expand Down
84 changes: 51 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# strongbox, a World of Warcraft addon manager
# Strongbox, a World of Warcraft addon manager

`strongbox` is an **open source**, **[advertisement free](#recognition)** and **[privacy respecting](#privacy)** addon
Strongbox is an **open source**, **[advertisement free](#recognition)** and **[privacy respecting](#privacy)** addon
manager for World of Warcraft.

It runs on Linux and macOS.
Expand All @@ -9,7 +9,7 @@ It supports addons hosted by ~Curseforge,~ wowinterface.com, ~Tukui~, Github and

---

***Notice***: tukui.org no longer hosts addons except `elvui` and `tukui` as of **2023-06-01**.
***Notice***: [tukui.org](https://tukui.org) no longer hosts addons except `elvui` and `tukui` as of **2023-06-01**.

Unfortunately the location of these two addons has changed as well as details around their access.

Expand Down Expand Up @@ -40,27 +40,43 @@ I also maintain a list of [other addon managers](https://ogri-la.github.io/wow-a

## Installation

Arch Linux users can install `strongbox` from the [AUR](https://aur.archlinux.org/packages/strongbox/) ([mirror](https://github.com/ogri-la/strongbox-pkgbuild/)).
### AppImage

For other Linux users:
Strongbox is available as a standalone [AppImage](https://appimage.org) binary from the [releases](https://github.com/ogri-la/strongbox/releases/) page.

1. download: [./releases/strongbox](https://github.com/ogri-la/strongbox/releases/download/7.0.0/strongbox)
2. make executable: `chmod +x strongbox`
3. run: `./strongbox`
chmod +x strongbox
./strongbox

If you're on macOS or having a problem with the binary or just prefer Java `.jar` files (requires Java 11+):
### Arch Linux and the AUR

1. download: [./releases/strongbox-7.0.0-standalone.jar](https://github.com/ogri-la/strongbox/releases/download/7.0.0/strongbox-7.0.0-standalone.jar)
2. run: `java -jar strongbox-7.0.0-standalone.jar`
Arch Linux users can install Strongbox from the [AUR](https://aur.archlinux.org/packages/strongbox/) ([mirror](https://github.com/ogri-la/strongbox-pkgbuild/)).

### Flatpak and Flathub

Flatpak users can install Strongbox from [Flathub](https://flathub.org/en-GB/apps/la.ogri.strongbox).

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --user install la.ogri.strongbox

*Caveats* when using Flatpaks:

* Strongbox application config and data lives at `~/.var/app/la.ogri.strongbox` on the host and not `~/.local/share` or `~/.config`.
* [Possible font problems](https://github.com/flatpak/flatpak/issues/4122) around using incorrect fonts and aliasing.

### Java

Java users can run Strongbox using the `.jar` from the [releases](https://github.com/ogri-la/strongbox/releases/) page.

java -jar strongbox-x.x.x-standalone.jar

## Usage

`strongbox` works by matching your installed addons to a list of addons available online.
Strongbox works by matching installed addons to a catalogue of addons available online.

Some addons match directly to those online but others require you to manually search and re-install them before that
match can be made.
Some addons are matched directly to the catalogue but others may require you to search the catalogue and re-install them
before that match can be made.

Some addons bundle other addons that *do not appear* in the online list. You will need to re-install the 'parent' addon
Some addons bundle other addons that *do not appear* in the catalogue. You will need to re-install the 'parent' addon
that bundled those addons.

First time usage:
Expand Down Expand Up @@ -99,21 +115,21 @@ Afterwards, use the `Update all` button to update all addons with new versions a
Under no circumstances whatsoever does this software:

* deal with advertising or advertisers
* collect, monitor or report upon your usage of `strongbox` or your data
* collect, monitor or report upon your usage of Strongbox or your data
* solicit, beg or manipulate for donations
* attempt to monitise you, the user, in any way

This software also tries very hard to not cause a bother - for you *or* the addon host.

I benefit so much from the hard work of those who write free and open source software, including addon developers,
that it's my privilege to offer this small piece back.
I benefit so much from the hard work of those who write [Free](https://www.fsf.org) and [Open Source](https://opensource.org) software,
including addon developers, that it's my privilege to offer this small piece back.

### Special thanks to:

* [bug reporters, complimenters and those with constructive feedback](https://github.com/ogri-la/strongbox/issues)
* [bug reporters, feature requesters and those with constructive feedback](https://github.com/ogri-la/strongbox/issues)
- if you guys hadn't reported it, I wouldn't have known to fix it.
* [layday](https://github.com/layday) of [instawow](https://github.com/layday/instawow)
* [vlaaad](https://github.com/vlaaad) of [cljfx](https://github.com/cljfx/cljfx) and his patience
* [vlaaad](https://github.com/vlaaad) of [cljfx](https://github.com/cljfx/cljfx)

## Privacy

Expand All @@ -122,21 +138,21 @@ This software interacts with the following remote hosts:
* [wowinterface.com](https://wowinterface.com)
* [api.github.com](https://developer.github.com/v3/repos/releases)
- to download repository and release data for addons hosted on Github
- to download the latest `strongbox` release information
- to download the latest Strongbox release information
* [gitlab.com](https://gitlab.com)
* [github.com/ogri-la/strongbox-catalogue](https://github.com/ogri-la/strongbox-catalogue), to download addon catalogues

These hosts *may* redirect requests to other hosts.

These interactions use a HTTP user agent header unique to `strongbox` so that it may be identified easily:
These interactions use a HTTP user agent header unique to Strongbox so that it may be identified easily:

"strongbox/6.x (https://github.com/ogri-la/strongbox)"
"strongbox/x.x (https://github.com/ogri-la/strongbox)"

Running strongbox with `--debug` will generate a file called `debug.log` that I may ask you to upload if you report a
bug. *Some* of the details it contains are:
Running Strongbox with `--debug` will generate a file called `debug.log` that I may ask you to upload if you report a bug.
*Some* of the details it contains are:

* addons detected in the currently selected addon directory
* paths to strongbox configuration and data:
* paths to Strongbox configuration and data:
- `/home/torkus/.local/share/strongbox`
- `/home/torkus/.config/strongbox`
* details about your OS and the version of Java in use:
Expand Down Expand Up @@ -209,7 +225,7 @@ catalogue has approximately 2.8k addons.
The 'full' catalogue contains all addons from all supported hosts, ever, and is approximately 7.2k addons large. It
contains many unmaintained addons.

There are also per-host catalogues, like a 'wowinterface' catalogue, and strongbox supports selecting between all of them.
There are also per-host catalogues, like a 'wowinterface' catalogue, and Strongbox supports selecting between all of them.

Catalogues are updated weekly. New addons released during the week will not be present until the next week. Addons can
be installed using its URL in these cases.
Expand Down Expand Up @@ -288,7 +304,7 @@ It is up to the user to decide if this is OK or not.

### ignore addons to prevent accidental changes

When an addon is ignored strongbox will not attempt to find that addon in the catalogue, look for or download updates or
When an addon is ignored Strongbox will not attempt to find that addon in the catalogue, look for or download updates or
even allow the installation of other addons that may alter the ignored addon or any of its files.

Right-click an addon and select `Ignore` or `Stop ignoring`.
Expand All @@ -297,12 +313,12 @@ Addons under development are automatically ('implicitly') ignored.

### mutual dependency tracking

A 'mutual dependency' in strongbox is when 'Addon A' installs an addon called 'Addon Z' and 'Addon B' *also* installs
A 'mutual dependency' in Strongbox is when 'Addon A' installs an addon called 'Addon Z' and 'Addon B' *also* installs
'Addon Z'.

Both 'Addon A' and 'Addon B' depend on 'Addon Z' and if 'Addon A' were uninstalled it would (probably) break 'Addon B'.

In this scenario strongbox allows 'Addon B' to overwrite 'Addon Z' but keeps track of the fact that 'Addon A' is also
In this scenario Strongbox allows 'Addon B' to overwrite 'Addon Z' but keeps track of the fact that 'Addon A' is also
using it. When either 'Addon A' or 'Addon B' are uninstalled, 'Addon Z' is preserved.

The state of 'Addon Z' isn't guaranteed however.
Expand Down Expand Up @@ -389,12 +405,14 @@ All bugs/questions/requests/feedback should go in [Github Issues](https://github

I prefer to **not** receive *code* contributions. See [CONTRIBUTING](CONTRIBUTING.md) for more detail.

Prior to `1.0.0`, `strongbox` was known as `wowman`. The [AUR package](https://aur.archlinux.org/packages/wowman) for
`wowman` is obsolete.
Prior to `1.0.0`, Strongbox was known as "wowman". The [AUR package](https://aur.archlinux.org/packages/wowman) for
"wowman" is obsolete.

## Other addon managers

**Moved here: https://ogri-la.github.io/wow-addon-managers/**
Moved here: **https://ogri-la.github.io/wow-addon-managers/**

Last updated: **2023-08-13**

[Request a change](https://github.com/ogri-la/strongbox-comrades/issues).

Expand Down
Loading

0 comments on commit 7825fb4

Please sign in to comment.