File: CHANGELOG.md

package info (click to toggle)
vagrant 2.2.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,072 kB
  • sloc: ruby: 80,731; sh: 369; makefile: 9; lisp: 1
file content (3848 lines) | stat: -rw-r--r-- 197,900 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
## 2.2.3 (January 9, 2019)

FEATURES:

- host/void: Add host support for void linux [GH-10012]

IMPROVEMENTS:

- command/rsync-auto: Prevent crash on post-rsync command failure [GH-10515]
- command/snapshot: Raise error for bad subcommand [GH-10470]
- command/package: Ensure temp dir for package command is cleaned up [GH-10479]
- command/powershell: Support running elevated commands [GH-10528]
- communicator/ssh: Add `config` and `remote_user` options [GH-10496]
- core: Display version update on stderr instead of stdout [GH-10482]
- core: Add experimental feature flag [GH-10485]
- core: Show box version during box outdated check [GH-10573]
- guest/windows: Modify elevated username only on username failure [GH-10488]
- host/windows: Prevent SMB setup commands from becoming too long [GH-10489]
- host/windows: Automatically answer yes when pruning SMB shares [GH-10524]
- provisioners/file: Show source and destination locations with file provisioner [GH-10570]
- provisioners/salt: Validate that `install_type` is set if `version` is specified [GH-10474]
- provisioners/salt: Update default install version [GH-10537]
- provisioners/shell: Add `reboot` option for rebooting supported guest [GH-10532]
- synced_folders/rsync: Support using rsync `--chown` option [GH-10529]
- util/guest_inspection: Validate hostnamectl command works when detected [GH-10512]
- util/platform: Use wslpath command for customized root on WSL [GH-10574]

BUG FIXES:

- command/cloud publish: Ensure box file exists before path expanding [GH-10468]
- command/cloud publish: Catch InvalidVersion errors from vagrant_cloud client [GH-10513]
- command/snapshot: Retain consistent provisioning behavior across all commands [GH-10490]
- command/validate: Bypass install checks for validating configs with the `--ignore-provider` flag [GH-10467]
- communicator/ssh: Fix garbage output detection [GH-10571]
- guest/alt: Fix network configuration errors [GH-10527]
- guest/coreos: Fix grep command for network interface of CoreOS guest [GH-10554]
- guest/freebsd: Fix defaultrouter rcvar in static network template [GH-10469]
- guest/redhat: Fix network configuration errors [GH-10527]
- providers/virtualbox: Adjust version requirement for NIC warning [GH-10486]
- util/powershell: Use correct Base64 encoding for encoded commands [GH-10487]

## 2.2.2 (November 27, 2018)

BUG FIXES:

- providers/virtualbox: Update default_nic_type implementation and add warning [GH-10450]

## 2.2.1 (November 15, 2018)

FEATURES:

- core/plugins: Add reset! method to communicator [GH-10399]
- providers/virtualbox: Add support for VirtualBox 6.0 [GH-10379]

IMPROVEMENTS:

- command/validate: Allow validation of config while ignoring provider [GH-10351]
- communicators/ssh: Prevent overly verbose output waiting for connection [GH-10321]
- communicators/ssh: Support ed25519 keys [GH-10365]
- communicators/ssh: Add reset! implementation [GH-10399]
- communicators/winrm: Add reset! implementation [GH-10399]
- core: Limit number of automatic box update checks [GH-10359]
- host/windows: Remove PATH check in WSL detection [GH-10313]
- providers/hyperv: Disable automatic checkpoints before deletion [GH-10406]
- providers/virtualbox: Add `automount` flag if specified with synced_folder [GH-10326]
- providers/virtualbox: Refactor host only network settings [GH-7699]
- providers/virtualbox: Support setting default NIC type for network adapters [GH-10383]
- providers/virtualbox: Update ssh_port helper to handle multiple matches [GH-10409]
- provisioners/shell: Add :reset option to allow communicator reset [GH-10399]
- synced_folders/smb: Allow for 'default' smb_username in prompt if set [GH-10319]
- util/network_ip: Simplify `network_address` helper [GH-7693]
- util/platform: Prevent hard failure during hyper-v enabled check [GH-10332]

BUG FIXES:

- command/login: Only show deprecation warning when command is invoked [GH-10374]
- core: Fallback to Vagrantfile defined box information [GH-10368]
- core/bundler: Update source ordering to properly resolve with new RubyGems [GH-10364]
- core/triggers: Only split inline script if host is non-Windows [GH-10405]
- communicator/winrm: Prepend computer name to username when running elevated commands [GH-10387]
- guest/debian: Fix halting issue when setting hostname by restarting networking on guest [GH-10301, GH-10330]
- guest/linux: Fix vagrant user access to docker after install [GH-10399]
- guest/windows: Add reboot capability to fix hostname race condition [GH-10347]
- guest/windows: Allow for reading key paths with spaces [GH-10389]
- host/windows: Fix powershell to properly handle paths with spaces [GH-10390]
- providers/docker: Deterministic host VM synced folder location for Docker VM [GH-10311]
- providers/hyperv: Fix network vlan configuration script [GH-10366]
- providers/hyperv: Properly output error message on failed guest import [GH-10404]
- providers/hyperv: Fix typo in network configuration detection script [GH-10410]

## 2.2.0 (October 16, 2018)

FEATURES:

- command/cloud: Introduce `vagrant cloud` subcommand to Vagrant [GH-10148]
- command/upload: Add command for uploading files to guest [GH-10263]
- command/winrm: Add command for executing guest commands via WinRM [GH-10263]
- command/winrm-config: Add command for providing WinRM configuration [GH-10263]

IMPROVEMENTS:

- core: Ensure file paths are identical when checking for cwd [GH-10220]
- core: Add config option `ignore_box_vagrantfile` for ignoring vagrantfile inside box [GH-10242]
- core/triggers: Add abort option to core triggers [GH-10232]
- core/triggers: Introduce `ruby` option for trigger [GH-10267]
- contrib/bash: Add completion for snapshot names for vagrant snapshot restore|delete [GH-9054]
- providers/docker: Build docker from git repo [GH-10221]
- providers/hyperv: Update Hyper-V admin check and allow override via ENV variable [GH-10275]
- providers/virtualbox: Allow base_mac to be optional [GH-10255]
- provisioners/salt: bootstrap-salt.sh: use -s with curl [GH-9432]
- provisioners/salt: remove leading space with bootstrap_options [GH-9431]

BUG FIXES:

- core/environment: Provide rgloader for local plugin installations [GH-10279]
- contrib/sudoers/osx: Fix missing comma and add remove export alias [GH-10235]
- guest/redhat: Update restart logic in redhat change_host_name cap [GH-10223]
- guest/windows: Allow special characters in SMB password field [GH-10219]
- providers/hyperv: Only use AutomaticCheckpointsEnabled when available [GH-10264]
- providers/hyperv: Only use CheckpointType when available [GH-10265]
- provisioners/ansible: Fix remote directory creation [GH-10259, GH-10258]
- provisioners/puppet: Properly set env variables for puppet provisioner on windows [GH-10218]
- provisioners/salt: Properly set salt pillar variables for windows guests [GH-10215]
- synced_folders/rsync: Ensure unique tmp dirs for ControlPath with rsync [GH-10291]

## 2.1.5 (September 12, 2018)

IMPROVEMENTS:

- core: Add `Vagrant.version?` helper method [GH-10191]
- core: Scrub sensitive values from logger output [GH-10200]
- core: Prevent multiple evaluations of Vagrantfile [GH-10199]
- command/init: Support VAGRANT_DEFAULT_TEMPLATE env var [GH-10171]
- command/powershell: Improve doc help string and fix winrm locales error [GH-10189]
- contrib/bash: autocomplete running VM names for destroy subcommand [GH-10168]
- guest/debian: Use `sudo` to determine if systemd is in use for hardened systems [GH-10198]
- guest/openbsd: Add IPv6 network template for OpenBSD machines [GH-8912]
- provisioners/salt: Allow non-windows hosts to pass along version [GH-10194]

BUG FIXES:

- core: Fix Vagrant.has_plugin? behavior before plugins are initialized [GH-10165]
- core: Check verify_host_key for falsey or :never values when generating ssh config [GH-10182]
- guest/linux: Filter out empty strings and loopback interfaces when constructing list of network interfaces [GH-10092]
- provider/hyper-v: Check for automatic checkpoint support before configuring [GH-10181]

## 2.1.4 (August 30, 2018)

BUG FIXES:

- core: Fix local plugin installation prompt answer parsing [GH-10154]
- core: Reset internal environment after plugin loading [GH-10155]
- host/windows: Fix SMB list parsing when extra fields are included [GH-10156]
- provisioners/ansible_local: Fix umask setting permission bug [GH-10140]

## 2.1.3 (August 29, 2018)

FEATURES:

- core: Support for project specific plugins [GH-10037]

IMPROVEMENTS:

- command/reload: Add `--force` flag to reload command [GH-10123]
- communicator/winrm: Display warning if vagrant-winrm plugin is detected [GH-10076]
- contrib/bash: Replace -VAGRANTSLASH- with literal slash in completion [GH-9987]
- core: Show installed version of Vagrant when displaying version check [GH-9968]
- core: Retain information of original box backing active guest [GH-10083]
- core: Only write box info if provider supports box objects [GH-10126]
- core: Update net-ssh dependency constraint to ~> 5.0.0 [GH-10066]
- core/triggers: Catch and allow for non-standard exit codes with triggers `run` options [GH-10005]
- core/triggers: Allow for spaces in `path` for trigger run option [GH-10118]
- guest/debian: Isolate network interface configuration to individual files for systemd [GH-9889]
- guest/redhat: Use libnfs-utils package if available [GH-9878]
- provider/docker: Support Docker volume consistency for synced folders [GH-9811]
- provider/hyperv: Disable synced folders on non-DrvFs file systems by default [GH-10001]
- util/downloader: Support custom suffix on user agent string [GH-9966]
- util/downloader: Prevent false positive matches on Location header [GH-10041]
- util/subprocess: Force system library paths for executables external to AppImage [GH-10078]

BUG FIXES:

- core: Disable Vagrantfile loading with plugin commands [GH-10030]
- core: Ensure the SecureRandom library is loaded for the trigger class [GH-10063]
- core/triggers: Allow trigger run args option to be a single string [GH-10116]
- util/powershell: Properly `join` commands from passed in array [GH-10115]
- guest/solaris: Add back guest detection check for Solaris derived guests [GH-10081]
- guest/windows: Be more explicit when invoking cmd.exe with mount_volume script [GH-9976]
- host/linux: Fix sudo usage in NFS capability when modifying exports file [GH-10084]
- host/windows: Remove localization dependency from SMB list generation [GH-10043]
- provider/docker: Convert windows paths for volume mounts on docker driver [GH-10100]
- provider/hyperv: Fix checkpoint configuration and properly disable automatic checkpoints by default [GH-9999]
- provider/hyperv: Remove localization dependency from access check [GH-10000]
- provider/hyperv: Enable ExposeVirtualizationExtensions only when available [GH-10079]
- provider/virtualbox: Skip link-local when fixing IPv6 route [GH-9639, GH-10077]
- push/ftp: Custom error when attempting to push too many files [GH-9952]
- util/downloader: Prevent errors when Location header contains relative path [GH-10017]
- util/guest_inspection: Prevent nmcli check from hanging when pty is enabled [GH-9926]
- util/platform: Always force string type conversion on path [GH-9998]

## 2.1.2 (June 26, 2018)

IMPROVEMENTS:

- commands/suspend: Introduce flag for suspending all machines [GH-9829]
- commands/global-status: Improve message about removing stale entries [GH-9856]
- provider/hyperv: Attempt to determine import failure cause [GH-9936]
- provider/hyperv: Update implementation. Include support for modifications on reload [GH-9872]
- provider/hyperv: Validate maxmemory configuration setting [GH-9932]
- provider/hyperv: Enable provider within WSL [GH-9943]
- provider/hyperv: Add Hyper-V accessibility check on data directory path [GH-9944]
- provisioners/ansible_local: Improve installation from PPA on Ubuntu guests.
    The compatibility is maintained only for active long-term support (LTS) versions,
    i.e. Ubuntu 12.04 (Precise Pangolin) is no longer supported. [GH-9879]

BUG FIXES:

- communicator/ssh: Update ssh private key file permission handling on Windows [GH-9923, GH-9900]
- core: Display plugin commands in help [GH-9808]
- core: Ensure guestpath or name is set with synced_folder option and dont set guestpath if not provided [GH-9692]
- guest/debian: Fix netplan generation when using DHCP [GH-9855]
- guest/debain: Update priority of network configuration file when using networkd [GH-9867]
- guest/ubuntu: Update netplan config generation to detect NetworkManager [GH-9824]
- guest/ubuntu: Fix failing Ansible installation from PPA on Bionic Beaver (18.04 LTS) [GH-9796]
- host/windows: Prevent processing of last SMB line when using net share [GH-9917]
- provisioner/chef: Prevent node_name set on configuration with chef_apply [GH-9916]
- provisioner/salt: Remove usage of masterless? config attribute [GH-9833]

## 2.1.1 (May 7, 2018)

IMPROVEMENTS:

- guest/linux: Support builtin vboxsf module for shared folders [GH-9800]
- host/windows: Update SMB capability to work without Get-SmbShare cmdlet [GH-9785]

BUG FIXES:

- core/triggers: Initialize internal trigger object for machine before initializing provider [GH-9784]
- core/triggers: Ensure internal trigger fire does not get called if plugin installed [GH-9799]
- provider/hyperv: Call import script with switchid instead of switchname [GH-9781]

## 2.1.0 (May 3, 2018)

FEATURES:

- core: Integrate vagrant-triggers plugin functionality into core Vagrant [GH-9713]

IMPROVEMENTS:

- core: Improve messaging around not finding requested provider [GH-9735]
- core: Disable exception reports by default [GH-9738]
- core: Continue on if vagrant fails to parse metadata box for update [GH-9760]
- hosts/linux: Support RDP capability within WSL [GH-9758]
- hosts/windows: Add SMB default mount options capability and set default version to 2.0 [GH-9734]
- provider/hyperv: Include neighbor check for MAC on guest IP detection [GH-9737]
- provider/virtualbox: Do not require VirtualBox availability within WSL [GH-9759]
- provisioner/chef_zero: Support arrays for data_bags_path [GH-9669]
- util/downloader: Don't raise error if response is HTTP 416 [GH-9729]
- util/platform: Update Hyper-V enabled check [GH-9746]

BUG FIXES:

- communicators/ssh: Log error and proceed on Windows private key permissions [GH-9769]
- middleware/authentication: Prevent URL modification when no changes are required [GH-9730]
- middleware/authentication: Ignore URLs which cannot be parsed [GH-9739]
- provider/hyperv: Reference switches by ID instead of name [GH-9747]
- provider/docker: Use Util::SafeExec if docker-exec is run with `-t` option [GH-9761]
- provisioner/chef: Trim drive letter from path on Windows [GH-9766]
- provisioner/puppet: Properly finalize structured_facts config option [GH-9720]
- util/platform: Fix original WSL to Windows path for "root" directory [GH-9696]

## 2.0.4 (April 20, 2018)

FEATURES:

- core: Vagrant aliases [GH-9504]

IMPROVEMENTS:

- communicators/ssh: Update file permissions when generating new key pairs [GH-9676]
- core: Make resolv-replace usage opt-in instead of opt-out [GH-9644]
- core: Suppress error messages from checkpoint runs [GH-9645]
- guests/coreos: Identify operating systems closely related to CoreOS [GH-9600]
- guests/debian: Adjust network configuration file prefix to 50- [GH-9646]
- guests/photon: Less specific string grep to fix PhotonOS 2.0 detection [GH-9528]
- guests/windows: Fix slow timeout when updating windows hostname [GH-9578]
- hosts/windows: Make powershell version detection timeout configurable [GH-9506]
- providers/virtualbox: Improve network collision error message [GH-9685]
- provisioner/chef_solo: Improve Windows drive letter removal hack for remote paths[GH-9490]
- provisioner/chef_zero: File path expand all chef_zero config path options [GH-9690]
- provisioner/puppet: Puppet structured facts toyaml on provisioner [GH-9670]
- provisioner/salt: Add master_json_config & minion_json_config options [GH-9420]
- util/platform: Warn on ArgumentError exceptions from encoding [GH-9506]

BUG FIXES:

- commands/package: Fix uninitialized constant error [GH-9654]
- communicators/winrm: Fix command filter to properly parse commands [GH-9673]
- hosts/windows: Properly respect the VAGRANT_PREFER_SYSTEM_BIN environment variable [GH-9503]
- hosts/windows: Fix virtualbox shared folders path for windows guests [GH-8099]
- guests/freebsd: Fix typo in command that manages configuring networks [GH-9705]
- util/checkpoint_client: Respect VAGRANT_CHECKPOINT_DISABLE environment variable [GH-9659]
- util/platform: Use `--version` instead of `version` for WSL validation [GH-9674]

## 2.0.3 (March 15, 2018)

IMPROVEMENTS:

  - guests/solaris: More explicit Solaris 11 and inherit SmartOS from Solaris [GH-9398]
  - hosts/windows: Add support for latest WSL release [GH-9525, GH-9300]
  - plugins/login: Update middleware to re-map hosts and warn on custom server [GH-9499]
  - providers/hyper-v: Exit if Hyper-V is enabled and VirtualBox provider is used [GH-9456]
  - provisioners/salt: Change to a temporary directory before downloading script files [GH-9351]
  - sycned_folders/nfs: Default udp to false when using version 4 [GH-8828]
  - util/downloader: Notify on host redirect [GH-9344]

BUG FIXES:

  - core: Use provider override when specifying box_version [GH-9502]
  - guests/debian: Renew DHCP lease on hostname change [GH-9405]
  - guests/debian: Point hostname to 127.0.1.1 in /etc/hosts [GH-9404]
  - guests/debian: Update systemd? check for guest inspection [GH-9459]
  - guests/debian: Use ip route in dhcp template [GH-8730]
  - guests/gentoo: Disable if/netplugd when setting up a static ip on a gentoo guest using openrc [GH-9261]
  - guests/openbsd: Atomically apply new hostname.if(5) [GH-9265]
  - hosts/windows: Fix halt problem when determining powershell version on old powershells [GH-9470]
  - hosts/windows: Convert to windows path if on WSL during vbox export [GH-9518]
  - providers/virtualbox: Fix hostonly matching not respecting :name argument [GH-9302]
  - util/credential_scrubber: Ignore empty strings [GH-9472, GH-9462]

## 2.0.2 (January 29, 2018)

FEATURES:

  - core: Provide mechanism for removing sensitive data from output [GH-9276]
  - core: Relax Ruby constraints to include 2.5 [GH-9363]
  - core: Hide sensitive values in output [GH-9369]
  - command/init: Support custom Vagrantfile templates [GH-9202]
  - guests: Add support for the Haiku operating system [GH-7805, GH-9245]
  - synced_folders/smb: Add support for macOS hosts [GH-9294]
  - vagrant-spec: Update vagrant-spec to include Windows platforms and updated linux boxes [GH-9183]

IMPROVEMENTS:

  - config/ssh: Deprecate :paranoid in favor of :verify_host_key [GH-9341]
  - core: Add optional timestamp prefix on log output [GH-9269]
  - core: Print more helpful error message for NameEror exceptions in Vagrantfiles [GH-9252]
  - core: Update checkpoint implementation to announce updates and support notifications [GH-9380]
  - core: Use Ruby's Resolv by default [GH-9394]
  - docs: Include virtualbox 5.2.x as supported in docs [GH-9237]
  - docs: Improve how to pipe debug log on powershell [GH-9330]
  - guests/amazon: Improve guest detection [GH-9307]
  - guests/debian: Update guest configure networks [GH-9338]
  - guests/dragonflybsd: Base guest on FreeBSD to inherit more functionality [GH-9205]
  - guests/linux: Improve NFS service name detection and interactions [GH-9274]
  - guests/linux: Support mount option overrides for SMB mounts [GH-9366]
  - guests/linux: Use `ip` for reading guest address if available [GH-9315]
  - guests/solaris: Improve guest detection for alternatives [GH-9295]
  - hosts/windows: Check credentials during SMB prepare [GH-9365]
  - providers/hyper-v: Ensure Hyper-V cmdlets are fully qualified [GH-8863]
  - middleware/authentication: Add app.vagrantup.com to allowed hosts [GH-9145]
  - provisioners/shell: Support hiding environment variable values in output [GH-9367]
  - providers/virtualbox: Add a clean error message for invalid IP addresses [GH-9275]
  - providers/virtualbox: Introduce flag for SharedFoldersEnableSymlinksCreate setting [GH-9354]
  - providers/virtualbox: Provide warning for SharedFoldersEnableSymlinksCreate setting [GH-9389]
  - provisioners/salt: Fixes timeout issue in salt bootstrapping for windows [GH-8992]
  - synced_folders/smb: Update Windows implementation [GH-9294]
  - util/ssh: Attempt to locate local ssh client before attempting installer provided [GH-9400]

BUG FIXES:

  - commands/box: Show all box providers with `update outdated --global` [GH-9347]
  - commands/destroy: Exit 0 if vagrant destroy finds no running vms [GH-9251]
  - commands/package: Fix --output path with specified folder [GH-9131]
  - guests/suse: Do not use full name when setting hostname [GH-9212]
  - providers/hyper-v: Fix enable virtualization extensions on import [GH-9255]
  - provisioners/ansible(both): Fix broken 'ask_sudo_pass' option [GH-9173]

## 2.0.1 (November 2, 2017)

FEATURES:

  - core: Introduce Ruby 2.4 to Vagrant [GH-9102]
  - providers/virtualbox: Virtualbox 5.2 support [GH-8955]

IMPROVEMENTS:

  - command/destroy: Introduce parallel destroy for certain providers [GH-9127]
  - communicators/winrm: Include APIPA check within ready check [GH-8997]
  - core: Clear POSIXLY_CORRECT when using optparse [GH-8685]
  - docs: Add auto_start_action and auto_stop_action to docs. [GH-9029]
  - docs: Fix typo in box format doc [GH-9100]
  - provisioners/chef: Handle chef provisioner reboot request [GH-8874]
  - providers/salt: Support Windows Salt Minions greater than 2016.x.x [GH-8926]
  - provisioners/salt: Add wget to bootstrap_salt options when fetching installer file [GH-9112]
  - provisioners/shell: Use ui.detail for displaying output [GH-8983]
  - util/downloader: Use CURL_CA_BUNDLE environment variable [GH-9135]

BUG FIXES:

  - communicators/ssh: Retry on Errno::EPIPE exceptions [GH-9065]
  - core: Rescue more exceptions when checking if port is open [GH-8517]
  - guests/solaris11: Inherit from Solaris guest and keep solaris11 specific methods [GH-9034]
  - guests/windows: Split out cygwin path helper for msys2/cygwin paths and ensure cygpath exists [GH-8972]
  - guests/windows: Specify expected shell when executing on guest (fixes winssh communicator usage) [GH-9012]
  - guests/windows: Include WinSSH Communicator when using insert_public_key [GH-9105]
  - hosts/windows: Check for vagrant.exe when validating versions within WSL [GH-9107, GH-8962]
  - providers/docker: Isolate windows check within executor to handle running through VM [GH-8921]
  - providers/hyper-v: Properly invoke Auto stop action [GH-9000]
  - provisioners/puppet: Fix winssh communicator support in puppet provisioner [GH-9014]
  - virtualbox/synced_folders: Allow synced folders to contain spaces in the guest path [GH-8995]

## 2.0.0 (September 7, 2017)

IMPROVEMENTS:

  - commands/login: Add support for two-factor authentication [GH-8935]
  - commands/ssh-config: Properly display windows path if invoked from msys2 or
      cygwin [GH-8915]
  - guests/alt: Add support for ALT Linux [GH-8746]
  - guests/kali: Fix file permissions on guest plugin ruby files [GH-8950]
  - hosts/linux: Provide common systemd detection for services interaction, fix NFS
      host interactions [GH-8938]
  - providers/salt: Remove duplicate stdout, stderr output from salt [GH-8767]
  - providers/salt: Introduce salt_call_args and salt_args option for salt provisioner
      [GH-8927]
  - providers/virtualbox: Improving resilience of some VirtualBox commands [GH-8951]
  - provisioners/ansible(both): Add the compatibility_mode option, with auto-detection
      enabled by default [GH-8913, GH-6570]
  - provisioners/ansible: Add the version option to the host-based provisioner
      [GH-8913, GH-8914]
  - provisioners/ansible(both): Add the become and become_user options with deprecation
      of sudo and sudo_user options [GH-8913, GH-6570]
  - provisioners/ansible: Add the ask_become_pass option with deprecation of the
      ask_sudo_pass option [GH-8913, GH-6570]

BUG FIXES:

  - guests/shell_expand_guest_path : Properly expand guest paths that include relative
      path alias [GH-8918]
  - hosts/linux: Remove duplicate export folders before writing /etc/exports [GH-8945]
  - provisioners/ansible(both): Add single quotes to the inventory host variables, only
      when necessary [GH-8597]
  - provisioners/ansible(both): Add the "all:vars" section to the inventory when defined
      in `groups` option [GH-7730]
  - provisioners/ansible_local: Extra variables are no longer truncated when a dollar ($)
      character is present [GH-7735]
  - provisioners/file: Align file provisioner functionality on all platforms [GH-8939]
  - util/ssh: Properly quote key path for IdentityFile option to allow for spaces [GH-8924]

BREAKING CHANGES:

  - Both Ansible provisioners are now capable of automatically setting the compatibility_mode that
      best fits with the Ansible version in use. You may encounter some compatibility issues when
      upgrading. If you were using Ansible 2.x and referring to the _ssh-prefixed variables present
      in the generated inventory (e.g. `ansible_ssh_host`). In this case, you can fix your Vagrant
      setup by setting compatibility_mode = "1.8", or by migrating to the new variable names (e.g.
      ansible_host).

## 1.9.8 (August 23, 2017)

IMPROVEMENTS:

  - bash: Add box prune to contrib bash completion [GH-8806]
  - commands/login: Ask for description of Vagrant Cloud token [GH-8876]
  - commands/validate: Improve functionality of the validate command [GH-8889]n
  - core: Updated Vagrants rspec gem to 3.5.0 [GH-8850]
  - core: Validate powershell availability and version before use [GH-8839]
  - core: Introduce extra_args setting for ssh configs [GH-8895]
  - docs: Align contrib/sudoers file for ubuntu linux with docs [GH-8842]
  - provider/hyperv: Prefer IPv4 guest address [GH-8831, GH-8759]
  - provisioners/chef: Add config option omnibus_url for chef provisioners [GH-8682]
  - provisioners/chef: Improve exception handling around missing folder paths [GH-8775]

BUG FIXES:

  - box/update: Add force flag for box upgrade command [GH-8871]
  - commands/rsync-auto: Ensure relative dirs are still rsync'd if defined [GH-8781]
  - commands/up: Disable install providers when using global id on vagrant up [GH-8910]
  - communicators/winssh: Fix public key insertion to retain ACL [GH-8790]
  - core: Update util/ssh to use `-o` for identity files [GH-8786]
  - guests/freebsd: Fix regex for listing network devices on some FreeBSD boxes. [GH-8760]
  - hosts/windows: Prevent control characters in version check for WSL [GH-8902, GH-8901]
  - providers/docker: Split String type links into Array when using compose [GH-8837, GH-8821]
  - providers/docker: Expand relative volume paths correctly [GH-8838, GH-8822]
  - providers/docker: Error when compose option enabled with force_host_vm [GH-8911]
  - provisioners/ansible: Update to use `-o` for identity files [GH-8786]
  - provisioners/file: Ensure remote folder exists prior to scp file or folder [GH-8880]
  - provisioners/salt: Fix error case when github is unreachable for installer [GH-8864]
  - provisioners/shell: Allow frozen string scripts [GH-8875]
  - provisioners/puppet: Remove `--manifestdir` flag from puppet apply in provisioner [GH-8797]
  - synced_folders/rsync: Correctly format IPv6 host [GH-8840, GH-8809]

## 1.9.7 (July 7, 2017)

FEATURES:

  - core: Add support for preferred providers [GH-8558]

IMPROVEMENTS:

  - guests/bsd: Invoke `tee` with explicit path [GH-8740]
  - guests/smartos: Guest updates for host name and nfs capabilities [GH-8695]
  - guests/windows: Add public key capabilities for WinSSH communicator [GH-8761]
  - hosts/windows: Log command exec encoding failures and use original string on failure [GH-8820]
  - providers/virtualbox: Filter machine IPs when preparing NFS settings [GH-8819]

BUG FIXES:

  - communicators/winssh: Make script upload directory configurable [GH-8761]
  - core: Update cygwin detection to prevent PATH related errors [GH-8749, GH-6788]
  - core: Fix URI parsing of box names to prevent errors [GH-8762, GH-8758]
  - provider/docker: Only rsync-auto current working dir with docker provider [GH-8756]

## 1.9.6 (June 28, 2017)

IMPROVEMENTS:

  - commands/snapshot: Enforce unique snapshot names and introduce `--force` flag [GH-7810]
  - commands/ssh: Introduce tty flag for `vagrant ssh -c` [GH-6827]
  - core: Warn about vagrant CWD changes for a machine [GH-3921]
  - core: Allow Compression and DSAAuthentication ssh flags to be configurable [GH-8693]
  - core/box: Warn if user sets box as url [GH-7118]
  - core/bundler: Enforce stict constraints on vendored libraries [GH-8692]
  - guests/kali: Add support for guest [GH-8553]
  - guests/smartos: Update halt capability and add public key insert and remove capabilities [GH-8618]
  - provisioners/ansible: Fix SSH keys only behavior to be consistent with Vagrant [GH-8467]
  - providers/docker: Add post install provisioner for docker setup [GH-8722]
  - snapshot/delete: Improve error message when given snapshot doesn't exist [GH-8653]
  - snapshot/list: Raise exception if provider does not support snapshots [GH-8619]
  - snapshot/restore: Improve error message when given snapshot doesn't exist [GH-8653]
  - snapshot/save: Raise exception if provider does not support snapshots [GH-8619]

BUG FIXES:

  - communicators/ssh: Move `none` cipher to end of default cipher list in Net::SSH [GH-8661]
  - core: Add unique identifier to provisioner objects [GH-8680]
  - core: Stop config loader from loading dupe config if home and project dir are equal [GH-8707]
  - core/bundler: Impose constraints on update and allow system plugins to properly update [GH-8729]
  - guests/linux: Strip whitespace from GID [GH-8666, GH-8664]
  - guests/solaris: Do not use UNC style path for shared folders from windows hosts [GH-7723]
  - guests/windows: Fix directory creation when using rsync for synced folders [GH-8588]
  - hosts/windows: Force common encoding when running system commands [GH-8725]
  - providers/docker: Fix check for docker-compose [GH-8659, GH-8660]
  - providers/docker: Fix SSH under docker provider [GH-8706]
  - providers/hyperv: Fix box import [GH-8678, GH-8677]
  - provisioners/ansible_local: Catch pip_args in FreeBSD's and SUSE's ansible_install [GH-8676]
  - provisioners/salt: Fix minion ID configuration [GH-7865, GH-7454]
  - snapshot/restore: Exit 1 if vm has not been created when command is invoked [GH-8653]

## 1.9.5 (May 15, 2017)

FEATURES:

  - hosts/windows: Support running within WSL [GH-8570, GH-8582]

IMPROVEMENTS:

  - communicators/ssh: Retry on aborted connections [GH-8526, GH-8520]
  - communicators/winssh: Enabling shared folders and networking setup [GH-8567]
  - core: Remove nokogiri dependency and constraint [GH-8571]
  - guests: Do not modify existing /etc/hosts content [GH-8506, GH-7794]
  - guests/redhat: Update network configuration capability to properly handle NM [GH-8531]
  - hosts/windows: Check for elevated shell for Hyper-V [GH-8548, GH-8510]
  - hosts/windows: Fix invalid share names on Windows guests from Windows hosts [GH-8433]
  - providers: Return errors from docker/hyperv on ssh when not available [GH-8565, GH-8508]
  - providers/docker: Add support for driving provider with docker-compose [GH-8576]

BUG FIXES:

  - guests/debian: Fix use_dhcp_assigned_default_route [GH-8577, GH-8575]
  - provisioners/shell: Fix Windows batch file provisioning [GH-8539, GH-8535]
  - providers/docker: Fall back to old style for SSH info lookup [GH-8566, GH-8552]
  - providers/hyperv: Fix import script [GH-8529]
  - providers/hyperv: Use string comparison for conditional checks in import scripts [GH-8568, GH-8444]

## 1.9.4 (April 24, 2017)

FEATURES:

  - command/validate: Add Vagrantfile validation command [GH-8264, GH-8151]
  - communicators/winssh: Add WinSSH communicator for Win32-OpenSSH [GH-8485]
  - provider/hyperv: Support integration services configuration [GH-8379, GH-8378]

IMPROVEMENTS:

  - core: Update internal dependencies [GH-8329, GH-8456]
  - core/bundler: Warn when plugin require fails instead of generating hard failure [GH-8400, GH-8392]
  - core/bundler: Error when configured plugin sources are unavailable [GH-8442]
  - guests/elementary: Add support for new guest "Elementary OS" [GH-8472]
  - guests/esxi: Add public_key capability [GH-8310]
  - guests/freebsd: Add chef_install and chef_installed? capabilities [GH-8443]
  - guests/gentoo: Add support for systemd in network configuration [GH-8407, GH-8406]
  - guests/windows: Support mounting synced folders via SSH on windows [GH-7425, GH-6220]
  - hosts/windows: Improve user permission detection [GH-7797]
  - provider/docker: Improve IP and port detection [GH-7840, GH-7651]
  - provider/docker: Do not force docker host VM on Darwin or Windows [GH-8437, GH-7895]
  - provisioners/ansible_local: Add `pip_args` option to define additional parameters when installing Ansible via pip [GH-8170, GH-8405]
  - provisioners/ansible_local: Add `:pip_args_only` install mode to allow full custom pip installations [GH-8405]
  - provisioners/salt: Update minion version installed to 2016.11.3 [GH-8448]

BUG FIXES:

  - command/box: Remove extraneous sort from box list prior to display [GH-8422]
  - command/box: Properly handle local paths with spaces for box add [GH-8503, GH-6825]
  - command/up: Prevent other provider installation when explicitly defined [GH-8393, GH-8389]
  - communicators/ssh: Do not yield empty output data [GH-8495, GH-8259]
  - core: Provide fallback and retry when 0.0.0.0 is unavailable during port check [GH-8399, GH-8395]
  - core: Support port checker methods that do not expect inclusion of host_ip [GH-8497, GH-8423]
  - core/bundler: Check if source is local path and prevent addition to remote sources [GH-8401]
  - core/ui: Prevent deadlock detection errors [GH-8414, GH-8125]
  - guests/debian: Remove hardcoded device name in interface template [GH-8336, GH-7960]
  - guests/linux: Fix SMB mount capability [GH-8410, GH-8404]
  - hosts/windows: Fix issues with Windows encoding [GH-8385, GH-8380, GH-8212, GH-8207, GH-7516]
  - hosts/windows: Fix UNC path generation when UNC path is provided [GH-8504]
  - provisioners/salt: Allow Salt version to match 2 digit month [GH-8428]
  - provisioners/shell: Properly handle remote paths on Windows that include spaces [GH-8498, GH-7234]

## 1.9.3 (March 21, 2017)

IMPROVEMENTS:

  - command/plugin: Remove requirement for paths with no spaces [GH-7967]
  - core: Support host_ip for forwarded ports [GH-7035, GH-8350]
  - core: Include disk space hint in box install failure message [GH-8089]
  - core/bundler: Allow vagrant constraint matching in prerelease mode [GH-8341]
  - provisioner/docker: Include /bin/docker as valid path [GH-8390]
  - provider/hyperv: Support enabling Hyper-V nested virtualization [GH-8325, GH-7738]

BUG FIXES:

  - communicator/winrm: Prevent inaccurate WinRM address [GH-7983, GH-8073]
  - contrib/bash: Handle path spaces in bash completion [GH-8337]
  - core: Fix box sorting on find and list [GH-7956, GH-8334]
  - core/bundler: Force path as preferred source on install [GH-8327]
  - core/provision: Update "never" behavior to match documentation [GH-8366, GH-8016]
  - plugins/push: Isolate deprecation to Atlas strategy only
  - plugins/synced_folders: Give UID/GID precedence if found within mount options
      [GH-8122, GH-8064, GH-7859]

## 1.9.2 (February 27, 2017)

FEATURES:

  - providers/hyperv: Support packaging of Hyper-V boxes [GH-7867]
  - util/command_deprecation: Add utility module for command deprecation [GH-8300]
  - util/subprocess: Add #stop and #running? methods [GH-8270]

IMPROVEMENTS:

  - commands/expunge: Display default value on prompt and validate input [GH-8192, GH-8171]
  - communicator/winrm: Refactor WinRM communicator to use latest WinRM
      gems and V2 API [GH-8102]
  - core: Scrub URL credentials from output when adding boxes [GH-8194, GH-8117]
  - providers/hyperv: Prefer VMCX over XML configuration when VMCX is supported [GH-8119]

BUG FIXES:

  - command/init: Include box version when using minimal option [GH-8283, GH-8282]
  - command/package: Fix SecureRandom constant error [GH-8159]
  - communicator/ssh: Remove any STDERR output prior to command execution [GH-8291, GH-8288]
  - core/bundler: Prevent pristine warning messages [GH-8191, GH-8190, GH-8147]
  - core/bundler: Fix local installations of pre-release plugins [GH-8252, GH-8253]
  - core/bundler: Prefer user defined source when installing plugins [GH-8273, GH-8210]
  - core/environment: Prevent persisting original environment variable if name is empty
      [GH-8198, GH-8126]
  - core/environment: Fix gems_path location [GH-8248]
  - core/environment: Properly expand dotfile path [GH-8196, GH-8108]
  - guests/arch: Fix configuring multiple network interfaces [GH-8165]
  - guests/linux: Fix guest detection for names with spaces [GH-8092]
  - guests/redhat: Fix network interface configuration [GH-8148]

DEPRECATIONS:

  - command/push: Disable push command [GH-8300]

## 1.9.1 (December 7, 2016)

IMPROVEMENTS:

  - core: Disable Vagrantfile loading when running plugin commands [GH-8066]
  - guests/redhat: Detect and restart NetworkManager service if in use [GH-8052, GH-7994]

BUG FIXES:

  - core: Detect load failures within install solution sets and retry [GH-8068]
  - core: Prevent interactive shell on plugin uninstall [GH-8086, GH-8087]
  - core: Remove bundler usage from Util::Env [GH-8090, GH-8094]
  - guests/linux: Prevent stderr output on init version check for synced folders [GH-8051]

## 1.9.0 (November 28, 2016)

FEATURES:

  - commands/box: Add `prune` subcommand for removing outdated boxes [GH-7978]
  - core: Remove Bundler integration for handling internal plugins [GH-7793, GH-8000, GH-8011, GH-8031]
  - providers/hyperv: Add support for Hyper-V binary configuration format
      [GH-7854, GH-7706, GH-6102]
  - provisioners/shell: Support MD5/SHA1 checksum validation of remote scripts [GH-7985, GH-6323]

IMPROVEMENTS:

  - commands/plugin: Retain name sorted output when listing plugins [GH-8028]
  - communicator/ssh: Support custom environment variable export template
      [GH-7976, GH-6747]
  - provisioners/ansible(both): Add `config_file` option to point the location of an
      `ansible.cfg` file via ANSIBLE_CONFIG environment variable [GH-7195, GH-7918]
  - synced_folders: Support custom naming and disable auto-mount [GH-7980, GH-6836]

BUG FIXES:

  - guests/linux: Do not match interfaces with special characters when sorting [GH-7989, GH-7988]
  - provisioner/salt: Fix Hash construction for constant [GH-7986, GH-7981]

## 1.8.7 (November 4, 2016)

IMPROVEMENTS:

  - guests/linux: Place ethernet devices at start of network devices list [GH-7848]
  - guests/linux: Provide more consistent guest detection [GH-7887, GH-7827]
  - guests/openbsd: Validate guest rsync installation success [GH-7929, GH-7898]
  - guests/redhat: Include Virtuozzo Linux 7 within flavor identification [GH-7818]
  - guests/windows: Allow vagrant to start Windows Nano without provisioning [GH-7831]
  - provisioners/ansible_local: Change the Ansible binary detection mechanism [GH-7536]
  - provisioners/ansible(both): Add the `playbook_command` option [GH-7881]
  - provisioners/puppet: Support custom environment variables [GH-7931, GH-7252, GH-2270]
  - util/safe_exec: Use subprocess for safe_exec on Windows [GH-7802]
  - util/subprocess: Allow closing STDIN [GH-7778]

BUG FIXES:

  - communicators/winrm: Prevent connection leakage [GH-7712]
  - core: Prevent duplicate provider priorities [GH-7756]
  - core: Allow Numeric type for box version [GH-7874, GH-6960]
  - core: Provide friendly error when user environment is too large [GH-7889, GH-7857]
  - guests: Remove `set -e` usage for better shell compatibility [GH-7921, GH-7739]
  - guests/linux: Fix incorrectly configured private network [GH-7844, GH-7848]
  - guests/linux: Properly order network interfaces
      [GH-7866, GH-7876, GH-7858, GH-7876]
  - guests/linux: Only emit upstart event if initctl is available [GH-7813]
  - guests/netbsd: Fix rsync installation [GH-7922, GH-7901]
  - guests/photon: Fix networking setup [GH-7808, GH-7873]
  - guests/redhat: Properly configure network and restart service [GH-7751]
  - guests/redhat: Prevent NetworkManager from managing devices on initial start [GH-7926]
  - hosts/linux: Fix race condition in writing /etc/exports file for NFS configuration
      [GH-7947, GH-7938] - Thanks to Aron Griffis (@agriffis) for identifying this issue
  - plugins/rsync: Escape exclude paths [GH-7928, GH-7910]
  - providers/docker: Remove --interactive flag when pty is true [GH-7688]
  - provisioners/ansible_local: Use enquoted path for file/directory existence checks
  - provisioners/salt: Synchronize configuration defaults with documentation [GH-7907, GH-6624]
  - pushes/atlas: Fix atlas push on Windows platform [GH-6938, GH-7802]

## 1.8.6 (September 27, 2016)

IMPROVEMENTS:

  - Add detection for DragonFly BSD [GH-7701]
  - Implement auto_start and auto_stop actions for Hyper-V [GH-7647]
  - communicators/ssh: Remove any content prepended to STDOUT [GH-7676, GH-7613]

BUG FIXES:

  - commands/package: Provide machine data directory for base box package
      [GH-5070, GH-7725]
  - core: Fix windows path formatting [GH-6598]
  - core: Fixes for ssh-agent interactions [GH-7703, GH-7621, GH-7398]
  - core: Support VAGRANT_DOTFILE_PATH relative to the Vagrantfile [GH-7623]
  - guests: Prevent ssh disconnect errors on halt command [GH-7675]
  - guests/bsd: Remove Darwin matching [GH-7701]
  - guests/linux: Fix SSH key permissions [GH-7610, GH-7611]
  - guests/linux: Always sort discovered network interfaces [GH-7705, GH-7668]
  - guests/linux: Fixes for user and group ID lookups for virtualbox shared folders
      [GH-7616, GH-7662, GH-7720]
  - guests/openbsd: Add custom halt capability [GH-7701]
  - guests/ubuntu: Fix detection on older guests [GH-7632, GH-7524, GH-7625]
  - hosts/arch: Detect NFS server by service name on arch [GH-7630, GH-7629]
  - hosts/darwin: Fix generated RDP configuration file [GH-7698]
  - provisioners/ansible: Add support for `ssh.proxy_command` setting [GH-7752]
  - synced_folders/nfs: Display warning when configured for NFSv4 and UDP [GH-7740]
  - synced_folders/rsync: Properly ignore excluded files within synced directory
      from `chown` command. [GH-5256, GH-7726]

## 1.8.5 (July 18, 2016)

FEATURES:

  - core: Provide a way to globally disable box update checks with the
      environment variable `VAGRANT_BOX_UPDATE_CHECK_DISABLE`. Setting this
      to any non-empty value will instruct Vagrant to not look for box updates
      when running `vagrant up`. Setting this environment variable has no
      effect on the `vagrant box` commands.

IMPROVEMENTS:

  - guests/arch: Support installing synced folder clients [GH-7519]
  - guests/darwin: Allow ipv6 static networks [GH-7491]
  - providers/virtualbox: Add support for 5.1 [GH-7574]

BUG FIXES:

  - core: Bump listen gem and Ruby version to improve rsync performance
      [GH-7453, GH-7441]
  - core: Check process stdout when detecting if a hyperv admin
      [GH-7465, GH-7467]
  - core: Ensure removal of temporary directory when box download fails
      [GH-7496, GH-7499]
  - core: Fix regression for installing plugins from path [GH-7505, GH-7493]
  - core: Skip checking conflicts on disabled ports [GH-7587]
  - core: Idempotent write-out for state file [GH-7550]
  - core/guests: Create common BSD guest for shared logic
  - core/guests: Ignore empty output from `/sbin/ip`
      [GH-7539, GH-7537, GH-7533, GH-7605]
  - synced_folders/nfs: Shellescape rsync paths
      [GH-7540, GH-7605]
  - synced_folders/nfs: Ensure retries take place [GH-6360, GH-7605]
  - synced_folders/rsync: Shellescape rsync paths
      [GH-7580, GH-6690, GH-7579, GH-7605]
  - synced_folders/rsync: Translate Windows paths
      [GH-7012, GH-6702, GH-6568, GH-7046]
  - guests/bsd: Consolidate core logic for mounting NFS folders
      [GH-7480, GH-7474, GH-7466]
  - guests/bsd: Consolidate core logic for public key management [GH-7481]
  - guests/bsd: Consolidate core logic for halting [GH-7484]
  - guests/centos: Use `ip` instead of `ifconfig` to detect network interfaces
      [GH-7460]
  - guests/debian: Ensure newline when inserting public key [GH-7456]
  - guests/linux: Ensure NFS retries during mounting [GH-7492]
  - guests/redhat: Use `/sbin/ip` to list and configure networks for
      compatability with older versions of CentOS [GH-7482]
  - guests/redhat: Ensure newline when inserting public key [GH-7598, GH-7605]
  - guests/ubuntu: Use /etc/os-release to detect [GH-7524]
  - guests/ubuntu: Use short hostname [GH-7488, GH-7605]
  - providers/hyperv: Fix version check and catch statement [GH-7447, GH-7487]

## 1.8.4 (June 13, 2016)

BUG FIXES:

  - core: Fix bundler plugin issue and version constraint [GH-7418, GH-7415]
  - providers/virtualbox: Use 8 network interfaces (due to Windows limitation)
      [GH-7417, GH-7419]
  - provisioners/ansible(both): Honor "galaxy_roles_path" option when running
      ansible-playbook [GH-7269, GH-7420]
  - provisioners/ansible_local: Add quotes around "ansible-galaxy" arguments
      [GH-7420]

IMPROVEMENTS:

  - guests/redhat: Add CloudLinux detection [GH-7428, GH-7427]

## 1.8.3 (June 10, 2016)

BREAKING CHANGES:

  - The `winrm` communicator now shares the same upload behavior as the `ssh`
      communicator. This change should have no impact to most vagrant operations
      but may break behavior when uploading directories to an existing
      destination target. The `file` provisioner should be the only builtin
      provisioner affected by this change. When uploading a directory and the
      destination directory exists on the endpoint, the source base directory
      will be created below the destination directory on the endpoint and the
      source directory contents will be unzipped to that location. Prior to this
      release, the contents of the source directory would be unzipped to an
      existing destination directory without creating the source base directory.
      This new behavior is more consistent with SCP and other well known shell copy commands.
  - The Chef provisioner's `channel` default value has changed from "current" to
      "stable". The "current" channel includes nightly releases and should be
      opt-in only. Note that users wishing to download the Chef Development Kit
      will need to opt into the "current" channel until Chef Software promotes
      into the "stable" channel.
  - The Arch Linux host capability for NFS removed support for rc.d in favor or
      systemd which has been present since 2012. Please see GH-7181 for more
      information.

FEATURES:

  - provider/docker: Allow non-linux users to opt-out of the host VM to run
      Docker containers by setting `config.force_host_vm = false` in the
      Vagrantfile. This is especially useful for customers who wish to use
      the beta builds for Mac and Windows, dlite, or a custom provider.
      [GH-7277, GH-7298, 8c11b53]
  - provider/docker: New command: `docker-exec` allows attaching to an
      already-running container.
      [GH-7377, GH-6566, GH-5193, GH-4904, GH-4057, GH-4179, GH-4903]

IMPROVEMENTS:

  - core/downloader: increase box resume download limit to 24h
      [GH-7352, GH-7272]
  - core/package: run validations prior to packaging [GH-7353, GH-7351]
  - core/action: make `start` ("vagrant up") run provisioners [GH-4467, GH-4421]
  - commands/all: Make it clear that machine IDs can be specified
      [GH-7356, GH-7228]
  - commands/init: Add support for specifying the box version [GH-7363, GH-5004]
  - commands/login: Print a warning with both the environment variable and
      local login token are present [GH-7206, GH-7219]
  - communicators/winrm: Upgrade to latest WinRM gems [GH-6922]
  - provisioners/ansible_local: Allow to install Ansible from pip,
      with version selection capability [GH-6654, GH-7167]
  - provisioners/ansible_local: Use `provisioning_path` as working directory
      for `ansible-galaxy` execution
  - provisioners/ansible(both provisioners): Add basic config
      validators/converters on `raw_arguments` and `raw_ssh_args` options
      [GH-7103]
  - provisioners/chef: Add the ability to install on SUSE [GH-6806]
  - provisioners/chef: Support legacy solo mode [GH-7327]
  - provisioners/docker: Restart container if newer image is available
      [GH-7358, GH-6620]
  - hosts/arch: Remove sysvinit and assume systemd [GH-7181]
  - hosts/linux: Do not use a pager with systemctl commands [GH-7270]
  - hosts/darwin: Add `extra_args` support for RDP [GH-5523, GH-6602]
  - hosts/windows: Use SafeExec to capture history in Powershell [GH-6749]
  - guests/amazon: Add detection [GH-7395, GH-7254]
  - guests/freebsd: Add quotes around hostname [GH-6867]
  - guests/fedora: Add support for ipv6 static networks [GH-7275, GH-7276]
  - guests/tinycore: Add support for shared folders [GH-6977, GH-6968]
  - guests/trisquel: Add initial support [GH-6842, GH-6843]
  - guests/windows: Add support for automatic login (no password prompting)
      [GH-5670]
  - core: Add `--no-delete` and provisioning flags to snapshot restore/pop
      [GH-6879]
  - providers/docker: Allow TCP and UDP ports on the same number [GH-7365,
      GH-5527]
  - providers/hyperv: Add support for differencing disk [GH-7090]
  - providers/hyperv: Add support for snapshots [GH-7110]
  - providers/hyperv: Reinstate compatibility with PS 4 [GH-7108]
  - providers/virtualbox: Add linked clone support for Virtualbox 1.4 [GH-7050]
  - synced_folders/nfs: Read static and dynamic IPs [GH-7290, GH-7289]

BUG FIXES:

  - core: Bump nokogiri version to fix windows bug [GH-6766, GH-6848]
  - core: Revert a change made to the output of the identify file [GH-6962,
      GH-6929, GH-6589]
  - core: Fix login command behind a proxy [GH-6898, GH-6899]
  - core: Fix support for regular expressions on multi-machine `up`
      [GH-6908, GH-6909]
  - core: Allow boxes to use pre-release versions [GH-6892, GH-6893]
  - core: Rescue `Errno:ENOTCONN` waiting for port to be open [GH-7182, GH-7184]
  - core: Properly authenticate metadata box URLs [GH-6776, GH-7158]
  - core: Do not run provisioners if already run on resume [GH-7059, GH-6787]
  - core: Implement better tracking of tempfiles and tmpdirs to identify file
      leaks [GH-7355]
  - core: Allow SSH forwarding on Windows [GH-7287, GH-7202]
  - core: Allow customizing `keys_only` SSH option [GH-7360, GH-4275]
  - core: Allow customizing `paranoid` SSH option [GH-7360, GH-4275]
  - command/box_update: Do not update the same box twice [GH-6042, GH-7379]
  - command/init: Remove unnecessary `sudo` from generated Vagrantfile
      [GH-7369, GH-7295]
  - docs & core: Be consistent about the "2" in the Vagrantfile version
      [GH-6961, GH-6963]
  - guests/all: Refactor guest capabilities to run in a single command -
      **please see GH-7393 for the complete list of changes!**
  - guests/arch: Restart network after configuration [GH-7120, GH-7119]
  - guests/debian: Do not return an error if ifdown fails [GH-7159,
      GH-7155, GH-6871]
  - guests/freebsd: Use `pkg` to install rsync [GH-6760]
  - guests/freebsd: Use `netif` to configure networks [GH-5852, GH-7093]
  - guests/coreos: Detect all interface names [GH-6608, GH-6610]
  - providers/hyperv: Only specify Hyper-V if the parameter is support
      [GH-7101, GH-7098]
  - providers/virtualbox: Set maximum network adapters to 36 [GH-7293, GH-7286]
  - providers/virtualbox: Do not fail when master VM from linked clone is
      missing [GH-7126, GH-6742]
  - providers/virtualbox: Use scoped overrides in preparing NFS
      [GH-7387, GH-7386]
  - provisioners/ansible: Fix a race condition in the concurrent generations of
      the ansible inventory file, while running `vagrant up --parallel`
      [GH-6526, GH-7190]
  - provisioners/ansible_local: Don't quote the Ansible arguments defined in the
      `raw_arguments` option [GH-7103]
  - provisioners/ansible_local: Format json `extra_vars` with double quotes
      [GH-6726, GH-7103]
  - provisioners/ansible_local: Fix errors in absolute paths to playbook or
      galaxy resources when running on a Windows host [GH-6740, GH-6757]
  - provisioners/ansible_local: Change the way to verify `ansible-galaxy`
      presence, to avoid a non-zero status code with Ansible 2.0 [GH-6793]
  - provisioners/ansible(both provisioners): The Ansible configuration files
      detection is only executed by the `provision` action [GH-6763, GH-6984]
  - provisioners/chef: Do not use double sudo when installing
      [GGH-6805, GH-6804]
  - provisioners/chef: Change the default channel to "stable" (previously it
      was "current") [GH-7001, GH-6979]
  - provisioners/chef: Default node_name to hostname if present
      [GH-7063, GH-7153]
  - provisioners/docker: Fix -no-trunc command option [GH-7085]
  - provisioners/docker: Allow provisioning when container name is specified
      [GH-7074, GH-7086]
  - provisioners/puppet: Use `where.exe` to locate puppet binary
      [GH-6912, GH-6876]
  - provisioners/salt: Move masterless config to apply to all platforms
      [GH-7207, Gh-6924, GH-6915]
  - pushes/ftp: Create parent directories when uploading [GH-7154, GH-6316]
  - synced_folders/smb: Do not interpolate configuration file [GH-6906]

## 1.8.1 (December 21, 2015)

BUG FIXES:

  - core: Don't create ".bundle" directory in pwd [GH-6717]
  - core: Fix exception on installing VirtualBox [GH-6713]
  - core: Do not convert standalone drive letters such as "D:" to
      UNC paths [GH-6598]
  - core: Fix a crash in parsing the config in some cases with network
      configurations [GH-6730]
  - core: Clean up temporarily files created by bundler
    [GH-7354, GH-6301, GH-3469, GH-6231]
  - commands/up: Smarter logic about what provider to install, avoiding
      situations where VirtualBox was installed over the correct provider [GH-6731]
  - guests/debian: Fix Docker install [GH-6722]
  - provisioners/chef: convert chef version to a string before comparing for
    the command builder [GH-6709, GH-6711]
  - provisioners/shell: convert env var values to strings [GH-6714]

## 1.8.0 (December 21, 2015)

FEATURES:

  - **New Command: `vagrant powershell`**: For machines that support it,
    this will open a PowerShell prompt.
  - **New Command: `vagrant port`**: For machines that support it, this will
    display the list of forwarded ports from the guest to the host.
  - **Linked Clones**: VirtualBox and VMware providers now support
    linked clones for very fast (millisecond) imports on up. [GH-4484]
  - **Snapshots**: The `vagrant snapshot` command can be used to checkpoint
    and restore point-in-time snapshots.
  - **IPv6 Private Networks**: Private networking now supports IPv6. This
    only works with VirtualBox and VMware at this point. [GH-6342]
  - New provisioner: `ansible_local` to execute Ansible from the guest
    machine. [GH-2103]

BREAKING CHANGES:

  - The `ansible` provisioner now can override the effective ansible remote user
    (i.e. `ansible_ssh_user` setting) to always correspond to the vagrant ssh
    username. This change is enabled by default, but we expect this to affect
    only a tiny number of people as it corresponds to the common usage.
    If you however use multiple remote usernames in your Ansible plays, tasks,
    or custom inventories, you can simply set the option `force_remote_user` to
    false to make Vagrant behave the same as before.
  - provisioners/salt: the "config_dir" option has been removed. It has no
      effect in Vagrant 1.8. [GH-6073]

IMPROVEMENTS:

  - core: allow removal of all box versions with `--all` flag [GH-3462]
  - core: prune entries from global status on non-existent cwd [GH-6535]
  - core: networking: allow specifying a DHCP IP [GH-6325]
  - core: run provisioner cleanup tasks before powering off the VM [GH-6553]
  - core: only run provisioner cleanup tasks if they're implemented [GH-6603]
      This improves UX, but wasn't a bug before.
  - command/plugin: Add `--plugin-clean-sources` flag to reset plugin install
      sources, primarily for corp firewalls. [GH-4738]
  - command/rsync-auto: SSH connection is cached for faster sync times [GH-6399]
  - command/up: provisioners are run on suspend resume [GH-5815]
  - communicators/ssh: allow specifying host environment variables to forward
    to guests [GH-4132, GH-6562]
  - communicators/winrm: Configurable execution time limit [GH-6213]
  - providers/virtualbox: cache version lookup, which caused significant
      slowdown on some Windows hosts [GH-6552]
  - providers/virtualbox: add `public_address` capability for virtualbox
    [GH-6583, GH-5978]
  - provisioners/chef: perform cleanup tasks on the guest instead of the host
  - provisioners/chef: automatically generate a node_name if one was not given
    [GH-6555]
  - provisioners/chef: install Chef automatically on Windows [GH-6557]
  - provisioners/chef: allow the user to specify the Chef product (such as
    the Chef Development Kit) [GH-6557]
  - provisioners/chef: allow data_bags_path to be an array [GH-5988, GH-6561]
  - provisioners/shell: Support interactive mode for elevated PowerShell
      scripts [GH-6185]
  - provisioners/shell: add `env` option [GH-6588, GH-6516]
  - provisioners/ansible+ansible_local: add support for ansible-galaxy [GH-2718]
  - provisioners/ansible+ansible_local: add support for group and host variables
      in the generated inventory [GH-6619]
  - provisioners/ansible+ansible_local: add support for alphanumeric patterns
      for groups in the generated inventory [GH-3539]
  - provisioners/ansible: add support for WinRM settings [GH-5086]
  - provisioners/ansible: add new `force_remote_user` option to control whether
    `ansible_ssh_user` parameter should be applied or not [GH-6348]
  - provisioners/ansible: show a warning when running from a Windows Host [GH-5292]
  - pushes/local-exec: add support for specifying script args [GH-6661, GH-6660]
  - guests/slackware: add support for networking [GH-6514]

BUG FIXES:

  - core: Ctrl-C weirdness fixed where it would exit parent process
      before Vagrant finished cleaning up [GH-6085]
  - core: DHCP network configurations don't warn on IP addresses ending
      in ".1" [GH-6150]
  - core: only append `access_token` when it does not exist in the URL
    [GH-6395, GH-6534]
  - core: use the correct private key when packaging a box [GH-6406]
  - core: fix crash when using invalid box checksum type [GH-6327]
  - core: don't check for metadata if the download URL is not HTTP [GH-6540]
  - core: don't make custom dotfile path if there is no Vagrantfile [GH-6542]
  - core: more robust check for admin privs on Windows [GH-5616]
  - core: properly detect when HTTP server doesn't support byte ranges and
      retry from scratch [GH-4479]
  - core: line numbers show properly in Vagrantfile syntax errors
      on Windows [GH-6445]
  - core: catch errors setting env vars on Windows [GH-6017]
  - core: remove cached synced folders when they're removed from the
      Vagrantfile [GH-6567]
  - core: use case-insensitive comparison for box checksum validations
    [GH-6648, GH-6650]
  - commands/box: add command with `~` paths on Windows works [GH-5747]
  - commands/box: the update command supports CA settings [GH-4473]
  - commands/box: removing all versions and providers of a box will properly
      clean all directories in `~/.vagrant.d/boxes` [GH-3570]
  - commands/box: outdated global won't halt on metadata download failure [GH-6453]
  - commands/login: respect environment variables in `vagrant login` command
    [GH-6590, GH-6422]
  - commands/package: when re-packaging a packaged box, preserve the
      generated SSH key [GH-5780]
  - commands/plugin: retry plugin install automatically a few times to
      avoid network issues [GH-6097]
  - commands/rdp: prefer `xfreerdp` if it is available on Linux [GH-6475]
  - commands/up: the `--provision-with` flag works with provisioner names [GH-5981]
  - communicator/ssh: fix potential crash case with PTY [GH-6225]
  - communicator/ssh: escape IdentityFile path [GH-6428, GH-6589]
  - communicator/winrm: respect `boot_timeout` setting [GH-6229]
  - communicator/winrm: execute scheduled tasks immediately on Windows XP
      since elevation isn't required [GH-6195]
  - communicator/winrm: Decouple default port forwarding rules for "winrm" and
      "winrm-ssl" [GH-6581]
  - communicator/winrm: Hide progress bars from PowerShell v5 [GH-6309]
  - guests/arch: enable network device after setting it up [GH-5737]
  - guests/darwin: advanced networking works with more NICs [GH-6386]
  - guests/debian: graceful shutdown works properly with newer releases [GH-5986]
  - guests/fedora: Preserve `localhost` entry when changing hostname [GH-6203]
  - guests/fedora: Use dnf if it is available [GH-6288]
  - guests/linux: when replacing a public SSH key, use POSIX-compliant
      sed flags [GH-6565]
  - guests/suse: DHCP network interfaces properly configured [GH-6502]
  - hosts/slackware: Better detection of NFS [GH-6367]
  - providers/hyper-v: support generation 2 VMs [GH-6372]
  - providers/hyper-v: support VMs with more than one NIC [GH-4346]
  - providers/hyper-v: check if user is in the Hyper-V admin group if
      they're not a Windows admin [GH-6662]
  - providers/virtualbox: ignore "Unknown" status bridge interfaces [GH-6061]
  - providers/virtualbox: only fix ipv6 interfaces that are in use
      [GH-6586, GH-6552]
  - provisioners/ansible: use quotes for the `ansible_ssh_private_key_file`
    value in the generated inventory [GH-6209]
  - provisioners/ansible: use quotes when passing the private key files via
      OpenSSH `-i` command line arguments [GH-6671]
  - provisioners/ansible: don't show the `ansible-playbook` command when verbose
    option is an empty string
  - provisioners/chef: fix `nodes_path` for Chef Zero [GH-6025, GH-6049]
  - provisioners/chef: do not error when the `node_name` is unset
    [GH-6005, GH-6064, GH-6541]
  - provisioners/chef: only force the formatter on Chef 11 or higher
    [GH-6278, GH-6556]
  - provisioners/chef: require `nodes_path` to be set for Chef Zero
    [GH-6110, GH-6559]
  - provisioners/puppet: apply provisioner uses correct default manifests
    with environments. [GH-5987]
  - provisioners/puppet: remove broken backticks [GH-6404]
  - provisioners/puppet: find Puppet binary properly on Windows [GH-6259]
  - provisioners/puppet-server: works with Puppet Collection 1 [GH-6389]
  - provisioners/salt: call correct executables on Windows [GH-5999]
  - provisioners/salt: log level and colorize works for masterless [GH-6474]
  - push/local-exec: use subprocess on windows when fork does not exist
    [GH-5307, GH-6563]
  - push/heroku: use current branch [GH-6554]
  - synced\_folders/rsync: on Windows, replace all paths with Cygwin
      paths since all rsync implementations require this [GH-6160]
  - synced\_folders/smb: use credentials files to allow for more characters
      in password [GH-4230]

PLUGIN AUTHOR CHANGES:

  - installer: Upgrade to Ruby 2.2.3

## 1.7.4 (July 17, 2015)

BUG FIXES:

  - communicators/winrm: catch timeout errors [GH-5971]
  - communicators/ssh: use the same SSH args for `vagrant ssh` with and without
    a command [GH-4986, GH-5928]
  - guests/fedora: networks can be configured without nmcli [GH-5931]
  - guests/fedora: biosdevname can return 4 or 127 [GH-6139]
  - guests/redhat: systemd detection should happen on guest [GH-5948]
  - guests/ubuntu: setting hostname fixed in 12.04 [GH-5937]
  - hosts/linux: NFS can be configured without `$TMP` set on the host [GH-5954]
  - hosts/linux: NFS will sudo copying back to `/etc/exports` [GH-5957]
  - providers/docker: Add `pull` setting, default to false [GH-5932]
  - providers/virtualbox: remove UNC path conversion on Windows since it
      caused mounting regressions [GH-5933]
  - provisioners/puppet: Windows Puppet 4 paths work correctly [GH-5967]
  - provisioners/puppet: Fix config merging errors [GH-5958]
  - provisioners/salt: fix "dummy config" error on bootstrap [GH-5936]

## 1.7.3 (July 10, 2015)

FEATURES:

  - **New guest: `atomic`* - Project Atomic is supported as a guest
  - providers/virtualbox: add support for 5.0 [GH-5647]

IMPROVEMENTS:

  - core: add password authentication to rdp_info hash [GH-4726]
  - core: improve error message when packaging fails [GH-5399]
  - core: improve message when adding a box from a file path [GH-5395]
  - core: add support for network gateways [GH-5721]
  - core: allow redirecting stdout and stderr in the UI [GH-5433]
  - core: update version of winrm-fs to 0.2.0 [GH-5738]
  - core: add option to enabled trusted http(s) redirects [GH-4422]
  - core: capture additional information such as line numbers during
    Vagrantfile loading [GH-4711, GH-5769]
  - core: add .color? to UI objects to see if they support color [GH-5771]
  - core: ignore hidden directories when searching for boxes [GH-5748, GH-5785]
  - core: use `config.ssh.sudo_command` to customize the sudo command
      format [GH-5573]
  - core: add `Vagrant.original_env` for Vagrant and plugins to restore or
      inspect the original environment when Vagrant is being run from the
      installer [GH-5910]
  - guests/darwin: support inserting generated key [GH-5204]
  - guests/darwin: support mounting SMB shares [GH-5750]
  - guests/fedora: support Fedora 21 [GH-5277]
  - guests/fedora: add capabilities for nfs and flavor [GH-5770, GH-4847]
  - guests/linux: specify user's domain as separate parameter [GH-3620, GH-5512]
  - guests/redhat: support Scientific Linux 7 [GH-5303]
  - guests/photon: initial support [GH-5612]
  - guests/solaris,solaris11: support inserting generated key [GH-5182]
      [GH-5290]
  - providers/docker: images are pulled prior to starting [GH-5249]
  - provisioners/ansible: store the first ssh private key in the auto-generated inventory [GH-5765]
  - provisioners/chef: add capability for checking if Chef is installed on Windows [GH-5669]
  - provisioners/docker: restart containers if arguments have changed [GH-3055, GH-5924]
  - provisioners/puppet: add support for Puppet 4 and configuration options [GH-5601]
  - provisioners/puppet: add support for `synced_folder_args` in apply [GH-5359]
  - provisioners/salt: add configurable `config_dir` [GH-3138]
  - provisioners/salt: add support for masterless configuration [GH-3235]
  - provisioners/salt: provider path to missing file in errors [GH-5637]
  - provisioners/salt: add ability to run salt orchestrations [GH-4371]
  - provisioners/salt: update to 2015.5.2 [GH-4152, GH-5437]
  - provisioners/salt: support specifying version to install [GH-5892]
  - provisioners/shell: add :name attribute to shell provisioner [GH-5607]
  - providers/docker: supports file downloads with the file provisioner [GH-5651]
  - providers/docker: support named Dockerfile [GH-5480]
  - providers/docker: don't remove image on reload so that build cache can
      be used fully [GH-5905]
  - providers/hyperv: select a Hyper-V switch based on a `network_name` [GH-5207]
  - providers/hyperv: allow configuring VladID [GH-5539]
  - providers/virtualbox: regexp supported for bridge configuration [GH-5320]
  - providers/virtualbox: handle a list of bridged NICs [GH-5691]
  - synced_folders/rsync: allow showing rsync output in debug mode [GH-4867]
  - synced_folders/rsync: set `rsync__rsync_path` to specify the remote
      command used to execute rsync [GH-3966]

BUG FIXES:

  - core: push configurations are validated with global configs [GH-5130]
  - core: remove executable permissions on internal file [GH-5220]
  - core: check name and version in `has_plugin?` [GH-5218]
  - core: do not create duplicates when defining two private network addresses [GH-5325]
  - core: update ssh to check for Plink [GH-5604]
  - core: do not report plugins as installed when plugins are disabled [GH-5698, GH-5430]
  - core: Only take files when packaging a box to avoid duplicates [GH-5658, GH-5657]
  - core: escape curl urls and authentication [GH-5677]
  - core: fix crash if a value is missing for CLI arguments [GH-5550]
  - core: retry SSH key generation for transient RSA errors [GH-5056]
  - core: `ssh.private_key_path` will override the insecure key [GH-5632]
  - core: restore the original environment when shelling out to subprocesses
      outside of the installer [GH-5912]
  - core/cli: fix box checksum validation [GH-4665, GH-5221]
  - core/windows: allow Windows UNC paths to allow more than 256
      characters [GH-4815]
  - command/rsync-auto: don't crash if rsync command fails [GH-4991]
  - communicators/winrm: improve error handling significantly and improve
      the error messages shown to be more human-friendly. [GH-4943]
  - communicators/winrm: remove plaintext passwords from files after
      provisioner is complete [GH-5818]
  - hosts/nfs: allow colons (`:`) in NFS IDs [GH-5222]
  - guests/darwin: remove dots from LocalHostName [GH-5558]
  - guests/debian: Halt works properly on Debian 8. [GH-5369]
  - guests/fedora: recognize future fedora releases [GH-5730]
  - guests/fedora: reload iface connection by NetworkManager [GH-5709]
  - guests/fedora: do not use biosdevname if it is not installed [GH-5707]
  - guests/freebsd: provide an argument to the backup file [GH-5516, GH-5517]
  - guests/funtoo: fix incorrect path in configure networks [GH-4812]
  - guests/linux: fix edge case exception where no home directory
      is available on guest [GH-5846]
  - guests/linux: copy NFS exports to tmpdir to do edits to guarantee
      permissions are available [GH-5773]
  - guests/openbsd: output newline after inserted public key [GH-5881]
  - guests/tinycore: fix change hostname functionality [GH-5623]
  - guests/ubuntu: use `hostnamectl` to set hostname on Ubuntu Vivid [GH-5753]
  - guests/windows: Create rsync folder prior to rsync-ing. [GH-5282]
  - guests/windows: Changing hostname requires reboot again since
      the non-reboot code path was crashing Windows server. [GH-5261]
  - guests/windows: ignore virtual NICs [GH-5478]
  - hosts/windows: More accurately get host IP address in VPNs. [GH-5349]
  - plugins/login: allow users to login with a token [GH-5145]
  - providers/docker: Build image from `/var/lib/docker` for more disk
      space on some systems. [GH-5302]
  - providers/docker: Fix crash that could occur in some scenarios when
      the host VM path changed.
  - providers/docker: Fix crash that could occur on container destroy
      with VirtualBox shared folders [GH-5143]
  - providers/hyperv: allow users to configure memory, cpu count, and vmname [GH-5183]
  - providers/hyperv: import respects secure boot. [GH-5209]
  - providers/hyperv: only set EFI secure boot for gen 2 machines [GH-5538]
  - providers/virtualbox: read netmask from dhcpservers [GH-5233]
  - providers/virtualbox: Fix exception when VirtualBox version is empty. [GH-5308]
  - providers/virtualbox: Fix exception when VBoxManage.exe can't be run
      on Windows [GH-1483]
  - providers/virtualbox: Error if another user is running after a VM is
      created to avoid issue with VirtualBox "losing" the VM [GH-5895]
  - providers/virtualbox: The "name" setting on private networks will
      choose an existing hostonly network [GH-5389]
  - provisioners/ansible: fix SSH settings to support more than 5 ssh keys [GH-5017]
  - provisioners/ansible: increase ansible connection timeout to 30 seconds [GH-5018]
  - provisioners/ansible: disable color if Vagrant is not colored [GH-5531, GH-5532]
  - provisioners/ansible: only show ansible-playbook command when `verbose` option is enabled [GH-5803]
  - provisioners/ansible: fix a race condition in the inventory file generation [GH-5551]
  - provisioners/docker: use `service` to restart Docker instead of upstart [GH-5245, GH-5577]
  - provisioners/docker: Only add docker user to group if exists. [GH-5315]
  - provisioners/docker: Use https for repo [GH-5749]
  - provisioners/docker: `apt-get update` before installing linux kernel
      images to get the correct version [GH-5860]
  - provisioners/chef: Fix shared folders missing error [GH-5199]
  - provisioners/chef: Use `command -v` to check for binary instead of
      `which` since that doesn't exist on some systems. [GH-5170]
  - provisioners/chef-zero: support more chef-zero/local mode attributes [GH-5339]
  - provisioners/chef: use windows-specific paths in Chef provisioners [GH-5913]
  - provisioners/docker: use docker.com instead of docker.io [GH-5216]
  - provisioners/docker: use `--restart` instead of `-r` on daemon [GH-4477]
  - provisioners/file: validation of source is relative to Vagrantfile [GH-5252]
  - pushes/atlas: send additional box metadata [GH-5283]
  - pushes/local-exec: fix "text file busy" error for inline [GH-5695]
  - pushes/ftp: improve check for remote directory existence [GH-5549]
  - synced\_folders/rsync: add `IdentitiesOnly=yes` to the rsync command. [GH-5175]
  - synced\_folders/smb: use correct `password` option [GH-5805]
  - synced\_folders/smb: prever IPv4 over IPv6 address to mount [GH-5798]
  - virtualbox/config: fix misleading error message for private_network [GH-5536, GH-5418]

