ReleaseNotes092

From Erights

Revision as of 03:05, 28 February 2009 by Kevin Reid (Talk | contribs)
Jump to: navigation, search

Contents

Release notes on the upcoming 0.9.2 release of E-on-Java

Release process notes

Here I will jot down notes on the process of performing the E 0.9.2 release, as a guide to others who may do future releases. This information is descriptive; not prescriptive.

At Kevin's suggestion, I did a

 $ svn log -r321:HEAD svn://svn.synchrona.org/erights/e/trunk

to gather all the log entries since the last release.

Release blockers

These things need fixing before this release:

  • Since r468, help(<int>) shows no methods.
  • Since ???, epatt__quasiParser always throws a parse error.

Highlights

Causeway now processes the language neutral trace file format defined by Tyler Close and generated from the Waterken server. Many other functionality and usability improvements. Thanks Terry Stanley and Tyler Close.

Switched from SWT v2135 to v3.3.1.1. E now works with SWT on Mac OS X 10.5. Thanks Kevin Reid.

Kevin's new Proxy design is implemented; EProxyResolver is deprecated in favor of it.

The E parser has been updated to accept the new guard-based auditing-friendly E syntax, but guard-based auditing itself is not yet implemented. Thanks Kevin Reid.

Features

Lamport slots with PBC thanks to Martin Scheffler

Made SealedBox final thanks Tyler Close

experimental Joule-like multichannels thanks Mark Miller (and Dean Tribble for the multichannel semantics)

Added a command line option to webServerSocket80.e to tell it to use a different port.

ReadOnlyFile#copyTo/2, File#makeParentDirs/1.

Term tree matching is still much less powerful than regular expressions, but is at least not so naively greedy. Matches like

  def term`[@x*, @y, @z]` := term`[4,5,6,7,8]`

used to fail because @x* would consume everything, leaving nothing for @y and @z. See lessgreedy.updoc for more examples.

Bug fixes

A sent <import> needs to arrive as the local one thanks Martin Scheffler

File(File, String) is unsafe and must be suppressed thanks Adrian Mettler

Updoc timing quirk thanks Kevin Reid

Masking of parser warning thanks Kevin Reid

escape optimization invalid thanks Kevin Reid

makeMembrane fixed thanks Martin Scheffler

Typed verbs, i.e., verbs that look like Java signatures such as "__conformTo(Guard)" that are normally used to disambiguate Java overloads, are now suppressed for sugar method including Miranda methods. Thanks Kevin Reid.

TraversalKey bug thanks Kevin Reid.

bug in swtGrid quasiParser (though the bug itself may be post 9.1b) thanks Martin Scheffler.

A fix for emacs e-mode indentation by Pierre Radermecker. It had worked for me. But this e-mode in my Emacs 22.2.50.1 Carbon version on Mac OS X 10.5.6 has again the original symptom: when I hit tab, I get "Wrong type argument: stringp, nil". I'm not an elisp hacker, so I don't know what the problem is.

Ordered region comparison bug thanks Allen Short.

javax.swing.ActionEvent.getActionCommand() unsuppressed thanks Kevin Reid.

JFileChooser#APPROVE_SELECTION, JFileChooser#CANCEL_SELECTION, java.awt.event.MouseEvent#getButton/0 unsuppressed.

BaseLexer now accepts "\/" as synonymous with "/". TermL, inheriting this rule, is now a superset of JSON. Thanks Kevin Reid.

Fixed reflection operations that broke the sameness guarantee (if a == b then they are indistinguishable): The implementation class of integer objects is no longer revealed by __getAllegedType(), and the Help object avoids revealing implementation classes.

Other changes

Unresolved proxies no longer print as "<Remote Promise>". Rationale: There is no way a program can (without making assumptions about English) make this same distinction; it was arguably a bug that the printing subsystem could in order to print them differently.

Personal tools
more tools