CHANGELOG-2007.txt 72.9 KB
Newer Older
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
KiCad ChangeLog 2007
====================

2007-Dec-29 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    First draft (and code..) about new zone handling, using polygons to define an outline.
    Now currently not useable because the fill function (and many other important functions) is not implemented.
    Many functions are not yet implemented: merging zones, cutout, DRC ...
    Nevertheless, one can create, modify edit and save zone outlines


2007-Dec-23 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+all
  * Because of the discussion 4 months ago about using Boost::Python, and
    because of an excellent boost::ptr_vector class, I want to make some of the
    boost libraries be necessary for building Kicad.  These would be:
    1) boost pointer container library (immediately)
        http://www.boost.org/libs/ptr_container/doc/ptr_container.html
        See the work in specctra.cpp to see where this is going:
        typedef boost::ptr_vector<ELEM> ELEM_ARRAY found within class PARENT.
        I found that gcc 4.2.1 was complaining about the standard ubuntu libboost-dev
        package and would not compile ptr_vector class.  But the svn of boost
        fixed this.
    2) boost::python when building python in.
  * Added FIND_PACKAGE(Boost) to CMakeLists.txt


2007-Dec-22 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+all
    added strlower() to common.h and string.cpp.
    fixed compiler warnings in common/gr_basic.cpp and pcbnew/clean.cpp
+pcbnew
    started the DSN file import/export for SPECCTRA routers, adding dsn.cpp and
    specctra.cpp, with "stand alone" compile support for it in pcbnew/CMakeLists.txt.


2007-Dec-17 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
    WinEDA_PcbFrame::Other_Layer_Route() was leaving in the bridging segment
    when the DRC denied the via insertion.


2007-Dec-17 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    some changes about zones: enhanced dialog, and files reorganisation


2007-Dec-14 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
    WinEDA_PcbFrame::Other_Layer_Route() now returns bool, so that if the DRC
    would not allow the new via placement, then it can be checked and the layer
    change can also then be aborted.  Previously the layer change would happen
    in mid track even if the via could not be placed.


2007-Dec-13 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * surbrill.cpp's int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
    was re-written to use the GENERAL_COLLECTOR, and the scanList is set to
    give pads a higher search priority than tracks, vias or zones.
    The objective was to use the pad if possible, rather than a track on a pad,
    so the pad can be sent to eeschema.  Finding the track only (even though
    on a pad) would not send anything to eeschema.


2007-Dec-12 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * Fized zone drawing bug in svn HEAD only.
    pcbnew/zones.cpp, see:
    http://tech.groups.yahoo.com/group/kicad-users/message/2993


2007-Dec-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+all
  * Fixed hotkey table for '+' and '-' bug.  The lookup table in
    common/hotkeys_basic.cpp had bad entries for + and -.  These hotkeys
    were not working on Linux.
  * Added polygon directory to Doxyfile.


2007-Dec-09 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+cvpcb:
    listboxes.cpp FootprintListBox::m_ActiveFootprint member was not initialized.
    Can crash cvpcb (WINDOWS only, i believe)


2007-Dec-09 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    changes in file organisation and classes to prepare zone redesign. No real new code.
    class zone functions and definitions moved in class_zone.h and .cpp


2007-Dec-07 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew
    Very minor bug in drill map : inaccurate via shapes (I believe EXCELLON drill file has no problems)


2007-Dec-06 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+all
    Solved zoom key command problems (under linux and windows)
    (seen http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476)

+pcbnew
    solved bug when loading a footprint in modedit: invisible text attribute was lost (trunk and tag)


2007-Dec-4 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
    added the D() macro to fctsys.h to ease conditional debug printf()s.
    worked on http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476
    but could not resolve it in 1/2 day.


2007-Dec-4 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * drc.cpp and dialog_drc.cpp update.
    Added double click support on a MARKER or unconnected DRC_ITEM in the listboxes.
    On Linux, it sometimes pops up the menu from PcbGeneralLocateAndDisplay()
    for some reason after repositioning the cursor.  That is not intended, but
    after several attempts to work around it, I realized it is not so bad to
    have this happen.
  * Added right click popup menus to the list boxes.  User must first select
    the item he wants to go to, as the right click does not change the selection.
  * Added WinEDA_BasePcbFrame::CursorGoto( const wxPoint& ) by factoring it
    out of pcbnew/find.cpp
    Done now, its ready for folks to start using it and testing it.


2007-Dec-02 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+eeschema:
    Solved an annotation problem: in multiple parts per package components,
    when sorted by position, parts were not grouped by package.


2007-Dec-2 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
    drc.cpp and dialog_drc.cpp intermediate update.


2007-Nov-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * added virtual GetPosition() to BOARD_ITEM and derivatives.
  * added classes DRC, REPORT_ISSUE, DRC_ITEM and rearranged drc.cpp entirely
    to comprize the DRC class.  The result has finer granularity of functions
    and each is fairly well documented in English, see drc_stuff.h.
    Keeping old stuff commented out at bottom of drc.cpp until some more usage
    and testing is done.
  * Made the DRC dialog modeless, so it can sit off to the side while the MARKER
    are inspected one by one.


2007-Nov-29 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    Removed a bug (function block() ) which crashes pcbnew when erasing a zone by block delete


2007-Nov-27 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * changed class MARQUEUR to class MARKER name only.
  * Moved BOARD's MARKERs from m_Drawings to vector<MARKER*> m_markers so
    they can be easily deleted and navigated to from the drc dialog.
  * deprecated the MARKER::Unlink() function.
  * Added
        BOARD::Add( BOARD_ITEM*, int )
        BOARD::GetMARKER(int)
        BOARD::Delete( BOARD_ITEM* )
        BOARD::DeleteMARKERs();
  * Changed BOARD::~BOARD() to use DeleteMARKERs().
  * Revised screen drawing routine to know about BOARD::m_markers.
  * Revised BOARD::Visit() to know about BOARD::m_markers.
  * Revised pcbnew/find.cpp to know about BOARD::m_markers.
  * removed wxYield() from drc.cpp


2007-Nov-26 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
    DRC code and dialog rework start.  This breaks DRC, until I get out the
    other end of the tunnel.


2007-Nov-24 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
  * dialog_track_options uses a portable technique for SetFocus(), namely the
    function OnInitDialog( wxInitDialogEvent& event ).
  * started work on dialog_drc, not checked in. basic wxHtmlListBox is working with dummied text.
+all
    makefile.include's now use CXX instead of CC for compiling.


2007-Nov-15 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
    Removed a bug (function Delete_Zone() ) which crashes pcbnew when erasing a zone by popup menu


