Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 23e8c5c56c958d9176bd72446c4a419f > files > 2

jtnef-1.6.0-5.fc15.noarch.rpm



CHANGES IN THE 1.6.0 RELEASE
----------------------------
- Added RawInputStream.toByteArray() overload with max bytes to return.
- Reduced memory allocation in RawInputStream.toString() for large streams.
- Added CompressedRTFInputStream class and moved all compressed-RTF related functionality into it.
- Changed RTF decompression end condition to be a self-referencing reference instead of using size field.
- Changed RTF decompression to skip CRC check on uncompressed data.
- Fixed Msg handling of message signature attachments containing an image.
- Fixed Msg processing of multivalued MAPI types (MV_FLAG).
- Fixed MAPIPropName.equals() comparison.
- Added Message.getOEMCodePage() method.
- Fixed handling of attAttachTransportFilename attribute.
- Changed Message.getMAPIProps() to throw IOException.
- Added Exchange property ID constants.
- Improved javadocs and misc. minor refactorings.




CHANGES IN THE 1.5.0 RELEASE
----------------------------
- Changed Msg.processRecipients() to return array instead of List and fixed ClassCastException.
- Added PR_HTML and PR_BODY_HTML properties and their conversion in TNEFMime.
- Made text body parts converted by TNEFMime use the UTF-8 encoding explicitly.
- Fixed RawInputStream mark/reset implementation.
- Added thrown IOException if attribute length is greater than actual available bytes in TNEFInputStream.readAttr().
- Fixed NullPointerException in ReadReceiptHandler when a field is missing.
- Added TNEFMime command line option to directly convert a TNEF attachment into a MIME file.
- Improved documentation, javadocs, formatting and misc. minor refactorings.




CHANGES IN THE 1.4.0 RELEASE
----------------------------
- Fixed attachment filename to be taken from TNEF attributes if it cannot be determined from the MAPI props.
- Added support for converting a contact field with multiple values to multiple vCard fields in ContactHandler.
- Fixed equals-hashCode contract of MAPIPropName.
- Improved documentation, misc. minor fixes and applied some FindBugs recommendations.
- Introduced the GUID class with immutability guarantee and convenience methods, now used wherever guids are needed.
- Fixed RawInputStream to always handle end of stream conditions properly.
- Added initial proof-of-concept .msg file handling in the new msg package and Msg class.
- Fixed Attachment to remove leading GUID only on PT_OBJECTs.
- Added Attr constructor which accepts an arbitrary data object (not just a RawInputStream).
- Added an empty constructor to Message and extracted a read() method for easier subclassing and external use.
- Added an embed parameter to TNEFMime.convert() for making converted TNEF message embedding optional.




CHANGES IN THE 1.3.1 RELEASE
----------------------------
- Fixed TNEFMime conversion when the TNEF attachment is the root mime part, rather than an attachment.
- Added experimental support for read receipt notifications (RFC 2298) in the new ReadReceiptHandler class.
- Added a name field to RawDataSource, which is being used to properly support attachment filenames.
- Reorganized and significantly improved vCard (contact) support in the new ContactHandler class.
- Updated and added many vCard fields, including additional contact devices and X509 certificates.
- Improved documentation and misc. minor fixes.




CHANGES IN THE 1.3.0 RELEASE
----------------------------
- Fixed backward compatibility with JDK 1.3.1.
- Added TNEFUtils.replace() method, which is used instead of String.replaceAll().
- Fixed PR_ATTACH_DATA_OBJ properties to provide the content data without the leading GUID.
- Fixed robustness of reading from streams, using read loop instead of single read.
- Added TNEFUTils.calculateChecksum() overloads that accept a partial byte array or a RawInputStream.
- Improved TNEFInputStream.readAttr() to reuse RawInputStream and avoid reading data into memory.
- Added RawInputStream.readFully() method, and modified RawInputStream to use it internally.
- Added RawInputStream.readXXX() methods for the primitive TNEF types.
- Added MAPIValue.getRawData().
- Changed ByteArrayInputStream returned by MAPIValue.getValue() with PT_OBJECT to RawInputStream.
- Changed internal MAPIValue data to be stored as RawInputStream.
- Added constructors to all objects that parse from a RawInputStream.
- Improved TNEF.main to catch Throwable rather than Exception.
- Modified a RawInputStream constructor contract - it now starts at current position of given RawInputStream.
- Removed byte array constructors.
- Fixed RawInputStream.available(), which is now used internally.
- Modified everything for minimal memory use, by using RawInputStream everywhere.
- Fixed parsing of PT_SHORT type properties.
- Fixed parsing of PT_CLSID type properties.
- Added URL (PR_BUSINESS_HOME_PAGE) to vCard.
- Added common CDO PropSetId GUID constants to MAPIProp for convenient use with MAPIPropNames.
- Added TNEFUtils.toGUID() convenience method to convert a GUID string to a GUID byte array.
- Added overloaded MAPIProp.findProp(), getProp() and getPropValue() methods that work with MAPIPropNames.
- Added MAPIPropName.equals() method.
- Fixed vCard conversion of email field, using the CDO named property.
- Reorganized contact to vCard conversion code.
- Fixed escaped character handling in vCard conversion.
- Updated to vCard version 3.0.
- Added TNEFUtils.calculateCRC32() method and its use in decompressRTF().
- Added BufferedInputStream wrapping for files in RawInputStream.
- Fixed up the javadocs.




