<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
-->

<!-- ======================================================================= -->
<h2>2012/??/?? - version 2.0.0</h2>

<ul>

<li><p>port the server from Java to node.js
<li><p>lots of other changes

</ul>

<p>issues resolved:
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-10">CB-10</a>     - Apache source headers in callback-weinre
<li><a href="https://issues.apache.org/jira/browse/CB-36">CB-36</a>     - move/delete GitHub issues at phonegap/weinre and callback/callback-weinre into the Apache Callback JIRA
<li><a href="https://issues.apache.org/jira/browse/CB-83">CB-83</a>     - implement the server in node
<li><a href="https://issues.apache.org/jira/browse/CB-100">CB-100</a>   - fix issues regarding pre-req licenses for weinre distribution
<li><a href="https://issues.apache.org/jira/browse/CB-175">CB-175</a>   - error when XHR contentType is null
<li><a href="https://issues.apache.org/jira/browse/CB-176">CB-176</a>   - add vendor files to weinre instead of pulling in at build time
<li><a href="https://issues.apache.org/jira/browse/CB-182">CB-182</a>   - error when XHR contentType is null
<li><a href="https://issues.apache.org/jira/browse/CB-232">CB-232</a>   - rename assets from PhoneGap to Cordova
<li><a href="https://issues.apache.org/jira/browse/CB-257">CB-257</a>   - the README.md in the weinre-node distribution is bogus
<li><a href="https://issues.apache.org/jira/browse/CB-259">CB-259</a>   - create a weinre tarball as a build archive that is npm install-able
<li><a href="https://issues.apache.org/jira/browse/CB-266">CB-266</a>   - weinre runtime error if you don't have a ~/.weinre/server.settings file
<li><a href="https://issues.apache.org/jira/browse/CB-284">CB-284</a>   - invocation exception on WeinreClientEventsImpl.connectionCreated(): TypeError: Cannot read property 'url' of undefined
<li><a href="https://issues.apache.org/jira/browse/CB-288">CB-288</a>   - re-version as 2.0.0
<li><a href="https://issues.apache.org/jira/browse/CB-293">CB-293</a>   - bullet-proof modjewel
<li><a href="https://issues.apache.org/jira/browse/CB-294">CB-294</a>   - various exceptions thrown in the target in WeinreTargetEventsImpl.connectionCreated()
<li><a href="https://issues.apache.org/jira/browse/CB-315">CB-315</a>   - generate valid Apache release artifact names
<li><a href="https://issues.apache.org/jira/browse/CB-540">CB-540</a>   - ability to easily navigate to particular place in DOM via bookmarks/jump to selector
<li><a href="https://issues.apache.org/jira/browse/CB-604">CB-604</a>   - weinre doesn't work in strict mode
<li><a href="https://issues.apache.org/jira/browse/CB-873">CB-873</a>   - setTimeout() and setInterval() usage with string arguments is busted
<li><a href="https://issues.apache.org/jira/browse/CB-984">CB-984</a>   - cannot install weinre with Node 0.8.0
<li><a href="https://issues.apache.org/jira/browse/CB-1666">CB-1666</a> - "INVALID_STATE_ERR: DOM Exception 11" with chbrody/Cordova-SQLitePlugin
<li><a href="https://issues.apache.org/jira/browse/CB-1759">CB-1759</a> - doc indicates that you should launch weinre with a command prefix of `node`
<li><a href="https://issues.apache.org/jira/browse/CB-1193">CB-1193</a> - add Windows Phone support
<li><a href="https://issues.apache.org/jira/browse/CB-1800">CB-1800</a> - remove references to "incubator"
<li><a href="https://issues.apache.org/jira/browse/CB-1494">CB-1494</a> - Supports running server behind a proxy, such as Heroku Cedar
<li><a href="https://issues.apache.org/jira/browse/CB-2650">CB-2650</a> - Weinre style inspection breaks with normalize.css    
<li><a href="https://issues.apache.org/jira/browse/CB-3319">CB-3319</a> - Chrome is setting window properties which now breaks Weinre
<li><a href="https://issues.apache.org/jira/browse/CB-3328">CB-3328</a> - chrome version >= 27 breaks flex-box usage
</ul>

