2017/09/21 ***** v3.1.0 shipped ***** 2016/01/11 fadden - Fix handling of disk images (broken by previous change). 2015/12/26 fadden - Fix handling of entries with missing threads. - Improve handling of Mac OS X file type attributes. 2015/01/09 ***** v3.0.0 shipped ***** 2015/01/03 fadden - Mac OS X: replace Carbon FinderInfo calls with BSD xattr. - Mac OS X: fix resource fork naming. - Mac OS X: disable use of native resource forks. 2015/01/02 fadden - Distinguish Unicode and Mac OS Roman strings. 2014/12/22 fadden - Source code cleanup. 2014/10/30 ***** v2.2.2 shipped ***** 2014/10/28 fadden - Switched from CVS on sourceforge to github. - Updated configure scripts and makefiles. 2007/02/19 ***** v2.2.0 shipped ***** 2007/02/19 fadden - Auto-detect and handle "bad Mac" archives. - Switched from LGPL to BSD license. 2006/12/02 fadden - Check for overrun when unpacking RLE. 2006/02/18 ***** v2.1.1 shipped ***** 2006/02/18 fadden - Correct a wayward assert. (Changing the filetype of a file from an HFS disk, which has zero-length data fork, falsely triggered the assert.) 2005/09/17 ***** v2.1.0 shipped ***** 2005/09/17 fadden - Added "kNuValIgnoreLZW2Len" flag, which enables NuLib2 to handle archives created by an unknown but badly broken program. - Fixed build for gcc v4.0. 2004/10/11 ***** v2.0.3 shipped ***** 2004/09/25 fadden - Fixed: attempting to add files after deleting *all* entries in an archive would fail. - Removed use of a "ushort" from NufxLib.h. 2004/09/20 fadden - Corrected behavior after flush when original archive can't be deleted. 2004/09/09 fadden - Added header offset and junk offset to NuGetAttr. 2004/08/22 fadden - Fixed obscure bug when recompressing a GSHK-added zero-length file when "fake threads" is enabled. 2004/03/10 ***** v2.0.2 shipped ***** 2004/03/09 fadden - Set access permissions based on umask when extracting a "locked" file. My thanks to Matthew Fischer for sending a patch. - Reject archives with a MasterEOF == 48, not <= 48. There are some otherwise valid archives created by an old version of ShrinkIt that have MasterEOF==0. 2003/10/16 ***** v2.0.1 shipped ***** 2003/10/16 fadden - Added workaround for bad HFS option lists created by GSHK. - Added junk-skipping feature. Up to 1024 bytes of crud (e.g. MacBinary headers or HTTP remnants) will be searched for evidence of an archive. 2003/06/19 sheppy - Added support for resource forks and file and aux types when built for Mac OS X. 2003/03/18 ***** v2.0.0 shipped ***** 2003/03/10 fadden - Added support for automatic high-ASCII text stripping. 2003/02/23 fadden - Added test-twirl to samples. 2003/02/22 fadden - Turn off EOL conversion when extracting disk images. - Added NuTestRecord(). 2003/02/18 fadden - Added "original pathname" fields to NuFileDetails and NuErrorStatus. - Changed callback setters to return NuCallback instead of NuError. - Switched to case-sensitive filename comparisons. 2003/02/08 fadden - Upped version to v2.0.0. - Changed DataSource API. Removed "doClose" and added an optional callback function that handles releasing of resources. Necessary to make Win32 DLLs work right with unsuspecting apps. - Changed DataSource "copy" function to use refcounting. Still not quite right, but it'll do for now. Memory leaks in DataSource handling appear to be fixed. (I love valgrind.) 2003/01/10 fadden - Added version numbers to header. - Added kNuValueMaskThreadless to control handling of "threadless" records. Now records without threads can be silently "fixed" so the application does need to handle them specially. 2002/12/06 fadden - Made changes to allow NufxLib to be built as a Win32 DLL. 2002/10/20 ***** v1.1.0 shipped ***** 2002/10/10 fadden - changed behavior so that deleting all records is allowed 2002/10/09 fadden - added support for "bzip2" compression via libbz2 - added ability to selectively disable compression methods - added "-m" flag to samples/launder so you can specify compression 2002/09/30 fadden - added support for "deflate" compression via zlib 2002/09/27 fadden - added support for 12-bit and 16-bit LZC (UNIX compress) 2002/09/26 fadden - added support for SQueezed files (both compress and expand) 2002/09/23 fadden - ran the code through valgrind; found and fixed some minor bugs 2002/09/20 fadden - pulled the sources out and started fiddling with them again - changed hard tabs to spaces 2000/05/22 ***** v1.0.1 shipped ***** 2000/05/22 fadden - added workaround for buggy 140K DOS3.3 GSHK images 2000/05/18 ***** v1.0.0 shipped ***** 2000/05/18 fadden - updated version information to indicate final release 2000/03/25 ***** v0.6.1 shipped ***** 2000/03/25 fadden - Sheppy says Mac OS X PPC v1.02 and v1.2 work with minor SysDefs tweak 2000/03/05 ***** v0.6.0 (beta) shipped ***** 2000/03/05 fadden - modified NuOpenRW to call mktemp or mkstemp if tmpPath looks like a template - removed DEBUG_MSGS from default CFLAGS - updated version information to indicate beta release 2000/02/24 ***** v0.5.1 shipped ***** 2000/02/20 changes from Scott Blackman - portability fixes for DJGPP under Win95 2000/02/17 changes from Devin Reade - portability fixes for BSD, AIX, and others 2000/02/09 ***** v0.5.0 (alpha) shipped ***** 2000/02/08 fadden - tweaked the BeOS/PPC config around a little - deleted some commas to make "gcc -pendantic" happy 2000/02/06 fadden - include @CFLAGS@ in case somebody wants to override them 2000/02/06 ***** v0.4.0b shipped ***** 2000/02/06 fadden - added "install-shared" make target - portability fixes for HP/UX - configure.in test for presence of snprintf/vsnprintf declarations 2000/02/06 ***** v0.4.0a shipped ***** 2000/02/06 fadden - massaged configure.in for BeOS, and added some type casts for mwerks 2000/02/06 ***** v0.4.0 shipped ***** 2000/02/06 fadden - added value range checking to Nu_SetValue 2000/02/05 fadden - finished "test-basic" - added an "install" target to copy libnufx and NufxLib.h - added "mkinstalldirs" - fixed a memory leak in NuTest - made several implicit typecasts explicit for Visual C++'s benefit - renamed MiscStuff's replacement function to "Nu_function" - use "rb" or "wb" as fopen arg in sample code for Win32 2000/02/04 fadden - wrote a fair piece of "test-basic" - added "stickyErr" to "toBuffer" data sink so we can catch overruns 2000/02/02 fadden - minor changes to get it working under Win32 (Visual C++ 6.0) - added --enable-dmalloc to configuration - instead of constantly allocating 16K buffers, use pArchive->compBuf - ignore DataSink convertEOL value when doExpand is false 2000/02/01 fadden - added system-specific PATH_SEP define for samples (imgconv, exerciser) - set the pathname in ErrorStatus for CRC failures 2000/01/31 fadden - fixed a typo causing zero-byte GSHK-damaged files to report CRC errors - added support for DOS-ordered 2MG images to "imgconv" 2000/01/29 ***** v0.3.0 shipped ***** 2000/01/29 fadden - renamed "tests" to "samples" - changed library version to x.y.z format (major, minor, bug-fix) - added DEBUG_VERBOSE define, took some stuff out of DEBUG_MSGS 2000/01/28 fadden - make the Skip result work when an input file can't be opened - don't allow leading fssep chars in AddRecord - don't treat a multi-file BNY that happens to have a ShrinkIt archive in the first slot as a BXY - added "-t" flag (write to temp) to "launder" - in OpenReadWrite, treat zero-length archive files as newly-created - added workaround for GSHK's zero-byte data fork bug 2000/01/26 fadden - added status result flags to NuFlush - dropped kNuAbortAll and added kNuIgnore - implemented kNuValueIgnoreCRC - update the storageType whenever we change the record 2000/01/25 fadden - don't remove the temp file if the rename fails - Nu_ReportError now optionally uses a callback instead of stderr - pass NuArchive* and all the trimmings into Nu_ReportError so we can do the callback thing; required adding arguments to lots of places - clearly labeled BailError output as debug-only, then replaced most of the BailErrorQuiet calls with BailError - added global error message for when pArchive doesn't exist (e.g. Open) 2000/01/24 fadden - added args to "launder", and made it work right with 0-length threads - reject disk image threads that aren't a valid size - in NuFlush, recognize when a "copy" set hasn't had any changes made - AddThread no longer makes a copy of the DataSource 2000/01/24 ***** v0.2 shipped ***** 2000/01/23 fadden - added "sec" (Set ErrorHandler Callback) to exerciser - wrote "launder" test program - made "doExpand" option on data sinks work 2000/01/22 fadden - added OnlyUpdateOlder attribute and implemented for add and extract - made HandleExisting work for AddFile/AddRecord - AddThread's validation now blocks data and control threads in same record - AddFile and AddRecord now use same validation function as AddThread 2000/01/20 fadden - added Eric Shepherd's BeOS shared lib stuff to configure.in - restructed the progress updater, and made it work when adding files 2000/01/19 fadden - normalized SysDefs.h, changing UNIX to UNIX_LIKE and defining for BeOS - added "shared" target to makefile - added BeOS stuff to autoconf setup 2000/01/17 fadden - fixed Makefile issue preventing "tests" from working with old GNU make - fixed Lzw.c problem fouling up SunOS gcc v2.5.8 - discovered "<" vs "<=" flapping in GSHK, which I can't Mimic - fixed option list dump in debug print - properly return from all Malloc errors; abort is now debug-only again - lots of BeOS/Metrowerks "it's not gcc" changes from Eric Shepherd 2000/01/17 ***** v0.1 shipped ***** (much time passes) mid-1998 fadden - work begins