2007-Nov-13 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema & pcbnew
  * The "Page Settings" dialog box has been enhanced; it now includes a
    wxStdDialogButtonSizer, and is also now designed to be expandable.
+ pcbnew
  * The "DRC Control" and "Netlist:" dialog boxes have also been enhanced. Each
    of those dialogs now includes a wxStdDialogButtonSizer and a "Cancel" button,
    (so each of those dialogs can now (otherwise) be cancelled by pressing the
    "Esc" key), and is also now designed to be expandable.


2007-Nov-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    Fixed modedit.cpp bug which occurred when selecting a non pad item (such
    as a text field) in the module editor, then selecting Dimensions -> Pad Settings
    in the module editor.


2007-Nov-11 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema & pcbnew & gerbview
  * The "Colors" dialog box has been enhanced; the distance between adjacent
    controls now increases (and in both horizontal and vertical directions)
    when that dialog is resized. And the "Cancel" button is no longer centre-
    justified; it is now right-justifed instead.
+ eeschema
  * A wxStdDialogButtonSizer is now used within the "EESchema Colors" dialog box,
    meaning that the sequence of the "OK", "Cancel", and "Apply" buttons within
    that dialog now depends upon which (OS) version of KiCad is being used (and
    thus matching the nature of the corresponding dialogs within Pcbnew and GerbView
    in that regard). (As of yet, the vertical distance between adjacent controls
    does not increase when this dialog is resized, but that aspect will also be
    implemented when time permits.)
+ gerbview
  * The "GerbView Layer Colors:" dialog box has been updated, and is now similar
    in nature to the corresponding dialogs within EESchema and Pcbnew. Tool tips
    have also been provided for the "Show All" and "Show None" buttons.


2007-Nov-10 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+eeschema:
    More comprehensive dialog in netlist plugin interface.
    Eeschema configuration now shows the plugin netlist list


2007-Nov-09 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ 3d-viewer
  * The 3d_canvas.cpp file has been updated to use a const parameter, as suggested
    within (Bug) Request ID 1828487.
+ pcbnew
  * Sizers have now been provided for the "Pcbnew Layer Colors:" dialog box (previously
    identified as the "Colors:" dialog box), and tool tips have been provided for the
    "Show All" and "Show None" buttons.
  * The reglage.cpp file (which is not currently used) has been removed, and replaced
    with reglage.cpp.notused.


2007-Nov-02 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    removed not used files


2007-Nov-07 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ all
  * The common/svg_print.cpp, common/svg_print.h, and common/svg_print.pjd files (which
    are not currently used) have been removed, and replaced with svg_print.cpp.notused,
    svg_print.h.notused, and svg_print.pjd.notused. And common/makefile.include has
    also been updated so that none of those files are now listed at all.
+ eeschema
  * A "Cancel" button has now been provided within each of the "Component properties",
    "EESchema Annotation", "EESchema Erc", "Global Label properties", "Label properties",
    and "Text properties" dialog boxes, and each of those dialogs can now (otherwise) be
    cancelled by pressing the "Esc" key. (In due course, each of those dialogs will be
    refined yet further; this is just an incremental enhancement.)
  * The eestatus.cpp file (which is not currently used) has been removed, and replaced
    with eestatus.cpp.notused.


2007-Nov-05 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema
  * The previously provided "Close" button within the "Netlist" dialog box has
    now been replaced with a "Cancel" button, and this dialog can now (otherwise)
    be cancelled by pressing the "Esc" key. General cleanup and beautification of
    eeschema/netlist_control.cpp.
+ pcbnew
  * The color of each text string provided within the "Swap Layers:" dialog box is
    now set to blue for each string specifying that the associated layer is *not*
    being swapped with any other layer, or to fushia for each string specifying that
    the associated layer *is* being swapped with another layer. (This change was
    made after being suggested by Dick Hollenbeck.)
+ gerbview
  * The color of each text string provided within the "Layer selection" dialog box
    is similarly now set to blue for each string specifying that the associated
    Gerber layer is *not* being exported to any pcbnew layer, or to fushia for each
    string specifying that the associated Gerber layer *is* being exported to a
    pcbnew layer.


2007-Nov-2 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    fixed a crashing bug which happened if you "dragged" a module with
    tracks.  Then deleted one of the pad connected tracks, then deleted the
    next track attached to the first one.  Memory was being corrupted because
    PcbGeneralLocate() and display was not being called on the 2nd track to
    be deleted because the m_Flags test:
        bool ItemFree = (GetCurItem()==0  || GetCurItem()->m_Flags==0);
    was returning false. Solution was to SetCurItem(NULL) after deleting a
    TRACK.  This makes sense, SetCurItem() is used for designating a "selected"
    item, and a deleted TRACK is not even in the BOARD anymore and should not
    be selected or selectable.  I think this bug may have been causing spurious
    crashes for the last couple of months.


2007-Nov-02 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+all:
    solved: eeschema, pcbnew and cvpcb did not find libraries when they were
    in the default library path, but in a subdirectory
    (this is because the default path was not added to the name if the name had
    already a path)


2007-Nov-02 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * Sizers have now been provided for the "Swap Layers:" dialog box, and the
    previously provided radiobuttons have been replaced with buttons and static
    text strings. (In the previous version of this dialog, radiobuttons were being
    used in an inappropriate manner. The most "orthodox" way of implementing the
    functionality within this dialog would be to provide a combobox for each layer,
    but as up to 30 strings would be needed within the dropdown list associated with
    each of those controls (one string for each of the layers, and another string to
    deselect the layer), such controls would be less than user-friendly. Hence a
    button is now provided for each layer instead (and which, like the previously
    provided radiobutton, invokes the "Select Layer:" dialog box after being clicked
    on). Two static text strings are also provided for each layer, with one of them
    being used to identify that layer, and the other being used to identify which
    layer that each layer is currently being swapped to.) The previously provided
    "Select" and "Deselect" buttons are no longer required, and are thus no longer
    provided.
+ gerbview
  * The "Layer selection" dialog box (invoked during the "Export to Pcbnew" command)
    has similarly been updated. (This dialog did use spacers before, but once again,
    the previously provided radiobuttons were being used in an inappropriate manner.)


2007-Nov-01 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * Provided new definitions of FIRST_COPPER_LAYER and LAST_COPPER_LAYER within
    include/pcbstruct.h, and used those definitions within various other files.
    Beautified and generally refined 3d-viewer/3d_draw.cpp and pcbnew/plotgerb.cpp.


2007-Oct-31 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+kicad:
    rename mdiframe.cpp to mainframe.cpp
    create commandframe.cpp to handle the command frame (which have the 4 "fast launch" buttons)


