Contact Us | Site Map

Experts in Innovative Messaging Solutions

 
+1 240-597-1551
Home Services Download Purchase Pricing
Learn More...

JMIME Home

Features

Evaluate

Purchase

Reference Manual

Change Log

XML Feed

 

 
Hunny JMIME Change Log
This page will keep you up-to-date on Changes to JMIME.
JMIME Change Log

Version 3.0 -- 24 Oct 2005

  • Bug fix in ByteString.indexOf(int).

  • New support for RFC 2231. DispositionType has new methods DispositionType.filenameU() and DispostionType.setFilenameU(String) that correctly add the filename parameter according to RFC 2231.

  • New capabilities in the classes in the mail namespace. These classes now handle HTML email much better, including HTML email with inline images.

  • Many "properties" were changed from ByteString to String. Most of these properties should take values that consist of only ASCII characters. By changing these properties to String, we lose the ability to enforce the ASCII restriction, but we gain much in ease of use. Some examples include Mailbox.localPart, Mailbox.domain, MediaType.type, MediaType.subtype, Parameter.name, and Parameter.value.

  • The naming convention for "getters" and "setters" is made completely consistent. The getter omits the "get" prefix. The setter always has the "set" prefix. For example, for the Mailbox.domain property, the getter is Mailbox.domain() and the setter is Mailbox.setDomain(String). While it's true that the "get" prefix is a common naming convention, and is part of the Java Beans naming convention, the getter without the "get" prefix is more economical and appears more pleasing when functions are chained together. Consider

        msg.getHeaders().getContentType().getType();
    
    versus
        msg.headers().contentType().type();
    
  • The character encoding conversion capability of Mailbox is greatly improved. The methods Mailbox.getDecodedDisplayName and Mailbox.setDecodedDisplayName are gone, because it is almost impossible to create the encoded words correctly. The changes are based assumptions that the programmer works with Unicode internally in the application, and converts to an alternative character encoding only when importing to or exporting from the internal environment.

  • The character encoding and decoding implementation in Text is improved and more thoroughly tested.

  • The BinHex was rewritten and is now more robust and more thoroughly tested.


Version 2.2.4 -- 6 Nov 2003

  • Bug fix: parameters in headers fields that contain spaces are delimited
    by quotation marks
  • Improved code in Uuencode class

Version 2.2.3 -- 20 Aug 2003

  • Bug fix: Parent node of headers and body not set in Entity copy constructor

Version 2.2.2 -- 7 May 2003

  • Changes to the documentation
  • Internal changes to Text class
  • New method: Text.getCharset()

Version 2.2.1 -- 21 February 2003

  • Bug fix: IndexOutOfBoundsException thrown when parsing a multipart
    message that contains two consecutive boundary lines

Version 2.2 -- 30 January 2003

  • Bug fix: MsgId.createDomain() sets domain to empty string instead of null
    on failure
  • Bug fix: EncodedWord.bEncode()
  • Bug fix: AppleFile.setBackupTime() changed to public
  • Parts of Text class rewritten. Includes new method
    Text.setUnicodeText(String unicodeText, String charset) which correctly
    encodes 8-bit character sets, plus non-modal multibyte character
    encodings (UTF-8, BIG5, EUC-CN, EUC-JP, EUC-KR, EUC-TW, GB2312, GBK,
    Shift_JIS) and modal multibyte character encodings (ISO-2022-JP,
    ISO-2022-KR, ISO-2022-CN). Note that these encodings depend on the Java
    implementation for conversion.
  • Changes to TextUtil:
    Added: CRLF_EOL, LF_EOL, toCrLf(), toLf(), toDefaultEol()
    Removed: isSpace(), skipWhiteSpace(), skipNonWhiteSpace(), skipComment(),
    character constants (HT, LF, etc)
  • Base64Encoder[W], Base64Decoder[W] rewritten to encode/decode faster
  • Base64Decoder[W].decodeSegment() and Base64Decoder[W].decode() throw
    a DecodeException if an error occurs
  • New method: QuotedPrintableDecoder[W].errorDetected().
    QuotedPrintableDecoder[W] now does the right thing with decoding errors.
  • Parts of BinHex rewritten
  • AppleFile.unpack() throws a DecodeException if an error occurs
  • New method: ByteStringBuffer.setLength()
  • DecodeException has an integer error code
  • Removed method: Headers.contentLanguage().
    (Use hdrs.fieldBody(Headers.CONTENT_LANGUAGE).)

Version 2.1 -- 12 November 2002

  • Bug fix: FieldBody.getText() incorrectly returned empty ByteString after
    AddressList.parse()
  • Bug fix: FieldBody.setText(ByteString) incorrectly set the is-modified
    flag in the FieldBody object
  • Bug fix: Field.fieldBody() did not set the parent of the new FieldBody
    object
  • Added new methods Entity.setHeaders(Headers) and Entity.setBody(Body)
  • Added new convenience methods MediaType.getCharset() and
    MediaType.setCharset(ByteString)
  • Added new constant Headers.CONTENT_LANGUAGE
  • Added "How To" document: How-To.htm
  • Added how-to subdirectory with additional, short examples
MIME++ JMIME XStream MIME Mail++ Mail.net Secure Mail S/MIME XFilter
About Us Contact MIME FAQ Advisors Services Downloads Support
Copyright 2005 Hunny Software, Inc. All rights reserved Site by Clarity