----------------------------------------------------------- 1.0.3 (Sep 18th 2001) --------------------- in short: Small cosmetic changes. Cleaning up the contributions. New makefile for mingw32, and new fbcon example. Major thanks to Greg for helping out with the *nix stuff! Note that there's also a separate download for ASM programmers now. Check http://www.libmng.com for details (download/ports&packages page). It may be a while for the next release. I'm "off duty" for the next 8 or so months... Gerard ------------------- bugfixes: - B459058 - wrong include for lcms headers core: - changed inclusion of lcms.h header for Linux platforms (suggested by Greg) - added get function for last processed BACK chunk samples: - replaced the gtk & sdl viewer apps with updates by Greg Roelofs contrib: doc: makefiles: - changed makefile.linux & makefile.unix as suggested by Greg Roelofs (makefile.linux now compiles with lcms by default) - added makefile.mingw for mingw32 by Benoit Blanchon (thanks Mate!) autoconf: ----------------------------------------------------------- 1.0.2 (Jul 7th 2001) -------------------- in short: Another maintenance release with a few added extra's. ------------------- bugfixes: - B421427 - writes wrong format in bKGD and tRNS - B434583 - compiler-warning if MNG_STORE_CHUNKS undefined core: - added optimization option for MNG-video playback - added processterm callback - added late binding errorcode (not used internally) - fixed memory-leak with delta-images (Thanks Michael!) - added option to turn off progressive refresh for large images samples: contrib: doc: makefiles: autoconf: ----------------------------------------------------------- 1.0.1 (May 2nd 2001) -------------------- in short: Maintenance release. Fixed several memory-leaks with the help of Gregg Kelly, added/fixed some CMS handling, exported JPEG functions from standard DLL, and some other minor fixes. The CMS fix now makes libmng automagically work in MNG_FULL_CMS mode as a sRGB compliant system. YOU WILL NEED TO CHANGE THIS IF YOU ARE NOT ON AN sRGB COMPLIANT SYSTEM AND WANT TO USE CMS!!!! (look in libmng.h for the proper function-calls) ------------------- bugfixes: core: - added MEND processing callback - fixed first FRAM_MODE=4 timing problem - added handle status-copy function (use with care) - exported JPEG functions from standard DLL - added BGRA8 canvas with premultiplied alpha (contrib by Gregg Kelly) - fixed problem with display_reset/display_resume (Thanks Gregg!) - fixed several memory-leaks (Thanks Gregg!) - fixed reset_rundata to drop all objects (Thanks again, Gregg!) - fixed problem with cms profile being created multiple times when both iCCP & cHRM/gAMA are present (And again... Gregg) - moved mng_clear_cms to libmng_cms - added "default" sRGB generation (Thanks Marti!) samples: contrib: doc: makefiles: autoconf: ----------------------------------------------------------- 1.0.0 (Feb 6th 2001) -------------------- in short: First public release. Finally(!) This is the 0.9.5 CVS version, which will never be released, because I feel it is now ready for a public release. So apart from the version-numbers here and there, all other changes are listed under 0.9.5. This library will work with every MNG/JNG known and available to me. Note that there are still parts that need to be coded, and that MNG support is around 90-95% (JNG at 100%). It is however compliant with the latest and greatest MNG 1.0 specification. I hope to dedicate a bit more time this year to finish up full support and fill in the remaining blanks. But this is coming out of my spare time. And extra help is always appreciated. Please enjoy! Gerard ----------------------------------------------------------- 0.9.5 (no release) ------------------ in short: intermediate CVS ------------------- bugfixes: B129681 - fixed compiler warnings SGI/Irix (thanks Dimitri) core: - fixed compiler-warnings Mozilla (thanks Tim) - fixed timing-problem with switching framing_modes - fixed some small compiler warnings (thanks Nikki) samples: contrib: - fixed library-paths for MSVC DLL project (thanks Chad) doc: makefiles: - added makefile for DJGPP (thanks Silvio) autoconf: ----------------------------------------------------------- 0.9.4 (Jan 19th 2001) ---------------------- in short: Now that the MNG spec is at 1.0, this should be the last beta. There's a few small changes to make it inline with the spec, and a couple of bug-fixes. This is a serious release-candidate for libmng-1.0!! Please... test test test test!! ------------------- bugfixes: B123314 - fixed number of TERM related problems B123322 - fixed unwanted repetition in mng_readdisplay() B123443 - fixed by Ralph B124910 - fixed definition for WIN32_LEAN_AND_MEAN (thanks Chad) B125750 - fixed by Ralph B125756 - fixed mixup of data- & function-pointers (thanks Dimitri) B127517 - changed inclusion of the lcms header file for non-windows platforms core: - version numbers - fixed possible loop in display_resume() (Thanks Vova!) - fixed unwanted repetition in mng_readdisplay() - changed inclusion of the lcms header file for non-windows platforms - changed IHDR filter_method check for PNGs - moved restore of object 0 to libmng_display - added restore of object 0 to TERM processing (B123314) - fixed TERM delay processing (B123314) - fixed TERM end processing when count = 0 (B123314) - changed callback convention for MSVC (Thanks Chad) - fixed mixup of data- & function-pointers (thanks Dimitri) - added support for "nEED MNG-1.0" - added errorcode for MAGN methods - added errorchecking for MAGN methods - removed "old" MAGN methods 3 & 4 - added "new" MAGN methods 3, 4 & 5 - removed test filter-methods 1 & 65 - set default level-set for filtertype=64 to all zeroes samples: contrib: - added GTK mng-view example by Vova Babin - added MSVC MNGview sample by Nikolaus Brennig - updated Jason Summer's mngplg to version 0.9.2 (that's mngplg-0.9.2 based on libmng-0.9.3 !!!) - rearranged contrib directory slightly - added MSVC project to build libmng.dll by Chad Austin doc: - added README.dll - added README.config makefiles: - added a makefile for MS Visual C++ (Thanks to Atsushi Matsuda) autoconf: - fixed configure.in for lcms (FreeBSD port by Mikhail Teterin) - by default configure includes CMS support if lcms is present ----------------------------------------------------------- 0.9.3 (October 29th 2000) ------------------------- in short: Another beta release. The number of changes in the MNG specification have resulted in a lot of new code and some changed code. At the same time I saw no need to withhold some new functionality as it was pretty clear there was going to be another beta-round. If things go well, I'm going to try to release libmng 1.0.0 very shortly after this one. Many thanks to a lot of people for helping out, sending contributions, making suggestions and testing this little baby. This would get nowhere without YOU!!! - fixed bug 111300/117103 - added workaround for faulty PhotoShop iCCP chunk - added MAGN/JDAA chunks - added support for new filter_types - added PNG/MNG spec version indicators - added BCB mngview contribution by Andy Protano - added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano) - implemented support for nEED "draft nn" - implemented app-defined support for bKGD for PNG images - removed trace-options from default SO/DLL builds (!!!) - raised initial maximum canvas size to 10000x10000 (!!!) (an App that wants to protect from overly large images should call mng_set_maxcanvassize() with appropriate values) - fixed other assorted stuff ------------------- bugfixes: B111300 - fixup for improved portability B117103 - fixed compilation errors on *nix with lcms (thanks Ralph!) core: - fixed compiler-warnings from Mozilla - added check for simplicity-bits in MHDR - added workaround for faulty PhotoShop iCCP chunk - fixed app-supplied background restore - fixed TERM processing delay of 0 msecs - fixed write-code for zTXt & iTXt - fixed read-code for iTXt - added MAGN chunk - fixed sRGB precedence for gamma_only corection - added support for new filter_types - fixed problem with no refresh after TERM - fixed DEFI behavior - fixed inclusion parameters to make the external libs work together - added export of zlib functions from windows dll - fixed timing & refresh behavior for single PNG/JNG - removed trace-options from default SO/DLL builds (!!!) - fixed MAGN rounding errors (thanks Matthias!) - fixed small timing problem when FRAM delay = 0 - fixed simplicity-check in compliance with draft 81/0.98a - fixed alpha-blending for all alpha-canvasstyles - added support for alpha-depth prediction - fixed processing of unknown critical chunks - removed test-MaGN - added PNG/MNG spec version indicators - implemented support for nEED - added support for JDAA - added functions to retrieve PNG/JNG specific header-info - added optional support for bKGD for PNG images - raised initial maximum canvas size to 10000x10000 - added support for delta-JNG - added callback to process non-critical unknown chunks - fixed support for delta-images during read() / display() - added closestream() processing for mng_cleanup() - fixed delta-processing behavior - added storage for pixel-/alpha-sampledepth for delta's - implemented delayed delta-processing - fixed putchunk_plte() to set bEmpty parameter (thanks Ben!) - added errorcode for delayed delta-processing - added get/set for bKGD preference setting - added get function for interlace/progressive display - fixed bug in empty PLTE handling - fixed seperate read() & display() processing - fixed tRNS processing for gray-image < 8-bits samples: - added BCB mngview contribution by Andy Protano contrib: - added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano) doc: - updated RPM spec-file by MATSUURA Takanori - updated README.contrib makefiles: - fixed some stuff in automake/autoconf/libtool - fixed auto* for bug B117103 ----------------------------------------------------------- 0.9.2 (August 7th 2000) ----------------------- in short: Third beta release! Last one??? !!IMPORTANT!! All file-names are now prefixed with "libmng_" !!IMPORTANT!! Many thanks to Albert Chin-A-Young for his contribution of the autoconf/automake/libtool stuff and to Ralph Giles for helping me put it in the right places. There's a special README.autoconf so please read it! - fixed bug 110320/110546/110547/111096 - added several status retrieval functions - fixed other small bugs in display processing - fixed number of small problems and documentation typos - added autoconf/automake/libtool - added latest MNG plugin (0.9.0) by Jason Summers ------------------- bugfixes: B110320 - fixed GCC warning about mix-sized pointer math B110546 - fixed for improperly returning UNEXPECTEDEOF B110547 - fixed bug in interlace code B111096 - fixed large-buffer read-suspension core: - version numbers - fixed small bugs in display processing - removed Nextbackxxx fields (no longer used) - fixed problem with trace-functions improperly wrapped - put specific code in add_chunk() inside MNG_SUPPORT_WRITE wrapper - fixed documentation typos - fixed wrapping of suspension parameters - added status_xxxx functions - added trace-codes/-strings for status_xxxxx functions - changed file-prefixes - added function to set simplicity field - added trace-code/-string for updatemngsimplicity - fixed putchunk_unknown() function samples: contrib: - added latest MNG plugin (0.9.0) by Jason Summers doc: - version numbers - added autoconf readme - version numbers in RPM stuff makefiles: - fixed for new file-prefix - added autoconf/automake/libtool ----------------------------------------------------------- 0.9.1 (July 26th 2000) ---------------------- in short: Second beta release. Given the enormous amount of bug-reports (not ;-), this will most likely be one of the last betas. If things remain upright, the first public release (1.0.0) is fairly eminent in the weeks to come... - added SDL mng player by Ralph Giles to contributions - fixed timing and added internal buffering for I/O-suspension scenarios - added get routines for internal display-state variables (frame/layer/playtime) - changed read-processing for improved I/O-suspension (internal buffering) - fixed several problems with create- & write-support - added a load of documentation - lots of small stuff ------------------- bugfixes: core: - fixed mandatory BACK color to be opaque - changed mng_display_resume to allow to be called after a suspension return with MNG_NEEDMOREDATA - changed comments to indicate modified behavior for timer & suspension breaks - added variables for go_xxxx processing - implemented support for freeze/reset/resume & go_xxxx - added trace-codes/-strings for special display processing - added variables for improved timing support - added support for improved timing - added get routines for internal display variables - added get/set routines for suspensionmode variable - added trace-code/-string for get/set suspensionmode - added trace-codes/-strings for get/set display variables - added support for improved I/O-suspension - changed read-processing for improved I/O-suspension - added trace-code/-string for read_databuffer (I/O-suspension) - added suspendbuffer constants - changed EOF processing behavior - fixed TERM delay processing - changed pre-draft48 frame_mode=3 to frame_mode=1 - added callbacks for SAVE/SEEK processing - added trace-codes/-strings for SAVE/SEEK callbacks - added variable for NEEDSECTIONWAIT breaks - added trace-codes/-strings for get/set sectionbreaks - added NEEDSECTIONWAIT error-code/-string - added macro + routine to set returncode without calling error callback - added trace-code/-string for special error routine - changed default readbuffer size from 1024 to 4200 - added variable for freeze & reset processing - fixed storage of images during mng_read() - fixed support for mng_display() after mng_read() - added error cleanup processing - fixed support for mng_display_reset() - fixed suspension-buffering for 32K+ chunks - added function to set frame-/layer-count & playtime - added trace-code/-string for updatemngheader - added error-code/-string for updatemngheader if not a MNG - fixed creation-code - fixed writing of signature - fixed several chunk-writing routines samples: - fixed the libmng.pas module in line with libmng.h contrib: - added the SDL based mngplay viewer by Ralph Giles doc: - extended the RPM contribution by MATSUURA Takanori - added libmng.txt, a full description of the library and its usage - added man-pages for mng(5), jng(5) and libmng(3) makefiles: ----------------------------------------------------------- 0.9.0 (June 30th 2000) ---------------------- in short: This is the first beta!!! Yippee!!! Thanks to all the people who helped to guide me in the right direction. You know who you are! A special thanks to the guys with early implementations, who stood by and put up with my whims :-) changes over 0.5.3: - updated mngplg to 0.4.1 (the latest & greatest) - changed refresh parameters to 'x,y,width,height' ----------------------------------------------------------- 0.5.3 (never released) ---------------------- in short: This is a working version only; the next release will be 0.9.0 (first Beta!) There are a few incompatible changes with previous versions. The userdata variable has been changed from mng_uint32 to mng_ptr to accomodate 64-bit systems. For the same reason memory allocation size parameters have been changed to a mng_size_t type which is a typedef of size_t. Thanks to Aleks Jakulin for helping to iron out some 64-bit platform issues! - implemented the update-region parameters of the refresh callback - added support for most common delta-image options - added an animation-speed modifier - added an image-level parameter for the processtext callback - updated mngplg to 0.4.0 (supports JNG, full CMS, and other enhancements!) - fixed a lot of small things - added support for PPLT chunk - fixed to support 64-bit platforms ------------------- bugfixes: core: - added processing of color-info on delta-image - fixed handling of empty SAVE chunk - fixed display of stored JNG images - fixed problem with BASI-IEND as object 0 - changed the version parameters (obviously) - added update-region parms for refresh calback - added Needrefresh parameter - added initialization of update-region for refresh - added initialization of Needrefresh parameter - changed progressive-display processing - added tracecodes for tracing JPEG progression - added tracing of JPEG calls - added Deltaimmediate parm for faster delta-processing - added extra checks for delta-images - many changes to support delta-images - optimized some store_xxx routines - fixed some small things (as precaution) - fixed possible trouble if IEND display-processing got broken up - fixed nasty bug with embedded PNG after delta-image - added processing of PLTE & tRNS for delta-images - added processing of PLTE/tRNS & color-info for delta-images in the ani_objects chain - fixed problem with color-correction for stored images - added get/set for speedtype to facilitate testing - added trace-codes & -strings for get/set speedtype - added speed-modifier to timing routine - added get-routine of imagelevel for processtext callback - added trace-code & -string for get imagelevel - added administration of imagelevel parameter - added support for PPLT chunk - added trace-codes & -strings for PPLT chunk processing - fixed problem with incorrect gamma-correction - fixed inclusion of IJG read/write code - fixed problem with 16-bit GA format - fixed problem with cheap transparency for 4-bit gray - fixed display_xxxx routines for interlaced images - added precaution against faulty iCCP chunks from PS - changed userdata variable to mng_ptr - added typedef for mng_size_t - changed size parameter for memory allocation to mng_size_t - fixed compiler-warning for non-initialized iB variable - changed definition for 32-bit ints (64-bit platforms) - changed definition for mng_handle (64-bit platforms) - swapped refresh parameters - fixed initialization routine for new mng_handle type - added inclusion of stdlib.h for abs() - fixed some 64-bit warnings - fixed incompatible return-types samples: contrib: - updated mngplg to 0.3.0 (supports JNG & full color-correction!) - updated mngplg to 0.4.0 (Jason is picking up the pace ;-) doc: - added rpm directory with rpm spec-file (contributed by MATSUURA Takanori) makefiles: - changed makefile.linux to reflect versionnr for shared-lib - changed makefile.linux to depend on mng_conf.h & mng_types.h ----------------------------------------------------------- 0.5.2 (June 10th 2000) ---------------------- in short: This is the third release for developers Another milestone since JNG is now fully supported The next release will most likely be numbered 0.9.0 as the first Beta!! Fixed bug 106017 & 106019 Added many constants regarding chunk-property values Implemented full JNG support Added all the error- & trace-strings Added get/set routines for default ZLIB/IJG parameters Added a generic makefile for Unix platforms (contributed by Tim Rowley) Added canvasstyle for separate RGB + A canvas (eg. mozilla-style) Separated configuration-options into a separate file: "mng_conf.h" Fixed stuff for generic Unix compilation (contributed by Tim Rowley) Upgraded to lcms1.0.6 (now supports 16-bit endian-peculiarities) Added a makefile for Linux ELF & fixed some code-issues to go along with gcc Added support for suspended input-buffer processing Implemented the display-routines for RGBA/ARGB/BGRA/ABGR canvasstyles Implemented the application background-restore functionality Fixed & tested the mngtree Unix-sample (runs on Linux-RH6.2 with libmng.so) Upgraded mngplg to v0.2.2 (based on the latest code including JNG) Fixed a lot of other assorted stuff ------------------- bugfixes: B003(106017) - fixed problem with being proprietary to BCB B004(106019) - fixed problem when MNG_SUPPORT_WRITE not defined core: - bumped version-numbers up to 0.5.2 (yeah, really) - fixed support for IJGSRC6B - cleaned up some code regarding mixed support-options - complemented constants for chunk-property values - fixed MNG_UINT_pHYg value - implemented JNG support - fixed problem with DEFI clipping - added error telltale strings & support - added trace telltale strings & support - added support for global color-chunks inside TERM/LOOP - added support for global PLTE,tRNS,bKGD inside TERM/LOOP - added default IJG compression parameters and such - moved init of default zlib parms to "mng_hlapi.c" - added init of default IJG parms - added support for get/set of zlib/IJG default parms - added tracestrings for global animation color-chunks - added tracestrings for get/set of default ZLIB/IJG parms - added tracestrings for global PLTE,tRNS,bKGD - added framenr/layernr/playtime to object header - added initialization of framenr/layernr/playtime - changed ani_create calls not returning object pointer - create ani objects always (not just inside TERM/LOOP) - fixed inconsistancy with freeing global iCCP profile - fixed minor bugs 16-bit pixel-handling - added object promotion routine (PROM handling) - added trace-codes & -strings for image-object promotion - added trace-codes & -strings for delta-image processing - added error-codes & -strings for delta-image processing - added support for delta-image processing - added ani-object routines for delta-image processing - added delta-image fields - added compression/filter/interlace fields to object-buffer for delta-image processing - added delta-image row-processing routines - fixed up punctuation in several files (contributed by Tim Rowley) - removed useless definition in "mng_chunks.h" (contributed by Tim Rowley) - fixed pointer confusion in "mng_display.c" (contributed by Tim Rowley) - fixed inclusion for memcpy (contributed by Tim Rowley) - added mng_int32p (contributed by Tim Rowley) - added internal delta-image processing callbacks - separated configuration-options into "mng_conf.h" - changed to most likely configuration - added RGB8_A8 canvasstyle - added getalphaline callback for RGB8_A8 canvasstyle - fixed some makeup for Linux gcc compile - implemented app bkgd restore routines - implemented RGBA8, ARGB8, BGRA8 & ABGR8 display routines - added support for RGB8_A8 canvasstyle - added support for suspended input-buffer processing - added mng_read_resume HLAPI function to support read-suspension - fixed timer-handling to run with Mozilla (Tim Rowley) - fixed alpha-handling for alpha canvasstyles - fixed some compilation-warnings (contrib Jason Morris) samples: - fixed mngview(delphi) to work with the new core - synchronized libmng.pas(delphi) with the new libmng.h header - removed the error- & trace-strings from libmng.pas(delphi) - fixed mngtree(Unix) to compile on Linux (runs with libmng.so) - added makefile.linux for mngtree(Unix) (tested on RedHat6.2) contrib: - updated mngplg to 0.2.2 (based on latest code; supports JNG!) doc: - this file obviously - added Tim Rowley as contributing author - changed the examples.readme doc - updated the design-schematics in line with the current code makefiles: - changed the directory to "makefiles" to avoid name-conflicts - added generic Unix makefile (thanks to Tim Rowley) - added Linux ELF makefile (tested on RedHat6.2) ----------------------------------------------------------- 0.5.1 May 16th 2000 ------------------- in short: This is the second release for developers It's a bit of a milestone since all the chunk functionality is in place and functioning (read, examine, create & write) This version is incompatible with 0.5.0 since some of the callback prototypes have changed (should be the last time that happens!) There are a few more samples and even a real contribution! Fixed bug 105795 & 105797 Fixed a mis-alignment in animation-timing Added chunk-access functions Finished all chunk-storage routine-bits Finished all chunk-write routines Changed the callback prototypes to allow error-reporting back to the library Fixed some routines to allow for callback error-reporting Added version-control functions & constants Added two functions to set display- & sRGB-profile from memory Moved CRC table to dynamic structure (for improved thread-safety) Added SAVE & SEEK save&restore functionality Finished the application-based CMS-callbacks Fixed a few BCB specifics Changed the Win32 DLL and samples to use __stdcall Did some more assorted little changes Added 2 BCB samples Added 1 Unix sample Added the MNG plugin by Jason Summers in the contrib section Changed some documents to reflect these changes ------------------- bugfixes: B001(105795) - fixed wrong lcms call & memory-leak for gammatables B002(105797) - fixed problem with missing sRGB profile core: - changed chunk iteration function - added chunk access functions - added version control constants & functions - changed strict-ANSI stuff - added set_outputprofile2 & set_srgbprofile2 - added empty-chunk put-routines - added version_dll & VERSION_DLL (for consistency) - added version control explanatory text & samples - added iteratechunk callback definition - improved definitions for DLL support - added 8-bit palette definition - added general array definitions - added MNG_NULL definition - changed most callback prototypes to allow the app to report errors during callback processing - added CRC table to main structure (for thread-safety) - added iPLTEentries for checking hIST-length - changed palette definition to exported palette-type - removed frozen indicator - added create/write indicators - added eMNGma hack (will be removed in 1.0.0 !!!) - added TERM animation object pointer (easier reference) - added saved-data structure for SAVE/SEEK processing - added some errorcodes - added application errorcodes (used with callbacks) - moved chunk-access errorcodes to severity 5 - added chunk-access function trace-codes - changed trace to macro for callback error-reporting - added save_state & restore_state trace-codes - put in some extra comments - fixed layout for sBIT, PPLT - changed write callback definition - fixed layout for PPLT again (missed deltatype ?!?) - cleaned up left-over teststuff in the BACK chunk routine - changed CRC initialization to use dynamic structure (wasn't thread-safe the old way !) - filled in many missing sequence&length checks - filled in many missing chunk-store snippets - added checks for running animations - filled remaining write routines - fixed read_pplt with regard to deltatype - added callback error-reporting support - added pre-draft48 support (short MHDR, frame_mode, LOOP) - fixed chunk-storage bit in several routines - supplemented the SAVE & SEEK display processing - added init of iPLTEcount - changed calling-convention definition - changed status-handling of display-routines - added versioning-control routines - filled the write routine - fixed frame_delay misalignment - added sanity check for frozen status - changed display_mend to reset state to initial or SAVE - added save_state and restore_state for SAVE/SEEK/TERM processing - added process_save & process_seek routines - changed and filled iterate-chunk function - added getchunk functions - added putchunk functions - added empty-chunk put-routines - filled application-based color-management routines - added creatememprofile - filled the deflatedata routine - added cleanup of saved-data (SAVE/SEEK processing) - moved the actual write_graphic functionality from mng_hlapi.c to it's appropriate function in the mng_write.c module - moved standard header includes into mng_types.h (stdlib/mem for mem-mngmt & math for fp gamma-calc) - added getimgdata & putimgdata functions samples: - fixed mngview(delphi) to work with the new core - synchronized libmng.pas(delphi) with the new libmng.h header - added mngtree(bcb) sample - added bogus(bcb) sample - added mngtree(unix) sample contrib: - added mngplg 0.1.0 / a MNG plugin for Win32 by Jason Summers doc: - added this changes.readme file - changed the samples.readme doc accordingly - changed the contrib.readme doc accordingly ----------------------------------------------------------- 0.5.0 May 1st 2000 ------------------ in short: This is the first developers release. It's roughly about 60% done.