All Humans Are Welcome Here!

Changelog

September 3, 2019 – 2.9.4

  • Update readme.txt and class-wwpdf-settings.php language – no longer waterwoo.me, moved to web.little-package.com
  • Testing with WC 3.7.0

July 26, 2019 – 2.9.3

  • Update API server – no longer waterwoo.me
  • July 14 2019 – 2.9.2

    • Fix – remove PHP 5.2 bug fix that breaks PHP 7.3.4+ functioning in inc/tcpdf/include/tcpdf_fonts.php.
    • Tweak – /inc/tcpdi/tcpdi_parser.php property getXrefData() – runs 4-5x faster

    June 17 2019 – 2.9.1

    • Fix – a PHP warning where empty parameter is string instead of integer because empty quotes in inc/tcpdf/tcpdf.php line 1971

    June 4 2019 – 2.9

    • Feature – upgrade license API system to address broken/deprecated WooCommerce API Manager implementation
    • Fix – break instead of continue in line 1514 of WWPDF_TCPDF_Child class
    • Fix – check is_array before treating possible string as array in line 650 of WWPDF_Logging class

    2019.3.27 – 2.8

    • Feature – action hooks in class-wwpdf-file-handler.php to allow custom error handling
    • Fix – external links issue – not working with some PDFs

    2019.2.24 – 2.7

    *MASSIVE IMPROVEMENTS*

    • Feature – compatibility with Free Downloads WooCommerce (note: don’t use shortcodes if you don’t have matching incoming customer data)
    • Feature – upgrade to TCPDF version 6.2.26
    • Feature – several new filters, including ‘wwpdf_temp_dir’ and ‘wwpdf_timeout_extend’ in class-wwpdf-file-handler.php
    • Feature – PHP exceptions now caught and displayed to help with debugging
    • Feature – Settings option to serve file anyway – or die with error – when watermarking fails
    • Feature – logging for download, error, and license API events to help with troubleshooting and record-keeping
    • Feature – move license API settings to WooCommerce WaterWoo settings panel (keep it together!)
    • Feature – preserve original PDF metadata (title, author, creationdate, keywords, subject, and optionally producer [with boolean ‘wwpdf_overwrite_producer] hook)
    • Tweak – admin product meta box save process streamlined – sanitizing moved to admin end from watermarking end
    • Tweak – stop using BleedBox – unpredictable watermark placement.
    • Tweak – catch for if user chooses to watermark individual product but doesn’t actually set a watermark (blank overlay & footer)
    • Tweak – streamlining of wwpdf-file-handler methods wwpdf_file_download_path() and get_watermark_data()
    • Tweak – adjust HTTP timeout handling, new filter ‘wwpdf_timeout_extend’ available to keep WaterWoo timeout adjustments separate
    • Fix – hidden form fields prohibiting save in product meta box, JS fix: // https://stackoverflow.com/a/42304672/2112274
    • Fix – don’t use dependency injection in class-wwpdf-license-api.php register_activation_hook() (variables then not available… yet)
    • Fix – references to TCPDF sub-class corrected in inc/tcpdi/fdpf_tpl.php
    • Fix – settings labeling in product option page for form accessibility

    2018.11.4 – 2.6.2

    • Bug fix in TCPDF

    2018.11.1 – 2.6.1

    • Testing for compatibility with WooCommerce 3.5.1
    • Testing to Wordpress 5.0-beta2-43852
    • Fix – WaterWoo requires Woo version 3.0+

    2018.7.6 – 2.6

    • Feature/Fix – allow for X-Accel-Redirect/X-Sendfile downloads without using Force downloads as automatic fallback for WaterWoo
    • Fix – force unique names when files remain on server with original file name
    • Fix – count() PHP 7.2 compatible in tcpdi.php & tcpdi_parser.php
    • Fix – shortcodes in test feature
    • Tweak – remove legacy version updater (for versions pre-1.4) – obsolete

    2018.6.17 – 2.5

    • Fix – remove deprecated each() in TCPDF and TCPDI to comply with PHP 7.2
    • Tweak – remove SQL calls from class-wwpdf-file-handler.php
    • Tweak – remove unused arguments from wwpdf_setup_watermark()
    • Tweak – remove conditional support for WooCommerce version < 2.7/3.0 (this shouldn’t be a breaking change)
    • Tweak – get_watermark_data() no longer a static file in class-wwpdf-watermark.php
    • Feature – ‘wwpdf_set_password’ filter hook to create alternative passwords (other than customer’s email) in LIVE watermarking
    • Feature – ‘wwpdf_filter_overlay’ and ‘wwpdf_filter_footer’ filter hooks added in wwpdf_setup_watermark() for LIVE watermarking

    2018.6.4 – 2.4

    • Tweak/feature – increase the timeout limit for wp_remote_get() in class-wwpdf-file-handler.php – helps with slow HTTP requests, can be over-ridden
    • Tweak/feature – simplify text encoding, remove use of iconv(). This allows more characters to watermark.
    • Fix – text encoding for test feature overlay watermark

    2018.5.30 – 2.3.6

    • Fix – not watermarking due to missing HTTP vars when used with Woo 3.4+

    2018.4.28 – 2.3.5

    • Fix – rename TCPDI class in /classes/class-wwpdf-watermark-test.php

    2018.4.24 – 2.3.4

    • Fix – rename classes uniquely to avoid conflicts and WaterWoo using other versions TCPDI/TCPDF
    • Tweak – provide link to WaterWoo license settings in API warning windows

    2018.3.15 – 2.3.2

    • Fix – Plugin update API not saving Product ID to DB

    2018.2.27 – 2.3.1

    • Fix – simple product watermarking override not quite right

    2018.2.27 – 2.3.0

      • Fix – add {OPAC} shortcode to footer watermark since that uses HTML
      • Fix – simple product watermarking override
      • Fix – allow comments in PDF trailer before startxref

    (https://github.com/pauln/tcpdi_parser/commit/55d75792c77eb80f17a98d7846d2fa74a497d64f)

    • Tweak – change default font to DejaVu

    2018.1.29 – 2.2.2

    • Fix – bug where some dictionary values would cause the offset to exceed data length

    2018.02.02 – 2.2.1

    • Fix – Advance [DATE-] shortcode wouldn’t work in footer
    • Fix – 2.2 not saving watermarking preferences as set in $_POST
    • Feature – Woocommerce version check support

    2017.12.28 – 2.2.0

    • Fix – remove api key/email reassignment in manage_legacy_settings() to avoid plugin conflicts
    • Fix – WooCommerce API Manager updated – hopefully fixes some folks’ troubles activating license keys
    • Fix – ‘wwpdf_font_decode’ filter incorrectly coded
    • Feature – option to exclude individual products or product variations from global watermarking, better handling of individual product watermarking to override global
    • Feature – ‘waterwoo_settings_array’ filter in class-wwpdf-settings.php
    • Feature – ‘waterwoo_overlay_filter’ and ‘waterwoo_footer_filter’ filters added in class-wwpdf-watermark.php
    • Feature – ‘wwpdf_do_cleanup’ filter added in class-wwpdf-file-handler.php
    • Feature – ‘wwpdf_out_charset’ filter added in class-wwpdf-file-handler.php to manage iconv() parameters
    • Feature – Improved uninstaller. Option to delete all WaterWoo data on plugin delete in Settings -> WaterWoo License -> Deactivate
    • Tweak – more carefully specify PDF asset upload file path for testing feature on Settings page
    • Tweak – change post status to include draft & future in variation global override settings
    • Tweak – move instance of WC_Order outside foreach loop in class-wwpdf-file-handler.php
    • Tweak – don’t need preg_match_all, use preg_match for PRODUCT-### shortcode in class-wwpdf-file-handler.php
    • Tweak – text-domain as plain string, not variable in class-wwpdf-license-api.php
    • Known issue – TCPDI does not preserve all internal links, nor does it preserve PDF forms

    2017.8.14 – 2.1.3

    • Fix – stripslashes of overlay/footer content for testing feature

    2017.7.15 – 2.1.2

    • Fix – [PRODUCT-###] shortcode for product variation purchased quantity
    • Tweak – minor CSS/layout in product variation settings

    2017.4.3 – 2.1.1

    • Tweak – allowance for capitalized PDF file extension in file handler class
    • Tweak – make license pop-up dismissible and less urgent
    • Tweak – don’t bother to transform the page if not rotating watermark
    • Tweak – vertical tab \x0b added to whitespace chars in tcpdi_parser.php
    • Fix – only set file protections/passwords if required (for speed and to ensure unwanted encryption isn’t added when not desired)
    • Fix – test feature output file path trailing slashed for Windows servers
    • Fix – issues with update API 3rd party integration – automatic updates operational again with 2.1.1
    • Fix – empty default hex color input value on single product watermarking settings page
    • Fix – address memory timeout caused by certain PDFs’ offset error (PScript5.dll related?)

    2017.3.22 – 2.1

    • Fix – force default “force” download method if watermarking enabled on X-Accel-Redirect/X-Sendfile downloads – WooCommerce uses caching on this method as default.
    • Fix – test feature footer cell width calculation to fill window.
    • Tweak – cell width fixes for 90º and 270º rotated watermarks – for right and left margin watermarking.

    2017.3.15 – 2.0.9

    • Fix – prevent caching of SQL queries with SQL_NO_CACHE. Watermark queries should not be cached.

    2017.2.27 – 2.0.8

    • Tweak – remove query from file path while checking for PDF extension – false negative with S3
    • Tweak – keep .pdf extension when creating temporary remote file name
    • Tweak – remove query from file path when renaming redirect downloads

    2017.2.16 – 2.0.7

    • Fix – _e() incorrectly typed e_()

    2017.2.9 – 2.0.6

    • Fix – Several missing shortcodes in footer watermark

    2017.2.8 – 2.0.5

    • Tweak – product ID given explicitly to API manager to avoid “The Product ID was empty” errors
    • Tweak – better handling of import of old API key pairs from WaterWoo <= 1.8.2
    • Tweak – only make DB calls and regex if necessary for shortcodes in WWPDF_File_Handler
    • Fix – duplicate DB cleanup on uninstall for API entries
    • Fix – negative value in footer Y should adjust from bottom of page (broken since 2.0)

    2017.1.8 – 2.0.4

    • Fix – provisions for download if file in order isn’t PDF and isn’t watermarked

    2017.1.5 – 2.0.3

    • Fix – Dynamic [PRODUCT-123] shortcode was no longer outputting; readied for Woo 2.7
    • Feature – Wildcard [PRODUCT-###] short tag prepared for Woo 2.7 – beta

    2017.1.4 – 2.0.2

    • Fix – cleanup_file() in class-wwpdf-file-handler.php should not have been static method
    • Fix – ‘wwpdf_font_decode’ filter added in case html_entity_decode() needs be done on overlay/footer input when adding custom font face

    2017.1.2 – 2.0.1

    • Fix – remove header and footer line

    2017.1.1 – 2.0.0

    • FPDF/FPDI replaced with TCPDF/TCPDI for PDF handling
    • Fix – watermarking hooked into ‘woocommerce_product_file_download_path’ rather than hijacking WC_Download_Handler
    • Fix – Second parameter added for parse_str() on AJAX call
    • Fix – Drop support for versions of WooCommerce older than 2.4 (for your security)
    • Feature – WooCommerce 2.7 ready
    • Feature – watermark externally-hosted files (Amazon S3, etc)
    • Feature – RTL (right-to-left) watermarking
    • Feature – Fonts for Chinese and Arabic support added
    • Feature – hook added (‘wwpdf_add_custom_font’) – in development
    • Feature – delete all customer-generated files from WaterWoo settings page
    • Feature – delete customer-generated files via ‘wwpdf_file_cleanup’ action – in development
    • Feature – files automatically cleaned up if using WooCommerce’s “Force” download method.
    • Known issue – TCPDI does not preserve all internal links
    • Known issue – TCPDF does not allow extract though set to allow in encryption

    2016.8.2 – 1.8.4

    • Fix – License API upgrade
    • Fix – Removed some unnecessary options being saved in the database
    • Fix – Hide filepath when pdf-parser.php throws “file not found” exception
    • Feature – added ability to remove WaterWoo options from the Wordpress database when deactivating plugin
    • Checks for WP version 4.6

    2016.6.17 – 1.8.3

    • Fix – fix test print/copy/modify/annotate settings for test watermark feature
    • Fix – Remove unnecessary options from wp_options table
    • Fix – Unpredictable watermarking when watermark starts on page other than first page

    2016.2.18 – 1.8.2

    • Feature – watermark on only the first page or last page
    • Feature – allow negative integer input for footer Y fine tuner, so that footer Y can be measured from *bottom* of page instead of the top if desired.
    • Fix – WaterWoo settings improved to work with WC 2.4+ AJAX variable product save functions.

    2016.2.1 – 1.8.1

    • Fix – internal linking tweak
    • Fix – typo suggesting default margin is 10cm. It’s 10 millimeters.
    • Feature – watermark every page, odd pages, or even pages.

    2016.1.25 – 1.8

    • Fix – Correct footer size for Watermark testing feature
    • Fix – Correct footer X finetune
    • Fix – Variable product font dropdown select and textareas UX
    • Fix – Change unclear wording of Global Watermarking checkbox – to be clear, this overrides individual product settings.
    • Feature – add option to create top/bottom, left/right margins for watermarks
    • Feature – delete PDFs made using the Test Run feature from the Settings page
    • Woo-FPDF streamlined for faster watermarking
    • Minor CSS styling/UX improvements

    2016.1.19 – 1.7.3

    • Fix – Improvements to individual product and product variation settings page. Textareas added for watermark inputs and accessibility improvements.
    • Fix – Bottom margin of imported PDFs set to 0mm for watermarking
    • Fix – Remove empty strings for i18n
    • Fixes to Watermark tester – use actual date and email if none provided

    2016.1.15 – 1.7.2

    • Feature – Add new shortcode for transparency. Open: {OPAC-.5} and close: {/OPAC} In this example the words “and close:” would be at 50% opacity.
    • Fix – Remove unmatched shortcodes so shortcode doesn’t show in watermark if unmatched

    2016.01.11 – 1.7.1

    • Correction of URLs for Support/FAQ links on Plugins page
    • Dropping support for WooCommerce < 2.0
    • Fix – Footer font sizing issue where set font size not recognized, esp in test mode
    • Fix – Undefined offset PHP notice in woo-fpdf.php

    2015.12.08 – 1.7

    • Simple support for preserving internal and external PDF links
    • FPDI update 1.6

    2015.11.03 – 1.6

    • Alignable watermark using inline CSS – center, right (left is default)
    • HTML input now allowed in footer watermark
    • API updates repaired – get plugin update notices in Wordpress dashboard
    • FPDF update 1.5.4
    • FPDI PDF-Parser update 1.1.2

    2015.11.02 – 1.5.4

    • Watermarking over image and vector PDF embeds
    • Additional page sizes added

    2015.08.25 – 1.5.3

    • Fixes for WC 2.4 and WP 4.3
    • Fix – WooCommerce Download Handler class now avoids extract() to keep original $file_path intact
    • Fix –
      andtags now add appropriate amount of line height in HTML output, no need to double up
    • Tweak – remove FPDF and TFPDF and implement unique WooFPDF class
    • Notice – if using “Redirect” method, files must be uploaded through WP Media, and will end up in wp-content/uploads/woocommerce_uploads/../../..

    2015.07.14 – 1.5.2

    • Fix – Internalization for [DATE] shortcode.

    2015.07.11 – 1.5.1

    • Feature – [DATE] shortcode now shows date format shown in Wordpress General Options.

    2015.06.07 – 1.5.0

    • Feature – shortcode for number of specific product in cart [PRODUCT-123] (123 being the product ID)
    • Feature – shortcode for number of days, weeks, months, or years from purchase date [DATE-2YRS] (two years from purchase d* ate)
    • Fix – translation file fix (still needs translations)

    2015.03.03 – 1.4.4

    • Fix – remove field sanitizing to allow HTML input for overlay and footer

    2015.02.26 – 1.4.3

    • Fixed extra spaces after ‘overlay_finetune_Y’ in classes/class_wwpdf_download_handler.php and classes/class_wwpdf_downloadhandler.php

    2015.02.24 – 1.4.2

    • Fixes for WC_Dependencies class

    2015.02.24 – 1.4

    • Finished licensing and automatic plugin updates
    • Added individual product and product variation watermarking

    2015.02.17 – 1.3.2

    • Updates for WC 2.3.4
    • New order number shortcode [ORDERNUMBER]

    2015.01.26 – 1.3.1

    • Licensing and automatic plugin updates now available

    2015.01.22 – 1.3

    • WooCommerce 2.3 ready

    2015.01.13 – 1.2

    • Added [BUSINESSNAME] and [DATE] shortcodes
    • Option to force error (or not) if customer doesn’t enter* basic order fields

    2015.01.10 – 1.1

    • Fixes to passwording and access controls
    • Addition of DejaVu font for more international language characters

    2015.01.03 – 1.0.5

    • Clean up code in waterwoo-pdf.php class_wwpdf_system_check.php and class_wwpdf_download_product.php
    • UTF font encoding and better language support
    • Support for redirect downloads (as long as file is in wp-content folder)
    • Better watermark centering on page

    2014.12.27 – 1.0.4

    • Support for odd-sized PDFs

    2014.11.30 – 1.0.3

    • Fixed 4 PHP warnings

    2014.11.12 – 1.0.2

    • Support for landscape orientation

    2014.11.06 – 1.0

    • Initial release

    WaterWoo uses semantic versioning.