## 1.7.2 (January 6, 2015)

BREAKING CHANGES:

  - If you depended on the paths that Chef/Puppet provisioners use to
    store cookbooks (ex. "/tmp/vagrant-chef-1"), these will no longer be
    correct. Without this change, Chef/Puppet didn't work at all with
    `vagrant provision`. We expect this to affect only a minor number of
    people, since it's not something that was ever documented or recommended
    by Vagrant, or even meant to be supported.

FEATURES:

  - provisioners/salt: add support for grains [GH-4895]

IMPROVEMENTS:

  - commands/reload,up: `--provision-with` implies `--provision` [GH-5085]

BUG FIXES:

  - core: private boxes still referencing vagrantcloud.com will have
      their vagrant login access token properly appended
  - core: push plugin configuration is properly validated
  - core: restore box packaging functionality
  - commands/package: fix crash
  - commands/push: push lookups are by user-defined name, not push
      strategy name [GH-4975]
  - commands/push: validate the configuration
  - communicators/winrm: detect parse errors in PowerShell and error
  - guests/arch: fix network configuration due to poor line breaks. [GH-4964]
  - guests/solaris: Merge configurations properly so configs can be set
      in default Vagrantfiles. [GH-5092]
  - installer: SSL cert bundle contains 1024-bit keys, fixing SSL verification
      for a lot of sites.
  - installer: vagrant executable properly `cygpaths` the SSL bundle path
      for Cygwin
  - installer: Nokogiri (XML lib used by Vagrant and dependencies) linker
      dependencies fixed, fixing load issues on some platforms
  - providers/docker: Symlinks in shared folders work. [GH-5093]
  - providers/hyperv: VM start errors turn into proper Vagrant errors. [GH-5101]
  - provisioners/chef: fix missing shared folder error [GH-4988]
  - provisioners/chef: remove Chef version check from solo.rb generation and
      make `roles_path` populate correctly
  - provisioners/chef: fix bad invocation of `with_clean_env` [GH-5021]
  - pushes/atlas: support more verbose logging
  - pushes/ftp: expand file paths relative to the Vagrantfile
  - pushes/ftp: improved debugging output
  - pushes/ftp: create parent directories if they do not exist on the remote
      server

## 1.7.1 (December 11, 2014)

IMPROVEMENTS:

  - provisioners/ansible: Use Docker proxy if needed. [GH-4906]

BUG FIXES:

  - providers/docker: Add support of SSH agent forwarding. [GH-4905]

## 1.7.0 (December 9, 2014)

BREAKING CHANGES:

  - provisioners/ansible: `raw_arguments` has now highest priority
  - provisioners/ansible: only the `ssh` connection transport is supported
      (`paramiko` can be enabled with `raw_arguments` at your own risks)

FEATURES:

  - **Vagrant Push**: Vagrant can now deploy! `vagrant push` is a single
      command to deploy your application. Deploy to Heroku, FTP, or
      HashiCorp's commercial product Atlas. New push strategies can be
      added with plugins.
  - **Named provisioners**: Provisioners can now be named. This name is used
      for output as well as `--provision-with` for better control.
  - Default provider logic improved: Providers in `config.vm.provider` blocks
      in your Vagrantfile now have higher priority than plugins. Earlier
      providers are chosen before later ones. [GH-3812]
  - If the default insecure keypair is used, Vagrant will automatically replace
      it with a randomly generated keypair on first `vagrant up`. [GH-2608]
  - Vagrant Login is now part of Vagrant core
  - Chef Zero provisioner: Use Chef 11's "local" mode to run recipes against an
      in-memory Chef Server
  - Chef Apply provisioner: Specify inline Chef recipes and recipe snippets
      using the Chef Apply provisioner

IMPROVEMENTS:

  - core: `has_plugin?` function now takes a second argument which is a
      version constraint requirement. [GH-4650]
  - core: ".vagrantplugins" file in the same folder as your Vagrantfile
      will be loaded for defining inline plugins. [GH-3775]
  - commands/plugin: Plugin list machine-readable output contains the plugin
      name as the target for versions and other info. [GH-4506]
  - env/with_cleanenv: New helper for plugin developers to use when shelling out
      to another Ruby environment
  - guests/arch: Support predictable network interface naming. [GH-4468]
  - guests/suse: Support NFS client install, rsync setup. [GH-4492]
  - guests/tinycore: Support changing host names. [GH-4469]
  - guests/tinycore: Support DHCP-based networks. [GH-4710]
  - guests/windows: Hostname can be set without reboot. [GH-4687]
  - providers/docker: Build output is now shown. [GH-3739]
  - providers/docker: Can now start containers from private repositories
      more easily. Vagrant will login for you if you specify auth. [GH-4042]
  - providers/docker: `stop_timeout` can be used to modify the `docker stop`
      timeout. [GH-4504]
  - provisioners/chef: Automatically install Chef when using a Chef provisioner.
  - provisioners/ansible: Always show Ansible command executed when Vagrant log
      level is debug (even if ansible.verbose is false)
  - synced\_folders/nfs: Won't use `sudo` to write to /etc/exports if there
      are write privileges. [GH-2643]
  - synced\_folders/smb: Credentials from one SMB will be copied to the rest. [GH-4675]

BUG FIXES:

  - core: Fix cases where sometimes SSH connection would hang.
  - core: On a graceful halt, force halt if capability "insert public key"
      is missing. [GH-4684]
  - core: Don't share `/vagrant` if any "." folder is shared. [GH-4675]
  - core: Fix SSH private key permissions more aggressively. [GH-4670]
  - core: Custom Vagrant Cloud server URL now respected in more cases.
  - core: On downloads, don't continue downloads if the remote server
      doesn't support byte ranges. [GH-4479]
  - core: Box downloads recognize more complex content types that include
      "application/json" [GH-4525]
  - core: If all sub-machines are `autostart: false`, don't start any. [GH-4552]
  - core: Update global-status state in more cases. [GH-4513]
  - core: Only delete machine state if the machine is not created in initialize
  - commands/box: `--cert` flag works properly. [GH-4691]
  - command/docker-logs: Won't crash if container is removed. [GH-3990]
  - command/docker-run: Synced folders will be attached properly. [GH-3873]
  - command/rsync: Sync to Docker containers properly. [GH-4066]
  - guests/darwin: Hostname sets bonjour name and local host name. [GH-4535]
  - guests/freebsd: NFS mounting can specify the version. [GH-4518]
  - guests/linux: More descriptive error message if SMB mount fails. [GH-4641]
  - guests/rhel: Hostname setting on 7.x series works properly. [GH-4527]
  - guests/rhel: Installing NFS client works properly on 7.x [GH-4499]
  - guests/solaris11: Static IP address preserved after restart. [GH-4621]
  - guests/ubuntu: Detect with `lsb_release` instead of `/etc/issue`. [GH-4565]
  - hosts/windows: RDP client shouldn't map all drives by default. [GH-4534]
  - providers/docker: Create args works. [GH-4526]
  - providers/docker: Nicer error if package is called. [GH-4595]
  - providers/docker: Host IP restriction is forwarded through. [GH-4505]
  - providers/docker: Protocol is now honored in direct `ports settings.
  - providers/docker: Images built using `build_dir` will more robustly
      capture the final image. [GH-4598]
  - providers/docker: NFS synced folders now work. [GH-4344]
  - providers/docker: Read the created container ID more robustly.
  - providers/docker: `vagrant share` uses correct IP of proxy VM if it
      exists. [GH-4342]
  - providers/docker: `vagrant_vagrantfile` expands home directory. [GH-4000]
  - providers/docker: Fix issue where multiple identical proxy VMs would
      be created. [GH-3963]
  - providers/docker: Multiple links with the same name work. [GH-4571]
  - providers/virtualbox: Show a human-friendly error if VirtualBox didn't
      clean up an existing VM. [GH-4681]
  - providers/virtualbox: Detect case when VirtualBox reports 0.0.0.0 as
      IP address and don't allow it. [GH-4671]
  - providers/virtualbox: Show more descriptive error if VirtualBox is
      reporting an empty version. [GH-4657]
  - provisioners/ansible: Force `ssh` (OpenSSH) connection by default [GH-3396]
  - provisioners/ansible: Don't use or modify `~/.ssh/known_hosts` file by default,
      similarly to native vagrant commands [GH-3900]
  - provisioners/ansible: Use intermediate Docker host when needed. [GH-4071]
  - provisioners/docker: Get GPG key over SSL. [GH-4597]
  - provisioners/docker: Search for docker binary in multiple places. [GH-4580]
  - provisioners/salt: Highstate works properly with a master. [GH-4471]
  - provisioners/shell: Retry getting SSH info a few times. [GH-3924]
  - provisioners/shell: PowerShell scripts can have args. [GH-4548]
  - synced\_folders/nfs: Don't modify NFS exports file if no exports. [GH-4619]
  - synced\_folders/nfs: Prune exports for file path IDs. [GH-3815]

PLUGIN AUTHOR CHANGES:

  - `Machine#action` can be called with the option `lock: false` to not
      acquire a machine lock.
  - `Machine#reload` will now properly trigger the `machine_id_changed`
      callback on providers.

## 1.6.5 (September 4, 2014)

BUG FIXES:

  - core: forward SSH even if WinRM is used. [GH-4437]
  - communicator/ssh: Fix crash when pty is enabled with SSH. [GH-4452]
  - guests/redhat: Detect various RedHat flavors. [GH-4462]
  - guests/redhat: Fix typo causing crash in configuring networks. [GH-4438]
  - guests/redhat: Fix typo causing hostnames to not set. [GH-4443]
  - providers/virtualbox: NFS works when using DHCP private network. [GH-4433]
  - provisioners/salt: Fix error when removing non-existent bootstrap script
      on Windows. [GH-4614]

## 1.6.4 (September 2, 2014)

BACKWARDS INCOMPATIBILITIES:

  - commands/docker-run: Started containers are now deleted after run.
      Specify the new `--no-rm` flag to retain the original behavior. [GH-4327]
  - providers/virtualbox: Host IO cache is no longer enabled by default
      since it causes stale file issues. Please enable manually if you
      require this. [GH-3934]

IMPROVEMENTS:

  - core: Added `config.vm.box_server_url` setting to point at a
     Vagrant Cloud instance. [GH-4282]
  - core: File checksumming performance has been improved by at least
      100%. Memory requirements have gone down by half. [GH-4090]
  - commands/docker-run: Add the `--no-rm` flag. Containers are
      deleted by default. [GH-4327]
  - commands/plugin: Better error output is shown when plugin installation
      fails.
  - commands/reload: show post up message [GH-4168]
  - commands/rsync-auto: Add `--poll` flag. [GH-4392]
  - communicators/winrm: Show stdout/stderr if command fails. [GH-4094]
  - guests/nixos: Added better NFS support. [GH-3983]
  - providers/hyperv: Accept VHD disk format. [GH-4208]
  - providers/hyperv: Support generation 2 VMs. [GH-4324]
  - provisioners/docker: More verbose output. [GH-4377]
  - provisioners/salt: Get proper exit codes to detect failed runs. [GH-4304]

BUG FIXES:

  - core: Downloading box files should resume in more cases since the
      temporary file is preserved in more cases. [GH-4301]
  - core: Windows is not detected as NixOS in some cases. [GH-4302]
  - core: Fix encoding issues with Windows. There are still some outlying
      but this fixes a few. [GH-4159]
  - core: Fix crash case when destroying with an invalid provisioner. [GH-4281]
  - core: Box names with colons work on Windows. [GH-4100]
  - core: Cleanup all temp files. [GH-4103]
  - core: User curlrc is not loaded, preventing strange download issues.
      [GH-4328]
  - core: VM names may no longer contain brackets, since they cause
      issues with some providers. [GH-4319]
  - core: Use "-f" to `rm` files in case pty is true. [GH-4410]
  - core: SSH key doesn't have to be owned by our user if we're running
      as root. [GH-4387]
  - core: "vagrant provision" will cause "vagrant up" to properly not
      reprovision. [GH-4393]
  - commands/box/add: "Content-Type" header is now case-insensitive when
      looking for metadata type. [GH-4369]
  - commands/docker-run: Named docker containers no longer conflict. [GH-4294]
  - commands/package: base package won't crash with exception [GH-4017]
  - commands/rsync-auto: Destroyed machines won't raise exceptions. [GH-4031]
  - commands/ssh: Extra args are passed through to Docker container. [GH-4378]
  - communicators/ssh: Nicer error if remote unexpectedly disconnects. [GH-4038]
  - communicators/ssh: Clean error when max sessions is hit. [GH-4044]
  - communicators/ssh: Fix many issues around PTY-enabled output parsing.
      [GH-4408]
  - communicators/winrm: Support `mkdir` [GH-4271]
  - communicators/winrm: Properly escape double quotes. [GH-4309]
  - communicators/winrm: Detect failed commands that aren't CLIs. [GH-4383]
  - guests/centos: Fix issues when NFS client is installed by restarting
      NFS [GH-4088]
  - guests/debian: Deleting default route on DHCP networks can fail. [GH-4262]
  - guests/fedora: Fix networks on Fedora 20 with libvirt. [GH-4104]
  - guests/freebsd: Rsync install for rsync synced folders work on
      FreeBSD 10. [GH-4008]
  - guests/freebsd: Configure vtnet devices properly [GH-4307]
  - guests/linux: Show more verbose error when shared folder mount fails.
      [GH-4403]
  - guests/redhat: NFS setup should use systemd for RH7+ [GH-4228]
  - guests/redhat: Detect RHEL 7 (and CentOS) and install Docker properly. [GH-4402]
  - guests/redhat: Configuring networks on EL7 works. [GH-4195]
  - guests/redhat: Setting hostname on EL7 works. [GH-4352]
  - guests/smartos: Use `pfexec` for rsync. [GH-4274]
  - guests/windows: Reboot after hostname change. [GH-3987]
  - hosts/arch: NFS works with latest versions. [GH-4224]
  - hosts/freebsd: NFS exports are proper syntax. [GH-4143]
  - hosts/gentoo: NFS works with latest versions. [GH-4418]
  - hosts/windows: RDP command works without crash. [GH-3962]
  - providers/docker: Port on its own will choose random host port. [GH-3991]
  - providers/docker: The proxy VM Vagrantfile can be in the same directory
      as the main Vagrantfile. [GH-4065]
  - providers/virtualbox: Increase network device limit to 36. [GH-4206]
  - providers/virtualbox: Error if can't detect VM name. [GH-4047]
  - provisioners/cfengine: Fix default Yum repo URL. [GH-4335]
  - provisioners/chef: Chef client cleanup should work. [GH-4099]
  - provisioners/puppet: Manifest file can be a directory. [GH-4169]
  - provisioners/puppet: Properly escape facter variables for PowerShell
      on Windows guests. [GH-3959]
  - provisioners/puppet: When provisioning fails, don't repeat all of
      stdout/stderr. [GH-4303]
  - provisioners/salt: Update salt minion version on Windows. [GH-3932]
  - provisioners/shell: If args is an array and contains numbers, it no
      longer crashes. [GH-4234]
  - provisioners/shell: If fails, the output/stderr isn't repeated
      again. [GH-4087]

## 1.6.3 (May 29, 2014)

FEATURES:

  - **New Guest:** NixOS - Supports changing host names and setting
      networks. [GH-3830]

IMPROVEMENTS:

  - core: A CA path can be specified in the Vagrantfile, not just
      a file, when using a custom CA. [GH-3848]
  - commands/box/add: `--capath` flag added for custom CA path. [GH-3848]
  - commands/halt: Halt in reverse order of up, like destroy. [GH-3790]
  - hosts/linux: Uses rdesktop to RDP into machines if available. [GH-3845]
  - providers/docker: Support for UDP forwarded ports. [GH-3886]
  - provisioners/salt: Works on Windows guests. [GH-3825]

BUG FIXES:

  - core: Provider plugins more easily are compatible with global-status
      and should show less stale data. [GH-3808]
  - core: When setting a synced folder, it will assume it is not disabled
      unless explicitly specified. [GH-3783]
  - core: Ignore UDP forwarded ports for collision detection. [GH-3859]
  - commands/package: Package with `--base` for VirtualBox doesn't
      crash. [GH-3827]
  - guests/solaris11: Fix issue with public network and DHCP on newer
      Solaris releases. [GH-3874]
  - guests/windows: Private networks with static IPs work when there
      is more than one. [GH-3818]
  - guests/windows: Don't look up a forwarded port for WinRM if we're
      not accessing the local host. [GH-3861]
  - guests/windows: Fix errors with arg lists that are too long over
      WinRM in some cases. [GH-3816]
  - guests/windows: Powershell exits with proper exit code, fixing
  -   issues where non-zero exit codes weren't properly detected. [GH-3922]
  - hosts/windows: Don't execute mstsc using PowerShell since it doesn't
      exit properly. [GH-3837]
  - hosts/windows: For RDP, don't remove the Tempfile right away. [GH-3875]
  - providers/docker: Never do graceful shutdown, always use
      `docker stop`. [GH-3798]
  - providers/docker: Better error messaging when SSH is not ready
      direct to container. [GH-3763]
  - providers/docker: Don't port map SSH port if container doesn't
      support SSH. [GH-3857]
  - providers/docker: Proper SSH info if using native driver. [GH-3799]
  - providers/docker: Verify host VM has SSH ready. [GH-3838]
  - providers/virtualbox: On Windows, check `VBOX_MSI_INSTALL_PATH`
      for VBoxManage path as well. [GH-3852]
  - provisioners/puppet: Fix setting facter vars with Windows
      guests. [GH-3776]
  - provisioners/puppet: On Windows, run in elevated prompt. [GH-3903]
  - guests/darwin: Respect mount options for NFS. [GH-3791]
  - guests/freebsd: Properly register the rsync_pre capability
  - guests/windows: Certain executed provisioners won't leave output
      and exit status behind. [GH-3729]
  - synced\_folders/rsync: `rsync__chown` can be set to `false` to
      disable recursive chown after sync. [GH-3810]
  - synced\_folders/rsync: Use a proper msys path if not in
      Cygwin. [GH-3804]
  - synced\_folders/rsync: Don't append args infinitely, clear out
      arg list on each run. [GH-3864]

PLUGIN AUTHOR CHANGES:

  - Providers can now implement the `rdp_info` provider capability
      to get proper info for `vagrant rdp` to function.

## 1.6.2 (May 12, 2014)

IMPROVEMENTS:

  - core: Automatically forward WinRM port if communicator is
      WinRM. [GH-3685]
  - command/rdp: Args after "--" are passed directly through to the
      RDP client. [GH-3686]
  - providers/docker: `build_args` config to specify extra args for
      `docker build`. [GH-3684]
  - providers/docker: Can specify options for the build dir synced
      folder when a host VM is in use. [GH-3727]
  - synced\_folders/nfs: Can tell Vagrant not to handle exporting
      by setting `nfs_export: false` [GH-3636]

BUG FIXES:

  - core: Hostnames can be one character. [GH-3713]
  - core: Don't lock machines on SSH actions. [GH-3664]
  - core: Fixed crash when adding a box from Vagrant Cloud that was the
      same name as a real directory. [GH-3732]
  - core: Parallelization is more stable, doesn't crash due to to
      bad locks. [GH-3735]
  - commands/package: Don't double included files in package. [GH-3637]
  - guests/linux: Rsync chown ignores symlinks. [GH-3744]
  - provisioners/shell: Fix shell provisioner config validation when the
    `binary` option is set to false [GH-3712]
  - providers/docker: default proxy VM won't use HGFS [GH-3687]
  - providers/docker: fix container linking [GH-3719]
  - providers/docker: Port settings expose to host properly. [GH-3723]
  - provisioners/puppet: Separate module paths with ';' on Windows. [GH-3731]
  - synced\_folders\rsync: Copy symlinks as real files. [GH-3734]
  - synced\_folders/rsync: Remove non-portable '-v' flag from chown. [GH-3743]

## 1.6.1 (May 7, 2014)

IMPROVEMENTS:

  - **New guest: Linux Mint** is now properly detected. [GH-3648]

BUG FIXES:

  - core: Global control works from directories that don't have a
      Vagrantfile.
  - core: Plugins that define config methods that collide with Ruby Kernel/Object
  -   methods are merged properly. [GH-3670]
  - commands/docker-run: `--help` works. [GH-3698]
  - commands/package: `--base` works without crashing for VirtualBox.
  - commands/reload: If `--provision` is specified, force provisioning. [GH-3657]
  - guests/redhat: Fix networking issues with CentOS. [GH-3649]
  - guests/windows: Human error if WinRM not in use to configure networks. [GH-3651]
  - guests/windows: Puppet exit code 2 doesn't cause Windows to raise
      an error. [GH-3677]
  - providers/docker: Show proper error message when on Linux. [GH-3654]
  - providers/docker: Proxy VM works properly even if default provider
      environmental variable set to "docker" [GH-3662]
  - providers/docker: Put sync folders in `/var/lib/docker` because
      it usually has disk space. [GH-3680]
  - synced\_folders/rsync: Create the directory before syncing.

## 1.6.0 (May 6, 2014)

BACKWARDS INCOMPATIBILITIES:

  - Deprecated: `halt_timeout` and `halt_check_interval` settings for
      SmartOS, Solaris, and Solaris11 guests. These will be fully
      removed in 1.7. A warning will be shown if they're in use in
      1.6.

FEATURES:

  - **New guest: Windows**. Vagrant now fully supports Windows as a guest
      VM. WinRM can be used for communication (or SSH), and the shell
      provisioner, Chef, and Puppet all work with Windows VMs.
  - **New command: global-status**. This command shows the state of every
      created Vagrant environment on the system for that logged in user.
  - **New command: rdp**. This command connects to the running machine
      via the Remote Desktop Protocol.
  - **New command: version**. This outputs the currently installed version
      as well as the latest version of Vagrant available.
  - **New provider: Docker**. This provider will back your development
      environments with Docker containers. If you're not on Linux, it will
      automatically spin up a VM for you on any provider. You can even
      specify a specific Vagrantfile to use as the Docker container host.
  - Control Vagrant environments from any directory. Using the UUIDs given
      in `vagrant global-status`, you can issue commands from anywhere on
      your machine, not just that environment's directory. Example:
      `vagrant destroy UUID` from anywhere.
  - Can now specify a `post_up_message` in your Vagrantfile that is shown
      after a `vagrant up`. This is useful for putting some instructions of how
      to use the development environment.
  - Can configure provisioners to run "once" or "always" (defaults to "once"),
      so that subsequent `vagrant up` or `reload` calls will always run a
      provisioner. [GH-2421]
  - Multi-machine environments can specify an "autostart" option (default
      to true). `vagrant up` starts all machines that have enabled autostart.
  - Vagrant is smarter about choosing a default provider. If
    `VAGRANT_DEFAULT_PROVIDER` is set, it still takes priority, but otherwise
    Vagrant chooses a "best" provider.

