NEWS for Guile-WWW
See the end for copying conditions.


- 2.42 | 2021-12-14

  - Guile "auto-compilation" suppressed

    By dint of the env var ‘GUILE_AUTO_COMPILE’ having the value "0"
    in both the configure script and the test driver, both configure
    and "make check" phases suppress the compilation of .scm to .go
    files now.  For "make", you still have to do it yourself.

  - portability tweak for Guile 2.2

    Guile 2.2 prefers a symbolic arg to ‘setvbuf’.  No problem.

  - bootstrap/maintenance tools

    upgraded:

     Guile-BAUX 20211208.0839.a5245e7
     GNU gnulib 2021-12-10 21:54:54
     GNU Autoconf 2.71
     GNU Automake 1.16.5
     GNU texinfo 6.8

    as before:

     (none)


- 2.41 | 2020-10-07

  - portability fix for Guile 2.x

    For Guile 2.x, we use ‘inet-ntop’ instead of ‘inet-ntoa’.

  - bootstrap/maintenance tools

    upgraded:

     Guile-BAUX 20200129.1051.1679aca
     GNU gnulib 2020-10-03 19:51:08
     GNU Autoconf 2.69c
     GNU Automake 1.16.2

    as before:

     GNU texinfo 6.7


- 2.40 | 2017-05-15

  - distribution now ‘.tar.lz’

    If you have GNU tar, you can use "tar xf" and it will DTRT.
    If not, you can use "lzip -dc TARBALL | tar xf -" to unpack.

  - configure DTRT w/ ‘GUILE’, ‘GUILE_CONFIG’, ‘GUILE_TOOLS’

    The configure script now recognizes, remembers and propagates
    through the build system, the vars ‘GUILE’, ‘GUILE_CONFIG’ and
    ‘GUILE_TOOLS’, expressed either as an env var:

     GUILE='guile-2.0 --no-auto-compile'
     export GUILE
     ./configure

    or (preferably) as an arg to configure:

     ./configure GUILE='guile-2.0 --no-auto-compile'

    As shown here, the var value need not be an absolute filename
    (although that doesn't hurt), and can include options.

    If your system has multiple Guile interpreters installed, to
    avoid horrible confusion, it's probably a good idea to specify
    either all three vars together, or none of them.

  - new support for ‘make describe’

    See (new) file ‘v/README’ for details.

  - new facility to elaborate ‘text/*’ MIME type

    Module ‘(www server-utils filesystem)’ now provides fluid
    ‘default-text-charset’ and proc ‘fully-specified’.  You can use
    these to elaborate a naked ‘text/*’ MIME type w/ charset info.
    For example:

     (with-fluids ((default-text-charset "UTF-8"))
       (list (fully-specified 'type "image/jpeg")
             (fully-specified 'type "text/plain")
             (fully-specified 'Content-Type "text/plain")))
     =>
     ((type "image/jpeg")
      (type "text/plain" charset "UTF-8")
      (Content-Type "text/plain;charset=UTF-8"))

    This facility is in module ‘(www server-utils filesystem)’
    rather than module ‘(www data mime-types)’ to keep it near
    ‘filename->content-type’.

  - portability tweaks

    Both forward and backward in time, we slog.

  - documentation more spacious

    For improved readability, the Info format of the documentation
    now sports thirteen more blank lines than before.

  - bootstrap tools
    - upgraded
      - GNU Texinfo 6.3
      - Guile-BAUX 20170509.0757.4f8084b
    - as before
      - GNU Autoconf 2.69
      - GNU Automake 1.15


- 2.39 | 2015-02-22

  - doc fix: spell "incompatibility" correctly!

  - ‘http:request’ slightly faster

  - bootstrap tools upgraded
    - GNU Automake 1.15
    - Guile-BAUX 20150108.1006.f6573e4


- 2.38 | 2014-10-08

  - bug-report address changed

    Please send bug reports to the address shown by running command:

     ./configure --help

    Mail sent to the previous address is likely to be misplaced.

  - bugfixes

    - ‘parse-form’ uses ‘list’ instead of ‘values’

      NB: Backward-incompatible change.

      Previously, this ‘(www server-utils form-2-form)’ proc would use
      ‘values’ for form elements that have type info, consing the
      result into the returned alist.  Unfortunately, use of ‘values’
      outside a ‘call-with-values’ context (e.g., as a container, as
      in this case) is not supported by Guile 2.x.

      Now, the four pieces of type info are packaged w/ ‘list’.

    - support for VPATH "make check"

      Previously VPATH "make check" failed to initialize each test's
      infrastructure (i.e., v/common).  Now it takes into account the
      configure-substituted and Makefile var ‘srcdir’ as well.

  - new optional arg ‘u8’

    - ‘(www url-coding) url-coding:decode’

      This proc now takes an optional arg U8, which if non-‘#f’, means
      to return a u8vector instead of a string.

    - ‘(www server-utils parse-request) alist<-query’

      This proc now takes an optionl arg U8, which if non-‘#f’, means
      to return u8vectors instead of strings for names and values.

  - changes to ‘(www server-utils form-2-form) parse-form’

    - non-string args ok

      The first arg can now be a form:

       ((multipart . MINOR) PARAMETER...)

      i.e., the parsed form of the Content-Type header's value.
      Relatedly, the arg's documented name is now simply TYPE.

      The second arg can now be an integer specifying the number of
      bytes to read from the current input port.

      For backward compatibility, TYPE and RAW-DATA can also be
      strings.

    - sub ‘multipart/mixed’ better recognized

      Previously, a (sub) part w/ "Content-Type: multiPART / miXed"
      (for instance) would be handled opaquely.  Now, such a header is
      properly recognized and recursed into.  Sigh, one has to wonder:
      Will there ever be a more tightly specified MIME 2.0?

  - CGI file-uploads can now be done in "move u8" style

    Proc ‘(www cgi) cgi:init’ now accepts options ‘move’, which
    controls how file-uploads are handled.  When specified, the
    uploaded files are returned as procedures that can be called to
    write the actual contents of the file (a u8vector) to a port or
    to return those contents directly.  This option takes precedence
    over ‘uploads-lazy’.

    Another new option is ‘move-simple-text/plain’, which only is
    meaningful if ‘move’ is also specified.  This simplifies the
    value of form parameters with MIME type ‘text/plain’ to a
    string, discarding other MIME information.

    See examples/id.cgi.in for how to use these options.

  - "make check" locale support

    You can customize (somewhat) the locale that tests use by
    manipulating file v/testing-locale.  See README.

  - bootstrap tools upgraded
    - GNU Automake 1.14.1
    - Guile-BAUX 20140110.0849.39e9660


- 2.37 | 2013-07-28

  - dropped

    - example program wwwcat

      This trivial program is not so interesting.

    - module ‘(www main)’
    - proc ‘(www server-utils parse-request) read-first-line’
    - proc ‘(www server-utils parse-request) read-headers’
    - proc ‘(www server-utils parse-request) skip-headers’
    - proc ‘(www server-utils parse-request) read-body’
    - proc ‘(www http) http:head’
    - proc ‘(www http) http:get’

      These were announced in Guile-WWW 2.34 (2012-03-29) NEWS.

    - support for values in ‘receive-response’ spec

      This was announced in Guile-WWW 2.36 (2012-11-22) NEWS.

  - ‘(www url) url:address’ more strict
  - ‘(www url) url:unknown’ more strict

    Contrary to the Guile-WWW 2.34 (2012-03-29) NEWS blurb, these
    two procs are not being deleted.  Instead, they persist and now
    check their arg for the proper scheme (‘mailto’ and ‘unknown’,
    respectively) to better support the (thin) abstraction they
    provide over the underlying data structure.

  - bootstrap tools upgraded
    - GNU Automake 1.13.4
    - Guile-BAUX 20130705.0751.4969fb4


- 2.36 | 2012-11-22

  - portability fixes

    - import some procs explicitly (Guile 1.4.x)

      Guile 1.4.x does not implicitly provide, e.g., SRFI 13.

    - use appropriate u8 i/o procs

      The "compiler" (har har) build-aux/guile-baux/mm, in cahoots w/
      the configure script, now tries to DTRT for various versions of
      Guile.  Precisely:

      1.4.x -- custom procs based on ‘read-char’ / ‘display’
      1.8   -- uniform-vector-{read!,write} (the "normal" case)
      2.x   -- custom procs based on those in ‘(ice-9 binary-ports)’

      With this change, "make check" under Guile 2.0.6 no longer
      displays any deprecation warnings.  Any that you might encounter
      (for any Guile) is now considered a bug; please report it.

    - avoid ‘\n’ in sed ‘s’ RHS (FreeBSD)

      This was a problem in the "make check" prep (test harness).

    - less "values outside ‘call-with-values’ context"

      Another case was found, but this was internal.  Perhaps others
      lurk -- why doesn't Someone just do a formal audit already?!

  - bootstrap tools upgrade
    - GNU Automake 1.12.5
    - Guile-BAUX 20121120.1242.e233fad


- 2.35 | 2012-11-06

  - support for "make installcheck"

    This does "make check" at its core, so the same env vars apply.
    Obviously, you should do "make install" first for sane results.

  - ‘receive-response’ spec takes thunk for ‘custom’ handling

    This means that instead of using:

    (list 'custom (values P1 P2 P3 P4))

    to construct a ‘receive-response’ spec, you can use:

    (list 'custom (lambda () (values P1 P2 P3 P4)))

    In fact, this is now the preferred way, as support for using
    ‘values’ directly is now deemed a misfeature and marked for
    eventual removal (see below).

  - tested against Guile 2.0.6

    There are some deprecation warnings, however.

  - MARKED FOR REMOVAL

    - 2013-05-15 support for values in ‘receive-response’ spec

      Out of an explicit ‘call-with-values’ context, Guile 2.x will
      silently discard all values but the first if the continuation
      expects one value only (the common case).

      (cons 0 (values 1 2)) => (0 . 1)

      Thus, the ‘receive-response’ spec constructed by:

      (list 'custom (values P1 P2 P3 P4))

      fails to preserve P2, P3, P4 (w/ Guile 2.x).  See above for
      thunk support, the future-proof way to specify ‘custom’ procs.

  - bootstrap tools upgrade
    - GNU Autoconf 2.69
    - GNU Automake 1.12.4
    - Guile-BAUX 20121026.1208.c21074a


- 2.34 | 2012-03-29

  - bug fix: unbotch ‘upath->filename-proc’
  - bug fix: unbotch ‘log-http-response-proc’

    In Guile-WWW 2.33 (2012-02-29), these procs were changed to use
    (ice-9 optargs), but the change was botched.

  - bug fix: ‘(www http) http:post-form’ reserves ‘#\&’ and ‘#\=’

    That is, in the absense of upload specs, the urlencoding for the
    key names and values now also includes ampersand and equal sign,
    as those used to delimit pairs and separate key and value within
    a pair, respectively.

  - bug fix: ‘url-coding:encode’ outputs two hex digits for 0-15

    Previously, octets 0 through 15 were output as "%0" through
    "%f", respectively.  Now, they are "%00" through "%0f".

  - portability fix: big dishing loop handles #f ‘sockaddr:path’

    For Unix domain sockets, some Guile versions have ‘sockaddr:path’
    sometimes return the empty string, others ‘#f’.

  - ‘(www url) url:parse’ can handle IPv6 addresses

    Handling doesn't imply validation, however.  For example:
    (url:host (url:parse "http://fool@[::ffff:bogus.0.2.1]:42/foo"))
    => "[::ffff:bogus.0.2.1]"

  - ‘(... answer) hqf<-upath’ more efficient

    The char-set computation has been moved to load-time.

  - ‘(... cookies) simple-parse-cookies’ takes optional arg SEP

    By default, tokens are ‘#\,’ (comma)-separated.  You can use SEP
    to specify another character, e.g., ‘#\;’ (semicolon).

  - new ‘(www cgi) cgi:init’ option: cookies-split-on-semicolon

    If the server provides the CGI script with a "Netscape style"
    (i.e., old and deprecated) set of cookies, you can use this
    option to split them.

  - ‘(www cgi) cgi:getenv’ recognizes some more "idiomatic" names

    The following keys now are recognized by ‘cgi:getenv’ (that is,
    they no longer signal "unrecognized key" error): ‘server-name’,
    ‘server-software’, ‘server-protocol’, ‘auth-type’, ‘http-accept’.
    Also, the manual now marks those keys that either are aliases,
    or return parts of the associated value, of these idiomatic names.

  - new (... parse-request) proc: receive-request

    This uses the same underlying machinery as ‘receive-response’
    from (www http), and thus sports the same features.

    Additionally, there is a new ‘request’ type with five accessor
    procs: request-{method,upath,protocol-version,headers,body} and
    the new predicate ‘request?’.

  - new (... log) proc: string<-sockaddr

    This formats AF_UNIX or AF_INET addresses (including port).

  - new (... answer) proc: compose-response

    This is a stripped down variant of ‘mouthpiece’.  It uses the
    same underlying machinery as ‘send-request’ from (www http) and
    thus sports the same features.

  - MARKED FOR REMOVAL

    - 2012-12-31 module (www main)

    - 2012-12-31 (www url) procs
      - url:address
      - url:unknown

    - 2013-02-28 (... parse-request) procs
      - read-first-line
      - read-headers
      - skip-headers
      - read-body

    - 2013-02-28 (www http) procs
      - http:head
      - http:get

  - test suite expanded

    Previously, there was just one test.  Now, there are several,
    and they are in directory v/ (for "validation", "verification",
    "vouchsafed", and so on).

  - doc license upgraded to GNU FDL 1.3

  - maintenance uses Guile-BAUX 20120309.1509.1c4bb92


- 2.33 | 2012-02-29

  - distribution now .tar.xz

    If you have GNU tar, you can use "tar xf" and it will DTRT.
    If not, you can use "xz -dc TARBALL | tar xf -" to unpack.

  - configure no longer checks for some widely-available modules

    The modules ‘(ice-9 and-let-star)’, ‘(ice-9 rdelim)’ and
    ‘(ice-9 regex)’ have been widely-available since Guile 1.4.x.

  - configure uses SNUGGLE for cross-Guile portability

    SNUGGLE is Free Software: <http://www.gnuvola.org/software/>.
    It provides ‘build-aux/snuggle.m4’, which is more amicable than
    the various ‘guile.m4’ in the wild.

  - dropped ‘(www server-utils answer) string<-header-components’

    This was pre-announced below in Guile-WWW 2.28 (2010-06-22).

  - changes to (www http)

    - bug fix: ‘http:request’ sends message body as-is

      This procedure used to erroneously send ‘CRLF’ after each string
      specified in BODY.  Now, it sends BODY only.

    - ‘http:status-ok?’ also accepts numeric arg

      E.g., ‘(http:status-ok? 200)’ and ‘(http:status-ok? "200")’
      both return ‘#t’.

    - ‘http:request’ also accepts a symbolic method

      Of course, a string is still acceptable.  Additionally, it is
      now an error if ‘method’ is neither string nor symbol.

    - new procs: ‘send-request’, ‘receive-response’

      These give (www http) a more asynchronous feel; it is now
      possible to implement pipelining, connection re-use, etc.
      Support for "chunked" transfer encoding and other HTTP 1.1 bits
      is built-in, although you can explicitly downgrade to 1.0 if you
      wish.

      Other features: (optional) caller-directed i/o to reduce data
      motion; support for ‘u8vector’ body (see example in the docs);
      support for custom body type; caller-specifiable header-name
      normalization; procedure names w/o "http:" prefix :-D.

    - message field types now documented

      The message object returned by ‘receive-response’ has a numeric
      status-code and header names normalized by the caller.

      In contrast, for backward compatibility, the message object
      returned by ‘http:request’ has a string status-code and
      lower-case header names.

      (Header names are symbolic in any case.)

    - new fluid: protocol-version

      This affects how ‘http:request’ calls ‘send-request’ internally.
      It also impacts ‘http:get’, ‘http:head’, and ‘http:post-form’,
      which call ‘http:request’.

      The default value is ‘(1 . 0)’, i.e., HTTP 1.0.  The idea is to
      support backward compatibility out of the box, but allow users
      to experimentally do:

        (set-fluid! protocol-version '(1 . 1))

      without having to modify their current code.  (New code
      should use ‘send-request’ and ‘receive-response’ directly.)
      This is a transitional feature of Guile-WWW 2.x; 3.x will
      drop ‘http:request’ (et al) along with the need for this
      fluid, entirely.

  - (www cgi) recognizes ‘application/x-www-form-urlencoded’ better

    Before, Content-Type recognition was over-constrained, failing
    to handle parameters (usually of the form "; charset=...").
    Things are now more relaxed.

  - documentation now explicitly UTF-8

    This has no immediate impact, but if you regenerate the .info,
    it may be possible that the makeinfo you use will generate nicer
    quotes, e.g., ‘foo’ instead of `foo'.  Time will tell.

  - maintenance: Autoconf 2.68, Automake 1.11.3, Guile-BAUX 20111227


- 2.32 | 2011-07-08
  - bugfix: make (www cgi) work (again) with GET request method

- 2.31 | 2011-05-29
  - bugfix: "make uninstall" now does a complete job
  - improvements to "make check"
    - do in-tree partial install; use that for ‘%load-path’
    - bugfix: re-order ‘%load-extensions’ to prioritize "" over ".scm"
  - examples/wily-guile also uses in-tree partial install

- 2.30 | 2011-02-12
  - portability fix for Guile 1.9.14 (among others, probably)

- 2.29 | 2011-01-24
  - portability fix: don't assume ‘(set! (P OBJ) V)’ returns ‘V’
  - allow ‘big-dishing-loop’ to set ‘modlisp-ish’ reply style
  - drop "experimental" from modlisp documentation
  - add "make check" support
  - use Guile-BAUX for doc maintenance, module munging

- 2.28 | 2010-06-22
  - new home page: http://www.nongnu.org/guile-www/
  - doc fix: variables now included in index (e.g., ‘CRLF’)
  - new EXPERIMENTAL modlisp support
    - ‘make-big-dishing-loop’ takes keyword arg #:style
    - ‘mouthpiece’ takes optional arg ‘style’
    - new module: (www server-utils modlisp)
  - new (www server-utils answer) procs
    - flat-length
    - tree-flat-length!
    - string<-tree
    - string<-headers
  - MARKED FOR REMOVAL 2011-12-31
    - proc ‘(www server-utils answer) string<-header-components’

- 2.27 | 2010-02-02
  - improve portability: don't use `return-it'
  - dropped (see entries for NEWS 2.24, 2.23)
    - module: (www data content-type)
    - (www data http-status) data structure: *http-status*-META
    - (www data http-status) data structure: *http-status*
    - `make-big-dishing-loop' keyword arg: #:GET-upath
  - maintenance uses GNU Autoconf 2.65

- 2.26 | 2009-06-29
  - bugfixes to (www server-utils filesystem) procs
    - access-forbidden?-proc: allow "filename is "docroot" for
    - cleanup-filename: handle edge cases more consistently
  - configure option dropped: --disable-shsub

- 2.25 | 2009-05-28
  - changes to (www cgi)
    - bugfix: parse cookies using comma as inter-cookie delim
    - bugfix: query-string no longer masks form-data
    - new proc: cgi:cookie-names
    - new support for ‘uploads-lazy’ (file contents management) style
  - new module: (www server-utils form-2-form)
  - new (www server-utils cookies) proc: simple-parse-cookies
  - new (www server-utils parse-request) procs
    - hqf<-upath
    - alist<-query
    - read-body
  - documentation spiffed
  - distribution includes guile-www.pdf
  - maintenance uses GNU Autoconf 2.63, GNU Automake 1.11

- 2.24 | 2009-01-27
  - new module: (www data mime-types)
  - new (www data http-status) proc: http-status-string
  - new entries for alist ‘*content-type-by-filename-extension*’
    - svg => image/svg+xml
    - css => text/css
  - MARKED FOR REMOVAL 2009-12-31
    - module (www data content-type)
    - data structures in module (www data http-status)
      - *http-status*
      - *http-status*-META

- 2.23 | 2008-05-28
  - in (www data content-type), ‘xml’ maps to "application/xml"
  - changes to (www server-utils big-dishing-loop)
    - MARKED FOR REMOVAL 2009-12-31: make-big-dishing-loop #:GET-upath
    - ‘make-big-dishing-loop’ options @findex'd in manual
    - new ‘make-big-dishing-loop’ option: #:method-handlers
    - new proc: named-socket
  - changes to (www server-utils answer)
    - ‘mouthpiece’ commands @findex'd in manual
    - new ‘mouthpiece’ command: #:inhibit-content!
  - new (www http) proc: http:connect

- 2.22 | 2008-04-20
  - bug-report address updated (see output of ./configure --help)
  - mouthpiece #:send-reply now also takes ‘shutdown’ "how arg" CLOSE
  - maintenance uses GNU Autoconf 2.62, GNU Automake 1.10.1
  - public repo: http://www.gnuovla.org/wip/  (guile-www)

- 2.21 | 2007-10-04
  - license now GPLv3+ (see COPYING)
  - bugfix: mouthpiece #:set-reply-status:success updates status box
  - maintenance uses GNU Autoconf 2.61

- 2.20 | 2007-05-16
  - bugfix for examples/wily-guile: add correct dir to %load-path
  - (www cgi) proc deleted: cgi:make-cookie (notice given in version 2.14)
  - distribution includes docs in HTML

- 2.19 | 2007-05-14
  - pre-install felicity
    - modules "compiled" (har har) at "make" time
    - new convenience wrapper program: examples/wily-guile

- 2.18 | 2007-02-16
  - new ‘(www server-utils answer) mouthpiece’ command: #:add-direct-writer
  - new module: (www utcsec)

- 2.17 | 2007-02-01
  - log-http-response-proc sets output port to be line-buffered
  - new proc in (www server-utils big-dishing-loop): echo-upath
  - changes to make-big-dishing-loop
    - bugfix: #:socket-setup works (crippling typo corrected)
    - for #:concurrency #f, no longer close port when done
    - for #:concurrency non-#f, "parent" calls #:parent-finish proc
    - unless #:need-input-port, "child" does ‘shutdown 2’ on the socket
  - maintenance uses Autoconf 2.60

- 2.16 | 2006-07-14
  - make-big-dishing-loop accepts keyword arg #:concurrency

- 2.15 | 2006-04-26
  - bugfix: don't include Host twice (http:head, http:get, http:post-form)
  - maintenance uses Automake 1.9.6 and Texinfo 4.8

- 2.14 | 2006-02-19
  - (www cgi) now handles unset HTTP_ACCEPT
  - additions to module (www server-utils answer)
    - string: CRLF
    - procedure: fs
    - procedure: walk-tree
    - procedure: string<-header-components
    - ‘mouthpiece’ #:add-header now also takes boolean NAME
  - new module: (www server-utils cookies)

- 2.13 | 2005-08-17
  - for speed, use ‘read-string!/partial’ in (www cgi) and (www http)

- 2.12 | 2005-06-09
  - new proc in (www cgi): cgi:nv-pairs
  - contrib/*-check files mentioned in ChangeLog

- 2.11 | 2005-05-09
  - big-dishing-loop macros moved to (module) top-level
  - FSF street address updated in copyright notices

- 2.10 | 2005-04-17
  - changes to (www cgi)
    - cgi:values now maintains same order as in submitted form
    - cgi:init now resets all internal state (suitable for fastcgi)
  - new configure option: --disable-shsub
  - new module: (www server-utils cgi-prep)

- 2.9 | 2005-01-25
  - www:http-head-get can discard all but the alist portion of the msg obj

- 2.8 | 2004-11-20
  - new proc in (www main): www:http-head-get

- 2.7 | 2004-10-21
  - new proc in (www http): http:head

- 2.6 | 2004-07-15
  - cgi:make-cookie now accepts keywords for ‘name’ and ‘value’ args
  - bugfix: http:request handles missing response status-line TEXT as ""

- 2.5 | 2004-03-11
  - new proc in (www server-utils parse-request): skip-headers
  - new ‘(www server-utils answer) mouthpiece’ command: #:add-formatted
  - new module: (www server-utils big-dishing-loop)

- 2.4 | 2004-03-01
  - changes to (www server-utils answer) proc ‘mouthpiece’
    - bugfix in #:rechunk-content (fencepost error)
    - #:send-reply sets 2nd position in status-box to content-length
  - new module: (www server-utils log)

- 2.3 | 2004-02-29
  - new module: (www server-utils parse-request)
  - new module: (www server-utils filesystem)
  - new module: (www server-utils answer)
  - new module: (www data http-status)
  - new module: (www data content-type)

- 2.2 | 2004-01-24
  - bug fix: ‘cgi:uploads’ now handles "multipart/mixed" content properly
  - bug fix: ‘cgi:uploads’ now deletes cell as documented
  - doc fix: ‘cgi:getenv’ w/ key ‘http-accept-types’ => list of strings
  - new feature: proc ‘http:post-form’ now also handles "file uploads"
  - installation change: .scm files are punified (whitespace/comments removed)

- 2.1 | 2004-01-15
  - doc fix: ‘cgi:getenv’ doc was missing
  - new module: (www url-coding)
  - proc ‘cgi:init’ performance improvement (env var lazy init)

- 2.0 | 2004-01-13
  - incompatible API changes
    - cgi:make-cookie no longer accepts #&-style keywords (#:-style ok)
    - non-procedures no longer exported
      - for cgi-FOO (22 vars), read access now through proc ‘cgi:getenv’
      - no longer provided: http:version, http:user-agent
  - installation dir change
    - configure script determines $(GUILE_SITE)
    - modules installed as $(GUILE_SITE)/www/*.scm
  - module catalog updated on "make install" (if supported by system)
  - doc methodology/content improvements

- 1.1.1ttn5 | 2003-02-15
  - bug fix: http:request now extracts content-length info properly

- 1.1.1ttn4 | 2003-02-12
  - bug fix: http:get now uses ‘Host’ header in the http request
  - bug fix: examples/wwwcat handles non-#f ‘program-arguments’ values

- 1.1.1ttn3 | 2002-12-03
  - new proc in (www http): http:post-form

- 1.1.1ttn2 | 2002-10-20
  - for CGI scripts, handle SERVER_SOFTWARE that omits "/version" info

- 1.1.1ttn1 | 2002-10-05
  - for CGI scripts, HTTP_ACCEPT parsing now also handles ", "

- 1.1.1 | 2002-04-26
  - new CGI cookies support by Aaron VanDevender
  - miscellaneous distribution news
    - new subdir examples/
    - example program "wwwcat" no longer installed on "make install"
    - INSTALL now explains which files are copied where on "make install"

- 1.0.1 | 2001-11-18
  - fixed documentation bug that prevented guile-www.info from loading

- 1.0 | 2001-11-16



Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2020, 2021 Thien-Thi Nguyen

Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.


	Local Variables:
	mode: outline
	outline-regexp: "\\([ ][ ]\\)*- "
	End:
