Skip to content

Releases: Boris-de/mig

Mig 1.7.2

26 Jan 18:58
v1.7.2
2fb68c4
Compare
Choose a tag to compare

Version 1.7.2

Hello Users,

this is a maintenance-update for Mig only containing mainly a bugfix for
an endless loop in parsing the exif.inf files that was introduced in 1.7.0.

Please refer to the changelog below for all other changes and more details.

Happy updating... :-)
-Boris

Links

https://mig.wcht.de/
https://mig.wcht.de/downloads/

Changelog

Notable changes

Fixed endless loop when reading from an exif.inf file that starts
with an empty line. This bug was introduced in Version 1.7.0.
A special thanks to Roland Dieterich
for reporting and fixing this bug!

Other changes

Fixed warnings reported by psalm and phpstorm and replaced
outdated constructs.

Mig 1.7.1

17 Dec 10:20
v1.7.1
d7197a8
Compare
Choose a tag to compare

Version 1.7.1

Hello Users,

this is a maintenance-update for Mig only containing replacements for
method calls or syntax that is deprecated in the latest PHP versions.

Please refer to the changelog below for all other changes and more details.

Happy updating... :-)
-Boris

Links

https://mig.wcht.de/
https://mig.wcht.de/downloads/

Changelog

Notable changes

Updated syntax and method calls that are deprecated in PHP 8.2.

Other changes

Documentation is was converted from perl’s Plain Old Documentation
format files to markdown format. For this the documentation build now
needs either docker or a “pandoc” executable on $PATH.

Mig 1.7.0

06 Mar 14:38
v1.7.0
8114c05
Compare
Choose a tag to compare

Mig 1.7.0

this is (mainly) a maintenance-update for Mig containing some bug fixes and
changes under the hood. But additionally this release has two changes that
might require manual changes on your side - most likely it won't.

  • The default encoding changed from ASCII to UTF-8, see changelog for details
  • The previously bundled helper scripts (mig-contrib) are not part of the
    release anymore, instead you can find them in a separate git repo. [1]

Additionally there is a feature ($migOpenBasedir) that is disabled by default for
existing installations, but enabled in the example configuration and will become
enabled by default in a future release. I encourage you to enable this feature and
give feedback if you run into problems.

Please refer to the changelog below for all other changes and more details.

Happy updating... :-)
-Boris

Links

[1] https://github.com/Boris-de/mig-contrib

https://mig.wcht.de/
https://mig.wcht.de/downloads/

Changelog

Important notes

The default encoding in $httpContentType changed from "us-ascii" to
"UTF-8". As ASCII is a subset of UTF-8 this should not be a problem for
a default setup, but together with the introduction of the $migCharset
config option it can make a difference if you have used $httpContentType
to configure a charset that is neither ASCII nor UTF-8. If that's the
case you MUST set $migCharset according to your $httpContentType
setting. If not, it is still advised to double check those settings.

General note: This release adds some new features that may be disabled
by default, but are enabled in the default "config.php". Unless you
overwrite your "config.php" with every release nothing should change for
you, but if you do, please double-check the new options and set them
according to your needs.

Notable changes

Mig now has support for PHP's open_basedir configuration. It's off by
default, but enabled in the bundled "config.php". If you want to enable
this feature, check the $migOpenBasedir (and potentially
$migOpenBasedirExtraDirs) options in that file. This will be enabled by
default in a future release. I highly encourage you to enable this and
provide feedback if it does not work for you. Thanks :)

The encoding in the $httpContentType setting of the default "config.php"
changed from "us-ascii" to "UTF-8". See notes above.

There is a new option $migCharset to specify the charset/encoding that
should be used by Mig. The default for this setting is "UTF-8", see
notes above.

The contrib folder was moved to a separate repository and can now be
found at https://github.com/Boris-de/mig-contrib

The mkGallery.pl script was moved from the main bundle to the contrib
repo.

The unused buildRSS function was removed from the source code.

You can now use $albumRoot in the config to use a name different from
"albums" for the folder where your pictures are, the default will of
course still be "/albums".

Bugfixes

This release fixes a bug with folders and filenames that have special
characters which have their own entity in HTML. Previously those did not
work because the encoded foldername or filename was used to read the
data (thanks to Witold for the report)

In some conditions random thumbnails would be generated by the
$useRealRandThumbs method instead of the default "take the first item in
a folder"-algorithm. Now $useRealRandThumbs is taken into account in
these cases too.

Other changes

Fixed some E_NOTICEs and added psalm static code checks to the build
process.

Mig 1.6.0

11 Oct 15:34
v1.6.0
Compare
Choose a tag to compare

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.