IMPROVEMENTS:

  - core: Vagrant locks machine access to one Vagrant process at a time.
      This will protect against two simultaneous `up` actions happening
      on the same environment.
  - core: Boxes can be compressed with LZMA now as well.
  - commands/box/remove: Warns if the box appears to be in use by an
      environment. Can be forced with `--force`.
  - commands/destroy: Exit codes changes. 0 means everything succeeded.
      1 means everything was declined. 2 means some were declined. [GH-811]
  - commands/destroy: Doesn't require box to exist anymore. [GH-1629]
  - commands/init: force flag. [GH-3564]
  - commands/init: flag for minimal Vagrantfile creation (no comments). [GH-3611]
  - commands/rsync-auto: Picks up and syncs provisioner folders if
      provisioners are backed by rsync.
  - commands/rsync-auto: Detects when new synced folders were added and warns
      user they won't be synced until `vagrant reload`.
  - commands/ssh-config: Works without a target in multi-machine envs [GH-2844]
  - guests/freebsd: Support for virtio interfaces. [GH-3082]
  - guests/openbsd: Support for virtio interfaces. [GH-3082]
  - guests/redhat: Networking works for upcoming RHEL7 release. [GH-3643]
  - providers/hyperv: Implement `vagrant ssh -c` support. [GH-3615]
  - provisioners/ansible: Support for Ansible Vault. [GH-3338]
  - provisioners/ansible: Show Ansible command executed. [GH-3628]
  - provisioners/salt: Colorize option. [GH-3603]
  - provisioners/salt: Ability to specify log level. [GH-3603]
  - synced\_folders: nfs: Improve sudo commands used to make them
      sudoers friendly. Examples in docs. [GH-3638]

BUG FIXES:

  - core: Adding a box from a network share on Windows works again. [GH-3279]
  - commands/plugin/install: Specific versions are now locked in.
  - commands/plugin/install: If insecure RubyGems.org is specified as a
      source, use that. [GH-3610]
  - commands/rsync-auto: Interrupt exits properly. [GH-3552]
  - commands/rsync-auto: Run properly on Windows. [GH-3547]
  - communicators/ssh: Detect if `config.ssh.shell` is invalid. [GH-3040]
  - guests/debian: Can set hostname if hosts doesn't contain an entry
      already for 127.0.1.1 [GH-3271]
  - guests/linux: For `read_ip_address` capability, set `LANG=en` so
      it works on international systems. [GH-3029]
  - providers/virtualbox: VirtualBox detection works properly again on
      Windows when the `VBOX_INSTALL_PATH` has multiple elements. [GH-3549]
  - providers/virtualbox: Forcing MAC address on private network works
      properly again. [GH-3588]
  - provisioners/chef-solo: Fix Chef version checking to work with prerelease
      versions. [GH-3604]
  - provisioners/salt: Always copy keys and configs on provision. [GH-3536]
  - provisioners/salt: Install args should always be present with bootstrap.
  - provisioners/salt: Overwrite keys properly on subsequent provisions [GH-3575]
  - provisioners/salt: Bootstrap uses raw GitHub URL rather than subdomain. [GH-3583]
  - synced\_folders/nfs: Acquires a process-level lock so exports don't
      collide with Vagrant running in parallel.
  - synced\_folders/nfs: Implement usability check so that hosts that
      don't support NFS get an error earlier. [GH-3625]
  - synced\_folders/rsync: Add UserKnownHostsFile option to not complain. [GH-3511]
  - synced\_folders/rsync: Proxy command is used properly if set. [GH-3553]
  - synced\_folders/rsync: Owner/group settings are respected. [GH-3544]
  - synced\_folders/smb: Passwords with symbols work. [GH-3642]