<!-- ======================================================================= -->
<h2>2011/12/01 - version 1.6.1</h2>

<ul>

<li><p>Error handling for some built-in callbacks has been removed.  This function
was added in version 1.6.0.  Unfortunately, it had some problems, and it wasn't
clear if the fix was going to make things worse.

</ul>

<p>issues resolved:
<ul>
<li> <a href="https://issues.apache.org/jira/browse/CB-82"> apache/callback issue 82</a> - removeEventListener broken
</uL>

<!-- ======================================================================= -->
<h2>2011/10/28 - version 1.6.0</h2>

<ul>

<li><p>The Network panel has been added to weinre, which will display information
for any XHRs that you issue.

<li><p>Error handling for some built-in callbacks has been added.  The support
is very similar to what's provided in the
<a href="https://github.com/pmuellr/log-callback-error">log-callback-error project</a>,
though the implementation is different.

<li><p>The element highlighter has been modified to show brighter colors.
The colors also now more closely match the Web Inspector colors.
Currently, there are some artifacts in the corners in some cases, but it's not
clear to me this is a huge problem - in fact, maybe it's a feachur.  ~shrug~
As part of this clean up, I've made the element highlighter pluggable.  If you
think you can do better, it should be pretty straight-forward to code up a
new one.  Bring it on.

<li><p>The JavaScript code for weinre has been converted from the "scoop" DSL
format to CoffeeScript.  You no longer have a valid excuse for not hacking the
code.

<li><p>The "Test Drive" page of the doc has been removed and replaced with
the new "User Interface" page.

<li><p>weinre now adds an "error" listener to window.  For JavaScript engines
that support "window onerror", you will now see a message logged to the console
when an error occurs anywhere in your JavaScript code.  Unfortunately, just
as support for "window onerror" is becoming available in JavaScript, the browsers
are neutering it's support.  Depending on your browser, you may or may not
see these errors reported, and even if you do, they may not give you <b>any</b>
useful information.  Thanks to Ryan Seddon for supplying the following
backgrounder links for your enjoyment:

<ul>
<li><a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-September/033252.html">http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-September/033252.html</a>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=568564">https://bugzilla.mozilla.org/show_bug.cgi?id=568564</a>
<li><a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14177">http://www.w3.org/Bugs/Public/show_bug.cgi?id=14177</a>
<li><a href="https://bugs.webkit.org/show_bug.cgi?id=70574">https://bugs.webkit.org/show_bug.cgi?id=70574</a>
</ul>

</ul>

<p>issues resolved:
<ul>
<li> <a href="https://issues.apache.org/jira/browse/CB-1">   issue apache/callback issue 1</a> - update the doc
<li> <a href="https://github.com/phonegap/weinre/issues/41"> issue phonegap/weinre 41</a> - add support for XHRs on Network panel
<li> <a href="https://github.com/phonegap/weinre/issues/40"> issue phonegap/weinre 40</a> - clean up spurious messages in the server console
<li> <a href="https://github.com/phonegap/weinre/issues/38"> issue phonegap/weinre 38</a> - cleanup some of the exception handler bits
<li> <a href="https://github.com/phonegap/weinre/issues/37"> issue phonegap/weinre 37</a> - Timeout function does not pass arguments
<li> <a href="https://github.com/phonegap/weinre/issues/35"> issue phonegap/weinre 35</a> - convert JavaScript in weinre from scoop to CoffeeScript
<li> <a href="https://github.com/phonegap/weinre/issues/20"> issue phonegap/weinre 20</a> - add support for window.onerror
<li> <a href="https://github.com/phonegap/weinre/issues/19"> issue phonegap/weinre 19</a> - 404 error on /client/index.html in Mac app (incomplete build?)
<li> <a href="https://github.com/phonegap/weinre/issues/11"> issue phonegap/weinre 11</a> - provide better error handling - by hook or by crook
<li> <a href="https://github.com/phonegap/weinre/issues/10"> issue phonegap/weinre 10</a> - element highlighter code in the target is just awful
</ul>

