If you want to explore the source code of DMD, the reference D compiler, you can clone the official DMD Git repository and checkout the version you’re interested in (e.g., git checkout v2.068.1
). A difficulty you might encounter is that the older versions of DMD don’t have a corresponding tag in that repository. That means that you have to manually find out what commit corresponds to the version you are looking for, and then directly checkout that commit through its SHA-1 (e.g., git checkout c9c12bf
). To avoid this issue, and for the convenience of D spelunkers, I here present a list of tags for older DMD versions that you can add to your copy of the DMD Git repository.
Copy and paste the following commands into your shell to add all the tags:
git tag v0.50 bde09435d149c699490bb888b832228e0d31c221
git tag v0.53 2ec66c2196e5945f97dd2650a4dcc3c5dee6e11f
git tag v0.61 7a3c6789b00e04d9b1b13ef69eb43ce0e56cdda3
git tag v0.65 2e3cc50a723c00e6560cb97d527c6f2768ad1e9d
git tag v0.66 d7541442bb5ddbe1d2b1d8403387ad9ffce25449
git tag v0.67 2efc3a9287879f5e1391c8b9873be0d484409d84
git tag v0.68 42b868c31085211cbb8838325b72d7522f9164d2
git tag v0.69 035399b626641bfe3b8bc487a806847045903c5e
git tag v0.70 a44859e6f45d3833d28cc1e8f0766d63787a9cc6
git tag v0.71 1175c257dd075e4f6c2672dc728a38c982956eaa
git tag v0.72 0ad54c6d37b62631d48d452dfb06bb9a932ceb96
git tag v0.73 89b6e47fa531ae0033692f6cbd36c7c0beb1d2e8
git tag v0.74 5303bbf3046d10b4b2eeb7d52739fb341375d832
git tag v0.75 abcb9164e5d229cfcaf70676e827798a25ac28e4
git tag v0.76 f02208c08d8f7ad6789f470cfccc7f9416c4977a
git tag v0.77 18c3ee0baf852d52d136a01e3acef87b4856d5dd
git tag v0.78 915df2445895765f282c5cfbbace31aaa3d80e5b
git tag v0.79 cf7c5f06a309b88eb6a3bbf26a58585ff3096833
git tag v0.80 4de91747b97b7d1bb84e7ed541fd20dc6f453069
git tag v0.81 037348ba5a875790f6952a5f4c97e7b5c0aed9d3
git tag v0.82 9840a79adfcdb99a67d7ef60f67a31ec6b140168
git tag v0.86 36e97f0b1fd283f6cd79c6420c13b1558b47528e
git tag v0.88 0ce2f8a10e97d79e87e5ceabe3a78377b2e16a60
git tag v0.89 0779f5ff5c03832ab3bd5e262098bf8bd4c8bdc6
git tag v0.90 071025511114cf7fe08eac6d8367454c48a44a91
git tag v0.91 b2d80468a8c7e4e9aaf6e17407e383b62ce13b2c
git tag v0.92 cd225fd4c10b5eba77caa654e4f7340d6f67d7d4
git tag v0.93 58cd5d6c1b071e8d1e9310317421a242389cee5a
git tag v0.94 76cdb4a8d4345bc83593a28fb580c5465345968b
git tag v0.95 2097b6a47d216ee39b5e3c8a6f4eedae6f382d88
git tag v0.96 0a07a84a2dacefaa9a55f361c39ccdb5d7ff9042
git tag v0.97 73cc237c2f4293aabd9c801707e50fe4c5d7adcb
git tag v0.98 15d4546d07d5dedb7424677ae4dc0b18e57ef6da
git tag v0.99 a70194afb19a6489b50468903ead48c399edc046
git tag v0.100 6346f36e7ba4935f8c7781e1be038190fce15230
git tag v0.101 8b888497ce3b221615881e0c214a62ad2c734488
git tag v0.102 32376ab9bf0f3dea3d22c2dc3b95a9d22644a1bd
git tag v0.103 5e7a301cd45b25ad64ad19ce1d995fd549efba3f
git tag v0.104 d8fd0c8ba1eb1d16861e828998d75e0d41f5f957
git tag v0.105 aeb5e2417202bcd4deee224dd3490a0390cee2e3
git tag v0.106 0a673183772de2b1b8195d4c8dd8241f7ef2334e
git tag v0.107 5537cfeeeb852eadc0ac5c3fdc4a3ce4bd506641
git tag v0.108 7bef60362f9a4ea5f8bca549cf503dcef814e37a
git tag v0.109 7b0d785eb9da573a06dbf1ed2c2ac494fbb4bb71
git tag v0.110 fc643c1bab90ddc9565af5adff027f7fd51d5db7
git tag v0.111 ac28d809642852577612090274822b6988995753
git tag v0.113 61a2da6a70cf8d85b6ed84234ad6f70bd2e2f3a3
git tag v0.114 f72f6287e036b244ec11750fd4e808051d002e0b
git tag v0.116 46e49b52ff2c85ca00eea38b7610fbc11e85c27a
git tag v0.117 be47f8497e987c9cd4d9e7363ac13842774f2da5
git tag v0.118 d6ae620a9158f37cb32b3f75e114a431732f382c
git tag v0.119 3d222031e288f52b71f4cf4ee16408a6078306bd
git tag v0.120 f6bbbffe960a9814706e324d6c980baf93be7f3d
git tag v0.121 3ea3da40358561df32b9cc01f367363f6b3a0c3b
git tag v0.122 974fbedb41b4e1d5ea9d86fb9fb24e28eed294db
git tag v0.123 2d73ec0f367654da6798755e1442a1696e8d4dcf
git tag v0.124 32e4ad780fe4e69227a764f8c171b720d649ff6b
git tag v0.125 0e8c723dfabb489731abf71b5e39ce5dddb7f3be
git tag v0.126 8b000ef8fcb763990f07f89e95b1ee1850aa44a8
git tag v0.127 6648adaa832ad6ae6b17e9766244faa74ecb9635
git tag v0.128 b8b78a1d959a9bf9da5bb559e91d71dc941f6c10
git tag v0.129 8f07a9758cbd480ab74f8b251565e82eb1544092
git tag v0.130 527cd0ef986d719441a26ae2d3c727f1c6d5f6ff
git tag v0.131 0f1cdf542f97023b1edc1ade1ad481df464cc396
git tag v0.132 ca2a4aca0514dea05a778f8277f03569c653ef04
git tag v0.133 3410d9d5687b6e4549fd73cfd59b426bd1005c96
git tag v0.134 753dd2b68e592da5829b9c62920f8d82c62243b6
git tag v0.135 24a2a25b8284076f16e9ad318970c801d69e39a0
git tag v0.136 e32483c7240870c37dd0aab6254fea6356cbecb9
git tag v0.137 4c84ba1cbbcee8f9eea80c762d5913637d6b69f8
git tag v0.138 b7aec61b1d0dabfd8a52e1d940287e6b6bfb2394
git tag v0.139 5fe83223d3318907ce95837797e41e408797ec87
git tag v0.140 afbef9e7a37dcb2a39678f34a600e8db9bd75184
git tag v0.141 8c4dd918fa45c627257e6bf1052186ae31d6099b
git tag v0.142 0ecd702db3d797df0e48a543ba7b0f4607013358
git tag v0.143 8262db899e7ba11ae449e64258be7a8ecc8b7e4b
git tag v0.144 656053b23329e38a29e6954ab154ef83a389ac9d
git tag v0.145 d9dab4a3b753aa3072ad624823ed6228cd8cf428
git tag v0.146 1e8aa7a50a570a21dbda09b85d2533b7baceb2b1
git tag v0.147 dad5a36a265a147a422f96301ebe1e7050899cc5
git tag v0.148 d6244dae42808f6c69b509372a0f565c637fb62b
git tag v0.149 d93a346410537edd55c245f26fe5dfb421fd576d
git tag v0.150 1f67b21858abdf6a8d99db0194087d9abc0e9cf6
git tag v0.151 319ac62274e99ed33a3cab821d4f4f4802747305
git tag v0.153 5eb6556ce2741ffbb8028238ac7e83dfb25af75d
git tag v0.154 8cfcbf6777c2ac9b41d6c9f07bf8d6053ee75ca6
git tag v0.155 6bebcb557e6926c199557a01e5c76995e2396a9f
git tag v0.156 29fc3d9ef5f3e874dc051bd5ede2e26772df3ab6
git tag v0.157 fdff4534349c1e41894879cb81232277d7f3e04c
git tag v0.158 83e53aed7b8745e93b839194f3448032f24e7821
git tag v0.159 e668eb0b599100ce891f381a47a105103ec55545
git tag v0.160 1b0bfb683cce1e1eae63150d0f3a0313e8884a29
git tag v0.161 05d595b7c361ecdd28a1fdd2b02af194daec5210
git tag v0.162 e614a784068fa7ca8bff0801f4e99807e6c591b2
git tag v0.163 fd61ac13e42efb9c974675fc15e59864096e590b
git tag v0.164 37f2ff76fee87baa57b4320b6f1c2f09311e56e3
git tag v0.165 a2b1fa4978948ca4d293c38666bd607c03ba791a
git tag v0.166 189fa015f7d9e8b4987517cf899a96fc6d7bb8bb
git tag v0.167 43a336d81c38817ae545becf02b7459836025c60
git tag v0.168 123aa2e76b04458e25438ec937e7bf93c6610728
git tag v0.169 90322043bf4cbbc19734070948265e918d8af981
git tag v0.170 0b7300972e3715648d6c3974e286548fb65a0ddf
git tag v0.171 9ce66e0e385ca4a24e06054b26fd756f5198ec93
git tag v0.172 91390c4cc779b96575da68239ea10a79bde713ac
git tag v0.173 b76b07b25ffe6939f0cf8f5e387a8db58be8722c
git tag v0.174 adf46573a6726306302d48a227949d15455359d5
git tag v0.175 8f53e2d1c947516d98190d79ec81eb1063f8d221
git tag v0.176 6a7866b38f07bb2f821b2b0356530baa2fb1c907
git tag v0.177 8feb3a57bd8f3aaee13e7dc671b6b46cb793e2a7
git tag v0.178 93341a47391053927ba8ce6730c0a453e96260e5
git tag v1.00 a2d41e2a63c4c187bd8d36653a0734afa1978d5d
git tag v1.001 8594c660ebe16329daadbc2083ed6667a4fcc9ae
git tag v1.002 6f8eca420397f3da642f70e95b3ac7f2d50d6598
git tag v1.003 88df46c179ed08521a9e5361af8feeeebf38f1b5
git tag v1.004 509a54c423bad5fdb733e9bdc42c5dfe18925d7f
git tag v1.005 a2dc056f7a724a50d408533d21e1d089752dc2ae
git tag v1.006 92dbe9eac67de7c7e42671b951f87a3cfc39dbe1
git tag v1.007 fd2d32d2eac0e14cb5a5e8321f9b260df91cb2df
git tag v1.009 3fc712b509ebd9cbbb95d251799183268912bc18
git tag v1.010 18e447e743924b85207896ecffecac5fb7a75784
git tag v1.011 fcf188d0e4533fd3fb88dab58199848dc4da0b2d
git tag v1.012 f8001872c45e2112e3bb557b69b84c99d90008f5
git tag v1.013 86eeed0da4fa494d9fc69fc8ca124be0b75b9164
git tag v1.014 78568244ba6f320ec435586748f5ac2c52c2b20b
git tag v1.015 56a5e7a7564897d3c3fa84d874bb5701d76c0c13
git tag v1.017 a6e213a52e8b01e3fb2a9982f31503a93f185cf2
git tag v1.018 019e1646686f9561ef6d7c21cde38681827092ae
git tag v1.019 225282cb174c29776ab03db7a2e685ea53fbb5e5
git tag v1.020 2ec9314ab81ce3207661c31d763d9093b7ec9156
git tag v1.021 4b11fd886ce49d9614f593ff66e93df0b4d2c3dc
git tag v1.022 d6ecccb9094e547730c10040d5a754424f6534bd
git tag v1.023 30dbb6afeb8c26be301c564202a5b6cdbb26cfa1
git tag v1.024 18d03cef17d57789de958a08e9e9c14ac6509243
git tag v1.025 14e5ca8ce25d4483a33f89718ed89b36a626568a
git tag v1.026 991c12aca77714abf923390455668682b4b58108
git tag v1.027 d446511a0dd12b7a403dc8bb97ef052dbbde7948
git tag v1.028 275eb5215e4d90af2c6264f6547ed89bd1a1aa06
git tag v1.029 f0f567653bc15aa18ff2121f24e94b7bad1180c6
git tag v1.030 fbf9e666751fcd2d401c9e85c38a73eba772b361
git tag v1.031 48c6b306d96fefc742f2b4fde7bc47cf6df191de
git tag v1.032 c10bcdd614ce2cc75e8a2283eabc69ab74bdf6dd
git tag v1.033 5499dc4403a19cb0f4799cbd00fd53365e8a1adb
git tag v1.034 72c55e9c0f413baa9f8efc8b67941b2152c1ac53
git tag v1.035 e5e48a11f30e0d65fcbd63b06501f67f5336e094
git tag v1.036 5ad9389585eb1ea9afe3b17cb9f27720d91fef79
git tag v1.037 5613a1daa301d4de5fa891cb944a3d159de546b2
git tag v1.038 c04a22a9142c5d563f60be0a662c587043d98b59
git tag v1.039 99216551206cf978d786e0112a6be41d64bdabe8
git tag v1.040 f8723b4cdf4abcb58a289c795cc23cd11afebdb7
git tag v1.041 777b67f715ae511c5659cd6c71485c4c0281426d
git tag v1.042 dbd8ca3239e29d21596af79159d4b5add6b533bc
git tag v1.043 2c1b1cf6996db13ae24daf0e3c85aad7ca0dff44
git tag v1.045 f6911f916673841177738f2ff1166e300f7c4f12
git tag v1.046 459ab3402408dd0aaf145913e05bea7c43e5324b
git tag v1.047 e94eb92b64bbcb88e3ee2279d319460016ff3583
git tag v1.048 9a827b8781cef13e39a3fb59d6d66d11f46aa304
git tag v1.049 ad2ea731d80e0b0d102a2832c50ffa8dc68af647
git tag v1.050 5ffd6d4cffdad04ebfa2a396f4154b32781a0073
If you find any error or omission in this list, please get in touch with me .
Notes:
These D releases do not have DMD Git tags because no changes were made to the compiler:
I could not find a Git commit corresponding to these D releases:
The following D releases will remain with an inconsistent Git tag pattern: