Dec 15 2017: Version control migrated to Git:



The sources were moved to a Git repository on SourceForge. There is also a mirror at Github. June 20 2017: libmikmod-3.3.11.1 and libmikmod-3.1.21.1 are released:



These are tiny patch releases for the libmikmod3 and libmikmod2 series, which fix Imago Orpheus channel status validation in previous versions.



Download current libmikmod3 from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11.1/



Download libmikmod2 from here: (if you still not upgraded to libmikmod3 for whatever reason)

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.21.1/



June 14 2017: libmikmod-3.3.11 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is highly recommended.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11/



Here is the short ChangeLog: - Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF, GDM and MED module loaders. - Fixed a possible endless loop in the IT loader with malformed files. - Fixed signed integer overflow leading to crashes in the sample loader. - Fixed a possible crash in MMCMP depacker with malformed files. - Fixed the broken fixed-line comment reader which might possibly lead to crashes, and also badly translated several song messages. The new code is adapted from libopenmpt. - Support for building the Windows version using Open Watcom compiler. - A few minor OS/2 fixes. - CMake updates. - Other minor fixes/tidy-ups. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Johannes Schultz (sagamusix), for allowing us to use a piece of code from libopenmpt.

June 14 2017: MikMod player v3.2.8 is released:



This is a maintenance release.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.8/



Here is the ChangeLog: - Fixed several warnings from clang static analyzer. - Fixed a misleading indentation warning from gcc6. - A few minor OS/2 fixes. - Support for building the Windows version using Open Watcom compiler. - Other minor fix/tidy-ups.

June 14 2017: libmikmod-3.1.21 is released:



This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.21/



Here is the ChangeLog: - Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF, GDM and MED module loaders. - Fixed a possible endless loop in the IT loader with malformed files. - Fixed signed integer overflow leading to crashes in the sample loader. - Fixed the broken fixed-line comment reader which might possibly lead to crashes, and also badly translated several song messages. The new code is adapted from libopenmpt. - Support for building the Windows version using Open Watcom compiler. - A few minor OS/2 fixes. - Other minor fixes/tidy-ups. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Johannes Schultz (sagamusix), for allowing us to use a piece of code from libopenmpt.

Aug. 31 2016: libmikmod-3.3.10 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.10/



Here is the short ChangeLog: - Fixed windows builds when UNICODE is defined. (Thanks S. Michel).

Aug. 31 2016: libmikmod-3.1.20 is released:



This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.20/



Here is the ChangeLog: - Fixed windows builds when UNICODE is defined. (Thanks S. Michel). - RAW file writer: Changed to use ansi stdio functions instead of posix unistd, for better portability. - Playercode: Allocate the right channel reverb buffers only if the mixer is setup for stereo mode. (Helps with ports to memory-tight platforms. Patch from Andrew Rossignol.) - Added a configuration option to exclude the hqmixer (off by default.) - Using locale-insensitive ctype.h and casecmp functions in library. - Configury: New --disable-alldrv option to disable all of the audio output drivers. If additional --enable-xxx options are given, the specified drivers will be enabled. - Other minor tidy-ups.

Aug. 12 2016: libmikmod-3.3.9 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.9/



Here is the ChangeLog: - Amiga, AHI driver: Fixed a crash upon driver shutdown. - Amiga: Updates. Added standalone makefiles with cross-build support. - RAW file writer: Changed to use ansi stdio functions instead of posix unistd, for better portability. - Playercode: Allocate the right channel reverb buffers only if the mixer is setup for stereo mode. (Helps with ports to memory-tight platforms. Patch from Andrew Rossignol.) - Fixed access to uninitialized memory in the simpleplayMEM example program. - Added a configuration option to exclude the hqmixer (off by default.) - Using locale-insensitive ctype.h and casecmp functions in library. - Configury: New --disable-alldrv option to disable all of the audio output drivers. If additional --enable-xxx options are given, the specified drivers will be enabled.

Nov. 15 2015: libmikmod-3.3.8 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.8/



