<!doctype html>

<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<html>
<head>
<title>weinre - ChangeLog</title>
<link rel="stylesheet" href="css/main.css" type="text/css">
<link rel="shortcut icon" href="images/weinre-icon-64x64.png" />
<script src="scripts/main.js"></script>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-736164-7']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>

<body>

<a class="no-decoration" href="https://github.com/phonegap/weinre"><div class="ribbon">Fork weinre on GitHub</div></a>

<!-- ======================================================================= -->
<h1 class="page-title">weinre - ChangeLog</h1>

<div class="toc">
  <a href="Home.html">Home</a>
- <a href="TestDrive.html">Test Drive</a>
- <a href="Installing.html">Installing</a>
- <a href="Running.html">Running</a>
- <a href="MultiUser.html">Multi-User</a>
- <a href="Security.html">Security</a>
- <a href="Building.html">Building</a>
- <a href="ChangeLog.html">ChangeLog</a>
- <a href="License.html">License</a>
<p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</div>

<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2011 IBM Corporation
-->

<!-- ======================================================================= -->
<h2>Downloads</h2>

<p><a href="https://github.com/phonegap/weinre/downloads">https://github.com/phonegap/weinre/downloads</a>

<!-- ======================================================================= -->
<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>

<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<div class="toc">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<p>
  <a href="Home.html">Home</a>
- <a href="TestDrive.html">Test Drive</a>
- <a href="Installing.html">Installing</a>
- <a href="Running.html">Running</a>
- <a href="MultiUser.html">Multi-User</a>
- <a href="Security.html">Security</a>
- <a href="Building.html">Building</a>
- <a href="ChangeLog.html">ChangeLog</a>
- <a href="License.html">License</a>

<br><img src="images/weinre-icon-128x128.png">
</div>

</body>
</html>
