~ubuntu-branches/ubuntu/karmic/rhino/karmic

« back to all changes in this revision

Viewing changes to docs/rhino16R1.html

  • Committer: Bazaar Package Importer
  • Author(s): Jerry Haltom
  • Date: 2005-03-19 16:56:07 UTC
  • mto: (11.1.1 squeeze)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20050319165607-geu3j3fnqlkpqkh1
Tags: upstream-1.6.R1
ImportĀ upstreamĀ versionĀ 1.6.R1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
 
2
<html>
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
5
<meta name="Author" content="Igor Bukanov">
 
6
<meta name="KeyWords" content="Rhino, JavaScript, Java">
 
7
<title>Change Log</title>
 
8
 
 
9
<style>
 
10
P { text-align: justify; }
 
11
</style>
 
12
 
 
13
</head>
 
14
 
 
15
<body bgcolor="#ffffff">
 
16
 
 
17
<h1 align="center">
 
18
Change Log for Rhino</h1>
 
19
 
 
20
<h2>Rhino 1.6R1, released 2004-11-29</h2>
 
21
 
 
22
<h3>Release overview</h3>
 
23
<p>
 
24
Rhino 1.6R1 is the new major release of Rhino. It supports ECMAScript for XML (E4X) as specified by <a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMA 357</a> standard. E4X is a set of language extensions adding native XML support for JavaScript without affecting the existing code base. <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/E4X/e4x_example.js">E4X example</a> demonstrates various E4X constructions and their usage in JavaScript code.
 
25
</p>
 
26
<p>
 
27
This version of Rhino should be binary compatible with the current embeddings that use only public <a href="apidocs/index.html">API</a> unless the code use the previously deperected classes as documented <a href="#Rhino1.5R1-deprecation-removal">below</a>. Please report any incompatibilitiy issues to <a href="http://bugzilla.mozilla.org/enter_bug.cgi?product=Rhino">Bugzilla</a>.
 
28
</p>
 
29
</h3>
 
30
 
 
31
<h3>E4X implementation</h3>
 
32
<p>
 
33
The E4X code was donated to the Rhino project by <a href="http://www.bea.com/">BEA</a> and developed by staff from <a href="http://www.bea.com/">BEA</a> and <a href="http://www.agiledelta.com/">AgileDelta</a>.
 
34
</p>
 
35
<p>
 
36
It uses <a href="http://xmlbeans.apache.org/">XMLBeans</a> library to implement E4X runtime. The implementation was tested against versions 1.0.2 and 1.0.3 of XMLBeans. Please make sure that <tt>xbean.jar</tt> is avaialble on the classpath if you use E4X in your scripts.
 
37
</p>
 
38
<p>
 
39
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=242805">Bugzilla 242805</a> for details. See also <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=270779">Bugzilla 270779</a>
 
40
for the list of known issues with E4X implementation in Rhino 1.6R1.
 
41
</p>
 
42
 
 
43
 
 
44
<h3>Other changes</h3>
 
45
 
 
46
<h4>Common root for Rhino execeptions</h4>
 
47
<p>
 
48
Now all Rhino execption classes are derived from <a href="apidocs/org/mozilla/javascript/RhinoException.html"><tt>org.mozilla.javascript.RhinoException</tt></a> which extends <tt>java.lang.RuntimeException</tt>. 
 
49
The class gives the uniform way to access information about the script origin of the exception and simplifies execption handling in Rhino embeddings. 
 
50
</p>
 
51
<p>
 
52
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=244492">Bugzilla 244492</a> for details.
 
53
</p>
 
54
 
 
55
<h4>Removal of code complexity limits in the interpreter</h4>
 
56
<p>
 
57
The interpreter mode in Rhino does not limit any longer the script size or code complexity. It should be possible to execute any script as long as JVM resources allow so.
 
58
</p>
 
59
<p>
 
60
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=244014">Bugzilla 244014</a> and <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=256339">Bugzilla 256339</a>  for details.
 
61
</p>
 
62
 
 
63
<h4>Tail call elimination in the interpreter</h4>
 
64
<p>
 
65
The interpreter mode in Rhino implements tail call elimination to avoid excessive stack space consumption when a function returns result of a call to another function. 
 
66
</p>
 
67
<p>
 
68
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=257128">Bugzilla 257128</a>.
 
69
</p>
 
70
 
 
71
<h4>Support for continuations in the interpreter</h4>
 
72
<p>
 
73
The interpreter mode in Rhino supports continuations. The code is based on the ideas from the original implementation of continuations by Christopher Oliver and  
 
