New or improved components:
* Transistors (NPN and PNP).
* Inductor.
* Ideal opamp.
* Rotary switch.
* Bus connection.
* Matrix display and driver.
* Magnitude comparator.
* Voltage and current probes for oscilloscope.
* Simulated bouncing for switches.
* Serial and parallel port components (interface with computer hardware).

Project Management:
* Complete rewrite...
* Support for building targets, with processing and linking options.

FlowCode / Microbe:
* Can read from keypads and display on seven segment displays.
* Add warning for floating connections in FlowCode.
* Generated assembly is now heavily optimized.

Debugging:
* High level language support (SDCC, Microbe).
* Mouse-over variable inspection.
* Symbol Viewer.

Optimization:
* Cache simulation data for circuits with discrete set of inputs (and no
  reactive components).
* Speed up calculation of diode operating point.
* Optimized mixed logic and non-logic simulation.
* Optimized recording of boolean data from logic probes.

Interface:
* Translations into French, Spanish and Italian.
* Replaced KMDI with KateMDI (toolviews remember sizes, lots of other
  improvements).
* Modularised GUI - menus and toolbars are hidden / shown as appropriate for
  the document being edited.
* Toolbar item editor is now squashable.
* Lots of icon improvements.

Polishing:
* Removed flicker when resizing the work area.
* Remember cursor position in text documents on save / restore.
* Removed flicker when joining / splitting connectors.
* Save undo / redo state after editing data.
* Remember connection routing selection.
* Try and retain upwards position of text when rotating / reflecting components.
* Editing of real numbers now always uses three significant figures.
* Give LEDs a nice selection of predefined LED colours.

Miscellaneous Features:
* PIC program uploading (via the use of external programs).
* Allow changing of the z-ordering of items.
* Added support for gpsim-0.21.11 and gpsim-0.21.12.

Changes between Qt3 and Qt4 port (to be completed)
====
- ktechlab compiles and runs with Qt4 and kdelibs4
- fixed crash on item drag to circuit, if the item is held less than ~1s over the circuit (if it is, then dragging appears to work)
    - caused by timing condition, related to dragging explicit event consumption in the application
- added flexible logging system
- fixed removing of subcircuits from component list
- removed: delete subcircuit with the delete key
    - can be readded as a feature
- fix to allow changing the name of an external connector
- fixed graphical glitches with external components; caused by a painter used for taking font metrics
- fixed use-after free crash in ECSRFlipFlop::inStateChanged(), when SR flipflops are added and removed subsequenctly to a circuit
- fixed possible graphical glitches on color selecting widget
- fixed crash when closing ktechlab with probes placed on a circuit
- fixed button for inserting DrawParts (text, arrow, rectangle, etc.) in circuits and in flowcode
- fixed pressing cancel in the new.. dialog; now it does work
- fixed with a hard-coded limit: I think the 'scope just keeps filling data points into RAM,
    because RAM usage climbs steadily until the virtual machine crashes (same as the kde3 version)
    - would be useful to set a reasonable limit for the data points, initially hardcoded, to be made configurable in the future
    - for now limit is hard-coded, the probe data flats-out when limit is reached; memory usage does not increase to infinity
- fixed crash on File -> Quit
- fixed some missing icons: attach blockdevice cancel contents exec fileclose fileopen filesave log reload source source_c
    stop view_bottom view_right window_new
    button_cancel down fileexport pencil player_pause player_play project_open rotate rotate_ccw rotate_cw
    editdelete
    text_block     text_center     text_left     text_right     text_sub     text_super
    align_horizontally -> align-horizontal-center (oxygen)
    align_vertically -> align-vertical-center (oxygen)
    distribute_horizontally -> distribute-horizontal-x (oxygen)
    distribute_vertically -> distribute-vertical-y (oxygen)
    file_export_image -> document-export
    fileimport -> document-import
    imagegallery -> insert-image
    launch -> run-build (doxygen)
    paintbrush -> draw-brush (doxygen)
    rightjust -> format-justify-right (doxygen)
    routing_mode_auto -- not actually used
    routing_mode_manual -- not actually used
- fixed missing icons:
    - some icons are distributed inside the kde3 icons; find them there and install them under ktechlab icons
    ktechlab_mechanics - not actually used
    null - false positive
- add licence information about 3rd party icons
- fixed: when creating new project, ok/cancel does not work
- fixed: when creating a project, ktechlab crashes
- fixed more icons
    memory.png -> network-connect
    gplink.png -> merge
- fixed signal TextDocument::slotSelectionmChanged() -> KTextEditor::View::slotSelectionmChanged(KTextEditor::View*)
- when launching mircobe, also look in the installation prefix of ktechlab first.
    should fix "convert to microbe" when ktechlab is not in PATH
    - added fix into the run-simple.sh and run-developer.sh scripts; for installs in the PATH,
        this should not be needed