<!-- ======================================================================= -->
<h2>2011/07/22 - version 1.5.0</h2>

<ul>

<li><p>The Resources panel now includes an active Databases section.  For any WebSQL
database that you open, you should see an entry in the expanded section.  For each database,
you'll see the list of tables owned by the database when the database section
is expanded.  Note that you need to open
the database to see it listed here.  Databases which you have previously created
in other browsing sessions will not be displayed until they are first opened.

<p>Clicking on a database table will dump the database contents to the panel.
Clicking on the database itself will provide a prompter for you to run SQL
commands against that database.  For example, entering
<tt>"select * from YourTableNameHere"</tt>
will dump the table contents to the panel.

<li><p>Some of the console functions, like <tt>console.log()</tt>, were not handling
object arguments correctly.  You should now see a an object display.  For example,
typing <tt>"window"</tt> or <tt>"console.log(window)"</tt> into the console
will show you the same object display for the window.

<li><p>The ant build script did not have the correctly-cased file names for some
of the files, and the build failed.  This has been fixed.  You should be able
to do a build on Linux, and other case-sensitive file systems.

<li><p>While weinre already removes some of the Web Inspector panels wholesale,
there were still a number of meaningless gee-gaws on the panels that we do show.
Those have been surgically removed with CSS.

</ul>

<p>issues closed:
<ul>
<li> <a href="https://github.com/phonegap/weinre/issues/7">issue 7</a> - support for WebSQL
<li> <a href="https://github.com/phonegap/weinre/issues/8">issue 8</a> - console.log() etal don't handle object parameters
<li> <a href="https://github.com/phonegap/weinre/issues/12">issue 12</a> - wrong-cased file names in ant scripts for Linux
<li> <a href="https://github.com/phonegap/weinre/issues/16">issue 16</a> - hide stuff in the Web Inspector UI that's not used
</ul>

<!-- ======================================================================= -->
<h2>2011/05/09 - version 1.4.0</h2>
<ul>
<li> better calculation of object's class name. closes <a href="https://github.com/pmuellr/weinre/issues/41">issue 41</a>.
<li> initial set of changes in for extensions. closes <a href="https://github.com/pmuellr/weinre/issues/8">issue 8</a>.
<li> added json2.js to the mix; part of issue <a href="https://github.com/pmuellr/weinre/issues/45">issue 45</a>.
<li> works with recent scooj release.  closes <a href="https://github.com/pmuellr/weinre/issues/52">issue 52</a>.
<li> add non-authenticated multi-user support.  closes <a href="https://github.com/pmuellr/weinre/issues/50">issue 50</a>.
See <a href="MultiUser.html">the MultiUser doc page</a> for more information.
</ul>

<p>issues closed:
<ul>
<li> <a href="https://github.com/pmuellr/weinre/issues/8">issue 8</a> - enable extensions
<li> <a href="https://github.com/pmuellr/weinre/issues/41">issue 41</a> - in JSC, inspected object's class is always "object"
<li> <a href="https://github.com/pmuellr/weinre/issues/50">issue 50</a> - add non-authenticated multi-user support
<li> <a href="https://github.com/pmuellr/weinre/issues/52">issue 52</a> - react to recent modjewel / scooj changes
</ul>

<!-- ======================================================================= -->
<h2>2011/04/05 - version 1.3.0</h2>
<ul>
<li> style editing now enabled in Elements panel
<li> localStorage and sessionStorage views enabled in Resources panel
<li> URLs to vendor repos updated for the weinre build
<li> check for bad versions of Prototype.js
</ul>