2007-Oct-31 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
  * Added Doxygen configuration file, whose standard name is Doxyfile.  Output
    is set to go to ./doxygen directory just off the project tree.
  * Added a note to todo.txt which asks folks to start using "Doxygen compatible"
    comments in member functions and classes.  Run Doxygen on the project, then
    look at the documentation for class INSPECTOR as an example.
+ pcbnew
  * zones.cpp, Trace_Pcb(), & EDGE_ZONE class:
    Reversed the usage of EDGE_ZONE::Pnext and Pback in the list management to be
    consistent with other classes and with BOARD_ITEM::IterateForward() and
    BOARD::~BOARD().
  * Fixed a display bug when high contrast mode is enabled and the track tool
    is selected.


2007-Oct-31 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+all:
    gcc 4.2.1 compatibility: change char * to const char * whenever it was necessary,
    mainly in .xpm files


2007-Oct-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    added BOARD_ITEM::Save() and to all derived classes as well.  Made virtual
    and removed all UI code from these utility functions.
    removed WriteDesc() functions from all BOARD_ITEM derived classes, although
    Keeping old ones in commented out form for a while for reference.
    @todo: delete these from *.cpp files eventually.
    zones.cpp, clean up in prep for enhancements.
+ gerbview
    fixed bug which came about when BOARD::~BOARD() started deleting the objects
    that a BOARD owns.  export_to_pcbnew.cpp was not consistent with this
    design and was crashing.  Also, export_to_pcbnew.cpp now uses the simple
    BOARD::Save() function.  It was another place to maintain the PCB file format,
    rather than simply putting that knowledge into one place like BOARD::Save().
+ all
    beautified gr_basic.cpp and made CLIP_LINE macro a static inline function.


2007-Oct-30 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+cvpcb: listboxes.cpp problem solved: exists only under windows
    now apply to windows only, because this Workaround creates a problem undex linux
+others:
    some very minor problems solved
+eeschema:
    in B.O.M.: the footprint field can be added to the field list


2007-Oct-29 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+cvpcb: listboxes.cpp problem solved: Workaround for a curious bug in wxWidgets:
     if we switch from a long list of footprints to a short list (a filtered footprint list),
     and if the selected item is near the end of the long list,
     the new list is not displayed from the top of the list box
+eeschema:
    Implemented: graying in/out of "Edit/Undo", "Edit/Redo" menu items,
    when Undo/Redo stack is empty/filled.
+pcbnew:
    Implemented: action for ID_POPUP_PCB_DELETE_MARKER


2007-Oct-27 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all:
    remove unused files.
    some translations
+cvpcb:
    set flag wxFRAME_FLOAT_ON_PARENT when create the footprint 3D frame and the
    display frame
    minor other changes
+ pcbnew:
    Use collector class to locate items in modedit.
    This is a big enhancement,
    but a small work for me because Dick made all the work.


2007-Oct-26 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    Add class_marker.cpp and class_marker.h and move MARQUEUR functions in class_marker.cpp
    Change MARQUEUR::HitTest to take in account the zoom level.
    change global var EDA_Appl to g_EDA_Appl


2007-Oct-25 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ cvpcb
  * Fine-tuned contents of dialog_display_options.cpp, dialog_display_options.h,
    and dialog_display_options.pjd, so that the controls within the associated
    ("Display Options") dialog box now also expand if that dialog is expanded.
+ all
  * The share/selcolor.cpp file (which is no longer used) has been removed, and
    replaced with share/selcolor.cpp.notused


2007-Oct-24 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ cvpcb:
    2 missing .prj files added (and updated)
    dialog_display_option.cpp is rebuild from its dialog_display_option.prj source


2007-Oct-23 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema
  * Sizers have now been provided for the "EESchema Preferences" dialog box,
    together with "OK", "Cancel", and "Apply" buttons. And an additional bitmap
    button and checkbox have also been provided for the purpose of editing the
    color and visibility of the grid.


2007-Oct-21 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ all
  * Provided an MAYBE_RESIZE_BORDER field within all of the .pjd files (used by
    DialogBlocks), and restored the MAYBE_RESIZE_BORDER field to cleaningoptions_dialog.h


2007-Oct-21 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
    added UIpolicies.txt


2007-Oct-21 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    rename dialog_clean_pcb.pjd to cleaningoptions_dialog.pjd,
    accordind to the corresponding cpp filename.
    enter the new tool tips in cleaningoptions_dialog.pjd.
+all:
    USE_RESIZE_BORDER is now defined (default) in fctsys.h.
    Therefore, under windows, dialogs are now resizable (like under unix)


2007-Oct-21 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema & pcbnew & gerbview
  * Sizers have now been provided within the "Colors" dialog box.


2007-Oct-19 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * "Clean tracks" changed to "Track operations".
  * Housekeeping on clean.cpp completed.
    Added static void ConnectDanglingEndToVia( BOARD* pcb ) in clean.cpp which
    extends tracks to via centers.  Call it from "extend to pads", works nice.
  * Added tooltip text to cleaningoptions_dialog.cpp's m_ConnectToPadsOpt
    but don't know if DialogBlocks will parse this backwards.
  * Made compilable, somebody broke #define VIA_???? s throughout.  Would not compile.
  * SEGVIA::SetPos() & GetPos() added.


2007-Oct-17 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    Removed enhancements in connectivity computation because
    rastnest computation does not work (errors) with short track segments
    (lenght < width) . This is not a bug, but an algorithm problem, so
    I must work on algos.


2007-Oct-17 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * Rolled back previous changes (made in revision 336) that edited the values of
    vias' Shape property (following feedback from Jean-Pierre Charras concerning
    the true significance of that property).


2007-Oct-13 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    remove a change for Read VIA because via attributes
    (TROUGH VIA, BLIND VIA or BURIED VIA) are autorisations for layer connection,
    and are not a real layer indicator.
    If a via connect layers from copper to component, it can have a BURIED VIA attribute.
    the meaning is for this via the layer pair can be changed for other layer pair
    if after editing this via connect 2 tracks which are only int internal layers,
    its layer pair can be changed.
    If a via has a TROUGH VIA attribute, it connects ALL layers, whenever tracks
    connected to it.
    Note: curenty: only TROUGH VIA are handled.
    Other types (BLIND VIA and BURIED VIA) are only experimental.
    A **lot** of code is needed for a full support.
    enhancements in connectivity computation


2007-Oct-15 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * Made some changes involving vias so that these would have the correct value
    of the Shape property assigned to them - while being created, and while files
    are being saved, and while files are being loaded.


2007-Oct-14 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew:
  * housekeeping and translation to English on bottom third of pcbnew/clean.cpp.
    No algorithm changes were intended, only improved readability.
  * my todo: figure out how to intercept double clicks on a wxWidgets text control
    so I can complete the work I started on MARQUEUR error tracking.


