Skip to content

Mig 1.6.0

Compare
Choose a tag to compare
@Boris-de Boris-de released this 11 Oct 15:34
· 129 commits to develop since this release
v1.6.0

Mig 1.6.0

This is (mainly) a maintenance-update for Mig containing some bug fixes and changes under the hood. But additionally this release has two incompatible changes:

  • it will remove the integration into portals (phpnuke, etc.) that have been untested for about 15 years. Please see Changelog below for details.
  • it will also disable the insecure password feature. If you are using this feature at the moment Mig will abort requests for password protected pages and show an error instead. Please update to a secure authentication method and then disable the feature.

This release also fixes a problem with the upcoming PHP 8.0, so you will need either this release or patch manually to be able to run Mig with PHP 8.0.

Please refer to the Changelog below for all other changes.

And one last note: Since we switched to git at work some time ago, I decided to switch Mig from mercurial to git. The code can now be found on github, where at least the release tags should be signed by my GPG key.

Happy updating... :-)
-Boris

Links

https://mig.wcht.de/
https://mig.wcht.de/downloads/
Github: https://github.com/Boris-de/mig
Patch for PHP8: 2948b76

Changelog

Important changes

Support for passwords was removed. This feature was not secure, as it
was only working for PHP files, not for the actual image files - it was
always advertised as insecure. The implementation was changed to return
an error if password protection was used for a directory. This way the
access will just stop working instead of opening access completely after
an update. You could use Authentication from your webserver to replace
this feature.

Support for embedding into portals was removed. This feature hasn't been
tested in over 15 years, some of the portals seemed to discontinued. If
you are using mig in one of the portals that still get updated, please
let me know and we can try to work something out.

The old sources of jhead were removed from the distribution. If you want
to use jhead you can easily get a newer version of jhead in the
distribution of your choice or the latest sourcecode from
https://www.sentex.ca/~mwandel/jhead/

Bug-fixes

Fixed error in PHP 8 compatibility (due to removal of the
get_magic_quotes_gpc function)

Fixed errors in EXIF handling

Fixed edge-cases in buildNextPrevLinks()

Fixed "commentfileperimage" not working for normal images (it worked on
the "large" image page).

Other changes

Added lots of unit tests and fixed many warnings (undefined variables,
etc.). Not the most elaborate kind of tests, but they have good coverage
and make it really easy to test with different PHP versions and make
sure most features work. Given that there probably won't be many big
refactorings in Mig, it's not too bad to have them coupled this closely
;-)

Use docker/podman to run unit tests on all supported PHP versions (and
some older versions as well)

Use foreach instead of deprecated while (... each()) constructs

Get rid of relying on internal array pointers

Switched to git instead of mercurial. As we are now using git at work as
well there was no benefit in staying on the better SCM ;)

Code is now hosted on github (https://github.com/Boris-de/mig) to avoid
having to setup a self-hosted git. Github actions are used to run the
test with several PHP versions as well.