SoundTracker version history by Fraggie (posted on un4seen forums)
Here are the 15-sample SoundTrackers revisions with their features listed (underlined changes) and below my old notes.
[there were also 31-sample SoundTrackers, but that's another story...]

Ultimate Soundtracker 1.0-1.21 (K. Obarski)
-------------------------------------------
Tempo: constant 120
Samples size: up to 9998 bytes
Sample names: no disk name (i.e. no colon in sample name possible)
Effects:
1: Arpeggio (1xy)
2: Portamento (2xy)

Ultimate Soundtracker 1.8-2.0 (K. Obarski)
------------------------------------------
Tempo: variable
Sample size: up to 9998 bytes
Sample name: disk name st-xx: always present
Effects:
1: Arpeggio (1xy)
2: Portamento (2xy)

SoundTracker 2.0 (The Exterminator)
D.O.C. Sountracker II (Unknown/D.O.C.)

--------------------------------------
Tempo: constant 120
Sample size: up to 9998 bytes
Effects:
0: Arpeggio (1xy)
1: Portamento Down (1xx)
2: Portamento Up (2xx)
c: Set Volume (Cxx)
d: Volume Slide (Dxy)
e: Volume Auto-Slide (Exy)


Defjam Soundtracker III (Il Scuro/Defjam)
Alpha Flight SoundTracker IV (Alpha Flight)
D.O.C. SoundTracker IV (Unknown/D.O.C.)
D.O.C. SoundTracker VI (Unknown/D.O.C.)

---------------------------------------
Tempo: constant 120
Sample size: up to 9998 bytes
Effects:
0: Arpeggio (1xy)
1: Portamento Down (1xx)
2: Portamento Up (2xx)
c: Set Volume (Cxx)
d: Volume Slide (Dxy)
e: Volume Auto-Slide (Exy)
f: Set Speed (F0x)

D.O.C. SoundTracker IX (Unknown/D.O.C.)
---------------------------------------
Tempo: variable
Sample size: up to 9998 bytes
Sample name: disk name st-xx always present
Effects:
0: Arpeggio (1xy)
1: Portamento Down (1xx)
2: Portamento Up (2xx)
c: Set Volume (Cxx)
e: Set Filter (E00/E01)
f: Set Speed (F0x)

Master Soundtracker 1.0 (Tip/The New Masters)
---------------------------------------------
Sample size: up to 32 KB
Tempo: always 120
Effects:
0: Arpeggio (1xy)
1: Portamento Down (1xx)
2: Portamento Up (2xx)
c: Set Volume (Cxx)
e: Set Filter (E00/E01)
f: Set Speed (F0x)

SoundTracker 2.0, 2.1, 2.2 (Unknown/D.O.C.)
-------------------------------------------
Sample size: up to 32 KB
Tempo: always 120
Effects:
0: Arpeggio (1xy)
1: Portamento Down (1xx)
2: Portamento Up (2xx)
b: Position Jump (Bxx)
c: Set Volume (Cxx)
d: Pattern Break (D00)
e: Set Filter (E00/E01)
f: Set Speed (F0x)


Based on effects these can be sorted into 3 groups:
1. Ultimate Soundtracker 1.0-1.21 and Ultimate Soundtracker 1.8-2.0 have compatible effects.
- Arpeggio is 1xy (not 0xy)
- Portamento is 2xy (not 1xx and 2yy), works as 10y and 20x in Protracker.

2. Soundtracker 2.0, II, III, IV, IV, V, VI have compatible effects.
- Arpeggio and Portamento as in ProTracker
- Set Speed F0x ingores high nibble (i.e. only speed 1..F are possible).
- Volume Slide Dxy works as Axy in Protracker.
- Auto-Slide sets volume slide that will be executed together with following Arpeggios and Portamentos until x00 command is seen.

3. Soundtracker IX, Master Soundtracker and later Soundtracker 2.0-2.2 have compatible effects.
- Set Speed F0x ingores high nibble (i.e. only speed 1..F are possible).
- Volume Slide Dxx and Auto-Slide Exx removed, Position Jump Bxx and Pattern Break D00 introduced.
- Pattern break D00 ignores parameter (i.e. always jumps to begining of next pattern).

Common for all:
- Byte at 0x1D7 is always initial tempo (most commonly 120, not 125 as in Protracker)
- Only looped part of a sample is played.
- Loop start is stored in bytes not in words.
- Finetune byte is always 0.

By taking into account effects, their parameters, sample sizes, sample names, tempo byte at least lowest common denominator can be found (if not the correct format).
Exy slides as Dxy and continues to slide with any other effect together until a command with parameter 00 is entered. E.g.
D-3 1 E01  // D01, autoslide set to D01: slide down
--- - 001  // 001 + D01: arpeggio + slide down
--- - 001  // 001 + D01: arpeggio + slide down
--- - 000  // no effect, autoslide cancelled
--- - 001  // 001: arpeggio only
--- - C20 
--- - E10  // D10, autoslide set to D10: slide up
--- - 101  // 101 + D10: porta up + slide up
--- - 101  // 101 + D10: porta up + slide up
--- - F04  // F04 + D10: set speed to 4 + slide up
--- - 100  // no effect, autoslide cancelled
To express SoundTracker BPM as ProTracker tempo, use this formula: bpm = ((709378,92Hz / 50Hz) * 125) / ((240 - tempo) * 122) - it may yield values greater than 255 BPM, though, so beware.