2007-Oct-13 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    ratsnest.cpp translated into english.
    Many infos on the LEE algorithm used here added.
    todo (by myself): connect.cpp translation.
    onrightclick() bug (created by last change) solved: one could reselect an item,
    while moving a previously selected item (pcbnew crashes).


2007-Oct-13 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema
  * The previously provided "Quit" button within the "List of Material" dialog box
    has been replaced with "OK", "Cancel", and "Apply" buttons. Greater consistency
    has also been achieved after clicking on the "Create List" button; none of the
    prevailing settings are subsequently saved (previously, some, but not all, of
    the settings were subsequently saved). (However, settings can still be saved by
    clicking on either of the "OK" or "Apply" buttons instead.) Assorted cleanup
    and beautification of associated source code.
  * The genliste.cpp file (which is no longer used) has been removed, and replaced
    with genliste.cpp.notused


2007-Oct-12 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
  * m_NetCode is now private or protected throughout.
    added SetNet() and GetNet() to all classes which have this member name.
    ditto for m_Sous_NetCode, for which there is now SetSubNet() and GetSubNet().
+ pcbnew
    added more disambiguating text to the PcbGeneralLocateAndDisplay() popup
    menu for tracks. We need all the info we can get there I found after using
    the software for many hours.


  Jean-Pierre:

  I never thought I would find a greater problem in using Kicad than having to
  lay down all the ground and power tracks, rather that just linking vias into
  pre-established zones or "tagged layers".

  But I have, hundreds of my tracks and vias are showing
  unconnected under my BGA, (where say the track or via is NetCode==0) and it
  should not be, because the damn track ties the BGA pad to a nearby via.
  How can the software be made to think these three items are on the same net,
  without re-entering all the damn tracks?

  This issue has been coming up for months on the user list, it must be dealt with now.
  There is always the same lame answer, "make sure your tracks go to the center of the pads".
  Nonsense, the software picked the track end points, not me, and grid was on when it did it.
  There are bugs here.

  Does Recalcule_all_net_connexion() work, and why is not called from anywhere?



2007-Oct-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * D_PAD::Draw() refinements.
  * WinEDA_DrawFrame::SetToolID() will redraw the DrawPanel if the track
    button is selected or de-selected and the high-contrast mode is in play.
  * If high-contrast mode is in play, the Select Layer Pair dialog completion
    will redraw the DisplayPanel, now that SMD pads' colors are so dependent
    on these variables.


2007-Oct-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * D_PAD::Draw() so that it shows SMD pads as greyed out when in high contrast
    mode and not on current layer.  Slight variation on this when laying down
    tracks: m_Route_Layer_BOTTOM or m_Route_Layer_TOP layers' SMD pads are
    not greyed out.
  * Changed English UI text for "Cotation" to "Dimension".


2007-Oct-11 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * The "Target Properties" and "Pads Global Edit" dialog boxes can now (otherwise)
    be cancelled by pressing the "Esc" key, and the caption of the "OK" button
    within the latter dialog box has been capitalised (so that an icon is now
    provided within that button within the Linux version of KiCad).
  * The pcbpiste.cpp file (which is no longer used) has been removed, and replaced
    with pcbpiste.cpp.notused
+ cvpcb
  * The affiche.cpp file (which is no longer used) has been removed, and replaced
    with affiche.cpp.notused


2007-Oct-11 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
  * The previously provided "Exit" button within the "Colors:" dialog box has been
    replaced with "OK", "Cancel", and "Apply" buttons, and the code for editing the
    visibility of the Grid layer from that dialog now is "cleaner" than before.
    Details associated with buttons within that dialog box moved from set_color.cpp
    to set_color.h (matching implementation for GerbView's corresponding dialog box).
  * Fixed bug which previously prevented the Copper layer from being selected as the
    current layer when only one copper layer is enabled (and made some modifications
    to the code for selecting the next copper layer and previous copper layer).
+ gerbview
  * The code for editing the visibility of the Grid layer from the "GerbView Layer
    Colors:" dialog box is "cleaner" than before, and assorted other beautification.
+ eeschema
  * The options.cpp file (which is no longer used) has been removed, and replaced
    with options.cpp.notused


2007-Oct-10 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * bug fix: prevent OnRightClick() from calling PcbGeneralLocateAndDisplay()
    when creating a new track.
  * bug fix: popup menu was not handling Mires, because the collector was not
    being asked to find them.
  * added TRACK::ShowWidth() and call it from BOARD_ITEM::MenuText().  There was
    not enough information in Selection Clarification at a busy junction to
    make a reasonable choice.
  * SEGVIA::MenuText() shows via width, rather than net_code.
  * Beautified ratsnets.cpp, I would like to understand it better.  It would help
    if the comments were in English.
+ all
  * Changed English UI text "Mire" to "Target" according to this post:
    http://tech.groups.yahoo.com/group/kicad-users/message/1380
  * rewrote msgpanel.cpp so it retains wxStrings and therefore can repaint its
    window when being uncovered, resized or whatever.


2007-Oct-9 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    changed pcbnew/onrightclick.cpp so that a right click only shows the
    Selection Clarification menu if there is no selected object or if the
    click is in a position different from where the selection was previously
    made.


2007-Oct-09 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema:
    cross-probing minor bug solved ( due to last modification): pins/pads not probed


2007-Oct-08 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ gerbview
    Display on screen now updates properly (in Linux version) after clicking on
    the "OK" button provided within the "GerbView Layer Colors" dialog box.


2007-Oct-7 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
    create new file cross-probing.cpp
    move RemoteCommand() to cross-probing.cpp and create SendMessageToPCBNEW()

+ pcbnew
    bug in move pad fixed (could crash pcbnew)
    Small change in selection clarification (side effect removed):
    - Escape or click on title does not show the next popup menu.
    - the title is displayed under linux
    - definition CUIVRE_N translated into COPPER_LAYER_N


2007-Oct-07 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ all
  * Various dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key.
    (Some dialog boxes still require attention in that regard though, so that task
    is not yet complete.) And the captions of the "OK" button within various dialog
    boxes have been fully capitalised (meaning that an icon is now provided within
    each of those buttons within the Linux version of KiCad).
  * DIALOG_STYLE (defined within include/wxstruct.h) now includes MAYBE_RESIZE_BORDER
    field. (Refer to 2007-Oct-2 UPDATE notes for the relevance of this.)
  * Beautification and house keeping.
+ eeschema
  * The editpart.cpp and libedpart.cpp files (which are no longer used) have been
    removed, and replaced with editpart.cpp.notused and libedpart.cpp.notused
+ cvpcb
  * Additional "OK", "Cancel", and "Apply" buttons have now been provided for the
    "Options" dialog box which lists various display options for footprints.
+ pcbnew
  * Invoking the "Select Layer Pair:" dialog box is no longer possible whenever only
    one (copper) layer is currently enabled. And it is no longer possible to select
    the same layer to be both the Top Layer and Bottom Layer (for any Layer Pair).
  * Deselecting layers during the "Swap layers" command is now more user-friendly,
    due to the provision of an additional "(Deselect)" radiobutton within the (child)
    "Select Layer:" dialog box (which is always invoked whenever a different
    radiobutton within the "Swap Layers:" dialog box is clicked on). (It had
    previously been necessary to cancel the "Select Layer:" dialog box before being
    able to click on the "Deselect" button within the "Swap Layers:" dialog box.)
  * Definition for NB_LAYERS changed from (EDGE_N + 1) to (LAST_NO_COPPER_LAYER + 1)
    (Although EDGE_N is currently the "last" layer, that wouldn't necessarily still
    be true if any additional layers are ever defined in the future.) And comparisons
    to 29 (or 28) have been replaced with comparisons to NB_LAYERS (when appropriate).
+ gerbview
  * The previously provided "Exit" button within the "GerbView Layer Colors" dialog
    box has been replaced with "OK", "Cancel", and "Apply" buttons; and both the
    visibility and color of the Grid layer can now be edited from the same dialog.
  * Deselecting (Gerber) layers during the "Export to Pcbnew" command is now more
    user-friendly, due to the provision of an additional "(Deselect)" radiobutton
    within the (child) "Select Layer:" dialog box (which is always invoked whenever
    a different radiobutton within the "Layer selection:" dialog box is clicked on).
    (It had previously been necessary to cancel the "Select Layer:" dialog box before
    being able to click on the "Deselect" button within the "Layer selection:" dialog
    box.)
  * The "Export to Pcbnew" command now requires at least one Gerber file to have been
    already loaded. And Gerber files can now be loaded into any of the 32 (Gerber)
    layers provided. (It had previously been necessary to avoid having any gaps within
    the sequence of used Gerber layers.)


2007-Oct-6 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    create new file cross-probing.cpp
    move RemoteCommand() and SendMessageToEESCHEMA() to cross-probing.cpp


2007-Oct-3 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    made BOARD_ITEM::UnLink() virtual
    added BOARD_ITEM::DeleteStructure().
    added EDA_BaseStruct::DeleteStructList()
    deleted gerbview/struct.cpp, pcbnew/struct.cpp,
    BOARD::~BOARD() now deletes objects that it owns.
    Collectors now finds MARQUEURs also
    added MARQUEURS::Display_Infos()
    added MARQUEURS::HitTest()


2007-Oct-2 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
    The lack of border resizing in dialogs has been a problem.  In my world,
    dialog boxes are resizable.  I use large fonts, I like to see stuff.
    So now for __UNIX__ they are resizeable, for windows not.
    See fctsys.h and the #define for MAYBE_RESIZE_BORDER.  For windows it defaults
    to zero which means resizeable is not featured.  A compiler command line
    option of "USE_RESIZE_BORDER" can override this windows default.


2007-Oct-01 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew/eeschema
    Cross-probing pcbnew to eeschema:
        A left click on a pad in pcbnew moves the eeschema cursor on the corresponding component pin
        A left click on a footprint ref or value in pcbnew moves the eeschema cursor on the corresponding component ref or value
        A left ckick on a footprint moves the eeschema cursor on the corresponding component anchor
+ pcbnew
    removed drc.cpp change line 584, and translate comments in english.
    nothing broken:
        -> a pad with its netcode = 0 means the pad ** must be left unconnected ** (not attached to *  a net).
        -> a track with its netcode = 0 means the track is not attached to a net (cannot be connected to any pad).


2007-Sep-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    Added dedicated Show() function for SEGVIA.  Enhanced BOARD_ITEM::MenuText()
    for SEGVIA.


2007-Sep-29 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * drc.c made a change near line 584 to comment out pt_pad->m_NetCode test against
    zero.  This was preventing me from laying out my board.  It's possible that
    this broke something else, but it is also clear that something was broke before
    this change, because I could not put down some tracks.
  * beautification, house keeping.



2007-Sep-29 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    create new file onleftclick.cpp
    move onleftcligk() and onleftDcligk() from edit.cpp to onleftclick.cpp


2007-Sep-27 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    test case for OnLeftClick() handling enhancements.
    TAB key removed, because is not needed for block selection and double click.
    (SHIHT ou CTRL or ALT key is sufficient to suppress the popup menu
    if needed for a double click )
    Some work is still needed, of course
+ pcbnew
    Color grid setting now works


2007-Sep-26 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
    test case for OnLeftClick() handling from a release circumstance.
    a few simple changes to void WinEDA_DrawPanel::OnMouseEvent( wxMouseEvent& event ),
    but they affect all programs in a subtle way.
    TAB key allow double clicking, but is not needed for block selection.

+ pcbnew
    GENERAL_COLLECTOR::GetCount() returns int, not unsigned.  Was tired of the
    compiler complaining when using an int ndx.


2007-Sep-25 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * removed reference to global display options DisplayOpt.DisplayZones in
    collectors.cpp so collectors.cpp can continue to be used in multiple future
    (non-display related) general contexts.  I don't want unnecessary dependencies
    in there.  The way to completely ignore a type is to exclude it from scanList.
    The way to sometimes ignore a type is to add support for this in COLLECTORS_GUIDE.
  * Moved TYPEZONE to end of AllBoardItems, added GENERAL_COLLECTOR::AllButZones to
    provide support for DisplayOpt.DisplayZones.
  * Added aHotKeyCode to PcbGeneralLocateAndDisplay()
+ gerbview
  * viewer was getting stuck in a loop when loading a bad gerber file.  Fixed
    the bug, but line 223 through 225 of readgerb.cpp needs review.
  * beautified a few files with uncrustify, (any I had to look at).


2007-sept-25 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    * add class_board_item.cpp file and move BOARD_ITEM::MenuText() and BOARD_ITEM::MenuIcon() in it
    * Add zone detection, forgotten in PcbGeneralLocateAndDisplay()
+ class_collector.h:
    add  void COLLECTOR::Remove( unsigned int item_position ), needed by zone detection, see PcbGeneralLocateAndDisplay


2007-Sep-25 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ gerbview
    The "Exit" button previously provided within the dialog box invoked from the
    "Preferences -> File ext" menu entry has now been replaced by "OK" and "Cancel"
    buttons. Similarly, the "Accept" button previously provided within each of the
    dialog boxes invoked from the "Preferences -> Options" and "Preferences -> Display"
    menu entries has now been replaced by an "OK" button. And each of those three
    dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key.


2007-sept-22 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    * small change in hotkeys handling
        (Ki_HotkeyInfo: new member m_IdMenuEvent to call an existing event handler from a hotkey list)

+ eeschema:
    * added drag component in pop up menu and hotkeys
    * plot svg format: incorrect arc draw fixed


2007-Sep-22 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    GENERAL_COLLECTOR::Collect() was skipping thru hole pads even though they
    were visible.
    Highlight tool now sends message to eeschema when a pad is selected.


2007-Sep-20 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ eeschema
  * beautify, add debug Show() functions, changed ReturnFieldName()
    to return "const wxString&" for speed, added GetFieldValue().
  * tracking down questionable behavior (a bug?) in erc regarding pwr_flag, still looking


2007-sept-20 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    * hotkeys handling finished
+ pcbnew
    * bug fix: a subtle bug in place via : partial drc only was made.


2007-Sep-14 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is
    called from PcbGeneralLocateAndDisplay()
  * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText(), and switched
    to member functions for createPopupMenus() so we can get all the state
    information we need for the proper menus.
  * BOARD_ITEM::MenuText() got new argument BOARD*, and elaboration for
    TRACKs and VIAs and Pcb Graphics.
  * Fixed a problem in GENERAL_COLLECTOR::Inspect() so it now knows that MODULEs
    have their own visibility controls (same for pads and pcb texts).  This
    interpretation must always match the drawing code's interpretation.
  * Made TRACK::TRACK( const TRACK& ) protected to enforce use of TRACK::Copy()


2007-Sep-13 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ kicad
  * Inverted the logic associated with filters.  Filters now enable a file
    in the project manager.  The default is to ignore all files.
  * The filter for *.sch files is smarter, in that it looks to display only
    top level *.sch files, rather than all *.sch files.
+ Others
    More beautification


2007-sept-13 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    * EDA_BaseStruct.SetType() removed.
    The m_StructType member of class EDA_BaseStruct is no more modified in kicad.
    Now Virtual functions can be widely used.
    * The old EDA_BaseStruct.ReturnClassName() was removed.
    the virtual EDA_BaseStruct.GetClass() is used instead.

+ gerbview: hotkeys Ok.


2007-Sep-13 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema & pcbnew & gerbview
    A Cancel button has now been provided for the "Colors" dialog box, which also
    permits it to (otherwise) be cancelled by pressing the "Esc" key; the button
    whose color matches that of the color currently selected (for the layer being
    edited) also has the initial focus set to it.


2007-Sep-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Changed PcbLocateAndDisplay() to be tool specific in its search and to present
    a popup menu when there are multiple items under the mouse.  It is also
    a framework for future enhancements.
    @todo: grep for @todo and finish off those tasks.
  * Introduced a formal notion of "selected item".  This is done with the addition
    of the WinEDA_BasePcbFrame::SetCurItem() function.  So now you have to first
    select an item with the left mouse button before you attempt to use the
    right button popup menu.  Right button no longer has an effect on the
    currently selected item.  The currently selected item is shown in the MsgPanel.
    When none is selected, the m_Pcb is shown.
  * Tweaked the OnRightClick() popup menus so that the most likely choices are
    at the top.
  * Added wxString BOARD_ITEM::MenuText() const and BOARD_ITEM::MenuIcon() and
    both need more work, work which I will not have time to do.


2007-Sep-10 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Searched and did not see any usage of TRACK::Copy(int), where int was other
    than '1', so renamed it to TRACK::CopyList(int) and commented it out because
    with int==1, this makes Copy(1) equivalent to the new Copy(void).
  * Made TRACK::Copy() capable of copying SEGZONE too.


2007-sept-10 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ gerbview
    Programmable hotkeys added. Fixed a compilation probleme in ansi mode (non unicode mode).


2007-Sep-8 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Made good progress in onrightclick.cpp for multiple items under the mouse.
  * Fixed some macros in macros.h so they can be followed with a semicolon and
    used like simple expressions.
    All changes not yet committed.

2007-sept-6 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema & pcbnew
    Programmable hotkeys update.
    some features are still subject to change (mainly path for config files: see 2007-aug-30 UPDATE))
    The preference menu has a command to create and reread config hotkey files.
    the hotkey ? lists the current hotkeys.


