File: NEWS

package info (click to toggle)
pcb 1%3A4.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 29,472 kB
  • sloc: ansic: 138,270; sh: 8,447; yacc: 5,135; pascal: 4,820; makefile: 2,004; perl: 554; lex: 439; awk: 116; lisp: 86; tcl: 63; xml: 20
file content (1872 lines) | stat: -rw-r--r-- 70,266 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
========================================================================
Release notes for pcb-4.2.0
========================================================================

Dear Users,

This release introduces a file format change.

This is required by the improved routing style feature.

Kind regards,

The pcb development team.


Contributors
------------
The following authors contributed to this release:
- Charles Parker
- Rob Spanton
- Peter Clifton
- DJ Delorie
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- Improved routing styles.
- Improved DRC testing.


Plugins
-------
- none


Exporters
---------
- Footprint attributes can now be added to the Bill of Materials [BOM]
  in a similar way as with gschem by defining attributes in a input
  file.
- XY output for Pick-and-Place now has proper values for non mm and mil
  units.


Footprints library
------------------
- none


Developer experience improvements
---------------------------------
- Batch has become the default UI (non-GUI) for 'make distcheck' in
  order to run regression tests without a GUI being in the way.
- Added regression tests.


Notes for packagers
-------------------
- For building packages with a GTK UI or a Lesstif UI, configure with
  the --with-gui=gtk or --with-gui=lesstif option (as usual).


Changed dependencies
--------------------
- none.


Fixed and committed Launchpad bug reports
-----------------------------------------
#699234   DRC misses odd trace/poly clearance error.
#699245   DRC "minspace between pad and polygon" not triggered !
#699445   Allow disabling of minimum overlap DRC checking.
#1394630  Locked object can be selected by the DRC operation.
#1539882  Cannot create a via with a copper annulus less than 0.0508 mm.
#1744832  Vias tented.
#1780674  DRC HID.
#1784755  DRC Tests.
#1800707  License check.
#1800230  Violating silk lines selected after running DRC.
#1804564  make check always builds and uses the gtkhid.
#1806044  Pick and place (xy) file export in dmil unit.
#1808656  Tests that create new files may fail.
#1808733  BOM HID Attributes.
#1809332  run_tests.sh enhancements.


========================================================================
Release notes for pcb-4.1.3
========================================================================

Dear Users,

This is a bug fix release of pcb.

Kind regards,

The pcb development team.


Contributors
------------
The following authors contributed to the 4.1.3 release:
- Charles Parker
- Milan Prochac
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- Fixed potential data loss when currently opened PCB file is modified
  on disk.
- Blind/Burried vias clear soldermask on layers they don't intersect.
- Fixed ChangeClearSize() for changing a via's solder mask clearance.
- Fixed polygon to line separation DRC.
- Fixed DRC flags lines that are cleared by other objects.
- Fixed DRC misses lines near polygons if clearance < bloat.
- Fixed the segfault on picking load netlist menu item.


Plugins
-------
- none


Exporters
---------
- none


Footprints library
------------------
- none


Developer experience improvements
---------------------------------
- Added file version tests.
- Fixed some compile warnings.
- Fixed some Bison warnings.


Notes for early adapters
------------------------
- none.


Changed dependencies
--------------------
- none.


Fixed and committed Launchpad bug reports
-----------------------------------------
#746178   Polygon to line separation DRC wrong.
#929123   ChangeClearSize() is broken for changing a via's solder mask
          clearance.
#1767812  Blind/Burried Vias Clear Soldermask on Layers they Don't
          Intersect.
#1773409  File operations, bugs and change requests.
#1773652  Compile warnings on master.
#1773852  Potential data loss when currently opened PCB file is modified
          on disk.
#1776089  Bison warnings.
#1780676  pcbtest.sh needs to specify the appropriate menu resource
          file.
#1780682  PCBFileVersionNeeded tests features in the wrong order.
#1782036  DRC flags lines that are cleared by other objects.
#1782041  DRC misses lines near polygons if clearance < bloat.
#1788845  Picking load netlist menu item causes segfault.
#1790649  pcb refuses to load footprint files.


========================================================================
Release notes for pcb-4.1.2
========================================================================

Dear Users,

This is a bug fix release for a correction of the toolbar icons in the
Microsoft Windows version of pcb.

Kind regards,

The pcb development team.


Contributors
------------
The following authors contributed to the 4.1.2 release:
- Charles Parker
- Dan McMahill
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.

User experience improvements
----------------------------
- Correction of toolbar icons issue (Microsoft Windoes version of pcb).


Plugins
-------
- none


Exporters
---------
- none


Footprints library
------------------
- none


Developer experience improvements
---------------------------------
- Added IPC-D-356 tests.


Notes for early adapters
------------------------
- none.


Changed dependencies
--------------------
- none.


Fixed and committed Launchpad bug reports
-----------------------------------------
##1660198  IPC-D-356 netlister needs a regression test.

========================================================================
Release notes for pcb-4.1.1
========================================================================

Dear Users,

This is a bug fixes release.

Kind regards,

The pcb development team.


