summaryrefslogtreecommitdiff
path: root/CHANGELOG.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.txt')
-rw-r--r--CHANGELOG.txt204
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.
+
+