Here is the ChangeLog: - Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder. - AMF loader: Fixed segmentation fault in case of bad sample offsets in broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for the report and analysis.) - AMF loader: Fixed loading of v10 files where sample loop start and end values should be read as 32 bits, not 16 bits. (tested with Maelcum's "the tribal zone" and "the way its gonna b". noticed in OpenMPT source) - Fixed a possible undefined behavior in the XM loader. - Support for MMCMP, Amiga PP20 (PowerPack), STC (Stone Cracker S404) and XPK compressed module formats, based on public domain code from libmodplug and libxmp. - Support for OpenBSD sndio. - Fixed SDL output driver, so that it doesn't crash upon resetting. - Disabled the gt2 loader until it is completed properly. (It has been always non-functional since its introduction in v3.2.0.) - Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers are now configurable and not built unconditionally. Haiku support thanks to Jérôme Duval. - Documentation update. - Update DOS build for the new djgpp-2.05 release. - Minor fix/tidy-ups.

Nov. 15 2015: MikMod player v3.2.7 is released:



This is a maintenance release.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.7/



Here is the ChangeLog: - Documentation update. - Update DOS build for the new djgpp-2.05 release.

Nov. 15 2015: libmikmod-3.1.19 is released:



This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.19/



Here is the ChangeLog: - Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder. - AMF loader: Fixed segmentation fault in case of bad sample offsets in broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for the report and analysis.) - AMF loader: Fixed loading of v10 files where sample loop start and end values should be read as 32 bits, not 16 bits. (tested with Maelcum's "the tribal zone" and "the way its gonna b". noticed in OpenMPT source) - Fixed a possible undefined behavior in the XM loader. - Support for OpenBSD sndio. - Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers are now configurable and not built unconditionally. Haiku support thanks to Jérôme Duval. - Documentation update. - Minor fix/tidy-ups.

Sep. 07 2014: libmikmod-3.3.7 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.7/



Here is the ChangeLog: - Android support, thanks to Radovan Cervenka, with the OpenSL ES driver adapted from the old libmikmod-android project. - Support for AmigaOS and its variants like MorphOS, AROS, and a new AHI driver thanks to Szilárd Biró. - Build system configuration and packaging simplifications, tidy-ups. - Several portability tweaks. - New PSP driver. (untested. suggested by Jon Daniel, based on older ports from pspdev.) - Fix some OS/2 bit rot. (for nostalgia...)

Sep. 07 2014: MikMod player v3.2.6 is released:



This is a bug fix/maintenance release.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.6/



Here is the ChangeLog: - Fix curses linkage on some setups. (add -ltinfo if necessary.) - Windows version now relies on %USERPROFILE% instead of %HOME% for its config and playlist. - The dos version doesn't check %HOME% anymore and simply uses C: for its config and playlist. - Support for AmigaOS and its variants like MorphOS, AROS. (thanks to Szilard Biro for lots of help.) - Build system configuration and packaging simplifications, tidy-ups. - Configury: fix link tests for older binutils. - Cmake updates and improvements. Several makefile clean-ups. - Several portability tweaks. - Fix some OS/2 bit rot. (for nostalgia...) - Removed ancient convert_playlist script which used to supposed to convert pre-ancient mikmod playlists. Documentation updates.

Aug. 31 2014: libmikmod-3.1.18 is released:



This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.18/



Here is the ChangeLog: - Build system configuration and packaging simplifications, tidy-ups. - Several portability tweaks. - Fix some os/2 bit rot. (for nostalgia...)

Mar. 20 2014: libmikmod-3.3.6 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.6/



Here is the ChangeLog: - UMX loader: Minor corrections to the container parse code with relation to upkg file format. (for correctness' sake only...) - ALSA and ESD drivers: Fixed a dlopen() issue. - PulseAudio driver: Simplified its command line parser procedure, so that it always sets server and sink to some value, NULL or otherwise, and fix a very minor memory leak on some occasions. - Configury, OSS driver: Removed useless check for /dev/sndstat presence, added <soundcard.h> check to cover all our bases for less common setups. - Configury, NAS driver: Use the configury detected X header and library locations when necessary, not just hardcoded /usr/X11R6/. - Several configury and makefile clean-ups. - Added Dreamcast driver from the old 3.2.0b2 dreamcast.es port.

Mar. 20 2014: libmikmod-3.1.17 is released:



This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.17/



Here is the ChangeLog: - ALSA and ESD drivers: Fixed a dlopen() issue. - Configury, OSS driver: Removed useless check for /dev/sndstat presence, added <soundcard.h> check to cover all our bases for less common setups. - Several configury and makefile clean-ups.

Jan. 10 2014: libmikmod-3.3.5 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.5/



Here is the ChangeLog: - New PulseAudio driver for audio output, using pa_simple_* api. - Improved ALSA driver. - mikmod.texi: Fixed document generation using newer texinfo. - Updates and fixes to configury (autotools) and to cmake support. Cmake support covers more targets and options now. - Made the aiff, wav and raw file writer drivers configurable: the library can be configured and compiled without any audio output drivers if so required, except for drv_nos ('nosound') of course. - DOS (djgpp): fixed the sound blaster SB16 driver. - Fixed a few potential sources of crash, several code clean-ups. - Minor compilation fixes against ancient software versions. - Merged an updated gp32 driver (it is still an untested driver...)

Jan. 10 2014: libmikmod-3.1.16 is released:



This is a bugfix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.16/



Here is the ChangeLog: - Improved ALSA driver. - mikmod.texi: Fixed document generation using newer texinfo. - Updates and fixes to configury (autotools). - Made the wav and raw file writer drivers configurable: the library can be configured and compiled without any audio output drivers if so required, except for drv_nos ('nosound') of course. - Minor compilation fixes against ancient software versions. - Backported pkg-config file and rpm spec file from HEAD branch.

Jan. 10 2014: MikMod player v3.2.5 is released:



This is a minor bug fix/maintenance release.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.5/



Here is the ChangeLog: - New CMake build system. - Small autotols updates. - Fix configury $datadir variable expansion in PACKAGE_DATA_DIR. - Fix ALSA driver options menu for libmikmod2 versions >= 3.1.13. - Fix compilation against ancient libmikmod1 versions <= 3.1.6. - Several code clean-ups.

Dec. 08 2013: libmikmod-3.3.4 is released:



This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is recommended.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.4/



Here is the ChangeLog: - libmikmod.m4: fixed so that it works with C++ compilers. - cmake: fixed a cpack version number issue. - Fix CVE-2006-3879 (Secunia 21196) for Graoumf tracker (gt2) loader. (the loader is non-functional yet but the issue was there.) - Fix memory leaks in the Graoumf tracker (gt2) loader. - UMX loader: Support umx music files from Unreal 1997/98 beta version. - S3M loader: Enforce the 64000 bytes sample length limit, which has been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e. only if setting the S3MIT_SCREAM flag during track conversion. Fixes playback of some rare brokenly prepared files - e.g. Arena2.umx from the unreal game community add-on level decyberduel. - ULT loader: Fix version array size (was 1 less then its initializer.) - ESD driver: Fix signature for esd_playstream function pointer (const) - ALSA driver: Remove unused function pointers. - The library is compilable using C++ compilers.

Dec. 08 2013: libmikmod-3.1.15 is released:



This is a bugfix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.15/



Here is the ChangeLog: - libmikmod.m4: fixed so that it works with C++ compilers. - S3M loader: Enforce the 64000 bytes sample length limit, which has been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e. only if setting the S3MIT_SCREAM flag during track conversion. - ULT loader: Fix version array size (was 1 less then its initializer.) - ESD driver: Fix signature for esd_playstream function pointer (const) - ALSA driver: Remove unused function pointers.

Oct. 15 2013: libmikmod-3.3.3 is released:



This is a bug fix/maintenance release, with a new loader for umx files as the new feature. Upgrading is recommended.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.3/



Here is the ChangeLog: - New loader to load modules contained in UMX files from games like Unreal, DeusEx, etc. (Developers: custom MREADER implementations must respect the 'iobase' field for umx loading to work for them. see the splayMEM example app source.) - AIFF file writer now silently ignores and clears float output mode. - Fixed a small memory leak in samples freeing (thanks to S. Michel.) - Fixed calling the previous position while at position 0 resulting in an invalid read. (noticed while running mikmod under valgrind.) - Memory reader now fills the available bytes to destination buffer when a short read is happening, while still returning false. - Memory reader now respects the iobase value of the reader struct. (doesn't change normal behavior, but may help with new features.) - Updated simpleplayMEM example application. - Fix return types for MREADER->Seek and MWRITER->Put to be int, and not BOOL. (identical functionality but non-misleading.) - Documentation fixes with relation to free()/MikMod_free(). - Marked the SIMD (SSE2/AltiVec) option as unstable in the makefiles and configury/cmake: not recommended until it is fixed properly. - Provided new Visual Studio 6 and Visual Studio 2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012. - Fixed some driver version signatures which I missed changing in the previous release. (cosmetic change.)

Oct. 15 2013: MikMod player v3.2.4 is released:



This is a minor bug fix/maintenance release.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.4/



Here is the ChangeLog: - Addressed some snprintf issues and MSVC6 compilation issues. - New MSVC6 and VS2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012. - Use MikMod_free() on the string returned by Player_LoadTitle() if it is available. - Fixed some compiler warnings, minor cleanups.

Oct. 15 2013: libmikmod-3.1.14 is released:



This is a bugfix/maintenance release for the old libmikmod-3.1.x series.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.14/



Here is the ChangeLog: - Fixed a small memory leak in samples freeing (thanks to S. Michel.) - Fixed calling the previous position while at position 0 resulting in an invalid read. (noticed while running mikmod under valgrind.) - Fix return types for MREADER->Seek and MWRITER->Put to be int, and not BOOL. (identical functionality but non-misleading.) - Provided new Visual Studio 6 and Visual Studio 2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012.

Oct. 05 2013: libmikmod-3.3.2 (final) is released:



This is a serious bug fix release after the previous 3.2.0 series, with additional new features. All who are using libmikmod-3.2.0 (or the interim 3.3.1-beta) must upgrade to the new libmikmod-3.3.2 version.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.2/



Here is the ChangeLog: NEW FEATURES - New CMake build system. - Updated configury, support for cross-compilation, support for building in a separate directory, support latest autotools. - New SDL driver - works both with SDL-1.2.x and with SDL2, supports floating point output if compiled against SDL2. - New OpenAL driver, originally suggested by 'kervala', with fixes and updates and with floating point output support. - The multi-platform SDL and OpenAL drivers, if they are compiled, have priority over OS-specific hw drivers for MikMod_RegisterAllDrivers(). - New windows xaudio2 driver, originally suggested by 'honza.c', with updates, xaudio2.8 support and with floating point output support. - ALSA driver now supports only the contemporary ALSA 1.0.x versions. All of the ancient ALSA 0.3.x-0.4.x code were removed. - Floating point output mode support for ALSA, OSS, Direct Sound, WinMM drivers and for WAV file writer. - The pipe and stdout drivers are now configurable - Raw file-writer now has the lowest priority among the file-writers. - GCC elf and macho symbol visibility attributes now supported. - Windows: dllexport/dllimport attributes work properly for MinGW[-w64], as well as windows compilers. Static builds using MSVC, LCC, etc are now named mikmod_static.lib. When compiling against static libmikmod, MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed. BUGFIXES - ALSA fixes from Fedora. - ALSA fixes for "Write error: File descriptor in bad state" crashes, e.g. RedHat bug #915121. Now works stable. - ESD (esound) updates from Fedora. Add esd back to configury which was removed in 3.2.0b3, now requiring >= 0.2.18. - Minor OSS fixes. - The NAS driver now actually compiles. - 64 bit detection fixes. - Fix BOOL type use all over the source. - Several const correctness fixes. - Fixes for CVE-2007-6720 and CVE-2009-0179. - mmio: memreader fixes and updates. - Fixes for access violations introduced in 3.2.0b3. - Fixes for broken memory allocation wrappers introduced in 3.2.0b3. - Fix MikMod_strerror() might read beyond end of a static array. - Fix looping volume in Player_SetVolume(), based on an old patch by Yi-Huang Han. - XM loader now reads songlength amount of orders from the file and then seeks to mh->headersize+60 (sf.net bug #10.) - Fix "unclick" code to consider loop lengths shorter than 16: fixes crashes seen with several xm files (sf.net bug #12, mpd bug #3425.) - Mac OS X: new standalone makefile with cross-compilation support. - DJGPP build fixes. - Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully supported along with MSVC and LCC. new standalone MinGW makefile with cross-compilation support. - SIMD (AltiVec and SSE2) option is now disabled by default. Can be enabled by --enable-simd configury option, similarly with cmake. (the standalone makefiles or project files are added instructions on how to enable the feature if required.) - Many compiler warning fixes, other small cleanups.

Oct. 05 2013: MikMod player v3.2.3 is released:



This is a maintenance release to fix minor bugs since mikmod-3.2.2.



Download from here:

http://sourceforge.net/projects/mikmod/files/mikmod/3.2.3/



Here is the ChangeLog: - Made MikMod compilable against older versions of libmikmod without MikMod_Free(). - Fixed a minor buffer overrun (sf.net bug #2). - Fixed a minor string format issue. - Updated configury to support latest autotools. - Fixed djgpp builds. - Fixed windows mingw builds, proper win64 support.

Oct. 05 2013: libmikmod-3.1.13 is released:



This is a bugfix/maintenance release for the old libmikmod-3.1.x series. Users of libmikmod-3.1.x are recommended to update.



Download from here:

http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.13/



Here is the ChangeLog: BUGFIXES backported from the HEAD branch: - 64 bit detection fixes. - Fixes for CVE-2007-6720, CVE-2009-0179, CVE-2009-3995, CVE-2010-2546. - Fix MikMod_strerror() might read beyond end of a static array. - Fix looping volume in Player_SetVolume(), based on an old patch by Yi-Huang Han. - Fix "unclick" code to consider loop lengths shorter than 16: fixes crashes seen with several xm files (sf.net bug #12, mpd bug #3425.) - XM loader now reads songlength amount of orders from the file and then seeks to mh->headersize+60 (sf.net bug #10.) - A double driver registration fix. - MikMod_InfoDriver and MikMod_InfoLoader list print fixes. - Fix a possible crash on accessing the samples menu in mikmod. - Fix wav file writer for big endian platforms. - Fix wav file writer to output a correct rifflength in header. CLEANUPS backported from the HEAD branch: - Updated configury, proper support for cross-compilation, support for building in a separate directory, support latest autotools. - Fix BOOL type use all over the source. - Multiple compiler warning fixes, other small cleanups. PLATFORM SPECIFIC stuff backported from the HEAD branch: - Linux: backport ALSA driver from HEAD branch to support contemporary ALSA versions. - Unix: ESD driver updates from Fedora, now require >= 0.2.18. - Unix: minor OSS fixes. - Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully supported along with MSVC and LCC. new standalone MinGW makefile with cross-compilation support. - Windows: dllexport/dllimport attributes work properly for MinGW[-w64], as well as windows compilers. Static builds using MSVC, LCC, etc are now named mikmod_static.lib. When compiling against static libmikmod, MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed. - GCC elf and macho symbol visibility attributes now supported. - Linux: the old Alsa-0.3.x/0.4.x driver is now retired. the source is still in the drivers directory but not tested, nor will be maintained any more. - Linux: the old sam9407 and ultra drivers haven't been maintained for quite some time and they now default to disabled in the configury. the ultra driver had got an update in the 3.2.0 releases, which won't be back merged. - Misc: the pipe and stdout drivers are now configurable.

Sep. 28 2013: The MikMod home page is now setup here at sourceforge: http://mikmod.sourceforge.net/