CHANGES IN THE 1.2.3 RELEASE
----------------------------
- Added getMAPIProps convenience method to Message.
- Changed atpWord attributes (attMessageClass) to return a string value.
- Added experimental vCard (IPM.Contact) processing in TNEFMime.
- Added RTF bodypart to converted message in TNEFMime if PR_RTF_COMPRESSED property exists.
- Updated Attachment.getFilename javadoc to explicitly mention that filename may be null.
- Added VCARD (IPM.Contact) support in TNEFMime.
- Added text/rtf bodypart when PR_RTF_COMPRESSED property exists in TNEFMime.
- Fixed TNEFMime handling when attachment has no filename.
- Added jtnef.checksum.ignore system property to ignore invalid checksums.
- Added TNEFInputStream.setChecksumIgnore method to ignore invalid checksums.




CHANGES IN THE 1.2.2 RELEASE
----------------------------

- Fixed casting bug in TNEFMime.
- Fixed overwriting of text of inner rfc822 message in TNEFMime.
- Added getPropValue convenience method in MAPIProps.
- Added finalizer in RawInputStream to close the underlying resources when no longer used.
- Added utility method in TNEFUtils to check if a mime type is TNEF (includes application/vnd.ms-tnef).
- Fixed Attachment.writeTo method to use a copy of the stream and leave the main stream untouched.
- Fixed Attachment.writeTo when an attachment has no content.
- Optimized Attachment.writeTo by using a buffer.
- Fixed up the javadocs.




CHANGES IN THE 1.2.1 RELEASE
----------------------------

- Added TNEFUtils.decompressRTF method which can decompress PR_RTF_COMPRESSED properties.
- TNEFInputStream now uses RawInputStream internally to reduce memory footprint.
- Fixed TNEFInputStream when used with file-based constructors (using RawInputStream).
- Fixed TNEFUtils bytes-to-unsigned methods to be truly unsigned.




CHANGES IN THE 1.2 RELEASE
--------------------------

- Added getAttribute(int ID) methods to Message and Attachment for easier access to attributes.
- Attributes of type atpDate are now always in GMT and with 0 milliseconds.
- Fixed attRecipTable attributes with multiple recipients.
- Fixed the MAPIProps unused constructor.
- Added GUID to MAPIPropName display.
- Added MAPIProps container for easier access to property collections.
- Changed MAPIValue.getValue() return object types to better reflect the MAPI types:
                PT_INT          -> Integer
                PT_ERROR        -> Integer
                PT_BOOLEAN      -> Boolean
                PT_FLOAT        -> Float
                PT_DOUBLE       -> Double
- Fixed RawInputStream.toByteArray() to work properly when the raw source is a byte array.
- Fixed RawInputStream.newStream() to return proper length for -1 parameter.
- Added TNEFUtils.getU64() method.
- Changed non-Unicode string decoding to use "ISO8859-1" encoding
  (see TNEFUtils.createString() JavaDoc). This allows the original bytes to be reconstructed.




CHANGES IN THE 1.1 RELEASE
--------------------------

- TNEFMime command line now takes an options parameter.
- TNEFMime command line supports option to extract a TNEF attachment from a MIME file.
- Added getKey() method to TNEFInputStream to retrieve stream key.
- Fixed handling of named properties of type MNID_STRING.
- Fixed handling of properties of type PT_NULL.
- Fixed Unicode support for properties of type PT_UNICODE_STRING.
- Fixed handling of some multivalued properties (MV_FLAG).
- Added toString() methods to Address, TRPAddress and RawInputStream for friendlier display.
- Limited hex dump length for long binary fields.
- Changed non-Unicode string decoding to use "Cp1252" encoding (see TNEFUtils.createString() JavaDoc).




CHANGES IN THE 1.0 RELEASE
--------------------------

- This is the first release of the Java TNEF package.
- Pre-release versions had a different package name prefix, but now it is
  net.freeutils.* in accordance with the Java package naming convention.