2007-Sep-4 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Made GENERAL_COLLECTORS_GUIDE and GENERAL_COLLECTOR useable.  They can now
    serve as a fully functional replacement for PcbGeneralLocateAndDisplay(),
    see DEBUG code in BOARD_ITEM* WinEDA_BasePcbFrame::PcbGeneralLocateAndDisplay().
  * Made GENERAL_COLLECTOR capable of Collect()ing from a MODULE as well as a BOARD.
  * pcbnew/onrightclick.cpp changed English from "Free Module" to "Unlock Module".
  Next I hope to add some UI to handle multiple items under the mouse in onrightclick.cpp


2007-sept-04 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    better comments in editrack-part2 (the todo remark solved)
+ todo.txt: note about editrack-part2 modified (problem solved)


2007-Aug-31 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & gerbview
  * Added TRACK::Copy() which can copy a SEGVIA or a TRACK.
  * Changed export_to_pcbnew.cpp so it created a SEGVIA properly, a significant change.
    Moved and changed a big block of code in export_to_pcbnew.cpp so we can
    properly construct the SEGVIA().  Not tested.
  * Make EDA_BaseStruct::m_StructType private so we can trap where it is being
    changed.  (It should never be changed after construction, see comment above
    EDA_BaseStruct::SetType().)


2007-Aug-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Removed SEGVIA::IsViaOnLayer, and instead implemented an override to
    virtual BOARD_ITEM::IsOnLayer() called SEGVIA::IsOnLayer().
  * Tweaked TRACK::Visit() to not traverse the KICAD_T scan list and a
    corresponding change to BOARD::Vist() so we can now get VIA priority
    if desired.  (Have to traverse m_Tracks twice, wonder if we could use
    two lists: m_Tracks and a new m_Vias?)
  * Changed signature of MODULE::Display_Infos( WinEDA_DrawFrame* frame ) so
    it gets called virtually with any BOARD_ITEM* which is actually a MODULE*.
    This was a bug.
  * With virtual functions, it is now critical that the correct object type
    be instantiated.  This was not happening in ioascii.cpp when reading
    the vias.  Bug fixed.
  * GENERAL_COLLECTOR getting closer to useable.


2007-aug-30 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema & pcbnew
    more about programmable hotkeys.
    Most existing hotkeys are programmable and displayed in popup menus or tools
    Work still in progress but most features are ok.
    some features are not fixed (mainly the configuration files path, which is
    currently the home directory under unix systems and kicad/template under windows))


