*** empty log message ***
[bpt/guile.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index 7aa0a2a..1a5b87b 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -2,15 +2,29 @@ This is a checklist for making Guile releases.
 It's specific to the FSF's development environment; please don't put
 it in the distribution.
 
-In release 1.3:
-- make #/ generate a warning.
-- make SCHEME_LOAD_PATH generate a warning.
-- Perry Metzger <perry@piermont.com> is willing to do beta-testing
-  for NetBSD.
+Maybe we should name Guile releases after entertaining poisons:
+absinthe, etc.  However, the first release containing the module
+system should be called Godot: "This is the one you've been waiting
+for."
 
-In release 1.4:
-- remove #/ syntax
-- Remove SCHEME_LOAD_PATH.
+In release 1.3.2:
+* Release is titled ``wormwood'' release.
+* remove #/ syntax
+* Remove SCHEME_LOAD_PATH.
+- remove hook support from boot-9.scm
+  (only provided for backward compatibility)
+
+In release 1.3.4:
+- remove names evalext.c: serial-map,
+               ramap.c:   serial-array-copy!, serial-array-map!
+- remove module (ice-9 getopt-gnu-style)
+- remove kw.h, scm_tc16_kw
+- remove genio.h
+- remove deprecated function scm_newsmob.
+
+Modules sort.c and random.c should be factored out into separate
+modules (but still be distributed with guile-core) when we get a new
+module system.
 
 Platforms for test builds:
 SunOS (gcc and pcc) --- galapas.ai.mit.edu
@@ -19,48 +33,66 @@ NetBSD (gcc) --- repo-man.ai.mit.edu (use /home/repo/jimb)
 HP/UX (gcc, HP cc) --- nutrimat.gnu.ai.mit.edu
 
 
-1) Verify that Guile builds and runs in your working directory.  I
+1) Check that the versions of aclocal, automake, autoconf, and autoheader
+   in your PATH match those given in README.  Note that the `make
+   dist' process always invokes these tools, even when all the
+   generated files are up to date.
+2) Verify that Guile builds and runs in your working directory.  I
    hope that we'll eventually have a test suite to make this more
    concrete, but for the moment, just make sure things seem sane.
-2) Make sure NEWS and the docs are up to date:
+3) Make sure NEWS, INSTALL and the docs are up to date:
    a) Scan the ChangeLogs for user-visible changes, marked with an asterisk
       at the left margin.
    b) Update NEWS and the Texinfo documentation as appropriate.
    c) Remove the user-visible markers from the log entries once they're
       documented.
    d) Check for any [[incomplete]] sections of NEWS.
-3) Scan output from `cvs log' to find files that have changed a lot, but
+   e) Fact-check INSTALL.
+4) Scan output from `cvs diff' to find files that have changed a lot, but
    do not have up-to-date copyright notices.
-4) Update the version numbers in GUILE-VERSION, and README, to remove the
-   "unreleased" indications.  They should be straight numbers, of the form
-   "N.M", not alpha numbers, of the form "N.Ma".
-5) Set up README appropriately for the release.
-6) Choose new interface numbers for shared libraries.
-7) Do a `cvs update -A', to get rid of any sticky tags.
-8) Commit all changes to the CVS repository.
-9) Verify that the disty works, too:
-   a) Make a disty, using 'make dist'.
-   b) Unpack it somewhere else.
-   c) Remove automake and autoconf from your path, or turn off their
-      execute bits, or something.  (Users should be able to build disty
-      without installing those tools.)
-   d) Configure, make, and install.
-   e) Test the installed version; don't forget to unset SCHEME_LOAD_PATH.
-   f) If you made any fixes, commit them, and start from a) again
-10) Tag the entire source tree with a tag of the form "release_N_M".
-11) Copy the tar file over to the GNU machines, and ask the appropriate
-    person to put it on prep.  At the time of this writing, Daniel Hagerty
-    <hag@ai.mit.edu> has been generous about helping with that.
-12) Send an announcement message to gnu-announce@gnu.org.  Put
+5) Update the version numbers in GUILE-VERSION, and README.  The Guile
+   version number should be of the form N.M for a major release, and
+   N.M.L for snapshots and beta releases; L should be even for beta
+   releases, and odd for snapshots.
+6) Set up README appropriately for the release; check name spellings
+   in THANKS, and reformat.
+7) Choose new interface numbers for shared libraries.
+8) Do a `cvs update -A', to get rid of any sticky tags.
+9) Rebuild all generated files in the source tree:
+   a) Install the .m4 files where aclocal will find them.
+   b) Run aclocal.
+   c) Run automake.
+   d) Run autoconf.
+   e) Run autoheader.
+10) Commit all changes to the CVS repository.
+11) Verify that the disty works, too:
+    a) Make a disty, using 'make dist'.
+    b) Unpack it somewhere else.
+    c) Remove automake and autoconf from your path, or turn off their
+       execute bits, or something.  (Users should be able to build disty
+       without installing those tools.)
+    d) Configure, make, and install.
+    e) Test the installed version; don't forget to unset GUILE_LOAD_PATH.
+    f) Test the example code in the doc directory. 
+    g) If you made any fixes, commit them, and start from a) again
+11a) Add "Guile N.M released." entry to ChangeLog, and commit it.
+12) Tag the entire source tree with a tag of the form "release_N_M".
+13) Copy the tar file over to the GNU machines, and send mail to
+    ftp-upload@gnu.org, asking them to put it on prep.
+14) Send an announcement message to gnu-announce@gnu.org.  Put
     "Obtaining Guile" first, then a brief summary of the changes in
     this release, then "Thanks," "About This Distribution," and
     "Nightly Snapshots."  If I remember correctly, the moderator will
     delay it until the tar file appears on prep.  The announcement
     text should be mostly taken from Guile's README file.
-13) Notify freshmeat.net, although they're probably watching anyway.
-14) Tweak the version numbers in GUILE-VERSION, and README to indicate that 
+15) Notify freshmeat.net, although they're probably watching anyway.
+    (They got the 1.3 release just fine.)  I have no idea if
+    www.bowerbird.com.au will be something anyone refers to, but Guile
+    does have an entry there.
+16) Tweak the version numbers in GUILE-VERSION, and README to indicate that 
     the sources are snapshot again.  Snapshots should have version numbers 
-    of the form "N.Ma", where the "a" means "alpha".
-15) Start a new section of the NEWS file.
-16) Send mail to majordomo-owner@cygnus.com updating the message you get
+    of the form "N.M.L", where L is odd.
+17) Start a new section of the NEWS file.
+18) Start a new THANKS file.
+19) Send mail to majordomo-owner@cygnus.com updating the message you get
     when you ask majordomo for "info guile".