PLUGIN AUTHOR CHANGES:

  - **New host capability:** "rdp\_client". This capability gets the RDP connection
      info and must launch the RDP client on the system.
  - core: The "Call" middleware now merges the resulting middleware stack
      into the current stack, rather than running it as a separate stack.
      The result is that ordering is preserved.
  - core: The "Message" middleware now takes a "post" option that will
      output the message on the return-side of the middleware stack.
  - core: Forwarded port collision repair works when Vagrant is run in
      parallel with other Vagrant processes. [GH-2966]
  - provider: Providers can now specify that boxes are optional. This lets
      you use the provider without a `config.vm.box`. Useful for providers like
      AWS or Docker.
  - provider: A new class-level `usable?` method can be implemented on the
      provider implementation. This returns or raises an error when the
      provider is not usable (i.e. VirtualBox isn't installed for VirtualBox)
  - synced\_folders: New "disable" method for removing synced folders from
      a running machine.

## 1.5.4 (April 21, 2014)

IMPROVEMENTS:

  - commands/box/list: Doesn't parse Vagrantfile. [GH-3502]
  - providers/hyperv: Implement the provision command. [GH-3494]

BUG FIXES:

  - core: Allow overriding of the default SSH port. [GH-3474]
  - commands/box/remove: Make output nicer. [GH-3470]
  - commands/box/update: Show currently installed version. [GH-3467]
  - command/rsync-auto: Works properly on Windows.
  - guests/coreos: Fix test for Docker daemon running.
  - guests/linux: Fix test for Docker provisioner whether Docker is
      running.
  - guests/linux: Fix regression where rsync owner/group stopped
      working. [GH-3485]
  - provisioners/docker: Fix issue where we weren't waiting for Docker
      to properly start before issuing commands. [GH-3482]
  - provisioners/shell: Better validation of master config path, results
      in no more stack traces at runtime. [GH-3505]

## 1.5.3 (April 14, 2014)

IMPROVEMENTS:

  - core: 1.5 upgrade code gives users a chance to quit. [GH-3212]
  - commands/rsync-auto: An initial sync is done before watching folders. [GH-3327]
  - commands/rsync-auto: Exit immediately if there are no paths to watch.
      [GH-3446]
  - provisioners/ansible: custom vars/hosts files can be added in
      .vagrant/provisioners/ansible/inventory/ directory [GH-3436]

BUG FIXES:

  - core: Randomize some filenames internally to improve the parallelism
      of Vagrant. [GH-3386]
  - core: Don't error if network problems cause box update check to
      fail [GH-3391]
  - core: `vagrant` on Windows cmd.exe doesn't always exit with exit
      code zero. [GH-3420]
  - core: Adding a box from a network share has nice error on Windows. [GH-3279]
  - core: Setting an ID on a provisioner now works. [GH-3424]
  - core: All synced folder paths containing symlinks are fully
      expanded before sharing. [GH-3444]
  - core: Windows no longer sees "process not started" errors rarely.
  - commands/box/repackage: Works again. [GH-3372]
  - commands/box/update: Update should check for updates from latest
      version. [GH-3452]
  - commands/package: Nice error if includes contain symlinks. [GH-3200]
  - commands/rsync-auto: Don't crash if the machine can't be communicated
      to. [GH-3419]
  - communicators/ssh: Throttle connection attempt warnings if the warnings
      are the same. [GH-3442]
  - guests/coreos: Docker provisioner works. [GH-3425]
  - guests/fedora: Fix hostname setting. [GH-3382]
  - guests/fedora: Support predictable network interface names for
      public/private networks. [GH-3207]
  - guests/linux: Rsync folders have proper group if owner not set. [GH-3223]
  - guests/linux: If SMB folder mounting fails, the password will no
      longer be shown in plaintext in the output. [GH-3203]
  - guests/linux: SMB mount works with passwords with symbols. [GH-3202]
  - providers/hyperv: Check for PowerShell features. [GH-3398]
  - provisioners/docker: Don't automatically generate container name with
      a forward slash. [GH-3216]
  - provisioners/shell: Empty shell scripts don't cause errors. [GH-3423]
  - synced\_folders/smb: Only set the chmod properly by default on Windows
      if it isn't already set. [GH-3394]
  - synced\_folders/smb: Sharing folders with odd characters like parens
      works properly now. [GH-3405]

## 1.5.2 (April 2, 2014)

IMPROVEMENTS:

  - **New guest:** SmartOS
  - core: Change wording from "error" to "warning" on SSH retry output
    to convey actual meaning.
  - commands/plugin: Listing plugins now has machine-readable output. [GH-3293]
  - guests/omnios: Mount NFS capability [GH-3282]
  - synced\_folders/smb: Verify PowerShell v3 or later is running. [GH-3257]

BUG FIXES:

  - core: Vagrant won't collide with newer versions of Bundler [GH-3193]
  - core: Allow provisioner plugins to not have a config class. [GH-3272]
  - core: Removing a specific box version that doesn't exist doesn't
      crash Vagrant. [GH-3364]
  - core: SSH commands are forced to be ASCII.
  - core: private networks with DHCP type work if type parameter is
      a string and not a symbol. [GH-3349]
  - core: Converting to cygwin path works for folders with spaces. [GH-3304]
  - core: Can add boxes with spaces in their path. [GH-3306]
  - core: Prerelease plugins installed are locked to that prerelease
      version. [GH-3301]
  - core: Better error message when adding a box with a malformed version. [GH-3332]
  - core: Fix a rare issue where vagrant up would complain it couldn't
      check version of a box that doesn't exist. [GH-3326]
  - core: Box version constraint can't be specified with old-style box. [GH-3260]
  - commands/box: Show versions when listing. [GH-3316]
  - commands/box: Outdated check can list local boxes that are newer. [GH-3321]
  - commands/status: Machine readable output contains the target. [GH-3218]
  - guests/arch: Reload udev rules after network change. [GH-3322]
  - guests/debian: Changing host name works properly. [GH-3283]
  - guests/suse: Shutdown works correctly on SLES [GH-2775]
  - hosts/linux: Don't hardcode `exportfs` path. Now searches the PATH. [GH-3292]
  - providers/hyperv: Resume command works properly. [GH-3336]
  - providers/virtualbox: Add missing translation for stopping status. [GH-3368]
  - providers/virtualbox: Host-only networks set cableconnected property
      to "yes" [GH-3365]
  - provisioners/docker: Use proper flags for 0.9. [GH-3356]
  - synced\_folders/rsync: Set chmod flag by default on Windows. [GH-3256]
  - synced\_folders/smb: IDs of synced folders are hashed to work better
      with VMware. [GH-3219]
  - synced\_folders/smb: Properly remove existing folders with the
      same name. [GH-3354]
  - synced\_folders/smb: Passwords with symbols now work. [GH-3242]
  - synced\_folders/smb: Exporting works for non-english locale Windows
      machines. [GH-3251]

## 1.5.1 (March 13, 2014)

IMPROVEMENTS:

  - guests/tinycore: Will now auto-install rsync.
  - synced\_folders/rsync: rsync-auto will not watch filesystem for
    excluded paths. [GH-3159]

BUG FIXES:

  - core: V1 Vagrantfiles can upgrade provisioners properly. [GH-3092]
  - core: Rare EINVAL errors on box adding are gone. [GH-3094]
  - core: Upgrading the home directory for Vagrant 1.5 uses the Vagrant
    temp dir. [GH-3095]
  - core: Assume a box isn't metadata if it exceeds 20 MB. [GH-3107]
  - core: Asking for input works even in consoles that don't support
    hiding input. [GH-3119]
  - core: Adding a box by path in Cygwin on Windows works. [GH-3132]
  - core: PowerShell scripts work when they're in a directory with
    spaces. [GH-3100]
  - core: If you add a box path that doesn't exist, error earlier. [GH-3091]
  - core: Validation on forwarded ports to make sure they're between
    0 and 65535. [GH-3187]
  - core: Downloads with user/password use the curl `-u` flag. [GH-3183]
  - core: `vagrant help` no longer loads the Vagrantfile. [GH-3180]
  - guests/darwin: Fix an exception when configuring networks. [GH-3143]
  - guests/linux: Only chown folders/files in rsync if they don't
    have the proper owner. [GH-3186]
  - hosts/linux: Unusual sed delimiter to avoid conflicts. [GH-3167]
  - providers/virtualbox: Make more internal interactions with VBoxManage
    retryable to avoid spurious VirtualBox errors. [GH-2831]
  - providers/virtualbox: Import progress works again on Windows.
  - provisioners/ansible: Request SSH info within the provision method,
    when we know its available. [GH-3111]
  - synced\_folders/rsync: owner/group settings work. [GH-3163]

## 1.5.0 (March 10, 2014)

BREAKING CHANGES:

  - provisioners/ansible: the machine name (taken from Vagrantfile) is now
    set as default limit to ensure that vagrant provision steps only
    affect the expected machine.

DEPRECATIONS:

  - provisioners/chef-solo: The "nfs" setting has been replaced by
    `synced_folder_type`. The "nfs" setting will be removed in the next
    version.
  - provisioners/puppet: The "nfs" setting has been replaced by
    `synced_folder_type`. The "nfs" setting will be removed in the next
    version.

FEATURES:

  - **New provider:** Hyper-V. If you're on a Windows machine with Hyper-V
    enabled, Vagrant can now manage Hyper-V virtual machines out of the box.
  - **New guest:** Funtoo (change host name and networks supported)
  - **New guest:** NetBSD
  - **New guest:** TinyCore Linux. This allows features such as networking,
    halting, rsync and more work with Boot2Docker.
  - **New synced folder type:** rsync - Does a one-time one-directional sync
    to the guest machine. New commands `vagrant rsync` and `vagrant rsync-auto`
    can resync the folders.
  - **New synced folder type:** SMB- Allows bi-directional folder syncing
    using SMB on Windows hosts with any guest.
  - Password-based SSH authentication. This lets you use almost any off-the-shelf
    virtual machine image with Vagrant. Additionally, Vagrant will automatically
    insert a keypair into the machine.
  - Plugin versions can now be constrained to a range of versions. Example:
    `vagrant plugin install foo --plugin-version "> 1.0, < 1.1"`
  - Host-specific operations now use a "host capabilities" system much like
    guests have used "guest capabilities" for a few releases now. This allows
    plugin developers to create pluggable host-specific capabilities and makes
    further integrating Vagrant with new operating systems even easier.
  - You can now override provisioners within sub-VM configuration and
    provider overrides. See documentation for more info. [GH-1113]
  - providers/virtualbox: Provider-specific configuration `cpus` can be used
    to set the number of CPUs on the VM [GH-2800]
  - provisioners/docker: Can now build images using `docker build`. [GH-2615]

IMPROVEMENTS:

  - core: Added "error-exit" type to machine-readable output which contains
    error information that caused a non-zero exit status. [GH-2999]
  - command/destroy: confirmation will re-ask question if bad input. [GH-3027]
  - guests/solaris: More accurate Solaris >= 11, < 11 detection. [GH-2824]
  - provisioners/ansible: Generates a single inventory file, rather than
    one per machine. See docs for more info. [GH-2991]
  - provisioners/ansible: SSH forwarding support. [GH-2952]
  - provisioners/ansible: Multiple SSH keys can now be attempted [GH-2952]
  - provisioners/ansible: Disable SSH host key checking by default,
    which improves the experience. We believe this is a sane default
    for ephemeral dev machines.
  - provisioners/chef-solo: New config `synced_folder_type` replaces the
    `nfs` option. This can be used to set the synced folders the provisioner
    needs to any type. [GH-2709]
  - provisioners/chef-solo: `roles_paths` can now be an array of paths in
    Chef 11.8.0 and newer. [GH-2975]
  - provisioners/docker: Can start a container without daemonization.
  - provisioners/docker: Started containers are given names. [GH-3051]
  - provisioners/puppet: New config `synced_folder_type` replaces the
    `nfs` option. This can be used to set the synced folders the provisioner
    needs to any type. [GH-2709]
  - commands/plugin: `vagrant plugin update` will now update all installed
    plugins, respecting any constraints set.
  - commands/plugin: `vagrant plugin uninstall` can now uninstall multiple
    plugins.
  - commands/plugin: `vagrant plugin install` can now install multiple
    plugins.
  - hosts/redhat: Recognize Korora OS. [GH-2869]
  - synced\_folders/nfs: If the guest supports it, NFS clients will be
    automatically installed in the guest.

BUG FIXES:

  - core: If an exception was raised while attempting to connect to SSH
    for the first time, it would get swallowed. It is properly raised now.
  - core: Plugin installation does not fail if your local gemrc file has
    syntax errors.
  - core: Plugins that fork within certain actions will no longer hang
    indefinitely. [GH-2756]
  - core: Windows checks home directory permissions more correctly to
    warn of potential issues.
  - core: Synced folders set to the default synced folder explicitly won't
    be deleted. [GH-2873]
  - core: Static IPs can end in ".1". A warning is now shown. [GH-2914]
  - core: Adding boxes that have directories in them works on Windows.
  - core: Vagrant will not think provisioning is already done if
    the VM is manually deleted outside of Vagrant.
  - core: Box file checksums of large files works properly on Windows.
    [GH-3045]
  - commands/box: Box add `--force` works with `--provider` flag. [GH-2757]
  - commands/box: Listing boxes with machine-readable output crash is gone.
  - commands/plugin: Plugin installation will fail if dependencies conflict,
    rather than at runtime.
  - commands/ssh: When using `-c` on Windows, no more TTY errors.
  - commands/ssh-config: ProxyCommand is included in output if it is
    set. [GH-2950]
  - guests/coreos: Restart etcd after configuring networks. [GH-2852]
  - guests/linux: Don't chown VirtualBox synced folders if mounting
    as readonly. [GH-2442]
  - guests/redhat: Set hostname to FQDN, per the documentation for RedHat.
    [GH-2792]
  - hosts/bsd: Don't invoke shell for NFS sudo calls. [GH-2808]
  - hosts/bsd: Sort NFS exports to avoid false validation errors. [GH-2927]
  - hosts/bsd: No more checkexports NFS errors if you're sharing the
    same directory. [GH-3023]
  - hosts/gentoo: Look for systemctl in `/usr/bin` [GH-2858]
  - hosts/linux: Properly escape regular expression to prune NFS exports,
    allowing VMware to work properly. [GH-2934]
  - hosts/opensuse: Start NFS server properly. [GH-2923]
  - providers/virtualbox: Enabling internal networks by just setting "true"
    works properly. [GH-2751]
  - providers/virtualbox: Make more internal interactions with VBoxManage
    retryable to avoid spurious VirtualBox errors. [GH-2831]
  - providers/virtualbox: Config validation catches invalid keys. [GH-2843]
  - providers/virtualbox: Fix network adapter configuration issue if using
    provider-specific config. [GH-2854]
  - providers/virtualbox: Bridge network adapters always have their
    "cable connected" properly. [GH-2906]
  - provisioners/chef: When chowning folders, don't follow symlinks.
  - provisioners/chef: Encrypted data bag secrets also in Chef solo are
    now uploaded to the provisioning path to avoid perm issues. [GH-2845]
  - provisioners/chef: Encrypted data bag secret is removed from the
    machine before and after provisioning also with Chef client. [GH-2845]
  - provisioners/chef: Set `encrypted_data_bag_secret` on the VM to `nil`
    if the secret is not specified. [GH-2984]
  - provisioners/chef: Fix loading of the custom configure file. [GH-876]
  - provisioners/docker: Only add SSH user to docker group if the user
    isn't already in it. [GH-2838]
  - provisioners/docker: Configuring autostart works properly with
    the newest versions of Docker. [GH-2874]
  - provisioners/puppet: Append default module path to the module paths
    always. [GH-2677]
  - provisioners/salt: Setting pillar data doesn't require `deep_merge`
    plugin anymore. [GH-2348]
  - provisioners/salt: Options can now set install type and install args.
    [GH-2766]
  - provisioners/salt: Fix case when salt would say "options only allowed
    before install arguments" [GH-3005]
  - provisioners/shell: Error if script is encoded incorrectly. [GH-3000]
  - synced\_folders/nfs: NFS entries are pruned on every `vagrant up`,
    if there are any to prune. [GH-2738]

## 1.4.3 (January 2, 2014)

BUG FIXES:

  - providers/virtualbox: `vagrant package` works properly again. [GH-2739]

## 1.4.2 (December 31, 2013)

IMPROVEMENTS:

  - guests/linux: emit upstart event when NFS folders are mounted. [GH-2705]
  - provisioners/chef-solo: Encrypted data bag secret is removed from the
    machine after provisioning. [GH-2712]

BUG FIXES:

  - core: Ctrl-C no longer raises "trap context" exception.
  - core: The version for `Vagrant.configure` can now be an int. [GH-2689]
  - core: `Vagrant.has_plugin?` tries to use plugin's gem name before
    registered plugin name [GH-2617]
  - core: Fix exception if an EOFError was somehow raised by Ruby while
    checking a box checksum. [GH-2716]
  - core: Better error message if your plugin state file becomes corrupt
    somehow. [GH-2694]
  - core: Box add will fail early if the box already exists. [GH-2621]
  - hosts/bsd: Only run `nfsd checkexports` if there is an exports file.
    [GH-2714]
  - commands/plugin: Fix exception that could happen rarely when installing
    a plugin.
  - providers/virtualbox: Error when packaging if the package already exists
    _before_ the export is done. [GH-2380]
  - providers/virtualbox: NFS with static IP works even if VirtualBox
    guest additions aren't installed (regression). [GH-2674]
  - synced\_folders/nfs: sudo will only ask for password one at a time
    when using a parallel provider [GH-2680]

## 1.4.1 (December 18, 2013)

IMPROVEMENTS:

  - hosts/bsd: check NFS exports file for issues prior to exporting
  - provisioners/ansible: Add ability to use Ansible groups in generated
    inventory [GH-2606]
  - provisioners/docker: Add support for using the provisioner with RedHat
    based guests [GH-2649]
  - provisioners/docker: Remove "Docker" prefix from Client and Installer
    classes [GH-2641]

BUG FIXES:

  - core: box removal of a V1 box works
  - core: `vagrant ssh -c` commands are now executed in the context of
    a login shell (regression). [GH-2636]
  - core: specifying `-t` or `-T` to `vagrant ssh -c` as extra args
    will properly enable/disable a TTY for OpenSSH. [GH-2618]
  - commands/init: Error if can't write Vagrantfile to directory. [GH-2660]
  - guests/debian: fix `use_dhcp_assigned_default_route` to work properly.
    [GH-2648]
  - guests/debian,ubuntu: fix change\_host\_name for FQDNs with trailing
    dots [GH-2610]
  - guests/freebsd: configuring networks in the guest works properly
    [GH-2620]
  - guests/redhat: fix configure networks bringing down interfaces that
    don't exist. [GH-2614]
  - providers/virtualbox: Don't override NFS exports for all VMs when
    coming up. [GH-2645]
  - provisioners/ansible: Array arguments work for raw options [GH-2667]
  - provisioners/chef-client: Fix node/client deletion when node\_name is not
    set. [GH-2345]
  - provisioners/chef-solo: Force remove files to avoid cases where
    a prompt would be shown to users. [GH-2669]
  - provisioners/puppet: Don't prepend default module path for Puppet
    in case Puppet is managing its own paths. [GH-2677]

## 1.4.0 (December 9, 2013)

FEATURES:

  - New provisioner: Docker. Install Docker, pull containers, and run
    containers easier than ever.
  - Machine readable output. Vagrant now has machine-friendly output by
    using the `--machine-readable` flag.
  - New plugin type: synced folder implementation. This allows new ways of
    syncing folders to be added as plugins to Vagrant.
  - The `Vagrant.require_version` function can be used at the top of a Vagrantfile
    to enforce a minimum/maximum Vagrant version.
  - Adding boxes via `vagrant box add` and the Vagrantfile both support
    providing checksums of the box files.
  - The `--debug` flag can be specified on any command now to get debug-level
    log output to ease reporting bugs.
  - You can now specify a memory using `vb.memory` setting with VirtualBox.
  - Plugin developers can now hook into `environment_plugins_loaded`, which is
    executed after plugins are loaded but before Vagrantfiles are parsed.
  - VirtualBox internal networks are now supported. [GH-2020]

IMPROVEMENTS:

  - core: Support resumable downloads [GH-57]
  - core: owner/group of shared folders can be specified by integers. [GH-2390]
  - core: the VAGRANT\_NO\_COLOR environmental variable may be used to enable
    `--no-color` mode globally. [GH-2261]
  - core: box URL and add date is tracked and shown if `-i` flag is
    specified for `vagrant box list` [GH-2327]
  - core: Multiple SSH keys can be specified with `config.ssh.private_key_path`
    [GH-907]
  - core: `config.vm.box_url` can be an array of URLs. [GH-1958]
  - commands/box/add: Can now specify a custom CA cert for verifying
    certs from a custom CA. [GH-2337]
  - commands/box/add: Can now specify a client cert when downloading a
    box. [GH-1889]
  - commands/init: Add `--output` option for specifying output path, or
    "-" for stdin. [GH-1364]
  - commands/provision: Add `--no-parallel` option to disable provider
    parallelization if the provider supports it. [GH-2404]
  - commands/ssh: SSH compression is enabled by default. [GH-2456]
  - commands/ssh: Inline commands specified with "-c" are now executed
    using OpenSSH rather than pure-Ruby SSH. It is MUCH faster, and
    stdin works!
  - communicators/ssh: new configuration `config.ssh.pty` is a boolean for
    whether you want ot use a PTY for provisioning.
  - guests/linux: emit upstart event `vagrant-mounted` if upstart is
    available. [GH-2502]
  - guests/pld: support changing hostname [GH-2543]
  - providers/virtualbox: Enable symlinks for VirtualBox 4.1. [GH-2414]
  - providers/virtualbox: default VM name now includes milliseconds with
    a random number to try to avoid conflicts in CI environments. [GH-2482]
  - providers/virtualbox: customizations via VBoxManage are retried, avoiding
    VirtualBox flakiness [GH-2483]
  - providers/virtualbox: NFS works with DHCP host-only networks now. [GH-2560]
  - provisioners/ansible: allow files for extra vars [GH-2366]
  - provisioners/puppet: client cert and private key can now be specified
    for the puppet server provisioner. [GH-902]
  - provisioners/puppet: the manifests path can be in the VM. [GH-1805]
  - provisioners/shell: Added `keep_color` option to not automatically color
    output based on stdout/stderr. [GH-2505]
  - provisioners/shell: Arguments can now be an array of args. [GH-1949]
  - synced\_folders/nfs: Specify `nfs_udp` to false to disable UDP based
    NFS folders. [GH-2304]

BUG FIXES:

  - core: Make sure machine IDs are always strings. [GH-2434]
  - core: 100% CPU spike when waiting for SSH is fixed. [GH-2401]
  - core: Command lookup works on systems where PATH is not valid UTF-8 [GH-2514]
  - core: Human-friendly error if box metadata.json becomes corrupted. [GH-2305]
  - core: Don't load Vagrantfile on `vagrant plugin` commands, allowing
    Vagrantfiles that use plugins to work. [GH-2388]
  - core: global flags are ignored past the "--" on the CLI. [GH-2491]
  - core: provisioning will properly happen if `up` failed. [GH-2488]
  - guests/freebsd: Mounting NFS folders works. [GH-2400]
  - guests/freebsd: Uses `sh` by default for shell. [GH-2485]
  - guests/linux: upstart events listening for `vagrant-mounted` won't
    wait for jobs to complete, fixing issues with blocking during
    vagrant up [GH-2564]
  - guests/redhat: `DHCP_HOSTNAME` is set to the hostname, not the FQDN. [GH-2441]
  - guests/redhat: Down interface before messing up configuration file
    for networking. [GH-1577]
  - guests/ubuntu: "localhost" is preserved when changing hostnames.
    [GH-2383]
  - hosts/bsd: Don't set mapall if maproot is set in NFS. [GH-2448]
  - hosts/gentoo: Support systemd for NFS startup. [GH-2382]
  - providers/virtualbox: Don't start new VM if VirtualBox has transient
    failure during `up` from suspended. [GH-2479]
  - provisioners/chef: Chef client encrypted data bag secrets are now
    uploaded to the provisioning path to avoid perm issues. [GH-1246]
  - provisioners/chef: Create/chown the cache and backup folders. [GH-2281]
  - provisioners/chef: Verify environment paths exist in config
    validation step. [GH-2381]
  - provisioners/puppet: Multiple puppet definitions in a Vagrantfile
    work correctly.
  - provisioners/salt: Bootstrap on FreeBSD systems work. [GH-2525]
  - provisioners/salt: Extra args for bootstrap are put in the proper
    location. [GH-2558]

## 1.3.5 (October 15, 2013)

FEATURES:

  - VirtualBox 4.3 is now supported. [GH-2374]
  - ESXi is now a supported guest OS. [GH-2347]

IMPROVEMENTS:

  - guests/redhat: Oracle Linux is now supported. [GH-2329]
  - provisioners/salt: Support running overstate. [GH-2313]

BUG FIXES:

  - core: Fix some places where "no error message" errors were being
    reported when in fact there were errors. [GH-2328]
  - core: Disallow hyphens or periods for starting hostnames. [GH-2358]
  - guests/ubuntu: Setting hostname works properly. [GH-2334]
  - providers/virtualbox: Retryable VBoxManage commands are properly
    retried. [GH-2365]
  - provisioners/ansible: Verbosity won't be blank by default. [GH-2320]
  - provisioners/chef: Fix exception raised during Chef client node
    cleanup. [GH-2345]
  - provisioners/salt: Correct master seed file name. [GH-2359]

## 1.3.4 (October 2, 2013)

FEATURES:

  - provisioners/shell: Specify the `binary` option as true and Vagrant won't
    automatically replace Windows line endings with Unix ones.  [GH-2235]

IMPROVEMENTS:

  - guests/suse: Support installing CFEngine. [GH-2273]

BUG FIXES:

  - core: Don't output `\e[0K` anymore on Windows. [GH-2246]
  - core: Only modify `DYLD_LIBRARY_PATH` on Mac when executing commands
    in the installer context. [GH-2231]
  - core: Clear `DYLD_LIBRARY_PATH` on Mac if the subprocess is executing
    a setuid or setgid script. [GH-2243]
  - core: Defined action hook names can be strings now. They are converted
    to symbols internally.
  - guests/debian: FQDN is properly set when setting the hostname. [GH-2254]
  - guests/linux: Fix poor chown command for mounting VirtualBox folders.
  - guests/linux: Don't raise exception right away if mounting fails, allow
    retries. [GH-2234]
  - guests/redhat: Changing hostname changes DHCP_HOSTNAME. [GH-2267]
  - hosts/arch: Vagrant won't crash on Arch anymore. [GH-2233]
  - provisioners/ansible: Extra vars are converted to strings. [GH-2244]
  - provisioners/ansible: Output will show up on a task-by-task basis. [GH-2194]
  - provisioners/chef: Propagate disabling color if Vagrant has no color
    enabled. [GH-2246]
  - provisioners/chef: Delete from chef server exception fixed. [GH-2300]
  - provisioners/puppet: Work with restrictive umask. [GH-2241]
  - provisioners/salt: Remove bootstrap definition file on each run in
    order to avoid permissions issues. [GH-2290]

## 1.3.3 (September 18, 2013)

BUG FIXES:

  - core: Fix issues with dynamic linker not finding symbols on OS X. [GH-2219]
  - core: Properly clean up machine directories on destroy. [GH-2223]
  - core: Add a timeout to waiting for SSH connection and server headers
    on SSH. [GH-2226]

## 1.3.2 (September 17, 2013)

IMPROVEMENTS:

  - provisioners/ansible: Support more verbosity levels, better documentation.
    [GH-2153]
  - provisioners/ansible: Add `host_key_checking` configuration. [GH-2203]

BUG FIXES:

  - core: Report the proper invalid state when waiting for the guest machine
    to be ready
  - core: `Guest#capability?` now works with strings as well
  - core: Fix NoMethodError in the new `Vagrant.has_plugin?` method [GH-2189]
  - core: Convert forwarded port parameters to integers. [GH-2173]
  - core: Don't spike CPU to 100% while waiting for machine to boot. [GH-2163]
  - core: Increase timeout for individual SSH connection to 60 seconds. [GH-2163]
  - core: Call realpath after creating directory so NFS directory creation
    works. [GH-2196]
  - core: Don't try to be clever about deleting the machine state
    directory anymore. Manually done in destroy actions. [GH-2201]
  - core: Find the root Vagrantfile only if Vagrantfile is a file, not
    a directory. [GH-2216]
  - guests/linux: Try `id -g` in addition to `getent` for mounting
    VirtualBox shared folders [GH-2197]
  - hosts/arch: NFS exporting works properly, no exceptions. [GH-2161]
  - hosts/bsd: Use only `sudo` for writing NFS exports. This lets NFS
    exports work if you have sudo privs but not `su`. [GH-2191]
  - hosts/fedora: Fix host detection encoding issues. [GH-1977]
  - hosts/linux: Fix NFS export problems with `no_subtree_check`. [GH-2156]
  - installer/mac: Vagrant works properly when a library conflicts from
    homebrew. [GH-2188]
  - installer/mac: deb/rpm packages now have an epoch of 1 so that new
    installers don't appear older. [GH-2179]
  - provisioners/ansible: Default output level is now verbose again. [GH-2194]
  - providers/virtualbox: Fix an issue where destroy middlewares weren't
    being properly called. [GH-2200]

## 1.3.1 (September 6, 2013)

BUG FIXES:

  - core: Fix various issues where using the same options hash in a
    Vagrantfile can cause errors.
  - core: `VAGRANT_VAGRANTFILE` env var only applies to the project
    Vagrantfile name. [GH-2130]
  - core: Fix an issue where the data directory would be deleted too
    quickly in a multi-VM environment.
  - core: Handle the case where we get an EACCES cleaning up the .vagrant
    directory.
  - core: Fix exception on upgrade warnings from V1 to V2. [GH-2142]
  - guests/coreos: Proper IP detection. [GH-2146]
  - hosts/linux: NFS exporting works properly again. [GH-2137]
  - provisioners/chef: Work even with restrictive umask on user. [GH-2121]
  - provisioners/chef: Fix environment validation to be less restrictive.
  - provisioners/puppet: No more "shared folders cannot be found" error.
    [GH-2134]
  - provisioners/puppet: Work with restrictive umask on user by testing
    for folders with sudo. [GH-2121]

## 1.3.0 (September 5, 2013)

BACKWARDS INCOMPATIBILITY:

  - `config.ssh.max_tries` is gone. Instead of maximum tries, Vagrant now
    uses a simple overall timeout value `config.vm.boot_timeout` to wait for
    the machine to boot up.
  - `config.vm.graceful_halt_retry_*` settings are gone. Instead, a single
    timeout is now used to wait for a graceful halt to work, specified
    by `config.vm.graceful_halt_timeout`.
  - The ':extra' flag to shared folders for specifying arbitrary mount
    options has been replaced with the `:mount_options` flag, which is now
    an array of mount options.
  - `vagrant up` will now only run provisioning by default the first time
   it is run. Subsequent `reload` or `up` will need to explicitly specify
   the `--provision` flag to provision. [GH-1776]

FEATURES:

  - New command: `vagrant plugin update` to update specific installed plugins.
  - New provisioner: File provisioner. [GH-2112]
  - New provisioner: Salt provisioner. [GH-1626]
  - New guest: Mac OS X guest support. [GH-1914]
  - New guest: CoreOS guest support. Change host names and configure networks on
    CoreOS. [GH-2022]
  - New guest: Solaris 11 guest support. [GH-2052]
  - Support for environments in the Chef-solo provisioner. [GH-1915]
  - Provisioners can now define "cleanup" tasks that are executed on
    `vagrant destroy`. [GH-1302]
  - Chef Client provisioner will now clean up the node/client using
    `knife` if configured to do so.
  - `vagrant up` has a `--no-destroy-on-error` flag that will not destroy
    the VM if a fatal error occurs. [GH-2011]
  - NFS: Arbitrary mount options can be specified using the
   `mount_options` option on synced folders. [GH-1029]
  - NFS: Arbitrary export options can be specified using
   `bsd__nfs_options` and `linux__nfs_options`. [GH-1029]
  - Static IP can now be set on public networks. [GH-1745]
  - Add `Vagrant.has_plugin?` method for use in Vagrantfile to check
    if a plugin is installed. [GH-1736]
  - Support for remote shell provisioning scripts [GH-1787]

IMPROVEMENTS:

  - core: add `--color` to any Vagrant command to FORCE color output. [GH-2027]
  - core: "config.vm.host_name" works again, just an alias to hostname.
  - core: Reboots via SSH are now handled gracefully (without exception).
  - core: Mark `disabled` as true on forwarded port to disable. [GH-1922]
  - core: NFS exports are now namespaced by user ID, so pruning NFS won't
    remove exports from other users. [GH-1511]
  - core: "vagrant -v" no longer loads the Vagrantfile
  - commands/box/remove: Fix stack trace that happens if no provider
    is specified. [GH-2100]
  - commands/plugin/install: Post install message of a plugin will be
    shown if available. [GH-1986]
  - commands/status: cosmetic improvement to better align names and
    statuses [GH-2016]
  - communicators/ssh: Support a proxy_command. [GH-1537]
  - guests/openbsd: support configuring networks, changing host name,
    and mounting NFS. [GH-2086]
  - guests/suse: Supports private/public networks. [GH-1689]
  - hosts/fedora: Support RHEL as a host. [GH-2088]
  - providers/virtualbox: "post-boot" customizations will run directly
    after boot, and before waiting for SSH. [GH-2048]
  - provisioners/ansible: Many more configuration options. [GH-1697]
  - provisioners/ansible: Ansible `inventory_path` can be a directory now. [GH-2035]
  - provisioners/ansible: Extra verbose option by setting `config.verbose`
    to `extra`. [GH-1979]
  - provisioners/ansible: `inventory_path` will be auto-generated if not
    specified. [GH-1907]
  - provisioners/puppet: Add `nfs` option to puppet provisioner. [GH-1308]
  - provisioners/shell: Set the `privileged` option to false to run
    without sudo. [GH-1370]

BUG FIXES:

  - core: Clean up ".vagrant" folder more effectively.
  - core: strip newlines off of ID file values [GH-2024]
  - core: Multiple forwarded ports with different protocols but the same
    host port can be specified. [GH-2059]
  - core: `:nic_type` option for private networks is respected. [GH-1704]
  - commands/up: provision-with validates the provisioners given. [GH-1957]
  - guests/arch: use systemd way of setting host names. [GH-2041]
  - guests/debian: Force bring up eth0. Fixes hangs on setting hostname.
   [GH-2026]
  - guests/ubuntu: upstart events are properly emitted again. [GH-1717]
  - hosts/bsd: Nicer error if can't read NFS exports. [GH-2038]
  - hosts/fedora: properly detect later CentOS versions. [GH-2008]
  - providers/virtualbox: VirtualBox 4.2 now supports up to 36
    network adapters. [GH-1886]
  - provisioners/ansible: Execute ansible with a cwd equal to the
    path where the Vagrantfile is. [GH-2051]
  - provisioners/all: invalid config keys will be properly reported. [GH-2117]
  - provisioners/ansible: No longer report failure on every run. [GH-2007]
  - provisioners/ansible: Properly handle extra vars with spaces. [GH-1984]
  - provisioners/chef: Formatter option works properly. [GH-2058]
  - provisioners/chef: Create/chown the provisioning folder before
    reading contents. [GH-2121]
  - provisioners/puppet: mount synced folders as root to avoid weirdness
  - provisioners/puppet: Run from the correct working directory. [GH-1967]
    with Puppet. [GH-2015]
  - providers/virtualbox: Use `getent` to get the group ID instead of
    `id` in case the name doesn't have a user. [GH-1801]
  - providers/virtualbox: Will only set the default name of the VM on
    initial `up`. [GH-1817]

## 1.2.7 (July 28, 2013)

BUG FIXES:

  - On Windows, properly convert synced folder host path to a string
    so that separator replacement works properly.
  - Use `--color=false` for no color in Puppet to support older
    versions properly. [GH-2000]
  - Make sure the hostname configuration is a string. [GH-1999]
  - cURL downloads now contain a user agent which fixes some
    issues with downloading Vagrant through proxies. [GH-2003]
  - `vagrant plugin install` will now always properly show the actual
    installed gem name. [GH-1834]

## 1.2.6 (July 26, 2013)

BUG FIXES:

  - Box collections with multiple formats work properly by converting
    the supported formats to symbols. [GH-1990]

## 1.2.5 (July 26, 2013)

FEATURES:

  - `vagrant help <command>` now works. [GH-1578]
  - Added `config.vm.box_download_insecure` to allow the box_url setting
    to point to an https site that won't be validated. [GH-1712]
  - VirtualBox VBoxManage customizations can now be specified to run
    pre-boot (the default and existing functionality, pre-import,
    or post-boot. [GH-1247]
  - VirtualBox no longer destroys unused network interfaces by default.
    This didn't work across multi-user systems and required admin privileges
    on Windows, so it has been disabled by default. It can be enabled using
    the VirtualBox provider-specific `destroy_unused_network_interfaces`
    configuration by setting it to true. [GH-1324]

IMPROVEMENTS:

  - Remote commands that fail will now show the stdout/stderr of the
    command that failed. [GH-1203]
  - Puppet will run without color if the UI is not colored. [GH-1344]
  - Chef supports the "formatter" configuration for setting the
    formatter. [GH-1250]
  - VAGRANT_DOTFILE_PATH environmental variable reintroduces the
    functionality removed in 1.1 from "config.dotfile_name" [GH-1524]
  - Vagrant will show an error if VirtualBox 4.2.14 is running.
  - Added provider to BoxNotFound error message. [GH-1692]
  - If Ansible fails to run properly, show an error message. [GH-1699]
  - Adding a box with the `--provider` flag will now allow a box for
    any of that provider's supported formats.
  - NFS mounts enable UDP by default, resulting in higher performance.
    (Because mount is over local network, packet loss is not an issue)
   [GH-1706]

BUG FIXES:

  - `box_url` now handles the case where the provider doesn't perfectly
    match the provider in use, but the provider supports it. [GH-1752]
  - Fix uninitialized constant error when configuring Arch Linux network. [GH-1734]
  - Debian/Ubuntu change hostname works properly if eth0 is configured
    with hot-plugging. [GH-1929]
  - NFS exports with improper casing on Mac OS X work properly. [GH-1202]
  - Shared folders overriding '/vagrant' in multi-VM environments no
    longer all just use the last value. [GH-1935]
  - NFS export fsid's are now 32-bit integers, rather than UUIDs. This
    lets NFS exports work with Linux kernels older than 2.6.20. [GH-1127]
  - NFS export allows access from all private networks on the VM. [GH-1204]
  - Default VirtualBox VM name now contains the machine name as defined
    in the Vagrantfile, helping differentiate multi-VM. [GH-1281]
  - NFS works properly on CentOS hosts. [GH-1394]
  - Solaris guests actually shut down properly. [GH-1506]
  - All provisioners only output newlines when the provisioner sends a
    newline. This results in the output looking a lot nicer.
  - Sharing folders works properly if ".profile" contains an echo. [GH-1677]
  - `vagrant ssh-config` IdentityFile is only wrapped in quotes if it
    contains a space. [GH-1682]
  - Shared folder target path can be a Windows path. [GH-1688]
  - Forwarded ports don't auto-correct by default, and will raise an
    error properly if they collide. [GH-1701]
  - Retry SSH on ENETUNREACH error. [GH-1732]
  - NFS is silently ignored on Windows. [GH-1748]
  - Validation so that private network static IP does not end in ".1" [GH-1750]
  - With forward agent enabled and sudo being used, Vagrant will automatically
    discover and set `SSH_AUTH_SOCK` remotely so that forward agent
    works properly despite misconfigured sudoers. [GH-1307]
  - Synced folder paths on Windows containing '\' are replaced with
    '/' internally so that they work properly.
  - Unused config objects are finalized properly. [GH-1877]
  - Private networks work with Fedora guests once again. [GH-1738]
  - Default internal encoding of strings in Vagrant is now UTF-8, allowing
    detection of Fedora to work again (which contained a UTF-8 string). [GH-1977]

## 1.2.4 (July 16, 2013)

FEATURES:

  - Chef solo and client provisioning now support a `custom_config_path`
    setting that accepts a path to a Ruby file to load as part of Chef
    configuration, allowing you to override any setting available. [GH-876]
  - CFEngine provisioner: you can now specify the package name to install,
    so CFEngine enterprise is supported. [GH-1920]

IMPROVEMENTS:

  - `vagrant box remove` works with only the name of the box if that
    box exists only backed by one provider. [GH-1032]
  - `vagrant destroy` returns exit status 1 if any of the confirmations
    are declined. [GH-923]
  - Forwarded ports can specify a host IP and guest IP to bind to. [GH-1121]
  - You can now set the "ip" of a private network that uses DHCP. This will
    change the subnet and such that the DHCP server uses.
  - Add `file_cache_path` support for chef_solo. [GH-1897]

BUG FIXES:

  - VBoxManage or any other executable missing from PATH properly
    reported. Regression from 1.2.2. [GH-1928]
  - Boxes downloaded as part of `vagrant up` are now done so _prior_ to
    config validation. This allows Vagrantfiles to references files that
    may be in the box itself. [GH-1061]
  - Chef removes dna.json and encrypted data bag secret file prior to
    uploading. [GH-1111]
  - NFS synced folders exporting sub-directories of other exported folders now
    works properly. [GH-785]
  - NFS shared folders properly dereference symlinks so that the real path
    is used, avoiding mount errors [GH-1101]
  - SSH channel is closed after the exit status is received, potentially
    eliminating any SSH hangs. [GH-603]
  - Fix regression where VirtualBox detection wasn't working anymore. [GH-1918]
  - NFS shared folders with single quotes in their name now work properly. [GH-1166]
  - Debian/Ubuntu request DHCP renewal when hostname changes, which will
    fix issues with FQDN detecting. [GH-1929]
  - SSH adds the "DSAAuthentication=yes" option in case that is disabled
    on the user's system. [GH-1900]

## 1.2.3 (July 9, 2013)

FEATURES:

  - Puppet provisioner now supports Hiera by specifying a `hiera_config_path`.
  - Added a `working_directory` configuration option to the Puppet apply
    provisioner so you can specify the working directory when `puppet` is
    called, making it friendly to Hiera data and such. [GH-1670]
  - Ability to specify the host IP to bind forwarded ports to. [GH-1785]

IMPROVEMENTS:

  - Setting hostnames works properly on OmniOS. [GH-1672]
  - Better VBoxManage error detection on Windows systems. This avoids
    some major issues where Vagrant would sometimes "lose" your VM. [GH-1669]
  - Better detection of missing VirtualBox kernel drivers on Linux
    systems. [GH-1671]
  - More precise detection of Ubuntu/Debian guests so that running Vagrant
    within an LXC container works properly now.
  - Allow strings in addition to symbols to more places in V1 configuration
    as well as V2 configuration.
  - Add `ARPCHECK=0` to RedHat OS family network configuration. [GH-1815]
  - Add SSH agent forwarding sample to initial Vagrantfile. [GH-1808]
  - VirtualBox: Only configure networks if there are any to configure.
    This allows linux's that don't implement this capability to work with
    Vagrant. [GH-1796]
  - Default SSH forwarded port now binds to 127.0.0.1 so only local
    connections are allowed. [GH-1785]
  - Use `netctl` for Arch Linux network configuration. [GH-1760]
  - Improve fedora host detection regular expression. [GH-1913]
  - SSH shows a proper error on EHOSTUNREACH. [GH-1911]

BUG FIXES:

  - Ignore "guest not ready" errors when attempting to graceful halt and
    carry on checks whether the halt succeeded. [GH-1679]
  - Handle the case where a roles path for Chef solo isn't properly
    defined. [GH-1665]
  - Finding V1 boxes now works properly again to avoid "box not found"
    errors. [GH-1691]
  - Setting hostname on SLES 11 works again. [GH-1781]
  - `config.vm.guest` properly forces guests again. [GH-1800]
  - The `read_ip_address` capability for linux properly reads the IP
    of only the first network interface. [GH-1799]
  - Validate that an IP is given for a private network. [GH-1788]
  - Fix uninitialized constant error for Gentoo plugin. [GH-1698]

## 1.2.2 (April 23, 2013)

FEATURES:

  - New `DestroyConfirm` built-in middleware for providers so they can
    more easily conform to the `destroy` action.

IMPROVEMENTS:

  - No longer an error if the Chef run list is empty. It is now
    a warning. [GH-1620]
  - Better locking around handling the `box_url` parameter for
    parallel providers.
  - Solaris guest is now properly detected on SmartOS, OmniOS, etc. [GH-1639]
  - Guest addition version detection is more robust, attempting other
    routes to get the version, and also retrying a few times. [GH-1575]

BUG FIXES:

  - `vagrant package --base` works again. [GH-1615]
  - Box overrides specified in provider config overrides no longer
    fail to detect the box. [GH-1617]
  - In a multi-machine environment, a box not found won't be downloaded
    multiple times. [GH-1467]
  - `vagrant box add` with a file path now works correctly on Windows
    when a drive letter is specified.
  - DOS line endings are converted to Unix line endings for the
    shell provisioner automatically. [GH-1495]

## 1.2.1 (April 17, 2013)

FEATURES:

  - Add a `--[no-]parallel` flag to `vagrant up` to enable/disable
    parallelism. Vagrant will parallelize by default.

IMPROVEMENTS:

  - Get rid of arbitrary 4 second sleep when connecting via SSH. The
    issue it was attempting to work around may be gone now.

BUG FIXES:

  - Chef solo run list properly set. [GH-1608]
  - Follow 30x redirects when downloading boxes. [GH-1607]
  - Chef client config defaults are done properly. [GH-1609]
  - VirtualBox mounts shared folders with the proper owner/group. [GH-1611]
  - Use the Mozilla CA cert bundle for cURL so SSL validation works
    properly.

## 1.2.0 (April 16, 2013)

BACKWARDS INCOMPATIBILITIES:

  - WINDOWS USERS: Vagrant now defaults to using the 'USERPROFILE' environmental
    variable for the home directory if it is set. This means that the default
    location for the Vagrant home directory is now `%USERPROFILE%/.vagrant.d`.
    On Cygwin, this will cause existing Cygwin users to "lose" their boxes.
    To work around this, either set `VAGRANT_HOME` to your Cygwin ".vagrant.d"
    folder or move your ".vagrant.d" folder to `USERPROFILE`. The latter is
    recommended for long-term support.
  - The constant `Vagrant::Environment::VAGRANT_HOME` was removed in favor of
    `Vagrant::Environment#default_vagrant_home`.

FEATURES:

  - Providers can now parallelize! If they explicitly support it, Vagrant
    will run "up" and other commands in parallel. For providers such AWS,
    this means that your instances will come up in parallel. VirtualBox
    does not support this mode.
  - Box downloads are now done via `curl` rather than Ruby's built-in
    HTTP library. This results in massive speedups, support for SSL
    verification, FTP downloads, and more.
  - `config.vm.provider` now takes an optional second parameter to the block,
    allowing you to override any configuration value. These overrides are
    applied last, and therefore override any other configuration value.
    Note that while this feature is available, the "Vagrant way" is instead
    to use box manifests to ensure that the "box" for every provider matches,
    so these sorts of overrides are unnecessary.
  - A new "guest capabilities" system to replace the old "guest" system.
    This new abstraction allows plugins to define "capabilities" that
    certain guest operating systems can implement. This allows greater
    flexibility in doing guest-specific behavior.
  - Ansible provisioner support. [GH-1465]
  - Providers can now support multiple box formats by specifying the
    `box_format:` option.
  - CFEngine provisioner support.
  - `config.ssh.default` settings introduced to set SSH defaults that
    providers can still override. [GH-1479]

IMPROVEMENTS:

  - Full Windows support in cmd.exe, PowerShell, Cygwin, and MingW based
    environments.
  - By adding the "disabled" boolean flag to synced folders you can disable
    them altogether. [GH-1004]
  - Specify the default provider with the `VAGRANT_DEFAULT_PROVIDER`
    environmental variable. [GH-1478]
  - Invalid settings are now caught and shown in a user-friendly way. [GH-1484]
  - Detect PuTTY Link SSH client on Windows and show an error. [GH-1518]
  - `vagrant ssh` in Cygwin won't output DOS path file warnings.
  - Add `--rtcuseutc on` as a sane default for VirtualBox. [GH-912]
  - SSH will send keep-alive packets every 5 seconds by default to
    keep connections alive. Can be disabled with `config.ssh.keep_alive`. [GH-516]
  - Show a message on `vagrant up` if the machine is already running. [GH-1558]
  - "Running provisioner" output now shoes the provisioner shortcut name,
    rather than the less-than-helpful class name.
  - Shared folders with the same guest path will overwrite each other. No
    more shared folder IDs.
  - Shell provisioner outputs script it is running. [GH-1568]
  - Automatically merge forwarded ports that share the same host
    port.

BUG FIXES:

  - The `:mac` option for host-only networks is respected. [GH-1536]
  - Don't preserve modified time when untarring boxes. [GH-1539]
  - Forwarded port auto-correct will not auto-correct to a port
    that is also in use.
  - Cygwin will always output color by default. Specify `--no-color` to
    override this.
  - Assume Cygwin has a TTY for asking for input. [GH-1430]
  - Expand Cygwin paths to Windows paths for calls to VBoxManage and
    for VirtualBox shared folders.
  - Output the proper clear line text for shells in Cygwin when
    reporting dynamic progress.
  - When using `Builder` instances for hooks, the builders will be
    merged for the proper before/after chain. [GH-1555]
  - Use the Vagrant temporary directory again for temporary files
    since they can be quite large and were messing with tmpfs. [GH-1442]
  - Fix issue parsing extra SSH args in `vagrant ssh` in multi-machine
    environments. [GH-1545]
  - Networks come back up properly on RedHat systems after reboot. [GH-921]
  - `config.ssh` settings override all detected SSH settings (regression). [GH-1479]
  - `ssh-config` won't raise an exception if the VirtualBox machine
    is not created. [GH-1562]
  - Multiple machines defined in the same Vagrantfile with the same
    name will properly merge.
  - More robust hostname checking for RedHat. [GH-1566]
  - Cookbook path existence for Chef is no longer an error, so that
    things like librarian and berkshelf plugins work properly. [GH-1570]
  - Chef solo provisioner uses proper SSH username instead of hardcoded
    config. [GH-1576]
  - Shell provisioner takes ownership of uploaded files properly so
    that they can also be manually executed later. [GH-1576]

## 1.1.6 (April 3, 2013)

BUG FIXES:

  - Fix SSH re-use connection logic to drop connection if an
    error occurs.

## 1.1.5 (April 2, 2013)

IMPROVEMENTS:

  - More robust SSH connection close detection.
  - Don't load `vagrant plugin` installed plugins when in a Bundler
    environment. This happens during plugin development. This will make
    Vagrant errors much quieter when developing plugins.
  - Vagrant will detect Bundler environments, make assumptions that you're
    developing plugins, and will quiet its error output a bit.
  - More comprehensive synced folder configuration validation.
  - VBoxManage errors now show the output from the command so that
    users can potentially know what is wrong.

BUG FIXES:

  - Proper error message if invalid provisioner is used. [GH-1515]
  - Don't error on graceful halt if machine just shut down very
    quickly. [GH-1505]
  - Error message if private key for SSH isn't owned by the proper
    user. [GH-1503]
  - Don't error too early when `config.vm.box` is not properly set.
  - Show a human-friendly error if VBoxManage is not found (exit
    status 126). [GH-934]
  - Action hook prepend/append will only prepend or append once.
  - Retry SSH on Errno::EACCES.
  - Show an error if an invalid network type is used.
  - Don't share Chef solo folder if it doesn't exist on host.

## 1.1.4 (March 25, 2013)

BUG FIXES:

  - Default forwarded port adapter for VirtualBox should be 1.

## 1.1.3 (March 25, 2013)

IMPROVEMENTS:

  - Puppet apply provisioner now retains the default module path
    even while specifying custom module paths. [GH-1207]
  - Re-added DHCP support for host-only networks. [GH-1466]
  - Ability to specify a plugin version, plugin sources, and
    pre-release versions using `--plugin-version`, `--plugin-source`,
    and `--plugin-prerelease`. [GH-1461]
  - Move VirtualBox guest addition checks to after the machine
    boots. [GH-1179]
  - Removed `Vagrant::TestHelpers` because it doesn't really work anymore.
  - Add PLX linux guest support. [GH-1490]

BUG FIXES:

  - Attempt to re-establish SSH connection on `Net::SSH::Disconnect`
  - Allow any value that can convert to a string for `Vagrant.plugin`
  - Chef solo `recipe_url` works properly again. [GH-1467]
  - Port collision detection works properly in VirtualBox with
    auto-corrected ports. [GH-1472]
  - Fix obscure error when temp directory is world writable when
    adding boxes.
  - Improved error handling around network interface detection for
    VirtualBox [GH-1480]

## 1.1.2 (March 18, 2013)

BUG FIXES:

  - When not specifying a cookbooks_path for chef-solo, an error won't
    be shown if "cookbooks" folder is missing.
  - Fix typo for exception when no host-only network with NFS. [GH-1448]
  - Use UNSET_VALUE/nil with args on shell provisioner by default since
    `[]` was too truthy. [GH-1447]

## 1.1.1 (March 18, 2013)

IMPROVEMENTS:

  - Don't load plugins on any `vagrant plugin` command, so that errors
    are avoided. [GH-1418]
  - An error will be shown if you forward a port to the same host port
    multiple times.
  - Automatically convert network, provider, and provisioner names to
    symbols internally in case people define them as strings.
  - Using newer versions of net-ssh and net-scp. [GH-1436]

BUG FIXES:

  - Quote keys to StringBlockEditor so keys with spaces, parens, and
    so on work properly.
  - When there is no route to host for SSH, re-establish a new connection.
  - `vagrant package` once again works, no more nil error. [GH-1423]
  - Human friendly error when "metadata.json" is missing in a box.
  - Don't use the full path to the manifest file with the Puppet provisioner
    because it exposes a bug with Puppet path lookup on VMware.
  - Fix bug in VirtualBox provider where port forwarding just didn't work if
    you attempted to forward to a port under 1024. [GH-1421]
  - Fix cross-device box adds for Windows. [GH-1424]
  - Fix minor issues with defaults of configuration of the shell
    provisioner.
  - Fix Puppet server using "host_name" instead of "hostname" [GH-1444]
  - Raise a proper error if no hostonly network is found for NFS with
    VirtualBox. [GH-1437]

## 1.1.0 (March 14, 2013)

BACKWARDS INCOMPATIBILITIES:

  - Vagrantfiles from 1.0.x that _do not use_ any plugins are fully
    backwards compatible. If plugins are used, they must be removed prior
    to upgrading. The new plugin system in place will avoid this issue in
    the future.
  - Lots of changes introduced in the form of a new configuration version and
    format, but this is _opt-in_. Old Vagrantfile format continues to be supported,
    as promised. To use the new features that will be introduced throughout
    the 1.x series, you'll have to upgrade at some point.

FEATURES:

  - Groundwork for **providers**, alternate backends for Vagrant that
    allow Vagrant to power systems other than VirtualBox. Much improvement
    and change will come to this throughout the 1.x lifecycle. The API
    will continue to change, features will be added, and more. Specifically,
    a revamped system for handling shared folders gracefully across providers
    will be introduced in a future release.
  - New plugin system which adds much more structure and stability to
    the overall API. The goal of this system is to make it easier to write
    powerful plugins for Vagrant while providing a backwards-compatible API
    so that plugins will always _load_ (though they will almost certainly
    not be _functional_ in future versions of Vagrant).
  - Plugins are now installed and managed using the `vagrant plugin` interface.
  - Allow "file://" URLs for box URLs. [GH-1087]
  - Emit "vagrant-mount" upstart event when NFS shares are mounted. [GH-1118]
  - Add a VirtualBox provider config `auto_nat_dns_proxy` which when set to
    false will not attempt to automatically manage NAT DNS proxy settings
    with VirtualBox. [GH-1313]
  - `vagrant provision` accepts the `--provision-with` flag [GH-1167]
  - Set the name of VirtualBox machines with `virtualbox.name` in the
    VirtualBox provider config. [GH-1126]
  - `vagrant ssh` will execute an `ssh` binary on Windows if it is on
    your PATH. [GH-933]
  - The environmental variable `VAGRANT_VAGRANTFILE` can be used to
    specify an alternate Vagrantfile filename.

IMPROVEMENTS / BUG FIXES:

  - Vagrant works much better in Cygwin environments on Windows by
    properly resolving Cygwin paths. [GH-1366]
  - Improve the SSH "ready?" check by more gracefully handling timeouts. [GH-841]
  - Human friendly error if connection times out for HTTP downloads. [GH-849]
  - Detect when the VirtualBox installation is incomplete and error. [GH-846]
  - Detect when kernel modules for VirtualBox need to be installed on Gentoo
    systems and report a user-friendly error. [GH-710]
  - All `vagrant` commands that can take a target VM name can take one even
    if you're not in a multi-VM environment. [GH-894]
  - Hostname is set before networks are setup to avoid very slow `sudo`
    speeds on CentOS. [GH-922]
  - `config.ssh.shell` now includes the flags to pass to it, such as `-l` [GH-917]
  - The check for whether a port is open or not is more complete by
    catching ENETUNREACH errors. [GH-948]
  - SSH uses LogLevel FATAL so that errors are still shown.
  - Sending a SIGINT (Ctrl-C) very early on when executing `vagrant` no
    longer results in an ugly stack trace.
  - Chef JSON configuration output is now pretty-printed to be
    human readable. [GH-1146]
    that SSHing succeeds when booting a machine.
  - VMs in the "guru meditation" state can be destroyed now using
    `vagrant destroy`.
  - Fix issue where changing SSH key permissions didn't properly work. [GH-911]
  - Fix issue where Vagrant didn't properly detect VBoxManage on Windows
    if VBOX_INSTALL_PATH contained multiple paths. [GH-885]
  - Fix typo in setting host name for Gentoo guests. [GH-931]
  - Files that are included with `vagrant package --include` now properly
    preserve file attributes on earlier versions of Ruby. [GH-951]
  - Multiple interfaces now work with Arch linux guests. [GH-957]
  - Fix issue where subprocess execution would always spin CPU of Ruby
    process to 100%. [GH-832]
  - Fix issue where shell provisioner would sometimes never end. [GH-968]
  - Fix issue where puppet would reorder module paths. [GH-964]
  - When console input is asked for (destroying a VM, bridged interfaces, etc.),
    keystrokes such as ctrl-D and ctrl-C are more gracefully handled. [GH-1017]
  - Fixed bug where port check would use "localhost" on systems where
    "localhost" is not available. [GH-1057]
  - Add missing translation for "saving" state on VirtualBox. [GH-1110]
  - Proper error message if the remote end unexpectedly resets the connection
    while downloading a box over HTTP. [GH-1090]
  - Human-friendly error is raised if there are permission issues when
    using SCP to upload files. [GH-924]
  - Box adding doesn't use `/tmp` anymore which can avoid some cross-device
    copy issues. [GH-1199]
  - Vagrant works properly in folders with strange characters. [GH-1223]
  - Vagrant properly handles "paused" VirtualBox machines. [GH-1184]
  - Better behavior around permissions issues when copying insecure
    private key. [GH-580]

## 1.0.7 (March 13, 2013)

  - Detect if a newer version of Vagrant ran and error if it did,
    because we're not forward-compatible.
  - Check for guest additions version AFTER booting. [GH-1179]
  - Quote IdentityFile in `ssh-config` so private keys with spaces in
    the path work. [GH-1322]
  - Fix issue where multiple Puppet module paths can be re-ordered [GH-964]
  - Shell provisioner won't hang on Windows anymore due to unclosed
    tempfile. [GH-1040]
  - Retry setting default VM name, since it sometimes fails first time. [GH-1368]
  - Support setting hostname on Suse [GH-1063]

## 1.0.6 (December 21, 2012)

  - Shell provisioner outputs proper line endings on Windows [GH-1164]
  - SSH upload opens file to stream which fixes strange upload issues.
  - Check for proper exit codes for Puppet, since multiple exit codes
    can mean success. [GH-1180]
  - Fix issue where DNS doesn't resolve properly for 12.10. [GH-1176]
  - Allow hostname to be a substring of the box name for Ubuntu [GH-1163]
  - Use `puppet agent` instead of `puppetd` to be Puppet 3.x
    compatible. [GH-1169]
  - Work around bug in VirtualBox exposed by bug in OS X 10.8 where
    VirtualBox executables couldn't handle garbage being injected into
    stdout by OS X.

## 1.0.5 (September 18, 2012)

  - Work around a critical bug in VirtualBox 4.2.0 on Windows that
    causes Vagrant to not work. [GH-1130]
  - Plugin loading works better on Windows by using the proper
    file path separator.
  - NFS works on Fedora 16+. [GH-1140]
  - NFS works with newer versions of Arch hosts that use systemd. [GH-1142]

## 1.0.4 (September 13, 2012)

  - VirtualBox 4.2 driver. [GH-1120]
  - Correct `ssh-config` help to use `--host`, not `-h`.
  - Use "127.0.0.1" instead of "localhost" for port checking to fix problem
    where "localhost" is not properly setup. [GH-1057]
  - Disable read timeout on Net::HTTP to avoid `rbuf_fill` error. [GH-1072]
  - Retry SSH on `EHOSTUNREACH` errors.
  - Add missing translation for "saving" state. [GH-1110]

## 1.0.3 (May 1, 2012)

  - Don't enable NAT DNS proxy on machines where resolv.conf already points
    to localhost. This allows Vagrant to work once again with Ubuntu
    12.04. [GH-909]

## 1.0.2 (March 25, 2012)

  - Provisioners will still mount folders and such if `--no-provision` is
    used, so that `vagrant provision` works. [GH-803]
  - Nicer error message if an unsupported SSH key type is used. [GH-805]
  - Gentoo guests can now have their host names changed. [GH-796]
  - Relative paths can be used for the `config.ssh.private_key_path`
    setting. [GH-808]
  - `vagrant ssh` now works on Solaris, where `IdentitiesOnly` was not
    an available option. [GH-820]
  - Output works properly in the face of broken pipes. [GH-819]
  - Enable Host IO Cache on the SATA controller by default.
  - Chef-solo provisioner now supports encrypted data bags. [GH-816]
  - Enable the NAT DNS proxy by default, allowing your DNS to continue
    working when you switch networks. [GH-834]
  - Checking for port forwarding collisions also checks for other applications
    that are potentially listening on that port as well. [GH-821]
  - Multiple VM names can be specified for the various commands now. For
    example: `vagrant up web db service`. [GH-795]
  - More robust error handling if a VM fails to boot. The error message
    is much clearer now. [GH-825]

## 1.0.1 (March 11, 2012)

  - Installers are now bundled with Ruby 1.9.3p125. Previously they were
    bundled with 1.9.3p0. This actually fixes some IO issues with Windows.
  - Windows installer now outputs a `vagrant` binary that will work in msys
    or Cygwin environments.
  - Fix crashing issue which manifested itself in multi-VM environments.
  - Add missing `rubygems` require in `environment.rb` to avoid
    possible load errors. [GH-781]
  - `vagrant destroy` shows a nice error when called without a
    TTY (and hence can't confirm). [GH-779]
  - Fix an issue with the `:vagrantfile_name` option to `Vagrant::Environment`
    not working properly. [GH-778]
  - `VAGRANT_CWD` environmental variable can be used to set the CWD to
    something other than the current directory.
  - Downloading boxes from servers that don't send a content-length
    now works properly. [GH-788]
  - The `:facter` option now works for puppet server. [GH-790]
  - The `--no-provision` and `--provision-with` flags are available to
    `vagrant reload` now.
  - `:openbsd` guest which supports only halting at the moment. [GH-773]
  - `ssh-config -h` now shows help, instead of assuming a host is being
    specified. For host, you can still use `--host`. [GH-793]

## 1.0.0 (March 6, 2012)

  - `vagrant gem` should now be used to install Vagrant plugins that are
    gems. This installs the gems to a private gem folder that Vagrant adds
    to its own load path. This isolates Vagrant-related gems from system
    gems.
  - Plugin loading no longer happens right when Vagrant is loaded, but when
    a Vagrant environment is loaded. I don't anticipate this causing any
    problems but it is a backwards incompatible change should a plugin
    depend on this (but I don't see any reason why they would).
  - `vagrant destroy` now asks for confirmation by default. This can be
    overridden with the `--force` flag. [GH-699]
  - Fix issue with Puppet config inheritance. [GH-722]
  - Fix issue where starting a VM on some systems was incorrectly treated
    as failing. [GH-720]
  - It is now an error to specify the packaging `output` as a directory. [GH-730]
  - Unix-style line endings are used properly for guest OS. [GH-727]
  - Retry certain VirtualBox operations, since they intermittently fail.
    [GH-726]
  - Fix issue where Vagrant would sometimes "lose" a VM if an exception
    occurred. [GH-725]
  - `vagrant destroy` destroys virtual machines in reverse order. [GH-739]
  - Add an `fsid` option to Linux NFS exports. [GH-736]
  - Fix edge case where an exception could be raised in networking code. [GH-742]
  - Add missing translation for the "guru meditation" state. [GH-745]
  - Check that VirtualBox exists before certain commands. [GH-746]
  - NIC type can be defined for host-only network adapters. [GH-750]
  - Fix issue where re-running chef-client would sometimes cause
    problems due to file permissions. [GH-748]
  - FreeBSD guests can now have their hostnames changed. [GH-757]
  - FreeBSD guests now support host only networking and bridged networking. [GH-762]
  - `VM#run_action` is now public so plugin-devs can hook into it.
  - Fix crashing bug when attempting to run commands on the "primary"
    VM in a multi-VM environment. [GH-761]
  - With puppet you can now specify `:facter` as a dictionary of facts to
    override what is generated by Puppet. [GH-753]
  - Automatically convert all arguments to `customize` to strings.
  - openSUSE host system. [GH-766]
  - Fix subprocess IO deadlock which would occur on Windows. [GH-765]
  - Fedora 16 guest support. [GH-772]

## 0.9.7 (February 9, 2012)

  - Fix regression where all subprocess IO simply didn't work with
    Windows. [GH-721]

## 0.9.6 (February 7, 2012)

  - Fix strange issue with inconsistent childprocess reads on JRuby. [GH-711]
  - `vagrant ssh` does a direct `exec()` syscall now instead of going through
    the shell. This makes it so things like shell expansion oddities no longer
    cause problems. [GH-715]
  - Fix crashing case if there are no ports to forward.
  - Fix issue surrounding improper configuration of host only networks on
    RedHat guests. [GH-719]
  - NFS should work properly on Gentoo. [GH-706]

## 0.9.5 (February 5, 2012)

  - Fix crashing case when all network options are `:auto_config false`.
    [GH-689]
  - Type of network adapter can be specified with `:nic_type`. [GH-690]
  - The NFS version can be specified with the `:nfs_version` option
    on shared folders. [GH-557]
  - Greatly improved FreeBSD guest and host support. [GH-695]
  - Fix instability with RedHat guests and host only and bridged networks.
    [GH-698]
  - When using bridged networking, only list the network interfaces
    that are up as choices. [GH-701]
  - More intelligent handling of the `certname` option for puppet
    server. [GH-702]
  - You may now explicitly set the network to bridge to in the Vagrantfile
    using the `:bridge` parameter. [GH-655]

## 0.9.4 (January 28, 2012)

  - Important internal changes to middlewares that make plugin developer's
    lives much easier. [GH-684]
  - Match VM names that have parens, brackets, etc.
  - Detect when the VirtualBox kernel module is not loaded and error. [GH-677]
  - Set `:auto_config` to false on any networking option to not automatically
    configure it on the guest. [GH-663]
  - NFS shared folder guest paths can now contain shell expansion characters
    such as `~`.
  - NFS shared folders with a `:create` flag will have their host folders
    properly created if they don't exist. [GH-667]
  - Fix the precedence for Arch, Ubuntu, and FreeBSD host classes so
    they are properly detected. [GH-683]
  - Fix issue where VM import sometimes made strange VirtualBox folder
    layouts. [GH-669]
  - Call proper `id` command on Solaris. [GH-679]
  - More accurate VBoxManage error detection.
  - Shared folders can now be marked as transient using the `:transient`
    flag. [GH-688]

## 0.9.3 (January 24, 2012)

  - Proper error handling for not enough arguments to `box` commands.
  - Fix issue causing crashes with bridged networking. [GH-673]
  - Ignore host only network interfaces that are "down." [GH-675]
  - Use "printf" instead of "echo" to determine shell expanded files paths
    which is more generally POSIX compliant. [GH-676]

## 0.9.2 (January 20, 2012)

  - Support shell expansions in shared folder guest paths again. [GH-656]
  - Fix issue where Chef solo always expected the host to have a
    "cookbooks" folder in their directory. [GH-638]
  - Fix `forward_agent` not working when outside of blocks. [GH-651]
  - Fix issue causing custom guest implementations to not load properly.
  - Filter clear screen character out of output on SSH.
  - Log output now goes on `stderr`, since it is utility information.
  - Get rid of case where a `NoMethodError` could be raised while
    determining VirtualBox version. [GH-658]
  - Debian/Ubuntu uses `ifdown` again, instead of `ifconfig xxx down`, since
    the behavior seems different/wrong.
  - Give a nice error if `:vagrant` is used as a JSON key, since Vagrant
    uses this. [GH-661]
  - If there is only one bridgeable interface, use that without asking
    the user. [GH-655]
  - The shell will have color output if ANSICON is installed on Windows. [GH-666]

## 0.9.1 (January 18, 2012)

  - Use `ifconfig device down` instead of `ifdown`. [GH-649]
  - Clearer invalid log level error. [GH-645]
  - Fix exception raised with NFS `recover` method.
  - Fix `ui` `NoMethodError` exception in puppet server.
  - Fix `vagrant box help` on Ruby 1.8.7. [GH-647]

## 0.9.0 (January 17, 2012)

  - VirtualBox 4.0 support backported in addition to supporting VirtualBox 4.1.
  - `config.vm.network` syntax changed so that the first argument is now the type
    of argument. Previously where you had `config.vm.network "33.33.33.10"` you
    should now put `config.vm.network :hostonly, "33.33.33.10"`. This is in order
    to support bridged networking, as well.
  - `config.vm.forward_port` no longer requires a name parameter.
  - Bridged networking. `config.vm.network` with `:bridged` as the option will
    setup a bridged network.
  - Host only networks can be configured with DHCP now. Specify `:dhcp` as
    the IP and it will be done.
  - `config.vm.customize` now takes a command to send to `VBoxManage`, so any
    arbitrary command can be sent. The older style of passing a block no longer
    works and Vagrant will give a proper error message if it notices this old-style
    being used.
  - `config.ssh.forwarded_port_key` is gone. Vagrant no longer cares about
    forwarded port names for any reason. Please use `config.ssh.guest_port`
    (more below).
  - `config.ssh.forwarded_port_destination` has been replaced by
    `config.ssh.guest_port` which more accurately reflects what it is
    used for. Vagrant will automatically scan forwarded ports that match the
    guest port to find the SSH port.
  - Logging. The entire Vagrant source has had logging sprinkled throughout
    to make debugging issues easier. To enable logging, set the VAGRANT_LOG
    environmental variable to the log level you wish to see. By default,
    logging is silent.
  - `system` renamed to `guest` throughout the source. Any `config.vm.system`
    configurations must be changed to `config.vm.guest`
  - Puppet provisioner no longer defaults manifest to "box.pp." Instead, it
    is now "default.pp"
  - All Vagrant commands that take a VM name in a Multi-VM environment
    can now be given a regular expression. If the name starts and ends with a "/"
    then it is assumed to be a regular expression. [GH-573]
  - Added a "--plain" flag to `vagrant ssh` which will cause Vagrant to not
    perform any authentication. It will simply `ssh` into the proper IP and
    port of the virtual machine.
  - If a shared folder now has a `:create` flag set to `true`, the path on the
    host will be created if it doesn't exist.
  - Added `--force` flag to `box add`, which will overwrite any existing boxes
    if they exist. [GH-631]
  - Added `--provision-with` to `up` which configures what provisioners run,
    by shortcut. [GH-367]
  - Arbitrary mount options can be passed with `:extra` to any shared
    folders. [GH-551]
  - Options passed after a `--` to `vagrant ssh` are now passed directly to
    `ssh`. [GH-554]
  - Ubuntu guests will now emit a `vagrant-mounted` upstart event after shared
    folders are mounted.
  - `attempts` is a new option on chef client and chef solo provisioners. This
    will run the provisioner multiple times until erroring about failing
    convergence. [GH-282]
  - Removed Thor as a dependency for the command line interfaces. This resulted
    in general speed increases across all command line commands.
  - Linux uses `shutdown -h` instead of `halt` to hopefully more consistently
    power off the system. [GH-575]
  - Tweaks to SSH to hopefully be more reliable in coming up.
  - Helpful error message when SCP is unavailable in the guest. [GH-568]
  - Error message for improperly packaged box files. [GH-198]
  - Copy insecure private key to user-owned directory so even
    `sudo` installed Vagrant installations work. [GH-580]
  - Provisioner stdout/stderr is now color coded based on stdout/stderr.
    stdout is green, stderr is red. [GH-595]
  - Chef solo now prompts users to run a `reload` if shared folders
    are not found on the VM. [GH-253]
  - "--no-provision" once again works for certain commands. [GH-591]
  - Resuming a VM from a saved state will show an error message if there
    would be port collisions. [GH-602]
  - `vagrant ssh -c` will now exit with the same exit code as the command
    run. [GH-598]
  - `vagrant ssh -c` will now send stderr to stderr and stdout to stdout
    on the host machine, instead of all output to stdout.
  - `vagrant box add` path now accepts unexpanded shell paths such as
    `~/foo` and will properly expand them. [GH-633]
  - Vagrant can now be interrupted during the "importing" step.
  - NFS exports will no longer be cleared when an expected error occurs. [GH-577]

## 0.8.10 (December 10, 2011)

  - Revert the SSH tweaks made in 0.8.8. It affected stability

## 0.8.8 (December 1, 2011)

  - Mount shared folders shortest to longest to avoid mounting
    subfolders first. [GH-525]
  - Support for basic HTTP auth in the URL for boxes.
  - Solaris support for host only networks. [GH-533]
  - `vagrant init` respects `Vagrant::Environment` cwd. [GH-528]
  - `vagrant` commands will not output color when stdout is
    not a TTY.
  - Fix issue where `box_url` set with multiple VMs could cause issues. [GH-564]
  - Chef provisioners no longer depend on a "v-root" share being
    available. [GH-556]
  - NFS should work for FreeBSD hosts now. [GH-510]
  - SSH executed methods respect `config.ssh.max_tries`. [GH-508]
  - `vagrant box add` now respects the "no_proxy" environmental variable.
    [GH-502]
  - Tweaks that should make "Waiting for VM to boot" slightly more
    reliable.
  - Add comments to Vagrantfile to make it detected as Ruby file for
    `vi` and `emacs`. [GH-515]
  - More correct guest addition version checking. [GH-514]
  - Chef solo support on Windows is improved. [GH-542]
  - Put encrypted data bag secret into `/tmp` by default so that
    permissions are almost certainly guaranteed. [GH-512]

## 0.8.7 (September 13, 2011)

  - Fix regression with remote paths from chef-solo. [GH-431]
  - Fix issue where Vagrant crashes if `.vagrant` file becomes invalid. [GH-496]
  - Issue a warning instead of an error for attempting to forward a port
    <= 1024. [GH-487]

## 0.8.6 (August 28, 2011)

  - Fix issue with download progress not properly clearing the line. [GH-476]
  - NFS should work properly on Fedora. [GH-450]
  - Arguments can be specified to the `shell` provisioner via the `args` option. [GH-475]
  - Vagrant behaves much better when there are "inaccessible" VMs. [GH-453]

## 0.8.5 (August 15, 2011)

Note: 0.8.3 and 0.8.4 was yanked due to RubyGems encoding issue.

 - Fix SSH `exec!` to inherit proper `$PATH`. [GH-426]
 - Chef client now accepts an empty (`nil`) run list again. [GH-429]
 - Fix incorrect error message when running `provision` on halted VM. [GH-447]
 - Checking guest addition versions now ignores OSE. [GH-438]
 - Chef solo from a remote URL fixed. [GH-431]
 - Arch linux support: host only networks and changing the host name. [GH-439] [GH-448]
 - Chef solo `roles_path` and `data_bags_path` can only be single paths. [GH-446]
 - Fix `virtualbox_not_detected` error message to require 4.1.x. [GH-458]
 - Add shortname (`hostname -s`) for hostname setting on RHEL systems. [GH-456]
 - `vagrant ssh -c` output no longer has a prefix and respects newlines
   from the output. [GH-462]

## 0.8.2 (July 22, 2011)

  - Fix issue with SSH disconnects not reconnecting.
  - Fix chef solo simply not working with roles/data bags. [GH-425]
  - Multiple chef solo provisioners now work together.
  - Update Puppet provisioner so no deprecation warning is shown. [GH-421]
  - Removed error on "provisioner=" in config, as this has not existed
    for some time now.
  - Add better validation for networking.

## 0.8.1 (July 20, 2011)

  - Repush of 0.8.0 to fix a Ruby 1.9.2 RubyGems issue.

## 0.8.0 (July 20, 2011)

  - VirtualBox 4.1 support _only_. Previous versions of VirtualBox
    are supported by earlier versions of Vagrant.
  - Performance optimizations in `virtualbox` gem. Huge speed gains.
  - `:chef_server` provisioner is now `:chef_client`. [GH-359]
  - SSH connection is now cached after first access internally,
    speeding up `vagrant up`, `reload`, etc. quite a bit.
  - Actions which modify the VM now occur much more quickly,
    greatly speeding up `vagrant up`, `reload`, etc.
  - SUSE host only networking support. [GH-369]
  - Show nice error message for invalid HTTP responses for HTTP
    downloader. [GH-403]
  - New `:inline` option for shell provisioner to provide inline
    scripts as a string. [GH-395]
  - Host only network now properly works on multiple adapters. [GH-365]
  - Can now specify owner/group for regular shared folders. [GH-350]
  - `ssh_config` host name will use VM name if given. [GH-332]
  - `ssh` `-e` flag changed to `-c` to align with `ssh` standard
    behavior. [GH-323]
  - Forward agent and forward X11 settings properly appear in
    `ssh_config` output. [GH-105]
  - Chef JSON can now be set with `chef.json =` instead of the old
    `merge` technique. [GH-314]
  - Provisioner configuration is no longer cleared when the box
    needs to be downloaded during an `up`. [GH-308]
  - Multiple Chef provisioners no longer overwrite cookbook folders. [GH-407]
  - `package` won't delete previously existing file. [GH-408]
  - Vagrantfile can be lowercase now. [GH-399]
  - Only one copy of Vagrant may be running at any given time. [GH-364]
  - Default home directory for Vagrant moved to `~/.vagrant.d` [GH-333]
  - Specify a `forwarded_port_destination` for SSH configuration and
    SSH port searching will fall back to that if it can't find any
    other port. [GH-375]

## 0.7.8 (July 19, 2011)

  - Make sure VirtualBox version check verifies that it is 4.0.x.

## 0.7.7 (July 12, 2011)

  - Fix crashing bug with Psych and Ruby 1.9.2. [GH-411]

## 0.7.6 (July 2, 2011)

  - Run Chef commands in a single command. [GH-390]
  - Add `nfs` option for Chef to mount Chef folders via NFS. [GH-378]
  - Add translation for `aborted` state in VM. [GH-371]
  - Use full paths with the Chef provisioner so that restart cookbook will
    work. [GH-374]
  - Add "--no-color" as an argument and no colorized output will be used. [GH-379]
  - Added DEVICE option to the RedHat host only networking entry, which allows
    host only networking to work even if the VM has multiple NICs. [GH-382]
  - Touch the network configuration file for RedHat so that the `sed` works
    with host only networking. [GH-381]
  - Load prerelease versions of plugins if available.
  - Do not load a plugin if it depends on an invalid version of Vagrant.
  - Encrypted data bag support in Chef server provisioner. [GH-398]
  - Use the `-H` flag to set the proper home directory for `sudo`. [GH-370]

## 0.7.5 (May 16, 2011)

  - `config.ssh.port` can be specified and takes highest precedence if specified.
    Otherwise, Vagrant will still attempt to auto-detect the port. [GH-363]
  - Get rid of RubyGems deprecations introduced with RubyGems 1.8.x
  - Search in pre-release gems for plugins as well as release gems.
  - Support for Chef-solo `data_bags_path` [GH-362]
  - Can specify path to Chef binary using `binary_path` [GH-342]
  - Can specify additional environment data for Chef using `binary_env` [GH-342]

## 0.7.4 (May 12, 2011)

  - Chef environments support (for Chef 0.10) [GH-358]
  - Suppress the "added to known hosts" message for SSH [GH-354]
  - Ruby 1.8.6 support [GH-352]
  - Chef proxy settings now work for chef server [GH-335]

## 0.7.3 (April 19, 2011)

  - Retry all SSH on Net::SSH::Disconnect in case SSH is just restarting. [GH-313]
  - Add NFS shared folder support for Arch linux. [GH-346]
  - Fix issue with unknown terminal type output for sudo commands.
  - Forwarded port protocol can now be set as UDP. [GH-311]
  - Chef server file cache path and file backup path can be configured. [GH-310]
  - Setting hostname should work on Debian now. [GH-307]

## 0.7.2 (February 8, 2011)

  - Update JSON dependency to 1.5.1, which works with Ruby 1.9 on
    Windows.
  - Fix sudo issues on sudo < 1.7.0 (again).
  - Fix race condition in SSH, which specifically manifested itself in
    the chef server provisioner. [GH-295]
  - Change sudo shell to use `bash` (configurable). [GH-301]
  - Can now set mac address of host only network. [GH-294]
  - NFS shared folders with spaces now work properly. [GH-293]
  - Failed SSH commands now show output in error message. [GH-285]

## 0.7.1 (January 28, 2011)

  - Change error output with references to VirtualBox 3.2 to 4.0.
  - Internal SSH through net-ssh now uses `IdentitiesOnly` thanks to
    upstream net-ssh fix.
  - Fix issue causing warnings to show with `forwardx11` enabled for SSH. [GH-279]
  - FreeBSD support for host only networks, NFS, halting, etc. [GH-275]
  - Make SSH commands which use sudo compatible with sudo < 1.7.0. [GH-278]
  - Fix broken puppet server provisioner which called a nonexistent
    method.
  - Default SSH host changed from `localhost` to `127.0.0.1` since
    `localhost` is not always loopback.
  - New `shell` provisioner which simply uploads and executes a script as
    root on the VM.
  - Gentoo host only networking no longer fails if already setup. [GH-286]
  - Set the host name of your guest OS with `config.vm.host_name` [GH-273]
  - `vagrant ssh-config` now outputs the configured `config.ssh.host`

## 0.7.0 (January 19, 2011)

  - VirtualBox 4.0 support. Support for VirtualBox 3.2 is _dropped_, since
    the API is so different. Stay with the 0.6.x series if you have VirtualBox
    3.2.x.
  - Puppet server provisioner. [GH-262]
  - Use numeric uid/gid in mounting shared folders to increase portability. [GH-252]
  - HTTP downloading follows redirects. [GH-163]
  - Downloaders have clearer output to note what they're doing.
  - Shared folders with no guest path are not automounted. [GH-184]
  - Boxes downloaded during `vagrant up` reload the Vagrantfile config, which
    fixes a problem with box settings not being properly loaded. [GH-231]
  - `config.ssh.forward_x11` to enable the ForwardX11 SSH option. [GH-255]
  - Vagrant source now has a `contrib` directory where contributions of miscellaneous
    addons for Vagrant will be added.
  - Vagrantfiles are now loaded only once (instead of 4+ times) [GH-238]
  - Ability to move home vagrant dir (~/.vagrant) by setting VAGRANT_HOME
    environmental variable.
  - Removed check and error for the "OSE" version of VirtualBox, since with
    VirtualBox 4 this distinction no longer exists.
  - Ability to specify proxy settings for chef. [GH-169]
  - Helpful error message shown if NFS mounting fails. [GH-135]
  - Gentoo guests now support host only networks. [GH-240]
  - RedHat (CentOS included) guests now support host only networks. [GH-260]
  - New Vagrantfile syntax for enabling and configuring provisioners. This
    change is not backwards compatible. [GH-265]
  - Provisioners are now RVM-friendly, meaning if you installed chef or puppet
    with an RVM managed Ruby, Vagrant now finds then. [GH-254]
  - Changed the unused host only network destroy mechanism to check for
    uselessness after the VM is destroyed. This should result in more accurate
    checks.
  - Networks are no longer disabled upon halt/destroy. With the above
    change, its unnecessary.
  - Puppet supports `module_path` configuration to mount local modules directory
    as a shared folder and configure puppet with it. [GH-270]
  - `ssh-config` now outputs `127.0.0.1` as the host instead of `localhost`.

## 0.6.9 (December 21, 2010)

  - Puppet provisioner. [GH-223]
  - Solaris system configurable to use `sudo`.
  - Solaris system registered, so it can be set with `:solaris`.
  - `vagrant package` include can be a directory name, which will cause the
    contents to be recursively copied into the package. [GH-241]
  - Arbitrary options to puppet binary can be set with `config.puppet.options`. [GH-242]
  - BSD hosts use proper GNU sed syntax for clearing NFS shares. [GH-243]
  - Enumerate VMs in a multi-VM environment in order they were defined. [GH-244]
  - Check for VM boot changed to use `timeout` library, which works better with Windows.
  - Show special error if VirtualBox not detected on 64-bit Windows.
  - Show error to Windows users attempting to use host only networking since
    it doesn't work yet.

## 0.6.8 (November 30, 2010)

  - Network interfaces are now up/down in distinct commands instead of just
    restarting "networking." [GH-192]
  - Add missing translation for chef binary missing. [GH-203]
  - Fix default settings for Opscode platform and comments. [GH-213]
  - Blank client name for chef server now uses FQDN by default, instead of "client" [GH-214]
  - Run list can now be nil, which will cause it to sync with chef server (when
    chef server is enabled). [GH-214]
  - Multiple NFS folders now work on linux. [GH-215]
  - Add translation for state "stuck" which is very rare. [GH-218]
  - virtualbox gem dependency minimum raised to 0.7.6 to verify FFI < 1.0.0 is used.
  - Fix issue where box downloading from `vagrant up` didn't reload the box collection. [GH-229]

## 0.6.7 (November 3, 2010)

  - Added validation to verify that a box is specified.
  - Proper error message when box is not found for `config.vm.box`. [GH-195]
  - Fix output of `vagrant status` with multi-vm to be correct. [GH-196]

## 0.6.6 (October 14, 2010)

  - `vagrant status NAME` works once again. [GH-191]
  - Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
  - Fix "junk" output for ssh-config. [GH-189]
  - Fix port collision handling with greater than two VMs. [GH-185]
  - Fix potential infinite loop with root path if bad CWD is given to environment.

## 0.6.5 (October 8, 2010)

  - Validations on base MAC address to avoid situation described in GH-166, GH-181
    from ever happening again.
  - Properly load sub-VM configuration on first-pass of config loading. Solves
    a LOT of problems with multi-VM. [GH-166] [GH-181]
  - Configuration now only validates on final Vagrantfile proc, so multi-VM
    validates correctly.
  - A nice error message is given if ".vagrant" is a directory and therefore
    can't be accessed. [GH-172]
  - Fix plugin loading in a Rails 2.3.x project. [GH-176]

## 0.6.4 (October 4, 2010)

  - Default VM name is now properly the parent folder of the working directory
    of the environment.
  - Added method to `TestHelpers` to assist with testing new downloaders.
  - `up --no-provision` works again. This disables provisioning during the
    boot process.
  - Action warden doesn't do recovery process on `SystemExit` exceptions,
    allowing the double ctrl-C to work properly again. [related to GH-166]
  - Initial Vagrantfile is now heavily commented with various available
    options. [GH-171]
  - Box add checks if a box already exists before the download. [GH-170]
  - NFS no longer attempts to clean exports file if VM is not created,
    which was causing a stack trace during recovery. [related to GH-166]
  - Basic validation added for Chef configuration (both solo and server).
  - Top config class is now available in all `Vagrant::Config::Base`
    subclasses, which is useful for config validation.
  - Subcommand help shows proper full command in task listing. [GH-168]
  - SSH gives error message if `ssh` binary is not found. [GH-161]
  - SSH gives proper error message if VM is not running. [GH-167]
  - Fix some issues with undefined constants in command errors.

## 0.6.1, 0.6.2, 0.6.3 (September 27, 2010)

A lot of quick releases which all were to fix issues with Ruby 1.8.7
compatibility.

## 0.6.0 (September 27, 2010)

  - VM name now defaults to the name of the containing folder, plus a timestamp.
    This should make it easier to identify VMs in the VirtualBox GUI.
  - Exposed Vagrant test helpers in `Vagrant::TestHelpers` for plugins to easily
    test themselves against Vagrant environments.
  - **Plugins** have landed. Plugins are simply gems which have a `vagrant_init.rb`
    file somewhere in their load path. Please read the documentation on
    vagrantup.com before attempting to create a plugin (which is very easy)
    for more information on how it all works and also some guidelines.
  - `vagrant package` now takes a `--vagrantfile` option to specify a
    Vagrantfile to package. The `--include` approach for including a Vagrantfile
    no longer works (previously built boxes will continue to work).
  - `vagrant package` has new logic with regards to the `--include` option
    depending on if the file path is relative or absolute (they can be
    intermixed):
      * _Relative_ paths are copied directly into the box, preserving
        their path. So `--include lib/foo` would be in the box as "lib/foo"
      * _Absolute_ paths are simply copied files into the root of the
        box. So `--include /lib/foo` would be in the box as "foo"
  - "vagrant_main" is no longer the default run list. Instead, chef
    run list starts empty. It is up to you to specify all recipes in
    the Vagrantfile now.
  - Fixed various issues with certain action middleware not working if
    the VM was not created.
  - SSH connection is retried 5 times if there is a connection refused.
    Related to GH-140.
  - If `http_proxy` environmental variable is set, it will be used as the proxy
    box adding via http.
  - Remove `config.ssh.password`. It hasn't been used for a few versions
    now and was only kept around to avoid exceptions in Vagrantfiles.
  - Configuration is now validated so improper input can be found in
    Vagrantfiles.
  - Fixed issue with not detecting Vagrantfile at root directory ("/").
  - Vagrant now gives a nice error message if there is a syntax error
    in any Vagrantfile. [GH-154]
  - The format of the ".vagrant" file which stores persisted VMs has
    changed. This is **backwards incompatible**. Will provide an upgrade
    utility prior to 0.6 launch.
  - Every [expected] Vagrant error now exits with a clean error message
    and a unique exit status, and raises a unique exception (if you're
    scripting Vagrant).
  - Added I18n gem dependency for pulling strings into clean YML files.
    Vagrant is now localizable as a side effect! Translations welcome.
  - Fixed issue with "Waiting for cleanup" message appearing twice in
    some cases. [GH-145]
  - Converted CLI to use Thor. As a tradeoff, there are some backwards
    incompatibilities:
      * `vagrant package` - The `--include` flag now separates filenames
        by spaces, instead of by commas. e.g. `vagrant package --include x y z`
      * `vagrant ssh` - If you specify a command to execute using the `--execute`
        flag, you may now only specify one command (before you were able to
        specify an arbitrary amount). e.g. `vagrant ssh -e "echo hello"`
      * `vagrant ssh-config` has become `vagrant ssh_config` due to a limitation
        in Thor.

## 0.5.4 (September 7, 2010)

  - Fix issue with the "exec failed" by running on Tiger as well.
  - Give an error when downloading a box which already exists prior
    to actually downloading the box.

## 0.5.3 (August 23, 2010)

  - Add erubis as a dependency since its rendering of `erb` is sane.
  - Fixed poorly formatted Vagrantfile after `vagrant init`. [GH-142]
  - Fixed NFS not working properly with multiple NFS folders.
  - Fixed chef solo provision to work on Windows. It was expanding a linux
    path which prepended a drive letter onto it.

## 0.5.2 (August 3, 2010)

  - `vagrant up` can be used as a way to resume the VM as well (same as
    `vagrant resume`). [GH-134]
  - Sudo uses "-E" flag to preserve environment for chef provisioners.
    This fixes issues with CentOS. [GH-133]
  - Added "IdentitiesOnly yes" to options when `vagrant ssh` is run to
    avoid "Too Many Authentication Failures" error. [GH-131]
  - Fix regression with `package` not working. [GH-132]
  - Added ability to specify box url in `init`, which populates the
    Vagrantfile with the proper `config.vm.box_url`.

## 0.5.1 (July 31, 2010)

  - Allow specifying cookbook paths which exist only on the VM in `config.chef.cookbooks_path`.
    This is used for specifying cookbook paths when `config.chef.recipe_url` is used. [GH-130]
    See updated chef solo documentation for more information on this.
  - No longer show "Disabling host only networks..." if no host only networks
    are destroyed. Quiets `destroy`, `halt`, etc output a bit.
  - Updated getting started guide to be more up to date and generic. [GH-125]
  - Fixed error with doing a `vagrant up` when no Vagrantfile existed. [GH-128]
  - Fixed NFS erroring when NFS wasn't even enabled if `/etc/exports` doesn't
    exist. [GH-126]
  - Fixed `vagrant resume` to properly resume a suspended VM. [GH-122]
  - Fixed `halt`, `destroy`, `reload` to where they failed if the VM was
    in a saved state. [GH-123]
  - Added `config.chef.recipe_url` which allows you to specify a URL to
    a gzipped tar file for chef solo to download cookbooks. See the
    [chef-solo docs](https://docs.chef.io/chef_solo.html) for more information.
    [GH-121]
  - Added `vagrant box repackage` which repackages boxes which have
    been added. This is useful in case you want to redistribute a base
    box you have but may have lost the actual "box" file. [GH-120]

## Previous

The changelog began with version 0.5.1 so any changes prior to that
can be seen by checking the tagged releases and reading git commit
messages.