source: trunk/source/doc/release-notes-1.2.txt @ 13574

Last change on this file since 13574 was 11718, checked in by rme, 11 years ago

Refer to Trac wiki in release-notes.txt; move prior file aside.

File size: 9.0 KB
Line 
1ClozureCL 1.2
2=============
3
4Welcome to the first ClozureCL (aka OpenMCL) release in about 2.5 years!
5(There have been a lot of 1.1-prerelease snapshots in that time frame,
6and there's been a lot of development activity; hopefully, it'll be
7a little easier for people who wish to use a relatively stable version
8to do so and still make it easy for those who want to track the bleeding
9edge of development to do so.)
10
11[In the fall of 2007, Alice Hartley of Digitool announced that MCL (the
12commercial product from which OpenMCL was derived) would be opensourced.
13In order to reduce potential confusion between the new "open MCL" and
14"OpenMCL" - and to coincidentally make the primary implementation package
15and default installation directory name ("ccl") meaningful again - we
16decided to rename OpenMCL to "Clozure CL" (or "CCL").  There are still
17references to the old name in URLs, bits and pieces of the lisp itself,
18mailing lists, and elsewhere.]
19
20Obtaining Clozure CL
21--------------------
22Gzip'ed tar archives of Clozure CL 1.2  are available via anonymous FTP
23from:
24
25<ftp://clozure.com/pub/release/1.2>
26
27in files whose names are of the form
28clozurecl-1.2-[RELEASE-LEVEL-]PLATFORM.tar.gz
29
30where
31RELEASE-LEVEL may be "rcN" to indicate "release candidate N", or absent, and
32PLATFORM is one of "linuxppc", "darwinppc", "linuxx8664", "darwinx8664", or
33"freebsdx8664".  The "ppc" archives contain 32- and 64-bit binaries and
34interfaces; the x8664 archives are (still) 64-bit only.  All archives
35contain full sources and documentation, and also svn 1.4x metainformation
36(see below.)
37
38It's also possible to check out content equivalent to any of these
39archives by using an "svn" client (again, see below.).  The URL is of the
40form:
41
42http://svn.clozure.com/publicsvn/openmcl/release/1.2/PLATFORM/ccl
43
44where PLATFORM is defined as above.
45
46To check out a fresh copy of the current CCL 1.2 distribution for DarwinPPC,
47one would do something like:
48
49shell> cd some-directory-that-doesn't-have-a-ccl-subdirectory
50shell> svn co http://svn.clozure.com/publicsvn/openmcl/release/1.2/darwinppc/ccl
51
52We plan on making disk images (.dmg files) containing the Cocaa IDE and
53the full CCL distribution available in the near future.
54
55Documentation
56-------------
57
58Documentation is available online at:
59
60<http://ccl.clozure.com/ccl-documentation.html>
61
62A recent version of the HTML documentation is also included in the
63distribution, along with the DocBook source from which it's derived.
64These release notes describe some important recent (for some value
65of "recent") changes.
66
67Bug Reporting
68-------------
69
70Please use the trac instance at
71
72<http://trac.clozure.com/openmcl>
73
74to review existing bug reports and submit new ones.
75
76CVS out, SVN in:
77---------------
78
79Until the spring of 2007, ClozureCL used CVS for revision control;
80tar archives for the 1.0 release and 1.1 snapshots contained CVS
81metainformation, and it was generally possible to use "cvs update"
82and related commands to update an installation to the latest version.
83
84At that time, we switched to using the Subversion ("SVN") revision
85control system, but continued to mirror the main line of development
86in CVS (to the extent that this was possible, given some limitations
87of CVS.)
88
89This release is entirely SVN-based and makes use of Subversion features
90that can't be supported in CVS. Subversion clients are widely available
91for all platforms that ClozureCL runs on:
92
93 - FreeBSD and Linux users will likely find that subversion packages
94   are readily available through their distribution's package management
95   systems.
96
97 - 'svn' is preinstalled on OSX Leopard
98
99 - OSX Tiger users can install Subversion via Fink or MacPorts, or
100   look at <http://downloads.open.collab.net/binaries.html> for other
101   options.
102
103It should be possible to use GUI svn clients if you prefer.
104
105Note that the tar archives that contain ClozureCL distributions
106contain svn metainformation that assumes the use of a version 1.4 or
107later svn client; the format of some of that metainformation isn't
108understood by older clients.  If you have an older client (and can't
109install something more up-to-date), you ignore the tarballs and just
110check out the full CCL distribution (sources, binaries, interfaces
111...) via svn.
112
113Quick guide to svn:
114------------------
115shell> cd ccl           # wherever that is ...
116shell> svn update       # try to synch working copy with svn repository
117
118shell> svn revert <files> # discard local changes to <files>, recover
119                          # versions from last update.
120
121svn notes/issues
122----------------
123
124svn does a fairly good job of handling binary files, and in fact the
125CCL lisp kernel, heap image, and interface database files are maintained
126in svn.  (One benefit of this scheme is that it may be a little easier
127to distribute modified heap images that reflect changes that may be hard
128to bootstrap from source.)  Occasionally, an "svn update" operation may
129fail to replace a locally-modified copy of a binary file; when this
130happens, one way to recover is to use "svn revert" to discard local
131changes.
132
133The "Welcome ..." banner (and the string returned by
134LISP-IMPLEMENTATION-VERSION) contain the repository's revision number
135(an integer that increases whenever any file in the CCL repository
136changes) as of the time that the lisp image is built.  If there are
137locally-modified files (including re-compiled kernels or heap images)
138in the working copy, the revision number may contain a trailing "M"
139character; this isn't very significant, but might be a little mysterious.
140
1411.1 release notes
142-----------------
143All of the information contained in the file ccl/doc/release-notes-1.1.txt
144should be incorporated into the documentation; people who didn't use
145the 1.1 "snapshot" releases might find that file to be worth skimming.
146Some highlights include:
147
148 - use of Unicode internally, and support for reading and writing streams
149encoded in many commonly-used character encoding schemes.
150 - support for 64-bit x86 (amd64/x86-64) hardware (32-bit Intel support
151is under active development, but is not yet ready for public consumption.)
152 - many changes to the Cocoa Bridge, lots of enhancements to the Cocoa-based
153IDE (which runs on 32-bit DarwinPPC under Tiger and Leopard and on 64-bit
154DarwinX8664 on Leopard.
155 - lots of other changes (didn't I already write down descriptions of
156them somewhere ?
157
158More recent changes
159-------------------
160
161- The keywords :MCL and :OPENMCL-HASH-CONSING have been removed from
162*FEATURES*, and the keywords :CLOZURE-COMMON-LISP, :CCL and :CCL-1.2
163have been added.  :OPENMCL-HASH-CONSING denoted an experimental
164feature that was never used, and the presence of :MCL created some
165confusion (OpenMCL/CCL and commercial MCL have been diverging for
166about 10 years now, and many of the things that typically need read-time
167conditionalization - pathname syntax, threading, networking ... - need
168to be conditionalized differently for the two implementations.)  Code
169that has used the presence/absence of the :MCL feature to conditionalize
170for OpenMCL may need to be reviewed.
171
172The presence of :CCL-1.2 should be viewed as "features described in the
173Clozure CL 1.2 documentation are present", i.e., "this is at least version
1741.2 of CCL".
175
176There should also be a "simple" keyword denoting the OS name - :LINUX,
177:DARWIN, or :FREEBSD.
178
179- sockets support :CONNECT-TIMEOUT arguments and streams (including sockets)
180support :READ-TIMEOUT and :WRITE-TIMEOUT arguments in their creation functions
181(OPEN, MAKE-SOCKET, etc.)  An active socket connect operation that takes
182longer than the number of seconds specified in the socket's :CONNECT-TIMEOUT
183argument - or an I/O operation that takes longer than the applicable
184:READ-TIMEOUT or :WRITE-TIMEOUT's argument - will cause an error to be
185signaled.
186
187- profiling via Apple's CHUD tools (finally) works on 64-bit versions of
188CCL.  See ccl/library/chud-metering.txt for details.
189
190- profiling on x86-64 Linux - using the 'oprofile' profiler - is now
191supported (or, more accurately, it's possible to generate symbolic
192information that allows 'oprofile' and related tools to give meaningful
193names to lisp functions.)  See ccl/library/oprofile.txt for details.
194
195- on OSX/Darwin, pathnames are now recognized as being encoded in
196"decomposed UTF-8", which isn't quite as bad as it sounds.  (This
197should mean that pathnames that contain non-ASCII characters should
198be handled correctly.)
199
200- in the Cocoa IDE, Hemlock editor commands now run in the main event
201thread (they used to run in a dedicated, per-window thread), and many
202other aspects of Hemlock/Cocoa integration have been simplified and
203improved.  Aside from offering greater stability, these changes make
204the Hemlock programming interface a lot more tractable.  People
205interested in writing Hemlock editor commands for use in the IDE may
206find a revised version of the Hemlock Command Implementor's Manual
207<http://trac.clozure.com/openmcl/wiki/HemlockProgrammer> useful.
208
209When run as a standalone application, the IDE provides a "console"
210window which displays diagnostic output that otherwise only appears
211in the system logs.
212
213- lots of bug fixes, smaller changes, and performance improvements.
214
215
Note: See TracBrowser for help on using the repository browser.