<p>issues closed:
<ul>
<li><a href="https://github.com/pmuellr/weinre/issues/21">issue 21</a> - add support for localStorage
<li><a href="https://github.com/pmuellr/weinre/issues/35">issue 35</a> - testing local files on IOS
<li><a href="https://github.com/pmuellr/weinre/issues/36">issue 36</a> - element.style cannot be edited
<li><a href="https://github.com/pmuellr/weinre/issues/44">issue 44</a> - update vendor repos
</ul>

<!-- ======================================================================= -->
<h2>2011/03/12 - version 1.2.0</h2>
<ul>
<li> DOM elements are now updated live as they change in the target
<li> more console support; sprintf formatting and expandable object logging
</ul>

<p>issues closed:
<ul>
<li><a href="https://github.com/pmuellr/weinre/issues/27">issue 27</a> - edge case where programmatically created DOM is only picked up partially
<li><a href="https://github.com/pmuellr/weinre/issues/37">issue 37</a> - console.log output doesn't do sprintf-style string interpolations
</ul>

<!-- ======================================================================= -->
<h2>2011/03/02 - version 1.1.0</h2>
<ul>
<li>added Timeline panel; tracks timers, intervals, XHRs, some other events, and
    <tt>console.markTimeline(<i>string</i>)</tt>
<li>now showing matching style rules in Elements panel
<li>no more diagnostic messages in the user's console; they are now written
    to the server console
<li>caught up to a more recent version of Web Inspector
<li>refactoring, technical debt paydown
</ul>

<p>issues closed:
<ul>
<li><a href='https://github.com/pmuellr/weinre/issues/10'>issue 10</a> - enable Timeline panel, and provide some events
<li><a href='https://github.com/pmuellr/weinre/issues/20'>issue 20</a> - catch up to latest Web Inspector code base
<li><a href='https://github.com/pmuellr/weinre/issues/23'>issue 23</a> - mac app's web pages can't connect to server
<li><a href='https://github.com/pmuellr/weinre/issues/24'>issue 24</a> - weinre server runs slowly on windows
<li><a href='https://github.com/pmuellr/weinre/issues/25'>issue 25</a> - pay down technical debt
<li><a href='https://github.com/pmuellr/weinre/issues/28'>issue 28</a> - create a standalone Java launch
<li><a href='https://github.com/pmuellr/weinre/issues/29'>issue 29</a> - autoconnect does not always work
<li><a href='https://github.com/pmuellr/weinre/issues/30'>issue 30</a> - all-json-idls.js is a pig
<li><a href='https://github.com/pmuellr/weinre/issues/31'>issue 31</a> - redirect error/warn/info/debug messages from client and target to server
<li><a href='https://github.com/pmuellr/weinre/issues/32'>issue 32</a> - monospace font too small everywhere
<li><a href='https://github.com/pmuellr/weinre/issues/33'>issue 33</a> - update doc
</ul>

<!-- ======================================================================= -->
<h2>2011/01/25 - version 1.0.0</h2>
<ul>
<li> Don't display "not implemented" messages. Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 19</a>.
<li> Remove node highlighting cruft.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 18</a>.
<li> Add meta element to enable GCF for client. Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 17</a>.
<li> Make bookmarklet more portable.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 16</a>.
<li> Enable node highlighting.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 2</a>.
<li> Change copyright statements.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 13</a>.
<li> Change Weinre.Console to Console.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 11</a>.
<li> Add implementation for settings.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 5</a>.
<li> Provide better escape for // comments in minifier.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 6</a>.
<li> Get metrics working in Elements panel.  Closes <a href="https://github.com/pmuellr/weinre/issues/1">issue 1</a>.
</ul>

<!-- ======================================================================= -->
<h2>2010/12/16 - version 0.9.9</h2>

<ul>
<li>initial release
</ul>