Larkinabout / fvtt-token-action-hud-core

Token Action HUD is a repositionable HUD of actions for a selected token.
13 stars 18 forks source link

[FEATURE] Remove the "requiredCoreModuleVersion` check #51

Closed farling42 closed 1 year ago

farling42 commented 1 year ago

At least one player has updated the CORE version to 1.2.0 and says that my module fails with a warning.

I think this is going to happen on a regular basis concerning the future of your Core module.

If module developers don't immediately update their json code then this warning will be displayed for a long time on those game systems - and they won't be able to use the HUD at all.

Is there some level of major/minor version where you can ensure compatibility?

e.g. Does 1.2 have a different API from 1.1 which makes the two versions incompatible?

Larkinabout commented 1 year ago

Minor and major versions of core will almost always include breaking changes for TAH system modules. Patches won't. You can put a compatibility marker in your manifest file, but it won't stop users updating TAH Core directly anyway. Ideally, you 'd only be able to update TAH Core indirectly as a dependency requirement for the TAH system module, but that's not possible.

The same issue resides for any module that has dependencies. For example, if you updated to the latest D&D 5e minor version recently, it broke a number of modules.

I've included messages in the release notes, but that relies on users actually reading them before they update. In the end, like with other module dependencies, it'll really need to come from users educating themselves and learning to avoid updating until they know all their modules support it.

Larkinabout commented 1 year ago

FYI, the required core module version and resulting warning message is there specifically for this purpose. I can expand on the message to tell the user to downgrade back to the required version.

Larkinabout commented 1 year ago

I put the breaking change in the Token Action HUD Core 1.2.0 release notes, but I've also created a wiki page to list all breaking changes for system module developers: Core Changes for System Module Developers.

farling42 commented 1 year ago

I've included messages in the release notes, but that relies on users actually reading them before they update. In the end, like with other module dependencies, it'll really need to come from users educating themselves and learning to avoid updating until they know all their modules support it.

Unfortunately, Foundry doesn't help with knowing which modules are out-of-date so that the update notes can be checked BEFORE installing them. But that isn't an issue for you to worry about.

Larkinabout commented 1 year ago

Foundryvtt/foundryvtt/issues/8884

Larkinabout commented 1 year ago

Updated the message when a user installs a version of TAH Core that is not supported by the TAH system module:

The installed Token Action HUD system module requires Token Action HUD Core module version ---. Install the required version to continue using Token Action HUD.