1This is a brief overview of user-visible changes in AdPlug.
2
3Changes for version 2.3.3:
4--------------------------
5- New RAD player replacing the old one
6- Bug fixes: (huge thanks to Alexander Miller for these)
7  - CVE-2019-14690 - buffer overflow in .bmf
8  - CVE-2019-14691 - buffer overflow in .dtm
9  - CVE-2019-14692 - buffer overflow in .mkj
10  - CVE-2019-14732 - buffer overflow in .a2m
11  - CVE-2019-14733 - buffer overflow in .rad
12  - CVE-2019-14734 - buffer overflow in .mtk
13  - CVE-2019-15151 - double free and OOB reads in .u6m
14  - OOB reads in .xad
15  - OOB reads in .rix
16
17Changes for version 2.3.2:
18--------------------------
19- Bug fixes:
20  - FMOPL: Fix global variable pointer double-free (CVE-2018-17825)
21  - HERAD: Fix compilation on GCC 4.2.1
22  - ADL: Calling rewind() before update() causes access violation
23  - Move OPL reset/init code to rewind() for some players
24
25Changes for version 2.3.1:
26--------------------------
27- Fixed unconditional inclusion of "sys/io.h" on Linux
28- Autotools improvement
29  - Non-recursive Automake, improved parallelizability
30  - Compatibility fixes for FreeBSD's pmake and OpenBSD's make
31  - Out-of-source building
32
33Changes for version 2.3:
34-------------------------
35- Bug fixes:
36  - CMF: Fix uninitialised variable use (thanks binarymaster)
37  - CMF: Handle invalid offsets without crashing
38  - ROL: Prevent access beyond end of vector
39  - MSC: Fix use of uninitialised variable
40  - HSC: Handle out of range patterns more gracefully
41  - MID: Fix for issue #2 - out of range array read
42  - LDS: Use the tempo stored inside the Loudness-File instead of simply returning 70Hz
43  - RIX: Fix several replay bugs (thanks to Palxex)
44  - RIX: Big-endian fix by Wei Mingzhi
45  - XAD: Tempo fix
46  - Various other out of bounds array fixes, timing fixes, etc.
47- New formats:
48  - BMF: Easy AdLib 1.0
49  - CMF: SoundFX Macs Opera
50  - GOT: God of Thunder
51  - HSQ/SQX/SDB/AGD/HA2: Herbulot AdLib System (HERAD)
52  - MUS/IMS/MDI: AdLib Visual Composer ROL derivatives
53  - SOP: sopepos' Note Player
54  - VGM: Video Game Music
55- Allow compilation on platforms that don't support real OPL hardware access
56- Add support for compiling on Appveyor and publishing a NuGet package
57- Add Visual Studio 2015 projects
58- Add support for Travis CI builds
59- Add new CRC16 and CRC32 tests
60- Addition of WoodyOPL from DOSBox SVN (thanks to NY00123)
61- Addition of NukedOPL (thanks to loki666 and nukeykt)
62- Move from SourceForge to GitHub
63- DRO player refactored (thanks to Laurence Myers and William Yates)
64- Add (mono) OPL3 support to the surround/harmonic-effect OPL
65- Fix occasional random noise in right channel when using surround OPL and Satoh synth
66- Add display for ROL comment and instrument names
67- Improve support for different Westwood ADL format versions
68- Improve CMF transpose support (per-channel now)
69- Autotools build environment updated
70
71Changes for version 2.2.1:
72--------------------------
73- Bug fixes:
74  - CMF: Fix crash on v1.0 files
75  - DRO: Correct playback of early v0.1 files
76
77Changes for version 2.2:
78------------------------
79- New format support:
80  - JBM: JBM Adlib Music Format
81  - CMF: New player (more accurate) for Creative Music Format
82  - DRO: DOSBox Raw OPL v2.0 support
83- Fixed current subsong rewind in D00 player.
84- Added test case for ADL file format.
85- Fixed replay bug in DRO player (thanks to Adam Nielsen).
86- New surround/harmonic synth effect (sounds really nice!)
87
88Changes for version 2.1:
89------------------------
90- New format support:
91  - ADL: Westwood ADL File Format
92- Added OPL3 support:
93  - A2M: AdLib Tracker 2 versions 5-8
94- All players are endian-clean now.
95- Lots of security fixes (thanks to Luigi Auriemma).
96- Fixed volume handling in AMD player.
97- Fixed a buffer overflow in ROL player (thanks to HIGUCHI Daisuke).
98- Fixed vibrato & volume slides in D00 player (thanks to Dennis
99  Lindroos).
100- Removed superfluous exit() call in RIX player (thanks to Martin
101  Michlmayr).
102- Enhanced generic Protracker player features:
103  - Supports up to 32 channels
104  - OPL3 output support
105  - New behavior flags and commands
106
107Changes for version 2.0:
108------------------------
109- New format support:
110  - MSC: AdLib MSCplay
111  - RIX: Softstar RIX OPL Music Format
112- Added OPL3 support:
113  - RAW: RdosPlay RAW
114- Dual OPL2 and OPL3 support (OPL3 only in non-free version).
115- This version is not binary-compatible with older versions!
116  All linked applications need to be recompiled.
117- License change: Ken Silverman permitted to relicense his
118  emulator under the LGPL. It is included in the free distribution
119  now.
120- Changes to IMF player:
121  - Supporting Adam Nielsen's tag format now.
122  - Files ending in .IMF now have a default timer refresh rate of
123    560Hz. All other files have a rate of 700Hz. Please rename your
124    files accordingly or use the AdPlug database.
125- CMF player supports rhythm mode now.
126- S3M player handles repeating commands correctly now.
127- MS Visual C++ and OpenWatcom build systems not actively supported
128  anymore. They are still available in the contrib directory though.
129
130Changes for version 1.5:
131------------------------
132- New format support:
133  - XSM: eXtra Simple Music
134  - DRO: DOSBox Raw OPL
135  - LDS: LOUDNESS Sound System
136- Added support for .adlib files to IMF player.
137- Reverted fmopl OPL2 emulator to old LGPL'd version, so
138  AdPlug is now completely free (LGPL) again. Please read the
139  README file for details.
140- Added Ken Silverman's YM3812 emulator again. The portability
141  issues have been fixed.
142- Added a test-suite.
143
144Changes for version 1.4:
145------------------------
146- Documentation changed into Texinfo format.
147- New, modularized file loading framework.
148- Now using 'libbinio' for platform-independant binary I/O.
149- Added database framework for storing music file information.
150- Uses newest fmopl OPL2 emulator version 0.60 from MAME 0.66.
151
152Changes for version 1.3:
153------------------------
154- Completely new build system for DOS and Windows.
155- Centralized debug management.
156- Added a whole bunch of new developer documentation.
157- Developer documentation is now using troff formatting language.
158- Much more flexible Protracker player.
159- New or corrected IMF timer rates for the following games:
160  - Duke Nukem 2
161- New format support:
162  - SNG: Adlib Tracker 1.0
163  - CFF: BoomTracker 4.0
164  - DTM: Defy Adlib Tracker
165  - DMO: Twin TrackPlayer
166
167Changes for version 1.2:
168------------------------
169- Added a whole bunch of new players:
170  - SAT, ROL, SNG, XAD, XMS, MAD
171- SA2 player now handles version 7 files.
172- GCC 3.x compatibility.
173- Compiles on FreeBSD (and maybe many more flavors).
174- Now using GNU autotools for UNIX builds.
175- New OPL disk writer that creates RdosPlay RAW files.
176- Reordered source directory structure (removed players directory).
177
178Changes for version 1.1:
179------------------------
180- Added MKJ, DFM and BAM players.
181- Removed Ken Silverman's YM3812 emulator due to portability issues.
182- Fixed memory leak in SNG player.
183- Made AdPlug a real library.
184- Added lots of documentation.
185