=====================================================================================

                              AFP2web Server's History

=====================================================================================
New Features and Recent History
=====================================================================================
=====================================================================================
2019-04-05 [version 1.5.15 u15]
  -- Upgraded AFP2web SDK version to 5.0.44
  -- Extended to support 0 x 0 desired rows x columns for AFP 2D data matrix barcode

2019-03-27 [version 1.5.15 u14]
  -- Extended font configuration (afpcp/mapping.def->[INPUT FONT ALIASES]) to map 'Arial*' PDF fonts to 'Arial*.ttf' external fonts
     for multiple encoding (ANSI, Identity-h) support

2019-03-22 [version 1.5.15 u13]
  -- Fixed major memory leak bug in Zlib based Flate decoder for PDF inputs

2019-03-06 [version 1.5.15 u12]
  -- Upgraded AFP2web SDK version to 5.0.43
  -- Fixed bug in reading CCITTFax image stream data when stream length is greater than ((<image width> / 8) * <image height>)

2019-03-05 [version 1.5.15 u11]
  -- Upgraded AFP2web SDK version to 5.0.42
  -- Extended to write HRI (Human Readable Interface) text of AFP Code128 type barcode for AFP to PDF transformation
  -- Fixed minor bug in positioning AFP DataMatrix type barcode when symbol resolution is specified in "BDD Barcode Data Descriptor" SFI
  -- Optimized PDF page rasterization (when PDF page contains 1 bpp image alone) for PDF to TIFF/PDF transformations
  -- Fixed bug in passing through PDF 1 bpp Flate image to PDF output

2019-02-20 [version 1.5.15 u10]
  -- Upgraded AFP2web SDK version to 5.0.41
  -- Fixed minor bug in processing PDF 1 bpp Flate encoded page image for TIFF output

2019-02-18 [version 1.5.15 u9]
  -- Upgraded AFP2web SDK version to 5.0.40
  -- Extended Zlib based Flate stream decoder to handle Z_OK status returned when decoding last chunk of compressed data
     where Zlib supposed to return Z_STREAM_END status. AFP2web now ensures to stop decoding when compressed data is read
     fully and last chunk is decoded fully (either with Z_OK or Z_STREAM_END status)

2019-02-04 [version 1.5.15 u8]
  -- Upgraded AFP2web SDK version to 5.0.39
  -- Forced to rasterize PDF page image when the image has to be flipped

2019-01-25 [version 1.5.15 u7]
  -- Upgraded AFP2web SDK version to 5.0.38
  -- Fixed inverted output problem when promoting 1 bit to 8 bits for PDF (TIFF:G4 nco page) to TIFF:LZW 8 bpp transformation

2019-01-18 [version 1.5.15 u6]
  -- Upgraded AFP2web SDK version to 5.0.37
  -- Fixed bug in processing Flate encoded page inline images (defined in page content stream)
  -- Added history service (GET method: http://<server ip>[:<service port>]/services/history[.txt])
     to list "history" sub directory or to return history.txt

2019-01-12 [version 1.5.15 u5]
  -- Upgraded AFP2web SDK version to 5.0.36
  -- Fixed bug in tagging table cell object when a cell span across pages and only one object occur on last line of cell
  -- Scripting Facility Data Mining Framework: Fixed minor bug in evaluating tag id for address block objects
  -- Extended to support AFP barcodes defined in AFP overlays for AFP to PDF transformations

2018-12-14 [version 1.5.15 u4]
  -- Upgraded AFP2web SDK version to 5.0.35
  -- Fixed minor bug in evaluating photometric of 1 bpp PDF CCITTFax images when BlaskIs1 alone set
  -- Fixed minor bug in AFP IM RASTER image processing when cell size/fill rectangle size were specified as 0xFFFF in IM Image Cell Position (ICP) SFI

2018-12-12 [version 1.5.15 u3]
  -- Scripting Facility Data Mining Framework: Fixed minor bug in evaluating tag id for paragraph objects

2018-12-04 [version 1.5.15 u2]
  -- Upgraded AFP2web SDK version to 5.0.34
  -- Fixed minor bug in processing IM RASTER image (single cell and data without byte alignment)
  -- Fixed minor bug in processing GOCA box order, when GOCA window span across quadrants and any one corner lies in X axis
  -- ada.pm: Extended to process DOCUMENTBLOCK TLE specified document (Author, Keywords and Subject) properties
  -- Scripting Facility Data Mining Framework: Modified paragraph tagging to group all block content under one <P> tag
  -- Scripting Facility Data Mining Framework: Extended with "List" block to mark and tag block content as ordered or unordered list

2018-11-16 [version 1.5.15 u1]
  -- Fixed infinite decoding bug in Zlib based PDF Flate Stream decoder
  -- Extended XPDF native PDF Flate Stream decoder with minor extensions

2018-11-08 [version 1.5.15]
  -- Upgraded AFP2web SDK version to 5.0.33
  -- Extended to support wildcards (*,?) in InputURLs parameter
  -- Added ping service (GET method: http://<server ip>[:<service port>]/ping[.html])

2018-10-25 [version 1.5.14 u6]
  -- Fixed minor bug in processing empty chained (table type) blocks

2018-10-11 [version 1.5.14 u5]
  -- Fixed minor bug in processing tag classification for paragraph H<4|5|6> levels

2018-08-21 [version 1.5.14 u4]
  -- Upgraded AFP2web SDK version to 5.0.32
  -- Extended to tag multi page/multi column table in single TABLE structure element for AFP to PDF/UA transformation
  -- Extended to tag reusable objects (like image, container object etc), so that object can have different tag or no tag for each usage of object in page presentation

2018-08-03 [version 1.5.14 u3]
  -- Upgraded AFP2web SDK version to 5.0.31
  -- Fixed minor bug in evaluating photometric of 1 bpp PDF CCITTFax images for PDF to TIFF transformation
  -- Modified handling warning/recoverable libjpeg notifications and skipped aborting transformation treating those notifications as error
     Warning/Recoverable libjpeg notifications are ignored based on "ImageProcessFlags=...,<Ignore Image Error>" INI option

2018-07-31 [version 1.5.14 u2]
  -- Upgraded AFP2web SDK version to 5.0.30
  -- Fixed threhold applied twice bug when input PDF page is color and coded for PDF to PDF/A B/W transformation
  -- Extended to set document title as attribute of 'Document' structure element
  -- Extended to add 'Figure' structure element under 'H?' parent structure element (when block definition specifies 'headerLevel'='H[1-9]')

2018-07-25 [version 1.5.14 u1]
  -- Upgraded AFP2web SDK version to 5.0.29
  -- Fixed minor bug in passing through 1 bpp compressed PDF image AS IS to TIFF output (when compression match output compression)
  -- Extended to pass through PDF image AS IS to PDF output
  -- Extended to apply threshold on image for PDF to PDF (coded, non coded) transformations

2018-06-28 [version 1.5.14]
  -- Upgraded AFP2web SDK version to 5.0.28
  -- Fixed minor bug in marking images as inline to page for AFP2HTML transformation where images
     included through page segment, overlay also reported wrongly as inline to page
  -- Optimized AFP IM Raster image cell data replication by making PDF pattern (AFP to PDF transformation)
  -- Optimized AFP IM Raster images rendering by reusing identical (cell having same data, size, resolution) cells (AFP to PDF transformation)
  -- Fixed minor bug in processing GOCA points when GPS window spans across more than one quadrant
  -- Extended to process GOCA order whose definition is split across consecutive Graphics Data (GAD) SFIs
  -- Fixed minor bug (junk characters on log) while logging API call with no parameter

2018-06-05 [version 1.5.13]
  -- Fixed minor bug in JSON response generation to escape characters (", \, /, \b, \f, \n, \r, \t) on attribute values
  -- ci.smartfix_thresholdDocs.pm: Fixed minor bug (Can't call method "getBitsPerPixel" on an undefined value) in accessing image object info.

2018-05-18 [version 1.5.12 u9]
  -- Upgraded AFP2web SDK version to 5.0.27
  -- AFP2web SDK: Fixed minor bug in marking images as inline to page for AFP2HTML transformation
     where images included through page segment, overlay also reported wrongly as inline to page

2018-05-02 [version 1.5.12 u8]
  -- ci.smartfix_rescan.pm: Modified assertion of Script Argument JSON attributes as given below
     1. If processes is empty or undefined, throw error
     2. If processes[n]->pages is empty or undefined, throw error
     3. If processes[n]->reason is empty or undefined, do not write reason on rescan page
     4. If processes[n]->barcodeProcessId is empty or undefined, throw error

2018-04-10 [version 1.5.12 u7]
  -- Upgraded AFP2web SDK version to 5.0.26
  -- AFP2web SDK: Fixed minor bug (Image from first input file is presented on following input files when images of inputs
     have same object id) for 'n' PDF inputs to any transformation

2018-03-01 [version 1.5.12 u6]
  -- Upgraded AFP2web SDK version to 5.0.25
  -- Extended AFP2web SDK to determine missing resolution (in both the header and the EXIF header) of JPEG/TIFF input as given below
     a. Extended with "InputResolutions" INI option to set standard resolutions. AFP2web will select the first resolution that ensures page size <= A4
     b. Evaluate resolution that will fit page <= A4, when none of InputResolutions fits page so
  -- Extended AFP2web SDK to threshold raserized page for PDF to NCO PDF B/W transformation
  -- Extended AFP2web Scripting Facility "a2w::Page" module with "setThreshold" and "getThreshold" APIs to control thresholding page for non coded PDF output

2018-01-29 [version 1.5.12 u5]
  -- Upgraded AFP2web SDK version to 5.0.23
  -- Extended to tag images, container objects (of type image) for PDF/UA output
  -- Extended to set alternate text for figures when tagging for PDF/UA output
  -- Extended to set abbreviation expanded text (as actual text) for texts when tagging for PDF/UA output

2017-12-15 [version 1.5.12 u4]
  -- Upgraded AFP2web SDK version to 5.0.22
  -- Fixed minor bug in passing through predictor value when passing through TIFF:LZW input data to PDF output AS IS

2017-12-13 [version 1.5.12 u3]
  -- Upgraded AFP2web SDK version to 5.0.21
  -- Extended to process PNG inputs with alpha data for GREY and RGB colorspaces

2017-12-08 [version 1.5.12 u2]
  -- Upgraded AFP2web SDK version to 5.0.20
  -- *** Added PDF/UA output support ***
  -- Extended Scripting Facility with a2w::ContentBlock module and following APIs (on different modules) for tagging input content in logical order for PDF/UA output
     a. a2w::Image::setTagId, a2w::Image::setTagClassificationId, a2w::Image::setAlternativeText, a2w::Image::isInline,
        a2w::Image::getAlternativeText, a2w::Image::getSequenceId, a2w::Image::getTagId, a2w::Image::getTagClassificationId
     b. a2w::Line::setTagId, a2w::Line::setTagClassificationId, a2w::Line::getSequenceId, a2w::Line::getTagId, a2w::Line::getTagClassificationId
     c. a2w::Text::setTagId, a2w::Text::setTagClassificationId, a2w::Text::getSequenceId, a2w::Text::getTagId, a2w::Text::getTagClassificationId
     d. a2w::Vector::setTagId, a2w::Vector::setTagClassificationId, a2w::Vector::setAlternativeText, a2w::Vector::isInline,
        a2w::Vector::getAlternativeText, a2w::Vector::getSequenceId, a2w::Vector::getTagId, a2w::Vector::getTagClassificationId
     e. a2w::Page::addContentBlock
  -- Extended with "InputResolutions" INI option to be used to set the resolution when the resolution of the image is missing.
     AFP2web will select the first resolution that ensures that the page size is less than or equal to A4
  -- Fixed bug in decoding IOCA IBM MMR images when compressed data pattern match G4 EOL (End Of Line) pattern
  -- Extended to process TIFF inputs with associated alpha data for RGB colorspace
  -- Extended to suppress "Ixxx" info messages when Quiet2Mode option is turned on

2017-08-11 [version 1.5.12 u1]
  -- Fixed incorrect page size bug in PDF to PDF document extraction Scripting Facility customization (ci.smartfix_extractDocs_unsorted_pages.pm)

2017-08-10 [version 1.5.12]
  -- Modified to log nothing at INFO level (but logged at DEBUG level) for below APIs
     a. version
     b. usid
     c. encpwd

2017-08-02 [version 1.5.11 u4]
  -- Extended AFP2web SDK to evaluate JPEG input resolution (when resolution missing in both JPEG header and EXIF)
     so that JPEG output size is close to A4 size

2017-07-07 [version 1.5.11 u3]
  -- Extended to extract all documents at once

2017-06-22 [version 1.5.11 u2]
  -- Upgraded AFP2web SDK version to 5.0.17
  -- Extended to pass through PDF images to TIFF output when input image and output TIFF compression match
     i.e, PDF image of page size with G4 data is passed to TIFF G4 output AS IS

2017-06-13 [version 1.5.11 u1]
  -- Upgraded AFP2web SDK version to 5.0.16
  -- Fixed minor AFP2web SDK bug in license validation using USID

2017-06-02 [version 1.5.11]
  -- Upgraded AFP2web SDK version to 5.0.15
  -- Fixed minor bug in buffer in-buffer output transformation, which crashed due to usage of null InputURLs option
  -- Extended statistic info on response as de-facto for all transformations
  -- Extended statistic info with output file count
  -- Fixed bug in evaluating statistic info (document count, output page count)
  -- Extended 'Process completed. ...' INFO level log message with statistic info (count of input files, input pages, output files, output documents and output pages)

2017-04-22 [version 1.5.10]
  -- Upgraded AFP2web SDK version to 5.0.14
  -- Updated htmltox module to version 0.12.4
  -- Extended to merge multiple html inputs using htmltox module
  -- Fixed minor bug in html to pdf|image buffer output transformation

2017-04-07 [version 1.5.9]
  -- Fixed minor bug in returning document buffer on response
  -- Fixed incorrect output (missing CSS + images) bug for (second and following) htmltoany transformations due to incorrect finalization of htmltox module
  
2017-04-06 [version 1.5.8]
  -- Extended ci.smartfix_extractDoc.pm to set proper PDFDocLimits based on extracted pages
     count to avoid "Too many pages: XXX. Increase limit by mpdf_open()" error
  -- Modified error logging to report parameter assertion failures and also extended info logging to report parameters
  -- Fixed minor bug in evaluating input files count

2017-03-02 [version 1.5.7 u2]
  -- Upgraded AFP2web SDK version to 5.0.13
  -- Fixed "Attachments" being added twice bug during AFP to PDF transformation with scripting facility
  -- Extended to handle Medium Map applied through Scripting Facility "a2w::Page::setMediumMapName" and
     to pack medium map referenced resources on output resource group for LPD to AFP transformation
  -- Added ci.stack_metapage.pm Scripting Facility module to add stack meta data as page content when
     attaching files on PDF

2017-02-17 [version 1.5.7 u1]
  -- Upgraded AFP2web SDK version to 5.0.12
  -- Fixed minor AFP2web SDK bug in reading CCITT compressed PDF page inline image data

2017-02-02 [version 1.5.7]
  -- Fixed minor issues on response header and content values
     a. Fixed empty "Content-Type" value on response header
     b. Fixed invalid values (value is not quoted for string types) in JSON response for transform, version and getStatus services
  -- Upgraded AFP2web SDK version to 5.0.11
  -- Extended AFP2web SDK to use output resolution for extracted 1 bpp PDF page image during PDF to RASTER NCO transformation

2017-01-18 [version 1.5.6]
  -- Upgraded AFP2web SDK version to 5.0.10
  -- Extended to return statistics of transformation on response
  -- Optimized log entries for INFO level and also modified the format of log entry as given below
     [<Time stamp>] [<Log leve>] Pid=<Process Id> ReqId=<Request Id> <message>
  -- Extended to return HTTP status codes as given below on response
     a. "200" in case of successful transfomation
     b. "422" in case of transfomation failure
  -- Fixed minor bug in AFP2web SDK in evaluating resolution of PDF page image

2017-01-09 [version 1.5.5 u7]
  -- Upgraded AFP2web SDK version to 5.0.9
  -- Optimized AFP2web SDK for PDF to RASTER NCO transformation by skipping PDF page rasterization when PDF page
     has only one 1 bpp image of page size

2017-01-03 [version 1.5.5 u6]
  -- Redefined the letter attachment scripting facility process flow to use TIFF pages
     of PDF documents as input and to produce AFP or PDF output.

2016-12-15 [version 1.5.5 u5]
  -- Added performance tuning for letter attachment process by applying adaptive threshold
     only for non annotation PDF inputs

2016-12-12 [version 1.5.5 u4]
  -- Fixed concurrency bug in letter attachment scripting facility customization where temporary
     single TIFF pages of input PDFs are missing to add on final AFP|PDF outputs

2016-12-01 [version 1.5.5 u3]
  -- Upgraded AFP2web SDK version to 5.0.8
  -- Fixed major AFP2web SDK bug in decoding flate encoded PDF page content streams using Zlib

2016-11-23 [version 1.5.5 u2]
  -- Upgraded AFP2web SDK version to 5.0.7
  -- Fixed improper positioning of rasterized page image AFP2web SDK bug in Any to PDF (NCO) transformation
  -- Fixed improper scale down of rasterized page image AFP2web SDK bug in Any to PDF (NCO) transformation
  -- Fixed minor AFP2web SDK bug in processing Scripting Facility added document indexes for AFP to AFP transformations

2016-11-07 [version 1.5.5 u1]
  -- Extended with Scripting Facility customization for ci.smartfix rescan processing support

2016-10-31 [version 1.5.5]
  -- Fixed minor AFP2web SDK bug in evaluating page size scale factor (which cause big sized output page) for PDF to AFP transformation 

2016-10-18 [version 1.5.4]
  -- Extended AFP2web SDK to throw error when any of input file is missing instead of ignoring the missing input files during transformation

2016-10-13 [version 1.5.3]
  -- Fixed minor AFP2web SDK bug in substituting font which crashed PDF to TIFF (NCO) transformation

2016-09-13 [version 1.5.2]
  -- Extended with "encpwd" HTTP API. This API encrypts given plain password and returns same.
     Used to encrypt Sign Certificate file password.
  -- Fixed minor bug in returning error code (>100) due to incorrect error code enumeration definition
  -- Modified to cache intermediate output files on temporary path instead of service path
  -- Upgraded AFP2web SDK version to 5.0.2
  -- Extended AFP2web SDK to scale images when saving through Scripting Facility a2w::Image::saveAs API
  -- Extended AFP2web SDK "AFPOutputFlags" option following flags to control writing of Begin/End Document and Begin/End Named Page Group SFIs on AFP output.
     WriteBDTEDT=On (default)|Off, To write or not to write the Begin Document (BDT) and End Document (EDT) SFIs
     WriteBNGENG=On (default)|Off, To write or not to write the Begin Named Page Group (BNG) and End Named Page Group (ENG) SFIs
  -- Fixed "incorrect width/height on output" AFP2web SDK bug for Scripting Facility added line objects
  -- Fixed minor AFP2web SDK bug in processing Scripting Facility added document indexes for PDF|RASTER to AFP output transformations
  -- Fixed AFP2web SDK inverted AFP IOCA uncompressed image bug for AFP to PDF transformation
  -- Extended AFP2web SDK to handle unknown function set IOCA with single band CMYK image data
  -- Fixed AFP2web SDK incorrect presentation size bug for IOB included IOCA images, where IOB overwrites presentation size of IOCA image

2016-07-04 [version 1.5.1]
  -- *** Extended to support HTML input format ***
  -- Extended to handle asynchronous transformation (by forwarding back the request)
  -- Extended to return JSON response
  -- Revised services and service parameters
  -- Upgraded AFP2web SDK version to 5.0.1

2016-02-19 [version 1.5.0]
  -- Upgraded AFP2web SDK version to 5.0.0
  -- Extended AFP2web SDK to sign PDF output 

2015-11-18 [version 1.3.0.13]
  -- Upgraded AFP2web SDK version to 4.3.0.39
  -- Fixed AFP2web SDK bug in compressing attachments on PDF when attachment size is greater than 16k

2015-11-02 [version 1.3.0.12]
  -- Upgraded AFP2web SDK version to 4.3.0.38
  -- Extended AFP2web SDK to add attachments on PDF output
  -- Extended Scripting Facility a2w::Document module with new API "addAttachment( Filename, Description )"
     to add attachments dynamically
  -- Extended AFP2web SDK with new INI section [PDFOutput] to configure PDF output specific parameters
     a. Added "Attachments" option under this section to specify attachments list
     b. Added "PageMode" option under this section to specify page mode on PDF viewer.

2015-10-12 [version 1.3.0.11]
  -- Extended 'GetStatus' service to return all properties from job status file in response. This extension helps to get
     custom properties (like 'DocumentCount'), added by AFP2web Scripting Facility in job status file.
  -- Upgraded AFP2web SDK version to 4.3.0.37
  -- Extended AFP2web SDK to support RGB (24 bpp) planes in AFP IOCA FS-45 image (even though AFP IOCA specification allows
     only CMYK (32 bpp) planes in AFP IOCA FS-45)

2015-07-23 [version 1.3.0.10]
  -- Extended 'GetStatus' service to return Asynchronous Job Process ID (JobPID) in response
  -- Upgraded AFP2web SDK version to 4.3.0.33
  -- Fixed memory leak bug in AFP2web SDK that leads Asynchronous transformation to fail and this bug occurs while resizing
     images using private key for AFP to PDF transformation

2015-07-13 [version 1.3.0.9]
  -- Fixed minor bug in updating job file status (from working to error) when transformation
     failed, for Asynchronous transformation

2015-07-07 [version 1.3.0.8]
  -- Upgraded AFP2web SDK version to 4.3.0.32
  -- Extended AFP2web SDK to down sample input images (when mapping option does not trim) based on a private key
     to get optimized output size for AFP to PDF transformation.

2015-06-05 [version 1.3.0.7]
  -- Extended AFP2web SDK with "ScaleToSize" option (PDF input ONLY) to scale output
     pages when input page size is not matching configured size and condition.
  -- Extended AFP2web SDK with "BWSampler" option to use different bit demote techniques
     (dither or adaptive threshold or limit based threshold) for 1 bpp RASTER output
  -- Extended AFP2web SDK with "TransformationProfile" option to define sub set of
     configuration options grouped for specific transformation needs.

2015-04-24 [version 1.3.0.6]
  -- *** Added http:// URL input support ***
  -- Extended Linux USID generation to use available network interfaces info, when standard network interface (eth0) is missing

2015-02-13 [version 1.3.0.5]
  -- Added Unique System Id (USID) service to retrieve server's unique id.
  -- Removed Job ID sub directory creation on output file path for asynchronous transformation

2014-11-12 [version 1.3.0.4]
  -- Upgraded AFP2web SDK version to 4.3.0.21
  -- Fixed request parameters being logged twice bug, when 'FilenamePattern' config option has value with format specifiers (like %s, %d etc)
  
2014-10-10 [version 1.3.0.3]
  -- Extended to fully support asynchronous transformations.

2014-04-14 [version 1.3.0.2_rc1]
  -- Upgraded AFP2web SDK version to 4.3.0.14.
  -- Extended synchronous transform API to support conversion and merging of N input files to one output file.
  -- Extended synchronous transform API to support conversion of 1 input buffer to one or N output file.  
  -- Partially implemented Asynchronous Transformation.

2014-01-24 [version 1.3.0.1]
  -- Upgraded AFP2web SDK to version 4.3.0.10 that fixes following issues
     a. Enhanced performance when scaling output (using "OutputScale" configuration) for non-coded PDF2TIFF 
     transformation on Linux 64 bit versions
     b. Fixed memory leaks with rasterized page image processing for AFP to AFP (nco) transformation
  
2013-11-25 [version 1.3.0.0]
  -- Upgraded AFP2web SDK to version 4.3.0.7
  -- Used Apache's FastCGI module (mod-fcgid) instead of FastCGI's module (mod-fastcgi)
     for better performance

2013-07-04 [version 1.2.0.5]
  -- Removed OCR and Document Upload functionalities

2013-06-27 [version 1.2.0.4]
  -- Handled signals SIGTERM, SIGHUP and SIGWINCH from Apache Server

2013-04-09 [version 1.2.0.3]
  -- Added user guide and readme.txt to the Release Package
  
2013-03-17 [version 1.0.0.1]
  -- Updated product name to 'AFP2web Server'

2013-02-23 [version 1.0.0.0]
  -- Initial release