2007-Aug-29 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    Started abstract class COLLECTORS_GUIDE.
    Renamed classtrc.cpp to classtrc.cpp.notused
    Changed some comments in class BOARD's header to english, clarifying
    linked list contents.


2007-aug-27 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ all
    Display grid size in mils or mm in popup menu according to the current unit choice


2007-Aug-24 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ eeschema & pcbnew
  * Removed class EDA_BaseLineStruct, which brought no behavioral advantage, only data.
    Classes which were based on it got its data members added and their initializers.
  * Changed type of EDA_BaseStruct::m_StructType from int to KICAD_T which is an
    enum.  This makes debugging easier since gdb will show the name of the
    KICAD_T rather than simply a number.  Added NOT_USED = -1 to KICAD_T enum for
    3d which was using -1.
  * More beautification using latest uncrustify and the committed uncrustify.cfg


2007-Aug-24 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
    A new option has now been provided which permits Gerber files to be generated
    in which the contents of the Edges Pcb layer are not also included with the
    contents of each other layer.


2007-Aug-23 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ eeschema & pcbnew
  * Fixed MODULE::Visit() and BOARD::Vist() so they traverse certain lists
    only once and they are working nicely now.
  * You can test the GENERALCOLLECTOR::Scan() code by compiling with DEBUG=1 on
    the command line and enabling the stuff near line 124 in
    pcbnew/controle.cpp, then watch Show( std::cout ) show the selected items in
    xml format on your console. (launch pcbnew from command line.)
    @todo:
    The layer selection mechanism used by the collector is still inadequate, so
    tomorrow I will add a new class COLLECTORS_GUIDE which can be used by a
    COLLECTOR to control its operation. It adds the concept of layer
    locking, even though PCBNEW does not support that in the UI yet.


