Announcement: ocamlnet 0.98

Gerd Stolpmann <[email protected]>
Newsgroups gmane.comp.lang.caml.inria,gmane.comp.lang.ocaml.lib.net.devel
Message-ID <1094650391.11084.17.camel@ares>
Hello list,

The OcamlNet project announces version 0.98 of this library collection.
This version includes a lot of smaller updates (listed below), and one
major API change that might break applications using OcamlNet.

Remember there was a discussion on caml-list about a standard for
object-based I/O. There was an agreement about the class type interface:
http://ocaml-programming.de/rec/IO-Classes.html. This version of
OcamlNet implements this convention, and unfortunately, the "input"
method now raises End_of_file instead of returning 0 when the end is
reached. Of course, programs relying on the value 0 no longer work. When
programs stop with "Uncaught exception: End_of_file" this might be an
indicator for this incompatibility. Sorry for the inconvenience, but
standardization has its price.

----------------------------------------------------------------------------
What is ocamlnet?
----------------------------------------------------------------------------

A collection of modules for the Objective Caml language which focus on 
application-level Internet protocols and conventions.

The current distribution contains:

- a mature implementation of the CGI protocol

- an implementation of the JSERV protocol (AJP-1.2), can be used with
  mod_jserv (Apache JServ) and mod_jk (Jakarta connector) to connect
  application servers written in O'Caml with web servers

- an implementation of the FastCGI protocol

- an experimental POP3 client

- a library of string processing functions related to Internet 
  protocols (formerly known as "netstring" and distributed separately):
  MIME encoding/decoding, Date/time parsing, Character encoding
  conversion, HTML parsing and printing, URL parsing and printing,
  OO-representation of channels, and a lot more.

Ocamlnet is developed as a SourceForge project:

  http://sourceforge.net/projects/ocamlnet

Developers and code contributions are welcome.

Ocamlnet is licensed under the zlib/libpng license.

----------------------------------------------------------------------------
List of further changes:
----------------------------------------------------------------------------

The legacy Cgi module is no longer built by default. One can still
create it by -enable-compatcgi.

Bugfixes in Netconversion's cursor implementation. It is now better
specified, and the corner cases are handled in a better way.

Bugfix in Mimestring.write_value: Folding of long encoded words is
now correct.

Bugfix in Netencoding.QuotedPrintable: Soft line breaks are added
when lines would become too long otherwise. Uses CRLF as line
separator in output now.

Bugfix in Nethtml: In some rare cases, end tags were handled
incorrectly.

Addition: In Netchannels, there are now delegation classes. Useful
if one wants only to redefine individual methods, and not whole
classes.

Addition: Netchannels.lift_in and lift_out is a simplified interface
to lift a class from raw_in/out_channel to in/out_obj_channel.

Improvement: Netmime.basic_mime_header avoids unnecessary modifications
of the order of existing header fields. It is also faster.

Additions: Mimestring.split_mime_type, split_uri.
Netbuffer.add_char, insert_string, insert_sub_string, insert_char.

Addition: Netulex is a support module for ulex

Improvement: For bytecode, ocamlnet includes now "accelerators",
i.e. C implementations of some time-intensive auxiliary functions.
Currently, the character set conversions from ISO-8859-1 and from
UTF-8 are accelerated.

Enhanced Netsendmail module: It is now possible to create much
more complicated mails, e.g. multipart/related mails.

Improvements in Neturl: New function parse_url automatically selects
the URL syntax. Support for a lot of new URL schemes. Enhanced
URL syntax: Support for userparam, and the prevention of relative
URLs.

Added charset CP-1047 (= Latin1 as EBCDIC).

Added ocamldoc to module interfaces, including a lot of tutorials.

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
[email protected]          http://www.gerd-stolpmann.de
------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.