<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2009</year><year>2016</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    </legalnotice>

    <title>wxErlang Release Notes</title>
    <prepared>otp_appnotes</prepared>
    <docno>nil</docno>
    <date>nil</date>
    <rev>nil</rev>
    <file>notes.xml</file>
  </header>
  <p>This document describes the changes made to the wxErlang
    application.</p>

<section><title>Wx 1.7</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed bugs which could cause called functions to be
	    invoked twice or not at all when callbacks where invoked
	    at the same time.</p>
          <p>
	    Own Id: OTP-13491</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Changed atom 'boolean' fields in #wxMouseState{} to
	    'boolean()'.</p>
          <p>
	    Moved out arguments in wxListCtrl:hitTest to result.</p>
          <p>
	    Removed no-op functions in wxGauge that have been removed
	    from wxWidgets-3.1.</p>
          <p>
	    *** POTENTIAL INCOMPATIBILITY ***</p>
          <p>
	    Own Id: OTP-13553</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.6.1</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed commands with multiple binaries, such as
	    <c>wxImage:new/4</c>. Added
	    <c>wxWindow:SetDoubleBuffered/1</c>,
	    <c>wxWindow:isDoubleBuffered/1</c>,
	    <c>wxWindow:setTransparent/2</c> and
	    <c>wxWindow:canSetTransparent/1</c>. Fixed timing issues.</p>
          <p>
	    Own Id: OTP-13404</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.6</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p>Add wxOverlay and make wxPostScripDC optional to make
	    it easier to build on windows.</p> <p>Correct some
	    function specifications.</p> <p>The driver implementation
	    have been optimized and now invokes commands after events
	    have been sent to erlang.</p>
          <p>
	    Own Id: OTP-13160</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.5</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Extend AUI functionality.</p>
          <p>
	    Own Id: OTP-12961</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.4</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    The undocumented option <c>generic_debug</c> for
	    <c>gen_server</c> has been removed.</p>
          <p>
	    Own Id: OTP-12183</p>
        </item>
        <item>
          <p>
	    Remove raise condition where <c>wx</c> could crash during
	    emulator stoppage.</p>
          <p>
	    Own Id: OTP-12734</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Use wxWidgets-3.0, if found, as default backend on
	    windows.</p>
          <p>
	    Own Id: OTP-12632</p>
        </item>
        <item>
          <p>
	    Add missing fields in some events records. May require a
	    recompilation of user applications.</p>
          <p>
	    Own Id: OTP-12660</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.3.3</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fix timing related crash during wx application stop.</p>
          <p>
	    Own Id: OTP-12374</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.3.2</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed a minor typo in the graphicsContext example.</p>
          <p>
	    Own Id: OTP-12259</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Distribute <c>autoconf</c> helpers to applications at
	    build time instead of having multiple identical copies
	    committed in the repository.</p>
          <p>
	    Own Id: OTP-12348</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.3.1</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Implement --enable-sanitizers[=sanitizers]. Similar to
	    debugging with Valgrind, it's very useful to enable
	    -fsanitize= switches to catch bugs at runtime.</p>
          <p>
	    Own Id: OTP-12153</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.3</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p>Fix delayed destroy for wxPaintDC objects which could
	    cause an eternal loop for modal dialogs.</p> <p>Fix
	    wxSL_LABELS compatibility between wxWidgets-2.8 and
	    wxWidgets-3.0 versions</p>
          <p>
	    Own Id: OTP-11985</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Add missing classes wxPopup[Transient]Window,
	    wxActivateEvent and wxTextCtrl:cahngeValue/2 function.</p>
          <p>
	    Own Id: OTP-11986</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.2</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Refactored C++ code, fixed crashes and a deadlock on
	    linux.</p>
          <p>
	    Own Id: OTP-11586</p>
        </item>
        <item>
          <p>
	    Some local implementations of removing the last element
	    from a list are replaced by <c>lists:droplast/1</c>. Note
	    that this requires at least <c>stdlib-2.0</c>, which is
	    the stdlib version delivered in OTP 17.0. (Thanks to Hans
	    Svensson)</p>
          <p>
	    Own Id: OTP-11678</p>
        </item>
        <item>
          <p>
	    Reworked the internal event handling to avoid crashes in
	    destroy objects. Thanks Tom for the bug report.</p>
          <p>
	    Own Id: OTP-11699</p>
        </item>
        <item>
          <p>
	    Application upgrade (appup) files are corrected for the
	    following applications: </p>
          <p>
	    <c>asn1, common_test, compiler, crypto, debugger,
	    dialyzer, edoc, eldap, erl_docgen, et, eunit, gs, hipe,
	    inets, observer, odbc, os_mon, otp_mibs, parsetools,
	    percept, public_key, reltool, runtime_tools, ssh,
	    syntax_tools, test_server, tools, typer, webtool, wx,
	    xmerl</c></p>
          <p>
	    A new test utility for testing appup files is added to
	    test_server. This is now used by most applications in
	    OTP.</p>
          <p>
	    (Thanks to Tobias Schlager)</p>
          <p>
	    Own Id: OTP-11744</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.1.2</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed a problem which caused the debugger to crash when
	    closing a window. Fixed static linking on mac.</p>
          <p>
	    Own Id: OTP-11444</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.1.1</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    wx initialization hanged with wxWidgets-3.0 on mac. Fixed
	    a crash with wxListBox on wxWidgets-3.0 (thanks Sergei
	    Golovan) Fixed documentation links. Fixed event callbacks
	    cleanup.</p>
          <p>
	    Own Id: OTP-11393</p>
        </item>
        <item>
          <p>
	    Improve documentation (Thanks to Boris Mühmer)</p>
          <p>
	    Own Id: OTP-11505</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Fix silent make rules (Thanks to Anthony Ramine)</p>
          <p>
	    Own Id: OTP-11515</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 1.0</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Add {silent_start, boolean()} option to wx:new/1 in order
	    to be able to suppress error messages during startup of
	    wx. (Thanks to Håkan Mattsson)</p>
          <p>
	    Own Id: OTP-10585</p>
        </item>
        <item>
          <p>
	    Fix wxTreeCtrl:getBoundingRect/2 and
	    wxTreeCtrl:hitTest/1. wxTreeCtrl:hitTest now returns a
	    tuple not bug compatible with previous releases but
	    needed.</p>
          <p>
	    Own Id: OTP-10743</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    The wx application now compiles and is usable with the
	    unstable development branch of wxWidgets-2.9. Some
	    functions are currently not available in wxWidgets-2.9
	    and their erlang counterparts are marked as deprecated.
	    They will generate an error if called when linked against
	    wxWidgets-2.9 libraries. This means that wx can now be
	    built on 64bit MacOsX, but keep in mind that
	    wxWidgets-2.9 is still a development branch and needs (a
	    lot) more work before it becomes stable.</p>
          <p>
	    Own Id: OTP-10407 Aux Id: kunagi-262 [173] </p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.99.2</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p>Fix errors in wxDC and wxGraphicsContext api.</p>
	    <p>Add wxTaskBarIcon.</p> <p>Add
	    wxStyledTextControl:setEdgeMode/2.</p> <p>Add type and
	    specs for all functions and records.</p>
          <p>
	    Own Id: OTP-9947</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.99.1</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed a deadlock in the driver, which could happen if a
	    callback caused another callback to be invoked.</p>
          <p>
	    Own Id: OTP-9725</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Implemented wxSystemOptions.</p>
          <p>
	    Load Opengl from libGL.so.1 instead libGL.so to work
	    around linux problems.</p>
          <p>
	    Own Id: OTP-9702</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.99</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    wx: fix obsolete guard warning (list/1) (Thanks to Tuncer
	    Ayaz)</p>
          <p>
	    Own Id: OTP-9513</p>
        </item>
        <item>
	    <p> XML files have been corrected. </p>
          <p>
	    Own Id: OTP-9550 Aux Id: OTP-9541 </p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Support virtual tables in wxListCtrl.</p>
          <p>
	    Own Id: OTP-9415</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.10</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fixed wx app files on mac and solaris. Thanks Jachym
	    Holecek and Joe Williams.</p>
          <p>
	    Own Id: OTP-9324</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.9</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p>Wx crashed if graphics could not be initiated, for
	    instance if DISPLAY was not available.</p> <p>Wx could
	    crash during startup, thanks Boris Muhmer for extra
	    ordinary testing.</p>
          <p>
	    Own Id: OTP-9080</p>
        </item>
        <item>
          <p>
	    Wx on MacOS X generated complains on stderr about certain
	    cocoa functions not beeing called from the "Main thread".
	    This is now corrected.</p>
          <p>
	    Own Id: OTP-9081</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.8</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p>Add wxSystemSettings which was missing in the previous
	    release, despite previous comments.</p> <p>Fix an
	    external loop when stopping erlang nicely.</p>
	    <p>Separate OpenGL to it's own dynamic loaded library, so
	    other graphic libraries can reuse the gl module and it
	    will not waste memory if not used.</p>
          <p>
	    Own Id: OTP-8951</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.7</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fix crash (segmentation fault) in callback handling.</p>
          <p>
	    Own Id: OTP-8766</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Add wxSystemSettings module.</p>
          <p>
	    Add wxTreeCtrl:editLabel/2.</p>
          <p>
	    Own Id: OTP-8767</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.6</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
            Calling <c>sys:get_status()</c> for processes that have
            globally registered names that were not atoms would cause
            a crash. Corrected. (Thanks to Steve Vinoski.)</p>
          <p>
            Own Id: OTP-8656</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.5</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
            Corrected incorrectly generated wxFileDialog:getPaths/1.
            Reported by Jason/hornja.</p>
          <p>
            Own Id: OTP-8330</p>
        </item>
        <item>
          <p>
            Fixed a memory reference bug which caused unexplained
            {badarg, Int} exits when running multiple wx
            applications.</p>
          <p>
            Own Id: OTP-8461</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
            Added <c>wxListCtrl:getEditCtrl/1</c> (not available on
            Mac).</p>
          <p>
            Own Id: OTP-8408</p>
        </item>
        <item>
          <p>
            Cleanups suggested by tidier and modernization of types
            and specs.</p>
          <p>
            Own Id: OTP-8455</p>
        </item>
        <item>
            <p> Changed representation of wxTreeItem to be an
            integer. This saves memory, where the driver do not need
            to keep a object reference to each tree item. </p> <p>
            Added getFirstChild and getNextChild to wxTreeCtrl.</p>
          <p>
            Own Id: OTP-8462</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.4</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
            <p>Added wx_object improvements from Mazen.</p> <p>Fixed
            pid issues, reported by Mazen.</p> <p>Added wxLogNull
            class, reported by Amit Murthy.</p> <p>Various configure
            fixes.</p>
          <p>
            Own Id: OTP-8243 Aux Id: seq11418 </p>
        </item>
        <item>
          <p>
            The documentation is now built with open source tools
            (xsltproc and fop) that exists on most platforms. One
            visible change is that the frames are removed.</p>
          <p>
            Own Id: OTP-8250</p>
        </item>
        <item>
          <p>
            wx now builds with wxWidgets 2.8.4 or a later 2.8
            release, thanks Nico Kruber.</p>
          <p>
            Own Id: OTP-8292</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.3</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
            Added wxListCtrl sorting and build fixes supplied by Paul
            Hampson. Thanks.</p>
          <p>
            Own Id: OTP-8126</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
            <p>wxHtmlWindow class implemented.</p> <p>All exceptions
            from callbacks are now catched and written to the
            log.</p> <p>Some defines where wrong in 'wx.hrl'.</p>
            <p><c>wx:batch/1</c> and friends could hang forever if
            for instance a breakpoint was set inside the fun. That
            caused all wx applications to hang.</p> <p>Added missing
            wxAuiPaneInfo constructor and destructor.</p> <p>Added
            wxAuiNotebookEvent and wxAuiManagerEvent.</p> <p>Calling
            non supported wxWidgets functions hanged instead of
            crashed.</p> <p>Update OpenGL to version 3.1 and added
            some of the missing glu functions.</p> <p>Fixed
            wxRadioBox which inherited the wrong class, thanks Atilla
            Erdodi.</p>
          <p>
            Own Id: OTP-8083</p>
        </item>
        <item>
          <p>
            Removed some of the automatic garbage collecting after
            application exit, user will get a warning instead so he
            can correct the code.</p>
          <p>
            Own Id: OTP-8138</p>
        </item>
      </list>
    </section>

</section>

<section><title>Wx 0.98.2</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
            <p>Olle Mattson have made a large demo, see
            <c>examples/demo/</c>, that triggered the following bugs
            and new features:</p> <p>New book controls.</p> <p>Added
            wxToolbar:addTool/6.</p> <p>Empty binaries will be used
            to indicate NULL where applicable.</p>
          <p>
            Own Id: OTP-7943</p>
        </item>
	<item>
          <p>Applied patch from Nico Kruber,
	    which fixes building on some wxwidgets installations.
	  </p>
          <p>Open source</p>            
        </item>
      </list>
    </section>

</section>

  <section><title>Wx 0.98.1</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
            <p>Added <c>xrcctrl/3</c> to wxXmlResource and added a
            resource example.</p> <p>Added several event types and
            events records and fixed a couple of event related
            bugs.</p> <p>Event callbacks can now use
            <c>wxEvtHandler:connect/2</c>.</p> <p>Error handling and
            debugging aid have been improved.</p> <p>Added
            wxSplitterWindow and wxGauge:pulse and a couple of
            missing macros in <c>wx.hrl</c>.</p> <p>Thanks to Steve
            Davis for feedback and bug reports.</p>
          <p>
            Own Id: OTP-7875</p>
        </item>
      </list>
    </section>

</section>


  <section><title>Wx 0.98</title>
    
    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
            A first beta release of wxErlang.</p>
          <p>
            Own Id: OTP-7859</p>
        </item>
      </list>
    </section>
    
</section>

</chapter>