2007-Aug-22 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ eeschema & pcbnew
  Things are still pretty transient, should be stable a day or two:
  * Fixed a filename case sensitivity problem that would show up on Linux
    but probably not on Windows: bitmap/Reload.xpm needed uppercase R.
  * Wedged a new class BOARD_ITEM underneath all PCB drawable classes. This is
    a big change and may introduce a bug or two, but it is worth it for the
    future, because we can add virtual functions there that do not impact
    the entire project (since everything is derived from EDA_BaseStruct).
    The corresponding class in EESCHEMA seems to be DrawPartStruct, so we had
    nothing in PCBNEW like that.
    BOARD_ITEM::GetLayer() and SetLayer() introduced, more functions to come.
    Much of this work is geared towards making collectors.cpp's ARROWCOLLECTOR::Inspect()
    very very simple, and that can be a model for future work.
  * Changed min() and max() macros to MIN() and MAX() because min() and max()
    are actually reserved according to the C++ standard! (and their usage prevented
    the use of #include <vector>).
  * Added files class_collector.h, collectors.h, and collectors.cpp.
    File collectors.cpp is still unfinished.
  * Started using a function and class comment style that will make sense to the
    Doxygen source code documenter program.
  * Beautified more un-beautified files.


2007-aug-21 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema & pcbnew
    First version of programmable hotkeys by editing hotkey configuration files.
    some hotkeys are not programmable (Zoom)(work in progress)


2007-Aug-21 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ administrative
    Added copyright.h as a proposed copyright header for Mr. Charras's review.
    Added uncrustify.cfg, the configuration file for the "uncrustify" C++ beautifier.


2007-Aug-20 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & eeschema
  * Moved allowed m_Flags values from pcbnew.h, general.h, and eeschema/delete.cpp to base_struct.h
    near m_Flags itself.  Several of the flags values were changed.  I am only
    comfortable with this change if m_Flags is not written to disk anywhere,
    and we need to give that some thought.  If m_Flags is a memory only usage
    and not saved to disk, then this change should be safe.  I could not find
    any case where m_Flags was being saved to disk, but I could have missed one.
    The reason for the change was to consolidate into one place the allowed values
    so that as new flags are allocated there is no conflict.
  * Moved most all the pcbnew/affiche.cpp functions to virtual member functions of their
    respective classes with the name Display_Infos().
  * Moved GetEquipot() global function to BOARD::FindNet().
  These changes are working towards a concise locate.cpp module, on the way
  to implementing the multiple choice support.  Mass edits should be slowing down
  in a day or so.


2007-Aug-20 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ eeschema & pcbnew
    The comments provided within postscript files now fully comply with Adobe's
    Document Structuring Convention.


2007-aug-20 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema & pcbnew
    modify hotkeys.cpp code (large modifications).
    Added: common code in hotkeys_basic.cpp (in common) and hotkeys_basic.h (in include)
    In the future, i hope hotkeys will be programmed by a config file

+ pcbnew
    filename drc_dialog.prj changed to dialog_drc.prj
        (according to the fulename dialog_drc.cpp and dialog_drc.h created by dialogblock from the .prj)


2007-Aug-19 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ all
  * Made BASE_SCREEN::m_CurrentItem private so we can force usage of the new
    SetCurItem() function, and use it to put a breakpoint on the only place
    that m_CurrentItem is changed, namely in the new SetCurItem() function.
    ( Added new function GetCurItem() as well to class BASE_SCREEN in
    drawpanel_wxstruct.h.)  Using a stack trace at the breakpoint we can tell
    who called it.  There were in excess of 450 edits to get this done so I
    had to commit it asap so other folks could get on with edits without a
    merge conflict.
  * Started work on the COLLECTOR class which will assist in giving a choice
    in PCBNEW when there is more than one click candidate at the same mouse
    or cursor coordinates.  COLLECTOR not committed yet.
  * More beautification.
  * The mouse click and part synchronization from EESCHEMA to PCBNEW would
    track fine but would not always position the PCBNEW part on screen.  Now
    we center it unconditionally.  No change was made in the reverse direction
    since that code uses the long established Find support.


2007-Aug-14 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ eeschema & pcbnew
  * Added mouse click, TCP/IP socket based,  part synchronization in the reverse
    of how it was working, so a mouse click on a module in PCBNEW will take
    EESCHEMA to the part with the same reference.
  * More beautification, working with developer of uncrustify.  Almost ready
    to add the customized uncrustifiy configuration file to this project.
  * Fixed a bug in pcbnew/tracepcb.cpp's WinEDA_PcbFrame::Trace_Pcb( wxDC* DC, int mode )
    which was using a bool for the MaskLay variable, causing through hole pads
    on modules on copper layer not to be shown when the copper components were
    set to invisible.


2007-aug-11 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
    modify hotkeys.cpp code.


2007-Aug-10 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
    Improved MODULE::FindPadOrModule().
    Ran more source files through auto-beautifier.
    Renamed dupltrac.cpp to dupltrac.cpp.notused.


2007-aug-10 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
    better hotkeys.cpp code.


2007-Aug-09 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
    Released the new Visitor paradigm.   Wrote MODULE::FindPadOrModule() using
    it.


2007-aug-09 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
    Some new hotkeys (see hotkeys.cpp).
    Now, the key ? display the current existing hotkeys


2007-Aug-08 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
  * Renamed locate.cpp's distance() to DistanceTest() and moved it to trigo.cpp.
    Pass more parameters to DistanceTest and removed globals that were used by
    distance() in locate.cpp.
    Moved and renamed DistanceTest function proto from protos.h to trigo.h.
  * Implemented HitTest() for class_cotation, class_mire, and a few other classes
    by factoring out existing code from locate.cpp.  locate.cpp should operate
    exactly the same as before.
  * Improved or implemented the Show() function for several classes.
  * Detected that the suspected class_module hit-testing bug was not real,
    i.e. no bug found.


2007-aug-08 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
    bug in class_hierarchy_sheet.cpp.

+ pcbnew
    small change in block commands:
        rastnest was updated for each footprint, while moving footprints.
        Now it is updated at the end of changes.
    enhancements in block.cpp and connect.cpp


2007-Aug-07 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
  * More searching work.  Made HitTest() virtual.  Factored out a HitTest()
    function for both class_module and class_pad from existing code.
  * Embellished the Show() function for several of the classes.  Could be the
    basis of a possible future XML export, but with the native format being
    ascii already, this is of questionable value as an export.
  * Discovered a long time existing bug in class_module hit-testing.
    Still need to understand it. It could just be an improperly formatted module.


2007-Aug-06 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
    Started sketching out a new search architecture.  To learn more:
    look for "INSPECTOR" text in base_struct.h.


2007-Aug-05 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
  * Added some conditional DEBUG code for showing the pcb object tree in
    simple XML format.   See class EDA_BaseStruct's new Show() function.
  * Changed the function name of Locate( const wxPoint& ref_pos ) to bool HitTest(..)
    in both class_text_mod and base_struct.
  * More beautification and commenting.


2007-Aug-04 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    Read-ability formatting, I am playing with a C++ beautifier called "uncrustify".
        I had to patch it and spent 2 days getting it configured.  Patch not
        sent upstream yet.
    Fixed a bug in "display local ratsnest pad or module": if you had a small
        module and the mouse clicked its reference text, the ratnest for
        the associated module would not show.  The work around was to add
        support to Show_1_Ratsnest() so it could take a TYPETEXTEMODULE as
        the result of the hit-testing.  But I think a longer term better
        solution will be to create a specific search function for this kind
        of hit-testing, one which could disregard text and look only for
        pads and modules.


2007-aug-02 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    Drc test now generates a DRC file report.


2007-Jul-31 UPDATE   Geoff Harland <gharlandau@yahoo.com.au>
================================================================================
+ pcbnew
    Drill Map and Drill Report files now list the diameters of each drill in
    the selected drill unit first, and then in the other drill unit.
    Drill report files also now list the tool assigned to each drill, and
    the correct hole count and oval count for each drill size; the
    file creation date and the selected drill unit are also listed.


2007-Jul-30 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    Some file are added (missing .prj files)
    Better Drc test:
        Zones can be tested.
        better pad to pad test.


2007-Jul-25 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
    ** Some minor enhancements
+ pcbnew
    In Drc diags, better (more explicit) messages
    Change (and simplify) code in  'update' as well as 'insert' modules into main PCB from within the module editor,
    because it had a bug (crashes when there was no footprint in pcb)



2007-June-21 UPDATE Tim Hanson <tim@hardcarve.com>
================================================================================
+ pcbnew
    1. added button to 'update' as well as 'insert' modules into main PCB
        from within the module editor.  Made them functional, of course.
    2. added control-o, control-s & control-f to pcbnew,
        though I'm not perfectly happy with the implementation -- wxwidgets puts
        the control-characters in alphabetical order!


2007-June-25 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
    minor enhancement in Edit footprint dialog (more help tool tips).
    better hotkey.cpp (code cleaning and info messages)


2007-June-19 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    After locking a module with 'L', update the status window with the locked
    status.  Side step some asserts from wxWidgets which were happening when
    running compiled for debug.


2007-June-16 UPDATE   Richard A Burton <richardaburton@gmail.com>
================================================================================
+ pcbnew
    fix debug assert starting pcbnew with wx2.6
+ build
    add install targets for resources and docs


2007-June-15 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
    **  only modules on the present layer are subject to individual module
        moves, rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys.
    **  only unlocked modules are subject to the individual module moves,
        rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys.
    **  implemented the 'L' hotkey to quickly lock or unlock a module,
        just by hovering over it and hitting the 'L' or 'l' key. The lock is
        toggled.
    **  Enhanced locate.cpp's Locate_Prefered_Module(BOARD * Pcb, int typeloc)
        significantly, it now has a widely ranging behavior based on the
        typeloc argument.


2007-June-14 UPDATE Igor Plyatov <plyatov@mail.ru>
================================================================================
+ eeschema
    Added sorting by value or position in to the annotation window
    (Thanks for patch to Andrey Fedorushkov).

2007-June-13 RELEASE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+All:
    merging my development with svn version

+ pcbnew:
    bug fix (problem in postscript generation due to the internationalization
    of floating point number notation )
    added tool to select layer pair and monitor active layer

+ eeschema
    bug fix:
        crash libedit when loading certain components (linux only)
        incomplete generation of erc file list


2007-June-13 UPDATE   Richard A Burton <richardaburton@gmail.com>
================================================================================
+ build:
    dynamic linking by default, use make -f makefile.gtk KICAD_STATIC_LINK=1
    or uncomment the bit in libs.linux for static


2007-June-11 UPDATE   Richard A Burton <richardaburton@gmail.com>
================================================================================
+ build:
    removed several 2 line scripts for configuring wx builds and put them in
    how-to-build-kicad.txt
    improved KICAD_STATIC_LINK handling so it can be overridden on the command
    line e.g. "make -f makefile.gtk KICAD_STATIC_LINK=0"


2007-June-11 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ Started this change log file.


2007-June-5 UPDATE    Richard A Burton <richardaburton@gmail.com>
================================================================================
+ pcbnew:
    fixed 3d-display image export (blank box in image)
+ build:
    fixed makefile clean targets so they don't fail if already clean
    fixed wx2.6 compatibility


2007-May-25 RELEASE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew:
    bug: problem with 3D shapes.
+ Gerbview:
    Better (but crude...) support to export gerber files to pcbnew.