diff options
Diffstat (limited to 'CHANGELOG.txt')
-rw-r--r-- | CHANGELOG.txt | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt new file mode 100644 index 0000000..2bce31b --- /dev/null +++ b/CHANGELOG.txt @@ -0,0 +1,204 @@ +KiCad ChangeLog 2012 +==================== + +Please add newer entries at the top, list the date and your name with +email address. + +2012-Nov-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and +their type, by using the more abstract PLUGIN::Footprint*() functions. + +This is an intermediate phase only, other changes will be necessary as library table support comes in. +Encapsulate usage of library path searching, since that will go away as library table support comes in. +Add FOOTPRINT_EDIT_FRAME::{get,set}LibPath() and FOOTPRINT_EDIT_FRAME::{get,set}LibNickName() functions +to provide this encapsulation. + +2012-Nov-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +1) Switch to boost hashtable support from wx macros which did not handle std::string. + This required the additional compiler command line option "-std=c++0x". + +2) Switch to unique_ptr from auto_ptr which is C++ deprecated. + +3) Change to new English layer names per mailing list discussion, see class_board.cpp. + +4) When saving to *.kicad_pcb or *.kicad_mod, identify opportunities to use wildcard + layer sets, for pads so far. + +5) Switch to two std::string hashtables in pcb_parser.cpp, away from one wxString based one + for layer names and layer sets mapping. One hashtable holds the mask, the other the index. + Layer sets are only in the mask table. + +6) Move "LOCALE_IO toggle" into PCB_IO::Format() since it is a public API function and + caller should find it as convenient as possible to use. LOCALE_IO should handle + nesting OK in the case where public Format() is called from one of the Footprint*() + functions. + +7) Drop support for "export module to new library". Creating new libraries will have to + be handled in concert with library table entries, and we've talked recently about + creating a better footprint library manager, one that resides in a DLL/DSO. So + this kind of functionality needs to be handled in there in the near future. + +8) Change name of exported PCB_IO module/footprint to *.kicad_mod and not *.emp. + + + +2012-May-5 UPDATE Jerry Jacobs <jerry@xor-gate.org> +================================================================================ +++ common + * Update about dialog to more native size so the notebook is not squeezed + * Increment copyright year to 2012 + * Fix mousezoom jumping to center for Mac OS X and other platforms + * Remove lowercase application name because Mac OS X menubar was inconsitent + +2012-Mar-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * Add PCB_EDIT_FRAME::syncLayerVisibilities(), PCB_LAYER_MANAGER::SyncLayerVisibilities(). + * Save all visibilities, layer and render, in BOARD and restore on load. + + +2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * Remove virtual BOARD_ITEM::{Get,Set}Position() which in turn means all + derived classes' implementations of these functions become non virtual and + can be truly _inlined_ for speed! All GetPosition() in derived classes were also + changed to return const wxPoint&, that is, a reference rather than a + full copy of the position wxPoint. There was no need for polymorphism in + {Get,Set}Position() since we never call these functions via generic pointer. + * Remove BOARD::{Get,Set}Position() since they were only there to satisfy + the pure virtuals established in BOARD_ITEM, which are now gone. + * Added const wxPoint& CPolyLine::GetPos(), made CPolyLine::Get{X,Y}() inline. + * Derive CPolyPt from wxPoint so we can return "const wxPoint&" from + CPolyLine::GetPos(). + + +2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * remove global g_Pad_Master and put it into BOARD_DESIGN_SETTINGS + which is in turn already within BOARD. + * encapsulate class D_PAD with accessors, making data private. + * make D_PAD::GetBoundingRadius() do its longer calculation lazily, based on + m_boundingRadius == -1. + + +2012-Feb-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * Changed classs ZONE_SETTING to class ZONE_SETTINGS, better English. + * Changed ZONE_SETTINGS::Import() to operator << ( ZONE_CONTAINER ) + * move globals into BOARD: + bool g_Zone_45_Only, is now in BOARD::m_zoneSettings.m_Zone_45_Only + ZONE_SETTINGS g_Zone_Default_Setting is now in BOARD::m_zoneSettings + * Added BOARD::{Get,Set}ZoneSettings(). + * Added PCB_BASE_FRAME::{Get,Set}ZoneSettings(). + * Save/load BOARD::m_zoneSettings.m_Zone_45_Only to/from BOARD file. + * Removed PCB_EDIT_FRAME::InstallDialogNonCopperZonesEditor() in favor of + ::InvokeNonCopperZonesEditor() declared in zones.h + * Added ::InvokeCopperZonesEditor() declared in zones.h + * Removed dialog_copper_zones.h since DIALOG class is now declared in *.cpp. + * Renamed to enum ZONE_EDIT_T in zones.h + * SetVisibleAlls() is not called as it was in two previous cases for several + reasons. BOARD_DESIGN_SETTINGS constructor controls what is visible initially, + and in the near future so will the *.brd file. I believe the user should + have visibility setting rentention accross editing sessions of zones, + fields, etc. + * BOARD_DESIGN_SETTINGS constructor initializes hidden text as not visible. + * Added PCB_EDIT_FRAME::syncRenderStates() and PCB_LAYER_WIDGET::SyncRenderStates() + so the checkboxes can be set after loading a BOARD file containing previous + visibility settings. + +2012-Feb-2 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * move globals into BOARD + -wxSize g_ModuleTextSize; /* Default footprint texts size */ + -int g_ModuleSegmentWidth; + -int g_ModuleTextWidth; + But now the module editor is left hanging. I'll have to figure out + a way to pass from board editor to module editor these values, still. + + +2012-Feb-01, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr> +================================================================================ +Pcbnew: +Cvpcb: + more about new netlist format: + Cvpcb can now read new netlist format. + There is a big change in Cvpcb: now Cvpcb just creates or updates a .cmp file + Before this change, Cvpcb recreated the netlist (adding footprint info) + and updated the .cmp file. + But there is no reason to modify the netlist, because Pcbnew uses always the .cmp file + (when exists) to know the footprint selection for components. + Currently the netlist is used only when the corresponding .cmp file is not fount + to select footprints. + So users should not notice this important change. + +2012-Jan-26, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr> +================================================================================ +Pcbnew: + First draft to use a new netlist format (using S expressions) + Eeschema can generate this netlist format. + Pcbnew can use (automatic identification) the current format or the new format. + Cvpcb does not use yet the new format. + To do: + New format in Cvpcb: how to use the .cmp file with the new netlist format + + +2012-Jan-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + * Switch to C++'s true and false and away from C" TRUE and FALSE. + * Enhance class PLUGIN's comments to improve their value as instructional. + * Switch #includes from "file.h" to <file.h>, and fiddle with search paths + by using include_directories(BEFORE ...) + * dialog_page_settings did not have symmetrical space on its right border. + And it now remembers it last position and size within a program session. + * base_screen.cpp is now compiled twice, once for {pcbnew,cvpcb} and once + for eeschema, in preparation for "compile time" support of internal units + rather than "runtime" support. + + +2012-Jan-15 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + Add "portrait" support to the page size settings for all standard paper + sizes. Tested with postscript output only. Required minor file format changes + to reflect the "portrait" setting. common/dialogs/dialog_page_settings.cpp + uses a checkbox but its name is "Landscape", which is inverted from portrait, + but since it is the more common choice, I used that rather than portrait. + The tooltip for that checkbox makes it clear. No portrait mode is supported + for "User" paper size. + + +2012-Jan-9 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + * Carve out TITLE_BLOCK from BASE_SCREEN + * Add include/hashtables.h and put class PROPERTIES in there. + Change PROPERTIES to use "const char*" as the key instead of wxString. +++eeschema + * Add shim class SCH_BASE_FRAME which introduces the data model SCH_SCREEN + to the frame EESCHEMA frame class hierarchy and allows sharing of: + SCH_SCREEN* GetScreen() const; // overload EDA_DRAW_FRAME + void SetPageSettings( const PAGE_INFO& aPageSettings ); // overload EDA_DRAW_FRAME + const PAGE_INFO& GetPageSettings () const; // overload EDA_DRAW_FRAME + const wxSize GetPageSizeIU() const; // overload EDA_DRAW_FRAME + const wxPoint& GetOriginAxisPosition() const; // overload EDA_DRAW_FRAME + void SetOriginAxisPosition( const wxPoint& aPosition ); // overload EDA_DRAW_FRAME + const TITLE_BLOCK& GetTitleBlock() const; // overload EDA_DRAW_FRAME + void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ); // overload EDA_DRAW_FRAME + + +2012-Jan-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + Ki_PageDescr was re-written as a proper C++ class and renamed to PAGE_INFO. + It describes paper. The m_Offset field was dropped since it was only used + in HPGL plotting within EESCHEMA. PAGE_INFO instance was moved out of + BASE_SCREEN (which is on its way out) into both SCH_SCREEN and BOARD. + + |