Contributors
------------
The following authors contributed to the 4.1.1 release:
- Charles Parker
- Dan McMahill
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- MS Windows (MinGW) installer available from SourceForge
  (https://sourceforge.net/projects/pcb/files/pcb/).
- Corrections and improvements in the User Manual.
- Avoid instant 'CRASH' if an action script implies
          'invalidate_lr'.
- Fixed a bug in moving a selection.
- Snapping to pins and pads whilst drawing a line trace.
- Fixed a bug in rubberband functionality.


Plugins
-------
- none


Exporters
---------
- none


Footprints library
------------------
- none


Developer experience improvements
---------------------------------
- Add draw_grid to the hid graphics structure.


Notes for early adapters
------------------------
- MS Windows (MinGW) installer can be build again.


Changed dependencies
--------------------
- For mingw cross builds the following minimum package versions are
  required:
    mingw64-i686-atk1.0 >= 2.26.1-1
    mingw64-i686-binutils >= 2.29.1.787c9873-1
    mingw64-i686-bzip2 >= 1.0.6-4
    mingw64-i686-cairo >= 1.14.12-1
    mingw64-i686-dbus >= 1.10.22-1
    mingw64-i686-expat >= 2.2.2-1
    mingw64-i686-fontconfig >= 2.12.6-1
    mingw64-i686-freetype2 >= 2.6.5-1
    mingw64-i686-gcc-core >= 6.4.0-1
    mingw64-i686-gcc-g++ >= 6.4.0-1
    mingw64-i686-gd >= 2.2.5-1
    mingw64-i686-gdk-pixbuf2.0 >= 2.36.11-1
    mingw64-i686-gettext >= 0.19.8.1-2
    mingw64-i686-glib2.0 >= 2.54.3-1
    mingw64-i686-gtk2.0 >= 2.24.31-1
    mingw64-i686-gtkglext1.0 >= 1.2.0-1
    mingw64-i686-harfbuzz >= 1.7.4-1
    mingw64-i686-headers >= 5.0.3-1
    mingw64-i686-jasper >= 2.0.14-1
    mingw64-i686-jbigkit >= 2.1-1
    mingw64-i686-libffi >= 3.2.1-1
    mingw64-i686-libimagequant >= 2.10.0-1
    mingw64-i686-libjpeg-turbo >= 1.5.3-1
    mingw64-i686-libpng >= 1.6.34-1
    mingw64-i686-libwebp >= 0.6.1-1
    mingw64-i686-libXpm >= 3.5.12-1
    mingw64-i686-lzo2 >= 2.08-1
    mingw64-i686-pango1.0 >= 1.40.14-1
    mingw64-i686-pcre >= 8.40-3
    mingw64-i686-pixman >= 0.34.0-1
    mingw64-i686-pkg-config >= 0.29.1-1
    mingw64-i686-pkg-config-debuginfo >= 0.29.1-1
    mingw64-i686-runtime >= 5.0.3-1
    mingw64-i686-tiff >= 4.0.9-1
    mingw64-i686-win-iconv >= 0.0.6-2
    mingw64-i686-windows-default-manifest >= 6.4-1
    mingw64-i686-winpthreads >= 5.0.3-1
    mingw64-i686-xz >= 5.2.3-1
    mingw64-i686-zlib >= 1.2.11-1

  This allows for building a MS windows (MinGW) installer to work again.


Fixed and committed Launchpad bug reports
-----------------------------------------
#699012   File format documentation out-of-date.
#884046   snap to pins and pads does not work when trying to draw line.
#1545165  PIns/Via show Name/Number menu item doesn't work, only D
          hotkey does.
#1645101  Inconsistent argument type to invalidate_lr.
#1653280  MinMaskGap test fails.
#1654884  rubberband.
#1672093  Add draw_grid to the hid graphics structure.
#1731369  crosshair limits update.
#1731375  Crosshair Initialization.
#1748679  Increments are incorrect after loading file.
#1744589  Cannot move selection.
#1754479  avoid instant 'CRASH' if an action script implies
          'invalidate_lr'.
#1759742  win32 build updates.

========================================================================
Release notes for pcb-4.1.0
========================================================================

Dear Users,

This release introduces a file format change.

This is required by the added Blind and Buried Via capabilities of pcb.

Kind regards,

The pcb development team


Contributors
------------
The following authors contributed to the 4.1.0 release:
- Charles Parker
- Mike Crowe
- Andrew Armenia
- Bdale Garbee
- Keith Packard
- DJ Delorie
- Jan Damborsky
- Ahmed El-Mahmoudy
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- the blind and buried via feature is introduced.
- removed the deprecated mimelnk files.
- added a releases section to the appdata.
- corrections in the User Manual.
- reordered the exporter options in the User manual.
- better front matter and copyrights for the User Manual.
- splitted the Installation and Troubleshooting appendix in the User
  Manual.
- correction in desktop integration name and comment.
- when writing a pcb file, write arc angles with decimal places.
- added the "Development" category in the desktop integration.


Plugins
-------
- none


Exporters
---------
- gsvit exporter added.


Footprints library
------------------
- several Nichicon radial capacitor footprints were added to the pcblib.


Developer experience improvements
---------------------------------
- some more doxygenation of source code files.
- added regression tests for the Nelma exporter.


Notes for early adapters
------------------------
- none


Changed dependencies
--------------------
- none


Fixed and committed Launchpad bug reports
-----------------------------------------
#1270886  When saving file, angles are rounded to nearest degree.
#1529233  Building from source fails on Solaris due to missing locale.h.
#1545170  Arcs don't honor Rubber band mode.
#1656661  Blind/Buried vias - new feature.
#1665992  Lesstif needs blind and buried via support.
#1695534  Patch to enchance features of NELMA.
#1717254  Remove deprecated mimelnk files.
#1720629  Spelling errors in pcb.
#1731369  Crosshair limits update.
#1744589  Cannot move selection.


========================================================================
Release notes for pcb-4.0.2
========================================================================

Dear Users,

This release fixes a number of bugs.

Kind regards,

The pcb development team


Contributors
------------
The following authors contributed to the 4.0.1 release:
- Charles Parker
- Newell Jensen
- Johann Klammer
- Igor2
- Peter Clifton
- Dan McMahill
- Bert Timmerman

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- include board outline on assembly drawings.
- fixed the SMD pads resizing bug (fix a drawing routine).
- fixed a segmentation fault when loading a pcb file with an empty style
  field.
- added an escape callback to the command window.
  this allows the command window to now be closed with the escape key.


Plugins
-------
- none


Exporters
---------
- improvements in documentation.


Footprints library
------------------
- none


Developer experience improvements
---------------------------------
- some more doxygenation of source code files.
- added a "pcb release" howto in the developer docs.
- corrections in the FSF address as to keep rpmlint quiet.
- Small enhancements to the pcbtest.sh script.
  allow the binary for gdb to be specified on the command line
  make the definition of test paths more readable.
- exclude eps files in the doc directory.
- removed unused code when inserting points on rats.
- fix of incorrect flag struct comparison.


Notes for early adapters
------------------------
- none


Changed dependencies
--------------------
- none


Fixed and committed Launchpad bug reports
-----------------------------------------
#1658514  Specify which gdb to use on the command line of pcbtest.sh.
#1645143  Unused code when inserting points on rats.
#1692219  Include board outline on assembly drawings when the "outline"
          option is checked in the PS exporter.
#1690529  Incorrect FSF address in files.
#1651440  FLAGS_EQUAL attempts to compare two flags using memcmp() on
          the full struct.
#1688402  Pads change size when element flipped to other side.
#1687776  <esc> should close command entry window.
#1670023  LessTif HID: XmScrollBar Warnings.
#1670040  Segfault when loading file with empty Styles directive.


========================================================================
Release notes for pcb-4.0.1
========================================================================

Dear Users,

This release fixes a number of bugs.

Kind regards,

The pcb development team


Contributors
------------
The following authors contributed to the 4.0.1 release:
- Milan Prochac
- Charles Parker
- Dan McMahill
- Sergey Alyoshin
- Igor2
- Peter Clifton
- bert

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


User experience improvements
----------------------------
- reorchestrated the closing of the command window to not crash.
- only invalidate the screen after changes to the crosshair or mark are
  complete.


Plugins
-------
- none


Exporters
---------
- fix for gcode dimensions.
- added a regression test for the IPC-D-356 exporter.
- added more documentation for the IPC-D-356 netlist exporter.


Footprints library
------------------
- add macro with more programmability for 2 pin axial components. Use
  this to add a few IPC-7251 compliant footprints for axial inductors,
  horizontally mounted.  Use this in turn for the TDK B82145A RF chokes
  family.
- add toko category and the 7P variable inductors.
- gen_geda_*.awk were nearly identical to gen_*.awk so add 2 lines to
  geda.inc so we can use the same script for everything.  Verified that
  pcblib-newlib builds with identical results before/after.
- for the horizontally mounted axial macro add the missing bits for
  marking polarity on parts like diodes.
- add PKG_RADIAL_MM100 macro for doing more general metric 2 pin radial
  packages.
- add some IPC radial capacitor footprints and use those to create some
  united chemicon footprints.
- add DO-41 diode package, horizontally mounted.
- add PKG_MTHOLE_GENERIC macro for fairly generic mounting holes.  Use
  this to define IPC mounting holes for #4 and #6 machine screws with
  pan heads or flat washers for both "tight" (board < 4") and "loose"
  (board > 4") fits.
- add TO-263 footprint.
- add some notes about m4 library development.
- fix problem in some possible invocations of the generic mounting hole
  macro.  All footprints pass syntax checks again.
- remove an extra empty attribute which is not needed and causes
  warnings in the mounting hole macro.
- fix clearance on the Toko 7P footprint.
- in the mounting hole macro, change the calculation of the pad size for
  the support vias to make them as large as possible without actually
  changing the copper (the support vias are covered by the main pad).
  This does not affect the fabricated board but it does remove some
  false positive DRC complaints.


Developer experience improvements
---------------------------------
- allow translators to change number of tabs in message.
- In the test suite, check for a working X display using xhost before
  running action script tests
- match() with 3 arguments is a gawk extension. Rework the code to avoid
  using a 3 argument call to match() in one spot.  Lets the script run
  with gawk or NetBSD's awk (20121220).  Verified that the generated
  result is identical to the previous gawk result using both gawk and
  NetBSDs awk.
- change from AC_FD_CC to AS_MESSAGE_LOG_FD
- removed the antifork abomination.
- disabled one of the checks used to deal with older gdlib installs on
  some linux systems when building under cygwin as the test has
  problems.  Repairs building for mingw under cygwin.
- when building under cygwin, create a pcbtest.bat batch file that
  allows testing the compiled pcb without installing.  This is somewhat
  analogous to the pcbtest.sh script generated on linux and other
  unix-like systems.
- cleanup the win32 build script a good bit.  An important change is
  that instead of blindly installing all of the mingw cross system root
  files, only install a set of listed ones.  This not only reduces the
  size of the windows installer but makes sure we have a more repeatable
  build and know what we are actually bundling into the installer.
- fixed the Attribute deletion code.


Notes for early adapters
------------------------
- none


Changed dependencies
--------------------
- none


Fixed and committed Launchpad bug reports
-----------------------------------------
#700193   Append branch to version string.
#917308   m4lib_to_newlib.sh does not work with mawk.
#1528040  Gcode export smaller pad size.
#1654821  Attribute deletion code is broken.
#1659045  gts source do not compile when DEBUG symbol defined.
#1659061  Compile warnings when DEBUG symbol is defined.
#1660058  Several i18n fixes.
#1672886  Crash when reopening command entry window in gtk.
#1674133  Last action executed when escaping from command entry.
#1682654  Drawing area redrawn twice when crosshair moves.


========================================================================
Release notes for pcb-4.0.0
========================================================================

Dear Users,

It has been quite some time since the last snapshot of pcb was released
in March 2014.

Since then quite a lot of bugs were fixed and new features added, below
this introduction a summary is given of the improvements and additions
since the latest snapshot "pcb-20140316".

This release represents over 480 commits (mostly bugfixes and code
refactoring) and as such this summary clearly is not complete.

This pcb release 4.0.0 has a significant change in the major version
number.

This is done to make a fresh start and to get away from the 1.99z
version with YYYYMMDD snapshots.

Kind regards,

The pcb development team


User experience improvements
----------------------------
- added the command-line option --save-metric-only.
- added escaping of Attribute values.
- added a translation of the Getting Started with PCB for pt_BR.
- added translatable tooltips for toolbar buttons.
- added "Report net length" to Menu -> Info in Gtk.
- added a script for generating a key binding list.
- added tooltips in the GTK HID UI.
- the puller no longer crosses unplated holes.
- solder/component outer layer names changed to top/bottom.
- pcb now uses a tilde instead of a dash for backup filenames.
- corrections in the user documentation.
- the position "delta" display no longer forces the GTK HID window to
  grow.
- write time in ASCII locale into exported files.
- allow for up to 10000 dpi on png exporter output.


Plugins
-------
- added smartdisperse for dispersing elements better, contributed by
  Ben Jackson.
- added relocate for relocating elements, contributed by Jean Richard.
- added RenumberBlock() and RenumberBuffer(), contributed by DJ Delorie.
- added teardrops(), contributed by DJ Delorie.


Exporters
---------
- added a netlister conforming to the IPC-D-356 standard, contributed by
  Jerome Marchand.
- changed "as-shown" to "screen-layer-order" in the png and eps hids.


Footprints library
------------------
- added a SC88A footprint.
- added a LQFP80-10 footprint.
- added QFN24_5 and TQFN24_5 footprints.
- added a SOD523 footprint.
- the SOT325 package had a wrong numbering.
- renamed the SOT325 footprint to SOT353.
- in the ALF footprint the drill holes were too tight.
- an infinite loop in the SIL m4 macro was fixed.


Developer experience improvements
---------------------------------
- made a start with adding Doxygen developer documentation tags in the
  source files.
  A pcb.dox configuration file is available in the "doc/doxygen"
  directory so developers can build the documentation there by invoking
  "doxygen pcb.dox" from the CLI.
  This is not done by configuring with --enable-docs, which is solely
  reserved for the generation of User documentation.
- added numerous fixes in the win32 target.


Notes for early adapters
------------------------
In the git repository two tags have been added to allow for checking
out of pcb-4.0.0 at the branch point (git checkout pcb-4.0.0-base) or at
the release point (git checkout pcb-4.0.0-RELEASE).
This is in line with tagging done in former snapshots.


Changed dependencies
--------------------
- autoconf 2.60 --> 2.69.
- gettext 0.14 --> 0.19.3.


Contributors
------------
The following authors contributed to the 4.0.0 release:
- Milan Prochac
- WileyECoyote
- DJ Delorie
- Britton Leo Kerin
- Jerome Marchand
- chrysn
- Sergey Stepanov
- Gareth Edwards
- Peter Clifton
- Anton Dubniak
- Markus Hitter
- Kai-Martin Knaak
- Martin
- Adrian Pardini
- Keith Packard
- Patrick Bernaud
- Robert Drehmel
- erich_heinzle
- Andrew Poelstra
- Marco Ciampa
- Roland Lutz
- Eugene Mikhantiev
- Jorge Barros de Abreu
- Richard Hughes
- Ivan Stankovic
- Charles Parker
- Dan McMahill
- Igor2
- Jean Richard
- Ben Jackson
- Morvan
- dima
- Peter S. May
- Felix K (kuhlix)
- rosvall
- Sergey Alyoshin
- bert

Please note that names are in no particular order and all e-mail
addresses have been removed for privacy.


Fixed and committed Launchpad bug reports
-----------------------------------------
#699149   infinite loop in the SIL m4 macro.
#699164   Position "delta" display forces GTK HID window to grow.
#699209   DSP dances.
#699243   SOT325 Package wrong numbering.
#699286   ALF footprint drill holes too tight.
#699413   Doxygenation of action.c and hid.h.
#699539   Request: tooltips.
#699543   Request: key binding list.
#701133   Export to PNG always shows pads on other side of board.
#996319   ipc-d-356 netlist creation.
#1005137  Build fails when DEBUG constant defined.
#1013358  Auto-enforce-DRC : cannot draw with exact clearance.
#1035979  default silk layer names are the same for top and bottom.
#1048256  pcb crashes when GUI-lessly exporting a PNG.
#1074268  gcode tests fail.
#1280748  Print non localized date string.
#1308221  Use tilde instead of dash for backup files.
#1309579  Adding descriptive Tooltips to the toolbar buttons.
#1339383  Segfault on PS export with completely clipped polygon.
#1408399  small fix in source text.
#1408615  added pcb.pot to the gitignore.
#1413254  Value of 1umil incorrectly set to 10µmil.
#1413350  Drill report - wrong hole count.
#1486582  pcb doesn't build.
#1487761  Antifork.
#1488220  Allow automated tests of actions.
#1490264  Remove vi command line interface.
#1490284  Compile error in src/hid/lesstif/dialogs.c and
          src/hid/lesstif/main.c.
#1491953  Dispersing elements better.
#1492497  Documentation for "Arc" is wrong.
#1497628  We need a PPA.
#1500224  Unit tests fail on 32-bit.
#1500241  pcb/gtk: buggy definition of LAYER_BUTTON_SILK.
#1500244  pcb/gtk: order of layer groups in preference dialogue.
#1505262  The N_ macro is spoiling the user documentation
#1506204  Quotes in attribute name or value make the PCB file
          unreadable.
#1521597  PCB includes invalid vertex into merged polygon.
#1532298  add the relocate plugin.
#1532329  add keywords to appdata.
#1534373  Improper handling of files specified on cmdline.
#1542858  strchrnull not in OSX C library.
#1550382  puller crosses unplated holes.
#1551970  Install failure in doc subdirectory.
#1553255  djopt(splitlines) does not behave as expected.
#1553281  djopt(miter) affects outline.
#1580837  Cleanup code causes core dumps.
#1586020  Bad Translation Menu Entry: PCB (Portuguese).
#1604524  polygon "twin hole" bug.
#1609542  text bug.
#1616803  Remove redundant setting of library_window->libtreeview.
#1631059  Crash during undo of element text resize.
#1631646  Non-fatal errors when building docs.
#1633924  FontSave distorts symbols.
#1636221  Undo serial number not incremented when deselecting.
#1639518  Joining Text Fails to Undo.
#1645100  Arc rtree/polygon clearance bugs.


========================================================================
Release Notes for PCB snapshot 20140316
========================================================================
This release represents over 421 commits (mostly bugfixes and code
refactoring) and as such this summary clearly is not complete.  See
the ChangeLog file for the complete list of changes.

Features
--------

- GTK gui uses GL now, including a pseudo-3D mode.
- Brazilian translation added, others updated.
- Many internationalization tweaks.
- Mice with right-left scroll wheels now supported.
- Major upgrades to the GCode exporter.
- rat-thickness parameter can take a 'px' suffix
- metric and imperial grids are now more independent.
- photo exporter supports multiple color schemes.
- gerbers can be output in metric.
- There's now a difference between "found" (what the netlist wants)
  and "connected" (what the copper says).
- PNG exporter has --fill-holes to omit the "drill helper" completely.
- gerber drill files now 0.1mil resolution.
- XY file is now IPC 7531 compliant.

Bug Fixes
---------

- Fix pan locking up pcb if you leave the window.
- Many bugfixes related to the metric conversion, including the two
  autorouters.
- ps alignment marks fixed.
- route styles in *.pcb files may contain units.
- able to select more parts by their mark when their mark is on-grid.
- gtk route selector may now have nothing selected, if the board has
  custom route settings.
- drc no longer hangs when some layers are skipped.
- ps_bloat works again.
- EPS header is more standards-compliant.
- PS outlines are only drawn on copper layers, not mask layers.
- cursor position and zoom are no longer written to the *.pcb file.
- lines with different clearances aren't auto-merged.
- pin names are drawn in the pinout window.
- gerber aperture numbers won't increase between runs.
- misc doc tweaks and fixes.

Other
-----

- Many tweaks to the source code to make it cleaner.
- The top and bottom layers are now consistently called "top" and
  "bottom" instead of "solder" and "component"
- *.pcb file version bumped to 20091103 to reflect coordinate units change.
- gEDA/pcb project moved to geda-project.org

========================================================================
Release Notes for PCB snapshot 20110918
========================================================================
This release represents over 797 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

Features
--------

- Internal coordinate space is now metric.  This should fix the "trace
  nubs on metric grids" issue.  Also, units are allowed on pretty much
  every "coordinate" that PCB accepts.  Example: 5.4in, 10cm, 0.55mm.
  New configure option --enable-coord64 to force (slower?) 64-bit type
  for coordinates on 32-bit systems (if you need a board bigger than 1
  meter across).  The internal precision is 1 nanometer, the internal
  type is "Coord".
- MinGW support.
- New GL mode for the gtk hid with translucent traces.

- New GTK layer view/choose widget and other GUI enhancements.
- GTK HID warns if the *.pcb file has changed on disk.
- Enhanced grid snapping logic.
- Select/report nets by name.
- Auto-pan has been removed.
- Zoom can zoom out beyond the edge of the board's workspace.
- GTK: title string matches GNOME conventions.
- Personally identifiable information is no longer stored in the PCB.
- Toggling vias from hole to plated is reversible.
- Gerber exporter has options for including outlines on other layers.
- Edited footprint files are saved as footprints, not pcbs.
- Improved gtk library search/filter.
- Default layer stack is now a six-layer template with outline.
- If the board has an outline layer, an outline will be shown if no
  other outline is specified.
- Group[] string allows t/b synonyms for c/s.  "top" and "bottom" are
  the standard names now.
- PCB will save files with an older version tag if newer features aren't needed.
- Autorouter has a progress dialog.
- PCB will no longer let you delete the last top/bottom layer.
- Refcard has been updated.
- Documentation updates.
- Layes with the PCB::skip-drc attribute set are ignored during DRC.
- Allow numeric keys to also choose the silk layer.
- Minor readability tweaks to the default font.
- Via copper may overlap.
- User is notified if an Import() cannot find all the footprints.

Bug Fixes
---------

- Optimizer won't try to optimize overlapping pads
- Undo should fail less, in corner cases.
- Nested key-bound actions won't crash lesstif.
- Do not select invisible pads on the far side.
- Protect Import() from command injection.
- Fix conversion of far-side polygons to element pads.
- Fix initial clearance values of text when loading PCBs.
- Fix solder mask drawing on vias.
- Add missing action documentation.
- Fab drawing notes actual outline trace width.
- Zero clearance pins and pads won't cause DRC failures.
- PS export: fix draw-rectangle (used to do fill, not outline)
- Gerber export no longer fills unfilled rectanges.
- If there are no image formats available, the PNG hid is not enabled.
- You can no longer select pins/pads of locked elements.
- The m4-to-newlib converter now creates file names that match the
  library view.
- Never set the FOUND flag on new silk lines.
- Lesstif HID won't crash if both Xinerama and XRender are detected.
- Lesstif menu is now internationalizable.
- Refdes labels in a font-less layout can be moved.
- Import can correctly update elements on the bottom side.
- DRC no longer treats unplated holes as conducting.

Other
-----

- Updated and new translations, including Dutch.
- Many polygon speedups.
- Numerous build-related cleanups.
- Numerous minor speed-related cleanups.
- GTK 2.18 is the minimum required version.
- GTS moved out of the src/ tree so it can be built with different flags.
- More C++ compatible.
- Expanded regex documentation.
- Much code which is no longer needed has been removed.
- HID init method changed to allow for hid struct expansion without
  breaking everything.
- New HID calls for whole-pad and whole-pin drawing.
- ClearAndRedrawOutput() replaced with Redraw().
- Board objects use hashes instead of lists to store parts, so
  pointers don't change.
- DVI documentation output is no longer generated.

========================================================================
Release Notes for PCB snapshot 20100929
========================================================================
This release represents over 240 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

Features
--------

- PCB can directly import (forward annotate) schematics while running.
- Many places where measurements are entered now accept units, like
  "5mm", and "cm" and "in" are allowed too.
- Free Rotate Buffer added to menu
- Polygon Hole tool.
- F12 invokes the Lock tool.
- Russian translation added.
- DBUS is enabled by default when possible.
- Command-line exporters can run action scripts too.
- GTK tool tips on elements, pins, and nets.
- Command-line actions in GUIs do not require (,,) syntax.
- PCB can import footprints both in subdirectories and the named directories.
- New GCode exporter.
- Footprint files use ".fp" as the suffix; this is automatically
  searched for if needed.
- GTK dialogs do not show at startup unless requested.
- Stackup can be specified on the command line for command-line exporting.
- Reference card updated.
- The snap-point in pads is the center.
- The 's' key toggles polygons to clear/notclear all pads and pins

Bug Fixes
---------

- Various PNG export fixes.
- lesstif's magic toggle-layers-on-flip fixed.
- Arc bounding box math fixed.
- Fixed: sometimes, disabling silk also disabled the solder layer.
- "pcb --help" prints all options again
- Add mnemonic for "close without saving"
- Don't select silk on the back side when it's invisible.
- Various polygon rendering bugs fixed.
- PNG drill bloat export fixed.
- Attempts to change polygon clearance *on* polygons results in a hint.
- PNG doesn't segfault if not all graphic formats are supported.
- Various toporouter fixes and improvements
- HID_Mixed is supported in attribute dialogs
- Flipped rectangles in PS exports are drawn correctly.
- Optimizer removes micro-traces under pads.
- Vias, pins, and pads are now drawn under the mask instead of over.
- Windows supported better.

Other
-----

- Sources converted to C99
- Doc extraction gives more control over categories.
- Thermal documentation updated.
- Actions can see the context they were invoked in

========================================================================
Release Notes for PCB snapshot 20091103
========================================================================
This release represents almost 200 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

- [feature] Add attributes to layers
- [bugfix]  Remove memory leak in attributes
- [bugfix]  Avoid layer buttons getting confused (GTK)
- [bugfix]  Fix dereference bug in hid_find_action()
- [feature] Speed up some polygon operations
- [bugfix]  Don't let DRC change the grid setting
- [bugfix]  Correct URL's in some dialogs and output
- [feature] Add filters to load file chooser dialog (GTK)
- [bugfix]  Avoid segfaults with png HID with newer versions of libgd
- [bugfix]  Don't disperse locked elements
- [feature] Added experimental topological autorouter
- [feature] Added the beginning of a testsuite.
- [docs]    Document FreeRotateBuffer()
- [docs]    Add some additional notes on the usage of the existing
            autorouter
- [feature] Add --png-bloat option
- [bugfix]  Fix several bugs found with valgrind
- [bugfix]  Improve the pre-install wrapper script
- [bugfix]  Several fixes to the autorouter
- [feature] Allow quoted strings and escaped characters in action
            arguments
- [footprints] Add missing INDC3216M, remove duplicated RESC3216M
- [feature] Added the ability to customize mouse events via gpcb-menu.res
            in the GTK HID.
- [feature] Added the ability to use mod1 (alt)(option) in
            HIDs.  Useful on OSX.
- [bugfix]  Fix compilation issues on centos
- [bugfix]  Make the detection of tools and build system around
            building the documentation be more robust.  Users should
            not be worrying about --disable-doc or --enable-maintainer-mode
            anymore
- [footprints] Add T018, T039, fix pinout of T092 to match JEDEC
- [bugfix]  Speed up rendering of DRC violation previews under GTK
- [bugfix]  Fix some crashing bugs related to polygons and thindraw mode
- [feature] Added a DRC refresh button
- [bugfix]  Fix some pango markup in the GTK DRC dialog
- [bugfix]  Fix cursor warping on flipped boards (GTK)
- [feature] Added preview images in the DRC violations window (GTK)
- [feature] Add a DrcViolationType structure and add hooks to allow HID's to use this
- [bugfix]  Fix some polygon memory leaks
- [feature] Add an API for registering actions with a context to support scripting
            languages like GPMI.
- [bugfix]  Fix a bug with the Report(NetLength) action and NULL pin/pad names
- [bugfix]  Allow exporters to work with hairlines (width of 0)
- [tools]   Increase autoconf version to 2.60 since we were using some features of it
- [bugfix]  Fix a number of polygon related issues
- [bugfix]  Fix a number of gcc warnings
- [feature] Don't display undocumented options in help output.  This helps
            the transition when deprecating an option.
- [feature] Add outline mode for photo-mode exporting
- [footprints] Put the mark on pin 1 for axial footprints to make them more likely
               to fall on grid
- [bugfix]  Fix flipping of arcs
- [bugfix]  Fix parsing of old-syntax arcs
- [bugfix]  Include explicit text/lines on silk layers in the assembly drawing output
- [feature] '--ben-mode' has been renamed to '--photo-mode'
- [bugfix]  Fix some crashign bugs on boards with a large number of rats
- [bugfix]  Fix an off-by-one bug in the GTK netlist window
- [docs]    Add getting started guide
- [feature] Add support for parsing suffixes on numbers ("um", "mm", "in", "mil")
- [bugfix]  Fix some configure/build issues when cross compiling
- [bugfix]  Fix some improperly used automake conditionals
- [bugfix]  Fix some uninstall of shortcuts issues under windows Vista
- [feature] Add additional crosshair shapes
- [bugfix]  Various windows build script improvements

========================================================================
Release Notes for PCB snapshot 20081128
========================================================================
This release represents over 70 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

- Minor bug fixes in RS274-X output.
-.Bug fixes in postscript output
- DRC checks for annular ring on pads only uses the mininum annular ring
  drc setting instead of also checking minimum copper width.
- Fix postscript output for zero length lines.
- Improve the 'save before closing' dialogs.
- Fixed bugs where objects attached to the cursor vanish sometimes.
- Various minor code portability improvements.
- Enabled additional gcc warnings (when using gcc)
- Allow outline layers to have only arcs.
- Added "Ben Mode" png output which provides a simulated "photograph"
  of the board.  Very nice for publications.
- Fix poly clearance around rotated pads.
- Fix the batch HID which had bit rotted a little.
- Display net names hierarchically.
- Various speed improvements in the GTK HID.
- Various speed improvements in the autorouter.
- Minor improvements to the windows port.
- Other various bug fixes.

========================================================================
Release Notes for PCB snapshot 20080202
========================================================================
This release represents over 180 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

- Added a footprin preview in the library window
- Added gnome/kde desktop integration files (app and mime icons, and
  .desktop file)
- Added i18n support
- Updated dbus support
- Fix a number of GCC 4 compiler warnings
- Make the gtk gui more robust against malformed menu resource files
- Added checking for duplicate hot key definitions in the menu resource
  file in the gtk gui.
- Improved support for building on win32.
- Removed automake/autoconf generated files from cvs
- Fixed some parallel make bugs
- Fixed some scrolling/panning bugs in the gtk gui.
- Added the ability to load edif netlists
- Closed a number of bugs in the sourceforge tracker
- Fix a bg in the x-y output files where the y values were mirrored and offset
- Add XRENDER support to the lesstif HID to support layer transparency
- Fix some polygon dicer bugs
- Fix a handful of bugs in the png export HID
- Avoid vias snapping to pins and moving elements snapping to their own
  pins/pads
- Fix a number of undo bugs
- Fix printer calibration
- Add global puller
- Various improvements to the postscript export HID
- Improve all the GetXY prompts in the menu resource files
- Improved the pin/via report
- Improved pin/pad vs grid snapping
- Various footprint improvements 
  o fixed some drill sizes
  o fixed some silk sizes
  o Added a handful of QFP family footprints
  o Converted the QFP family to the hi-res format
- Several other bug fixes

========================================================================
Release Notes for PCB snapshot 20070912
========================================================================
This release represents nearly 200 commits and as such this summary 
clearly is not complete.  See the ChangeLog file for the complete list
of changes.

- Many many bug fixes.  Too many to list.
- Added keystone, C&K, Nichicon, and Optek footprint libraries
- Add attribute editor to the GTK HID
- Add a fileselect() function to the HID spec
- Fix ps output with drill helper on
- Add a visual indicater when elements are locked
- Corrections to the manual
- BOM can export in mm as well as mil 
- Fix a ps output bug with arcs
- Fix some memory leaks found with Coverity
- Added autoconf test for buggy versions of m4
- Fixed some footprint drill sizes
- Add user customizable menus for the gtk HID.  The gtk HID now is capable
  of reading the same format menu resource files as the lesstif HID.
  This represents significant rework of the menu code and menu callback code.
- Added Center() action
- Store the file format in the .pcb file.  This will let pcb know when
  presented with a file which is too new.  The code for checking the format
  was present in the prior snapshot.
- Fix DRC checking of square pads to square pads
- Added window panning/cursor warping
- Add the ability to directly load a footprint from a file as if it were
  a complete layout.
- Add a Popup() action

========================================================================
Release Notes for PCB snapshot 20070208
========================================================================
- Add polygon clipping code.  This is a big change to how polygons are handled.  
  The new code now removes islands and correctly identifies open circuits caused
  by a trace fully cutting through a polygon.  In addition, the RS-274-X output
  is now simpler and works with some board houses that use older non-conforming
  sofware.  Different styles for thermal reliefs are also now supported as part
  of the polygon clipper code.
- Add support for plugins
- Many improvements to the autorouter.
- Various improvements to the trace optimizer.
- Add a fontmode for editing pcb fonts
- Add progress() hook to HID structure
- Fix a bug with non-functional windows on some window managers commonly
  found on OS-X
- Add support for controlling pcb via dbus
- Fix various bugs which would cause a crash
- Add --scale for postscript scaling
- Intercept window manager delete events with the GTK gui
- Scan the .pcb file for a FileVersion value.  This is not written out yet
  but will be in future versions.  
- Warn if non-manhattan lines are trying to become pads.
- Allow no-solder paste pads to support fiducials
- Report in mm or mils as selected by user
- Allow reordering of layers
- add some more QFN packages
- fix building with sun studio c compiler
- Made a pcb installation be relocatable.
- Convert the m4 libraries to newlib libraries as part of building a distfile.
  The m4 libraries are still considered the sources and as such are still
  distributed but this eliminates the need for m4 at runtime for footprints.
- Got rid of the pcb wrapper script around pcb-bin.
- Remove some old footprints of questionable naming, accuracy, or usefulness.
- Get the autosave/backup code working on all GUI's
- Fix some drill size rounding in the reports
- Changed the backup file name to be derived from the .pcb file name
- Added a command line option for DrawGrid
- Fix logic for adding new ratlines
- Fix gtk grid when board is flipped
- Add "find" and "rip-up" buttons to the netlist window
- Draw plated holes when exporting
- Fix some bugs when converting selection to element
- Fix build on cygwin
- Enhance the win32/build_pcb script used to generate a non-cygwin windows
  installer.
- Make pcb work under non-cygwin windows

========================================================================
Release Notes for PCB snapshot 20060822
========================================================================
- various manual updates
- update the INSTALL documentation
- fix a bug where pins turned into pure holes when an element
  was smashed.
- use locale-independent strtod and dtostr functions to avoid problems
  loading files saved in some locales.
- fixed various bugs which caused pcb to crash
- update the gtk status line after save/save as
- make the gerber file names be compatible with pre-HID versions
- split plated and unplated drill output
- fix various typos in menus and comments
- add a batch mode HID.
- fix drawing of box around text in the buffer
- various fixes and improvements to the trace optimizer and the
  autorouter
- fix board flipping code
- fix rounding bug when creating list of drill sizes
- add support for > 8 copper layers
- avoid strict aliasing violations encountered with gcc4
- refactor code related to handling the filenames in the export
  HID's
- fix layer group parsing code
- add the ability to user-configure mouse actions in the lesstif GUI.
- enable loaded netlists by default
- improve the positioning of the drill list in the postscript output
- various improvements to the configure script to improve robustness
  and improve error messages when thing don't go well.
- add IPC style footprints for 01005 passives.
- added a Renumber() action which will renumber all reference designators
  and produced an annotation file for backannotating to schematics.
- Draw via annulii on assembly drawings
- various other bug fixes and improvements.

========================================================================
Release Notes for PCB snapshot 20060422
========================================================================
- Several minor portability fixes for Solaris and the SunPRO compiler and
  for Irix and the MIPSpro compiler.

- Added --psfade option for the postscript HID.

- Fixed a bug where the "load layout" and some other menu choices
  didn't do anything.

- Added remaining actions to the actions reference section of the manual.

- Worked around X11 polluting the name space with some of the X header files.

- Fix route style "Save as default" bug.

- For the Gtk HID, add an alternate vertical window layout mode to
  help on lower vertical resolution displays.

- Fix soldermask draw while TAB view from solder side.

- Change default PNG output scaling to be 100 dpi instead of fixing
  the max dimension at 800 pixels.

- Added background image support for the GTK HID (lesstif one has it too).

- Fix missing window icons for the main GTK window and log window.

========================================================================
Release Notes for PCB snapshot 20060414
========================================================================
- This is the first snapshot of the new HID version of PCB.  HID, which
  stands for Human Interface Device is the abstraction created by
  DJ Delorie which seperates the core PCB code from the graphical user
  interface.  In this release, two GUI HID's are supported, gtk and lesstif.
  In addition, there are HID exporters for postscript and encapsulated
  postscript, RS-274-X (gerber), bill of materials, centroid file, and
  png/gif/jpeg.  This represents a major restructuring of the code and
  many months of work.

- PCB's actions (the commands which drive the core of the program and
  may be directly accessed by the user) now have the documentation in-line
  in the code and the actions reference section of the manual is 
  extracted from the in-line documentation.  The goal it to provide more
  complete and accurate documentation.  As always the manual is still
  a work in progress but it is getting more complete and up to date.

- Fixed a long standing segfault when saving connection data

- Fixed a DRC bug

- Fix some rounding issues when setting sizes.  Hopefully this will address
  the issue with 23.99 mil drills and related problems.

- The html manual is now in one file instead of many files

- The lesstif HID now supports loading of background images to help
  recover a layout which may exist in hardcopy form only.

========================================================================
Release Notes for PCB snapshot 20060321
========================================================================
- Add internal support for more than 8 layers.  By default PCB is still
  compiled for 8 copper layers.
- Fixed several minor bugs in the GTK user interface including fixing
  scrolling of the log window, fixed up some of the DRC reporting
  and mm/mil units.
- Fixed several key bindings.
- Updated refcard.tex to reflect the current set of key bindings.
- Fixed some minor bugs which caused compilation problems on some
  systems.
- Converted the QFN footprints to hi-res.
- Added documentation to the manual for the centroid file format and
  the algorithm used for finding the centroid and rotation.
- Fixed a bug so that the initial layer named 'component' is actually
  on the component side of the board and 'solder' is actually on the
  solder side of the board.
- Fixed the pin order in the bourns trim pots (~bourns library)
- Added actions and a script to allow command line printing.
- Added IPC-7351 recommended footprints for 0201, 0402, etc passives.
- Fixed SME5 package.
- Fixed a bug which prevented disabling nets from the ratsnest
- Fixed a bug where clearances could be set 1 below the spacing
- Fixed clearline flag so that arcs also have this property.
- Speed up rtree searches and other autorouter speedups.
- Fixed a bug in computation of the closest polygon point.
- Use rtrees for polygon handling for speed improvements.
- Add a ChangePinName() action.
- Fix a bug which caused duplicate rats names when manually adding
  rats lines.
- Added DRC checks for minimum drill diameter and minimum annular ring.
- Add a minimal glossary to the manual
- Fix the author name in the fab drawing
- Cause the crosshair to snap to pad ends instead of center for rat
  drawing.
- Add "join" to SetFlag, ClrFlag and ChangeFlag.
- Added inline documentation for the pcb file syntax.  The manual now
  is up to date and correctly documents the file format.  In addition
  the inline documentation will make it much easier to maintain the
  documentation.
- Remove some broken m4lib footprints
- Put the correct setting for the gschem footprint= attribute in []
  in the library window for the m4 libraries.

========================================================================
Release Notes for PCB snapshot 20050609
========================================================================

- **** The GUI is now based on gtk2 instead of Xaw ****  This represents
  a fairly major change.  You will now need gtk-2.4 or higher installed
  along with any of its dependencies to build pcb.  On linux
  distributions, it is probably the case that you already have this,
  but see the README-GTK_PORT file for a note on gtk versions.
  For *BSD, Solaris, and others, you may want to use NetBSD's pkgsrc
  to help install gtk2 and its dependencies.

- Flags are stored symbolically in the .pcb file.  This is the start
  of moving to support >8 layers.  Please note that >8 layer support
  is not yet available in this snapshot.

- Fixes for gcc-4

- As part of the switch to gtk2, the user customizable menu feature has
  been temporarily broken.  Hopefully this will be fixed by the next
  snapshot.  In addition, the loading of background images has also been
  temporarily broken.

========================================================================
Release Notes for PCB snapshot 20050315
========================================================================

- Several footprint library fixes including TO-220 parse errors and
  incorrect drill holes on several componenets.

- Fixed a crashing bug in the pinout window.

- Allow the FAB author to be set via an Xresource to override what
  PCB might have gotten from the gecos information.

- Added table of standard drill sizes to the manual.

- Fixed a crashing bug when trying to use arrow keys to adjust the scale
  slider in the print dialog box.

========================================================================
Release Notes for PCB snapshot 20050127
========================================================================

- Fix drill size for PLCC sockets in ~geda library.  Fix drill size for
  LED3 and LED5 footprints in ~geda library.

- Move the right-click popup menu to pcb-menu.res.

- Add DisperseElements() action for spreading out elements in an initial
  layout.

- Fix fab drawing output for the case where a very small number of
  drill sizes are used.

- Various documentation improvements.

- Remove many compiler warnings.

- Added metric output to the cursor display

- Fix <Key>. for toggling 45 degree mode.

- Crosshair snap snaps to center of pads and also to the mark of the
  element.

- Protect all strcmp() calls with a check for a NULL pointer.  Fixes
  various crashes.

- Fixed the mode buttons which were unresponsive in some versions of 
  the X libraries.

- Element names may be edited over the element.

- Added --enable-efence for ElectricFence debugging.  Off by default

- Added --disable-rpath to avoid using rpath for the X libraries.

- Added vendor resource file support.  This allows lets you specify
  a set of allowed drill sizes and drc rules for a particular vendor.

- Added -action command line option to allow executing an action on
  startup.

- Date and time of compilation added to About dialog.

- Fix a bug where the soldermask relief on a new element is 100x smaller
  than the default when "convert buffer to element" is used.

- Fix a name_tree corruption bug when changing an element name.

- Don't remove the formatted manual with a 'make clean' since they are
  part of the distfile.  

- Let automake handle the html and pdf conversion.  This ends up using
  texi2pdf for the pdf output which seems to do a better job than ps2pdf.

- Sort actions by modifier so that both Ctrl<Key>x and <Key>x work.

- Fix a SelectByName bug.

- Fix non-gcc compilation

- Command history added to :

- Fixed pinout window crash

- Allow Ctrl-drag to copy objects in arrow mode.

- Fixed a polygon clearance bug

- Fix an arc bounding box calculation error.

========================================================================
Release Notes for PCB snapshot 20040903
========================================================================

- enable -Wall when compiling with gcc.  Many compiler warnings have
  been fixed.

- add a short man page which refers the user to the real documentation

- Added ExecuteFile(file) action which allows the execution of several
  actions contained in a text file.

- Added -script <file> flag which specifies a file containing actions
  to be executed upon startup.

- Various documentation improvements

- Protect some gcc extensions with tests for gcc.  This allows
  compilation with the IRIX c compiler.

- Add support for a background image in the drawing area which can
  help in importing a layout from a scanned image.

- Updated the ~geda library 150 and 300 mil width SOIC packages
  to remove silk on pads and to more closely follow the IPC
  recommendations

- Added support for menu accelerators.

- segfault when breaking apart an element with no element selected
  bug fixed.

- autorouter improvements

- added more 400mil DIP packages to ~geda library

- fix a trace optimizer bug which produced a segfault

- other various bug fixes


========================================================================
Release Notes for PCB snapshot 20040530
========================================================================
This has been an exciting 3 months for PCB.  Many improvements have
been made in the program as well as additions and improvements to the
footprint library.  Thanks to everyone who has provided feedback,
patches, etc.

----------------------
Additions/Improvements
----------------------
  - Expanded DRC checking
  - "Realtime" DRC checking
  - DRC settings are now stored in the board fle
  - Centroid (X-Y) and bill of materials output
  - Dynamic menus.  Users can now customize the menus via a
    site-wide, per-user, or per-project menu resource file.
  - Significant improvements to autorouting of congested designs.
  - Autorouter can now use power planes.
  - Improved appearance in autorouter output.
  - Silk on pads/pins is clipped in RS-274-X output
  - Ordering is preserved when writing output files so that diff
    may be effectively used on pcb files.
  - The autoplace feature now actually works
  - Added ToggleVisibility action
  - Most of the database is now kept in rtrees which avoids linear
    searches.  This speeds up operation significantly.
  - Added SetFlag, ClrFlag, ChangeFlag actions

---------
Bug Fixes
---------
  - pin/pad bounding box calculation fixed.  Components can
    now be placed closer to the edge of the board.
  - miter trace optimization bug.
  - Fix bug with pins which are enclosed by multiple polygons.
  - Shorts to unnamed elements and pins are handled correctly.
  - Various memory leaks fixed.
  - Fixed some bugs with a really high zoom.
  - Fixed default media selection in postscript print dialog
  - Fix some DRC bugs with square pins.

------------------
Footprint Library:
------------------
  - Added SOJ footprint family (~geda library)
  - Added CTS series 742/3/4/5/6 resistor pack footprints (~cts library)
  - Added PKG_CONNECTOR_DIL macro to let the HEADER*_1 footprints work
    (~geda library)
  - Correct the SDIP footprints (~geda library)
  - Correct some Minicircuits footprints (~minicircuits library)
  - Correct some panasonic footprints (~panasonic library)
  - Change refdes silk size for sockets (~johnstech library)
  - Increase soldermask relief on some mounting holes
    (~johnstech library)
  - Convert the COMMON_SMT_DIL_MIL and COMMON_SMT_DIL_MM macros
    used by several other libraries to the hi-res format.
  - Correct pin count on 100 pin QFP packages (100 not 72)
    (~geda library)
  - Correct pin count on HEADER60_2 (60 not 50) (~geda library)

========================================================================

New Features for 2.0

(1) New library system. A directory tree is parsed and added to the library 
selector window. This directory is specified in the config.h file as 
PCBTREEDIR and should point to a directory where any pcb user that needs to 
create library elements has write privileges. The "-libtree X" switch will 
cause pcb to use directory X instead of the installed default for the new 
library directory. You should continue to be wary of the old library 
elements, many of them are not quite right. (Just check them carefully before 
fabing to be sure there are no surprises). My intent is to create a 
repository for new elements THAT PEOPLE HAVE FABRICATED SUCCESSFULLY in order 
to grow a reliable library.

(2) Element files can now contain layers (line, arcs, polygons), vias and 
elements. The new library system reads from element files (no need to learn 
M4). The expanded capability of element files allows you to put useful 
sub-circuits into the library. For example, a QFP package with a break-out 
via pattern can be stored as a library element. Be careful with this as the 
layers are saved simply by their layer number and lose any association with a 
group (e.g. whether it is the component, or solder-side layer).

(3) Improved fascilities for creating elements from drawn objects. Now you 
can put an element in the buffer, and break it into it's consitutent parts. 
Paste this to the layout, make changes, then put it back in the buffer to 
convert to an element. You can also save a buffer's contents to an element 
file (i.e. add it to the library). Of course element files are still just 
text files so you can edit them at will. Draw the element outline on the silk 
layer (lines and arcs, no polygons), use Vias to make pins or holes, and lines 
on the component and/or solder layers for SMD pads. Number the pins and pads 
with the name ("n" key) entry, then cut it all to the buffer and select 
"convert buffer to element". Saved elements always appear in the file in a 
component-side orientation (even if you save while viewing the solder side).

(4) Support for elements with surface-mount pads on both sides of the board. 
e.g. edge connectors. This also allows creation of elements with multiple
pins/pads having the same "number" string. This can be used, for example,
to create a DIP footprint that has a pad on top and bottom coincident
with each pin. This effectively makes the pins have elongated copper pads
on the top and bottom - something several home-made board makers have
requested.  If you do create an element with multiple pins having the
same number, and that number appears in the netlist, they MUST be connected
before the board is considered routed. See the "14DIP_oval_pad" example
in the "test" section of the library for an example.

(5) Support for the strokes library. Compiling with strokes enabled (see 
config.h) binds the middle button to recognize strokes for the user 
interface. Zoom in, Zoom out, choose the line, arrow, or via tools, rotate an 
object, etc. can be done with simple strokes. Check the source code 
(FinishStroke() in action.c) to see what the strokes are.

(6) Better fascilites for panning at high zoom: Shift-button3 down shows the 
whole layout - move the crosshair to where you want the display centered, 
then release the mouse button - the previous zoom level is restored, centered 
at the new location. You can do this while in the middle of drawing, moving, 
etc. You can also place the cursor in the panner area, and use the arrow keys 
on the keyboard to scroll half a window view per keypress. Of course you can 
still drag the screen with button1 with the panner tool (previously known
as no tool).
Auto-scrolling is also improved. If you want to use menus, buttons,
the panner, placing the pointer over them stops auto-scroll. If you
want to go to another window and not auto-scroll, pass the pointer
over one of those things before heading to the other window.

(7) Auto-router. The auto-router routes with the active line size, via size, 
and keep-away. It is a grid-less router, and will automatically avoid any 
existing traces, etc. that you've placed on the board. It uses all layers 
that are visible when invoked, so turn off any layers you don't want it to 
use. You can auto-route all rat lines, or selected rat lines. This was
written by C. Scott Ananian

(8) Fascilities to rip-up tracks and vias that were placed by the 
auto-router. You can rip-up all auto-routed tracks, or just those that are 
selected (and were auto-routed).

(9) Auto-placement code. It's broken. Don't use it.

(10) Many functions added to the menus that were previously accessible only 
through keys or typed commands. e.g. SetValue(Grid,1), DRC().

(11) You can turn on/off the requirement for unique element names. When 
unique names are required, they may be automatically generated when pasting. 
Turn on uniqueness for a single layout, turn off if placing several boards in 
a panel (or if you just want duplicate names). It's in the settings menu.

(12) Support for metric grids. Coordinates are still always integer mils,
but you can have the grid fall on a regular metric spacing to within
+/- 1 mil. Selectable in the "Screen" menu and also with the "SetValue(Grid, x)"
command; the value x is still in mils, but it's floating point now. Also
the concept of "absolute" grid has been eliminated - just align it where
you want.

(13) Support for viewing the soldermask. The Screen menu has a selection for
turning on/off the display of the solder mask. You can also change the
size of mask holes when the mask is displayed by using the
"ChangeClearSize(what, change)" function (k key). If the mask is not
displayed, this function changes polygon clearances as before. For example
you could elliminate all via soldermask holes by selecting everything
(make sure vias are turned on), then typing the command:
":ChangeClearSize(SelectedVias, 0)" There is a special case for
vias to change the mask diameter equal to the via diameter, by using
+0 as the size change.
 
(14) Support for creation/addition of netlist by drawing rat lines.
Select "netlist" from the drawing layer, and use the line tool to
add nets. Undo removes the rat, but not the created net. To delete
a netlist entry, select the connection in the netlist window and
hit the backspace key. The "netlist" layer must be the active layer
to delete connections like this. This is NOT the recommended way
to create a netlist, but a lot of people asked for it.

(15) Support for snapping the crosshair to pins/pads even when they're not on
grid. Selectable in the "Settings" menu. Thanks to Borges for this
great idea.

(16) Doesn't draw negative lines and arcs in print output unless
necessary. It still does this for all pads though. Doesn't technically
matter, but there are a lot of bogus gerber viewers out there and
people that are easily confused by gerber files that completely meet
the specification.

(17) Added a "Lock" feature that lets you lock an object so it
can't be selected, moved, or modified. Very handy for making a
board-outline element (e.g. pc104 card) invisible to the Arrow
tool.

(18) lots of bug fixes (plus, no doubt, lots of newly introduced ones).

(19) a tool (in the tools folder) for converting to/from ncap files
for auto-routing with MUCS-PCB. I have not tried this myself. Written
By Luis Claudio G. Lopes

(20) a new build system based on the GNU automake and autoconf tools.
This should make compiling on different systems easier than with the
old imake based build system.
 
(21) A program for quickly generating QFP elements. Its invoked
from the old library (~generic/qfp menu, generic)

(22) Increased resolution.  The internal unit is now 0.01 mil
as opposed to 1.0 mil which was the previous unit.

Quick and dirty explanation of some as-yet undocumented features:

Netlist window: double-click on a net-name to enable/disable it. A "*" 
appears next to the name when it is disabled. Disabled means rats nests will 
ignore the net. Click on a connection to select it (and center it) in the 
layout window. "Finding" a connection starting from a pin or pad will
select it in the netlist window.

The "j" key controls whether a line (arc) clears (plow through) polygons or 
touches them. Newly created lines and arcs follow the setting in the 
"settings" menu. Put the cursor over the line or arc you want to change, then 
hit the "j" (j for join) key.

The "k" key controls the width of clearance around a line (arc) when it 
plows. "k" key increases clearance by 2, Shift-K decreases it by 2, also 
works for pins and vias piercing polygons. The initial value for new objects 
(but not element pins/pads which is in the element definition)
is controlled by the "keepaway" setting, changeable in the "sizes" menu.

When drawing lines, you can start a new anchor point without drawing from 
the previous point by either clicking button3, or Ctrl-button1. DON'T
USE BUTTON2 - that would be wrong, even if it sort of works.

The Arrow tool is for selecting/deselecting objects, and moving them. 
Shift-click to add to the existing selection. You can click-drag to draw 
boxes for box selection. If you click-drag on an already selected item, you 
will move the selection. If you click-drag on an un-selected item, you will 
move that item without selecting it. This last technique is the only way to 
move a point (e.g. end point of a line), and is also the only way to perform 
moves with rubber-banding (i.e. rubber-banding doesn't work with selections). 
Moving a selection actually cuts it to a special paste buffer, then pastes it 
at the new location. Always start a box selection by clicking in an empty 
region of the board. It may be desireable to turn off some visibility in 
order to simplify the box selection operation.  You can also lock
an object to make it invisible to the Arrow tool (so box selections can
begin over the object). If you don't configure for
strokes, the middle button is bound to the arrow tool.

To move an element or silk text to the opposite side of the board, use the 
"b" key (b for backside) to send it to the opposite side. You can also cut an 
object to a buffer, switch viewing sides (tab), then paste it. The buffer can 
be used this way to flip layout traces to the other side too, although if 
layer groups are used, the precise layer they appear on may not have the 
color you want, but the connectivity should not change.


Installation tip: BE SURE TO INSTALL THE NEW X11 RESOURCE FILE - run
make install to do this. If you just want to test without installing,
run the pcbtest.sh script in the src directory.