74
<a href="http://sisc.sourceforge.net/">SISC</a> project. To use the
 
75
continuations make sure that the interpreter mode is selected through <a
 
76
href="apidocs/org/mozilla/javascript/Context.html#setOptimizationLevel(int)">setting</a>
 
77
the optimization level to -1 or by adding <tt>-opt -1</tt> to the command line
 
78
of <a href="shell.html">Rhino shell</a>.
 
79
</p>
 
80
<p> 
 
81
Please note that the details of implementation and Java and JavaScript API for continuations may change in future in incompatible way.
 
82
</p>
 
83
<p>
 
84
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=258844">Bugzilla 258844</a>.
 
85
</p>
 
86
 
 
87
<h4>JavaImporter constructor</h4>
 
88
<p>
 
89
<tt>JavaImporter</tt> is a new global constructor that allows to omit explicit package names when scripting Java:
 
90
</p>
 
91
<pre>
 
92
var SwingGui = JavaImporter(Packages.javax.swing,
 
93
                            Packages.javax.swing.event,
 
94
                            Packages.javax.swing.border,
 
95
                            java.awt.event,
 
96
                            java.awt.Point,
 
97
                            java.awt.Rectangle,
 
98
                            java.awt.Dimension);
 
99
...
 
100
 
 
101
with (SwingGui) {
 
102
    var mybutton = new JButton(test);
 
103
    var mypoint = new Point(10, 10);
 
104
    var myframe = new JFrame();
 
105
...
 
106
}
 
107
</pre>
 
108
<p>
 
109
Previously such functionality was available only to embeddings that used <a href="apidocs/org/mozilla/javascript/ImporterTopLevel.html"><tt>org.mozilla.javascript.ImporterTopLevel</tt></a> class as the top level scope. The class provides additional <tt>importPackage()</tt> and <tt>importClass()</tt> global functions for scripts but their extensive usage has tendency to pollute the global name space with names of Java classes and prevents loaded classes from garbage collection.
 
110
</p>
 
111
<p>
 
112
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=245882">Bugzilla 245882</a> for details.
 
113
</p>
 
114
 
 
115
<h4>Context customization API</h4>
 
116
<a href="apidocs/org/mozilla/javascript/ContextFactory.html"><tt>org.mozilla.javascript.ContextFactory</tt></a> provides new API for customization of <tt>org.mozilla.javascript.Context</tt> and ensures that application-specific Context subclasses will always be used when Rhino runtime needs to create Context instances.
 
117
</p>
 
118
<p>
 
119
See <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=255595">Bugzilla 245882</a> for details.
 
120
</p>
 
121
 
 
122
<h4>Support for Date.now()</h4>
 
123
<p>
 
124
<tt>Date.now()</tt> function which is a SpiderMonkey extension to ECMAScript standard is available now in Rhino. The function returns number of milliseconds passed since 1970-01-01 00:00:00 UTC.
 
125
</p>
 
126
 
 
127
 
 
128
<h4><a name="Rhino1.5R1-deprecation-removal"></a>Removal of deprecated classes</h4>
 
129
<p>
 
130
The following classes that were deprecated in Rhino 1.5R5 are no longer available in Rhino 1.6R1:
 
131
<ul>
 
132
<li><tt>org.mozilla.javascript.ClassNameHelper</tt></li>
 
133
<li><tt>org.mozilla.javascript.ClassRepository</tt></li>
 
134
</ul>
 
135
 
 
136
See documentation for <a href="apidocs/org/mozilla/javascript/optimizer/ClassCompiler.html"><tt>org.mozilla.javascript.optimizer.ClassCompiler</tt></a> that provides replacement for ClassNameHelper and ClassRepository.
 
137
</p>
 
138
 
 
139
<h2>Change logs for previous Rhino releases</h2>
 
140
<ul>
 
141
  <li><a href="rhino15R5.html">Rhino 1.5R5</a></li>
 
142
  <li><a href="rhino15R41.html">Rhino 1.5R4.1</a></li>
 
143
  <li><a href="rhino15R4.html">Rhino 1.5R4</a></li>
 
144
  <li><a href="rhino15R3.html">Rhino 1.5R3</a></li>
 
145
  <li><a href="rhino15R2.html">Rhino 1.5R2</a></li>
 
146
  <li><a href="rhino15R1.html">Rhino 1.5R1</a></li>
 
147
</ul>
 
148
 
 
149
<hr width="100%"><br>
 
150
<a href="index.html">back to top</a></h3>
 
151
 
 
152
</body></html>