- fixed loading PIC program through the toolbar button; in property editor it works
- fixed converting C program to Assembly/Hex. Note that need to enable in GPLink options "Link with shared libs"
    error with __sdcc_gsinit_startup
    note: sdcc is broken in Debian/Ubuntu for PICs: https://bugs.launchpad.net/ubuntu/+source/sdcc/+bug/1077918
- fixed: when loading program to PIC, "all supported file types" is not valid
- fixed: converting C code to hex if destination file does not exist
- fixed GPLink options pane is broken; GUI needs fixing; added layout to the widget
- fixed: SDCC "other options" is not a list, but 1 huge option
    sdcc --foo --bar
    vs
    sdcc '--foo --bar' <- this is not correct
- fixed: when editing source code, many keyboard shortcuts are signaled as duplicate
    KTextEditor creates its own KActions, and those interfered with the KTechLab created ones
- fixed printing of text documents
- could not reproduce anymore: when editing source code, many nonexitent signals are used in the code
- fixed: SDCC should have an option to enable non-free libraries/includes
- fixed: SDCC should have an option to set extra SDCC's install prefix
- not needed: GPLink should have an option to set the libraries' path -- it takes libraries from SDCC install prefix
- cannot convert C code to ASM or HEX, because function __sdcc_gsinit_startup
    - need to set proper sdcclib when linking; to be automatized
    - sdcc's libraries should be properly installed
- reviewed: cannot compile code for PIC, because SDCC complains about the PIC identifier
    - pic16f84 works; others are not clear
    - gpsim pic list: gpsim ; processor list
    - sdcc pic list: touch foo.c ;
        sdcc -mpic14 -phelp foo.c
        sdcc -mpic16 -phelp --verbose foo.c
    - some PICs are not supported by SDCC
- fixed: new file toolbar button / file menu entry should appear on the toolbar by default
- could not reproduce: GFX error on e.g. LED in that I can't connect a wire unless I rotate the part.
- could not reproduce: gfx errors that leaves gaps at connection points on components.
  (see last email with attached screen shot)
- could not reproduce: some components get their connectors moved, thus (1) graphical issues, (2) impossibility of connecting connectors results
- could not reproduce: (from Claus) There are some other gfx glitches, but that might be because I run it in a virtual machine - 
    didn't have them on the previous builds though.
- could not reproduce: 'Scope works well, but doesn't clear 'lines' from other circuits when they are closed. (Y-axis scale would be nice)
- not important for now: new file toolbar button / file menu entry should show the new file dialog;
    it is usable as it is
- fix build on kubuntu 64 bit, for all combinations of installed/not installed state of gpsim/glib
    - when both (gpsim-dev and libglib2.0-dev) are installed or both are uninstalled, then ktechlab compiles and runs fine (kubunt 16.04)
- fixed: when placing a component with slider, and clicking on the slider, the
  slider follows the mouse cursor even after it is released; this is annyoing
* release 0.40.0
- use QMenu instead of Q3PopupMenu
- use QTextEdit instead of K3TextEdit
- fix export as image to not generate black rectangle around exported images
- do not depend ot KDE3 support libraries, only on KDE4 libraries; Qt3Support is still needed
- fix crash on Redo in Pin Map Editor
- fix UI files to not use Q3* functionality
- ported item selector
    - Q3ListView -> QTreeWidget
- ported project manager
    - Q3ListView -> QTreeWidget
- Q3PaintDeviceMetrics -> QPrinter->pageRect()
- canvas.h: split up huge file
- copy the Q3ScrollView into source tree and use that, as internal source code
- use Q3PointArray -> QPolygon
- use Q3ListView -> QTableWidget
- Q3ScrollView -> use internal copy for now
- Q3Hbox -> QWidget, QHBoxLayout
- Q3SimpleRichText -> QTextEdit
- use Q3PtrVector -> QVector< T * >
- disable explicit double buffering when drawing; should fix build for OSX
- ktlq3support:
    - removed dependency on:
        - q3ptrdict
        - q3ptrlist
- removed Qt3 dependencies
    - enable compilation warnings on deprecated Qt functionalities, remove those
    - read this: http://doc.qt.io/qt-4.8/porting4.html
- got rid of Qt3Support dependency
- integrated changes needed for build on OS X, see emails
- fix: on 'no item selected', the old properties still remain there
- fixed resizing of QTextEdit to minimal needed size for rendering
- validated that rich text editor continues to work correctly (see the context help of the components)
    - in editing mode pictures did not appear; fixed now
- fixed color of text / background in property editor
- fixed bidirectional led color editor
- property editor is good enough for now
* release 0.40.1
- ContextHelp::setContextHelp() needs fixing, crashes on m_pBrowser->end()
    - has not crashed as of current git master on Ubuntu 18.04
- text hint interface needs fixing -- updated usage
- fix building of the core library first; otherwise missing include file (ktlconfig.h) error could happen at build time
    - the build-scripts have a work-around, and based on that, building should be straight-forward
    - fixed, all sources are built into one big library, no multiple smaller libraries
