- Fix - Issue with local temporary file path when fetching remote file
- Fix - for when no PDF files exist in ZIPPED product folder
- Tweak - Add in a little more debugging for when maybe file query strings and/or remote fetching is failing.
- Fix - CRON error "function 'waterwoo_file_pruner' not found or invalid function name"
- Update TCPDF to version 6.7.7
- Fix - rename 'dejavu' to 'dejavusanscondensed' and accommodate old settings to ensure font is selected
- Feature - handling of ZIP files with PDFs inside, including zipped folders with nested folders
- Feature - inside per-product watermarking settings, allow a case for file-by-file exclusions
- Feature - if order number given but also changes made in test feature fields, override the order fields as updates
- Fix - in tcpdi/tcpdi_parser.php where some PDF dictionaries were not being parsed
- Tweak - integrations with Woo Bulk Downloads and SOMDN Free Downloads refactored to use pdf_filepath() method
- Tweak - check for file age, not folder age, when deleting files during CRON or backend request
- Tweak - also delete zip files inside wp-uploads/waterwoo-pdf/ folders on CRON and backend request
- Tweak - add $download as argument for includes/wwpdf-file-handler.php get_watermark_data() method
- Tweak - integration of Free Downloads WooCommerce Pro to account for Newsletter feature $_REQUEST items
- Tweak - namespacing added
- Tweak - links that were web.little-package.com to www.little-package.com
- Fork tcpdi_parser.php and add catch for presence of <> in getRawObject() method; modernize syntax and correct some logic - plugin will likely work with more PDFs now
- Fork tcpdi_parser.php and add catch for presence of <> in getRawObject() method; modernize syntax and correct some logic
- Fix - clearing plugin debug logs was not working anymore
- Update links that were web.little-package.com to www.little-package.com
- Fix - Import Exception class into tcpdi_parser class for PHP compatibility
- Tweak - Declare compatibilty with WooCommerce `cart_checkout_blocks` HPOS feature
- Fix - Restore is_pdf() check in includes/wwpdf-file-handler.php
- Fix - PHP 8.2 incompatibility. Check that metadata is string before sending to arrUTF8ToUTF16BE() where pregReplace() is used
- Fix - several shortcodes not working in testing (backend) feature
- Fix - make tmpfile() tweak in version 3.11.2 accessible to PHP versions down to 7.2
- Tweak - catch for if tmpfile() not working on certain servers in TCPDF_FILTERS
- Feature - More available fonts (increases plugin folder size significantly)
- Fix - use 'yes/no' not 'on/no' when checking for some backend settings
- Fix - product variation settings sometimes not saving
- Tweak exit; in TCPDF Output() method when 'D' forced download to prevent unexpected PDF content
- Update TCPDF library to version 6.7.5
- Testing with PHP 8.3
- Fix - some watermark settings being missed when no global override in variation product
- Fix - some variation watermark settings being missed
- Fix - footer watermark content not pulled correctly from WaterWoo settings
- Tweak - remove placeholder settings from per-product and per-variation settings. These default to globals anyway and confuse people.
- Tweak - add 'inherit' option to several per-product and per-variation settings, for when (partial) global override is in place
- Tweak - remove injected JavaScript previously used for product variation settings
- No change. 3.9 package was not uploaded when 3.9 was signaled as "released"
- Feature - Right-align mark (esp 90º rotated) no matter what page size if RTL setting is on
- Feature - if existing Woo order number is used in Test Watermark feature, order/customer's info is used for stamping.
- Tweak - combine functionality of WWPDF_Watermark and WWPDF_Test_Watermark classes, since they essentially do the same thing
- Tweak - accommodate servers which cannot access wp_upload_dir()
- Fix - check for force method to be active before using condition it depends upon line 778 wwpdf-file-handler.php
- Feature - introduce 'Retain copy if Forced download?' setting; allows watermarked files NOT to be saved during Forced download
- Tweak - make sure to wp_clear_scheduled_hook() when new pruning schedule is saved in settings
- Tweak - introduce 'wwpdf_min_delete_eligible_file_age' filter hook; as it is files must be 3600 seconds old to be delete eligible
- Fix - Fix issue where pruning setting is not saving
- Fix - minified wwpdf-admin.js was not updated for 3.8.0
- Fix - fatal error involving missing $product object on some installations
- Feature - more CRON schedules for file cleanup (formerly only "weekly")
- Feature - if using valid order number on Test screen, shortcodes are parsed according to order information
- Tweak - improve exception handling and error feedback from external libraries (TCPDI/TCPDF) on failed downloads
- Tweak - catch for blank pages in some PDFs causing decodeFilterFlateDecode error
- Tweak - prevent some infinite loops occurring during PDF parsing in tcpdi_parser.php line 800
- Tweak - remove attempt at file cleanup during shutdown. Too unreliable and can cause download failures. Use weekly deletion setting and/or cron to cleanup files instead.
- Compatibility testing
- Improvements to barcode handling. The 'wwpdf_add_barcode' filter hook arguments now accept any type of barcode supported by TCPDF
- Fix - move activation_hook outside plugins_loaded hook
- Fix - correct current date output format in testing feature if no date provided
- Tweak - add more checks (after activation) to make sure required font/PDF files are moved to wp-uploads/ directory
- Tweak - add some missing plugin settings to the plugin uninstall queue
- Tweak - define PDF_FONT_NAME_MAIN in tcpdf/tcpdf/config/tcpdf_config.php to plugin base setting font
- Fix - give numeric values to empty settings values (empty margin settings can break TCPDF)
- Tweak - move compatibility checks and plugin init to `plugins_loaded` hook
- Tweak - PHP 8.2 compatibility with callables in lib/tcpdf/include/tcpdf_fonts.php
- Tweak - test for if PDF file exists in folder before checking if is recyclable
- Testing with WooCommerce v7.9
- Rate limit call to API license/plugin update server, and make them more likely to happen appropriately
- Add auto updates setting so users can opt-in to auto updates (if CRON is on, which it is by default)
- Fix - where $_footer_y value sometimes not set
- Confirm PHP 8.1 compatibility and apply some TCPDF patches. Unfortunately no TCPDF update available for 8.2 compatibility yet
- Tweak - Tentative compatibility with HPOS - compatibility declared
- Tweak - enqueue plugin admin JS only on Woo pages
- Tweak - Standardize setting names between free and paid plugin versions for smoother upgrade
- Tweak - Do not save default color value in WooCommerce product settings
- Fix - Footer Y adjustment changes page-by-page (PDF page orientation/size changes) - don't override original variable value with changed values
- Fix - 'First only' and 'last only' page watermarking behaving unpredictably due to syntax error
- Tweak - Add filter hook 'wwpdf_filter_settings_array' to allow for different settings for EACH download product ID
- Fix - error on plugin activation due to TCPDF_FONTS being called before defined
- Fix - product variation overlay/footer content not being saved
- Fix - PNG transparency went missing. Must use full namespace in method_exists() call in TCPDF.php line 7136
- Fix - file extension missing in waterwoo-pdf-premium.php deactivate_plugins()
- Fix - Deprecated jQuery in js assets
- Fix - correct font path line 301 includes/wwpdf-fonts.php
- Tweak - wp_normalize_path() used where available to define 'WWPDF_TMP_FILEPATH' constant
- Tweak - overwrite Header() and Footer() TCPDF methods in tcpdf_child.php to avoid page changes, hard rules
- Tweak - provide unminified copies of JS for debugging purposes
- Tweak - use buttons with built-in nonces in testing/font features instead of inline scripts
- Tweak - Add debugging and catch errors r/t remote file retrievals, to assist in troubleshooting failed downloads
- Tweak - Improve possible use of 'TCPDF_custom_overlay_function' action hook
- Tweak - SetFont() *before* page looping
- Tweak - move SetProtection() to child class and return boolean (checks for PDF/A)
- Tweak - check for WaterWoo updates using WP cron twice daily schedule ('wp_update_plugins' hook)
- Tweak - Namespace external libraries to avoid conflicts instead of re-naming
- Update TCPDF to version 6.6.2
- Testing with WC v7.0 & WP 6.1
- Tweak - allow for if WC()->countries->countries[ $country_code ] not set in includes/wwpdf-file-handler.php
- Tweak - allow 'style' of 'span' and other HTML elements in wp_kses in includes/wwpdf-settings-product.php
- TCPDF updates
- Fix - allow for saving TCPDF-compatible HTML in Woo single product and product variation settings
- Tweak - avoid using relative path in require_once, line 5 lib/tcpdf_child.php
- Tweak - add PDF filepath to 'wwpdf_dont_watermark_this_page' filter hook
- Fix - 'wwpdf_after_multicell' action hook added after overlay and footer content watermarking to allow for further manipulation
- Fix - Provision for remote files in skipping files that don't exist
- Tweak - Always use /wp-content/uploads/waterwoo-pdf/ directory for temp storage (stop trying to use other tmp directories)
- Tweak - Make sure WWPDF_TMP_FILEPATH is writable and throw Error (also debug log) if not
- Tweak - Remove output buffering from call to TCPDF and WaterWoo license settings page
- Tweak - Don't attempt to process files that don't even exist - that's an upstream problem
- Tweak - Update EDD SL API scripts & massage wwpdf-sl-settings.php to handle deactivating an already-deactivated license
- Tweak - Don't run waterwoo_file_pruner() during init hook, and don't delete brand new files (prevent clash between download and delete)
- Tweak - remove heavy font resources from WaterWoo packages. It causes server errors on automatic plugin updates. Backwards compatible rollback, could affect users of Free Sans, Free Serif, or Free Mono if they delete wp-content/waterwoo-pdf/fonts/ files
- Fix - PDF metadata missing since TCPDF update in 3.4.0
- Tweak - move getMetaData() outside PDF page loop
- Fix - Constant 'K_PATH_FONTS' not set correctly in lib/tcpdf/tcpdf_autoconfig.php
- Fix - restore {OPACITY} shortcode to functioning
- Tweak - set TCPDF variables print_header and print_footer to false
- Deactivate Free version of WaterWoo if this version is activated
- Check class_exists() for TCPDI/TCPDF packages to avoid conflicts
- TCPDF updated to v6.4.4 for PHP 8.1 compatibility. If you have extended classes inside WaterWoo, this could be a breaking change.
- Several more default fonts added: "Free" (serif, sans, and mono, all GNU), AE Al Arabiya (GNU)
- Additional debugging added to wwpdf-file-handler.php
- Tweak - More careful operators (in many cases, ===) used for SetProtections in wwpdf-watermark.php and wwpdf-test-watermark.php
- 'wwpdf_public_key' filter added for users who might want to use keys for encryption; default is 'null'
- Fix - replace corrupt test.pdf file in assets/pdf folder. If default test PDF isn't working in your installation, you may need to replace it in wp-content/waterwoo-pdf/test-pdf/bare-pdf, too
- Testing with WC 6.3
- Fix - set default encryption setting (40-bit) for individual products and variations
- Testing with WC 6.0
- Tweak - remove strtotime() from value which is already Unix timestamp
- Tweak - Use wp_normalize_path() method for PDF paths if manipulated – for Windows users
- Testing with WC 5.8
- WooCommerce requires PHP 7.0, and so as a technicality, so does WaterWoo
- Tweak - 'wwpdf_before_setup_page' filter added, for perhaps adding pages inside PDF-building loop
- Testing with WC 5.6
- Tweak - use wc_date_format() innother small tweak to how [DATE] shortcodes parsed
- Tweak - catch for if "last page" set higher than PDF actual number of pages
- Testing with WC 5.3
- Tweak - WC order timestamp, still giving trouble with caching
- Feature - 'wwpdf_abort_watermarking' shortcode added
- Tweak - catch email for shortcodes from order_id
- Send $order_id along to setup_watermark() method to get more shortcodes working with WooCommerce Bulk Downloads
- TCPDF updates for PHP 8
- Compatibility with WooCommerce Bulk Downloads
- WC testing to version 5.2
- Tweak - Add 'waterwoo-pdf-premium' textdomain to WP Language directory - localized
- Tweak - Edit context for Woo get_date_created() method to avoid other filters working on output before [DATE] shortcode parsed.
- WC testing to version 5.1
- Date handling for the PDF testing feature
- Improvements in date handling for watermarking shortcodes
- more accurate date calculations
- handling of other date formats
- filterable date formats for watermarking purposes (vs. general WP use)
- WooCommerce v5 testing
- Tweak - require wwpdf-fonts.php and wwpdf-test.php for activation hook call
- Tweak - only remove temp directory if temp file successfully removed in wwpdf-file-handler.php line 963
- Fix - When beta version desired, it still wasn't queried
- Fix - Call to non-static method get_seconds() in get_seconds in static method date_shortcodes() in wwpdf-file-handler.php, and missing variable $date_format
- Tweak - Error logging for if remote file not successfully brought in
- Tweak - Update compatibility with Free Downloads WooCommerce
- Tweak - Add filter 'wwpdf_after_setup_page' for manipulating any page with TCPDF, esp. un-watermarked pages
- Tweak - Honor per-product watermarking settings with Free Downloads WooCommerce plugin
- Tweak - delete tmp local file only if one successfully created in method fetch_remote_file() in wwpdf-file-handler.php
- Tweak - PHPDoc block improvements in WaterWoo code
- Tweak - 'wwpdf_cell_width' filter added
- Error logging for if (corrupted) PDF /Root not found - helpful feedback for a delivery failure
- More descriptive error source added to error log lines for easier tracing
- Catch for files listed by ABSPATH but not inside WP dir
- Fix - remove transient from process of creating temp directory, for in cases where directories might be cleared before transient
- Fix - barcode function can't be called statically, strtolower on input
- Tweak - account for products listed by absolute path in classes/wwpdf-file-handler.php
- Tweak - don't inject js on product edit pages, enqueue instead
- nl2br for testing feature to match line breaks of purchase download text
- Official release of version 3.0
- WP testing to 5.5.1
- WC testing to version 4.5.1
- No betas unless betas requested!
- Testing with WooCommerce version 4.3
- Fix - further class re-naming (TCPDF is not namespaced) to prevent conflict with "Booster Plus for WooCommerce" which includes TCPDF
- Testing with WooCommerce version 4.2.1
- Fix - (?) some people having problems watermarking but haven't provided details. Start page clarified for TCPDI
- Tweak - open up use of AES encryption, which may or may not work with some server setups, with other PDFs - test before going live!
- Tweak - improve barcode filter to allow for all arguments from developer
- Tweak - move call for watermarking settings outside page loop to speed processing
- Tweak - allow/show any permissions whether RC4 or AES encryption, TCPDF doesn't seem to mind.
- Tweak - make sure to set owner password as NULL if not set by admin, so that a strong pwd is generated by TCPDF
- Tweak - combine and compress admin-end WWPDF JS
- Testing with WooCommerce version 4.1.1
- Fix - When end page is not 0 or -1, watermarking and page output stopped page before last page
- Update TCPDF to version 6.3.2
- Tweak - rename TCPDF/TCPDI classes to prevent conflict with free version of WaterWoo or EDDiMark
- Fix - Don't load log settings panel (and logging constant) if logs not desired.
This is possibly a breaking release if you are using filter hooks to change your file naming or file locations.
You will want to review your file protection settings as ["print" and "print high res"] and ["fill-forms" and "annot-forms"] are no longer bundled (those protections require different levels of encryption, and this was addressed).
Please backup before updating and ensure watermarking works before proceeding with sales.
- Feature - always retain original file name through watermarking process and delivery
- Feature - recycling to re-serve watermarked files if they already exist on server, saving CPU
- Feature - cron to delete saved files after 1 week (filterable duration for now)
- Feature - more granular control of file protections with owner passwording and choice of encryption type (128 bit to allow higher file protections).
- Feature - settings page UX designed to indicate passwording/protections require encryption, and which protections are offered with different encryption levels.
- Feature - new shortcodes! [ADDRESS1] [ADDRESS2] [CITY] [STATE] [POSTCODE] [COUNTRY] (tries for shipping if no billing) [COUNTRYCODE] and [TIMESTAMP] (current time)
- Feature - new setting: stop watermarking on an indicated page
- Feature - allow for watermark placement from bottom of page for overlay watermark (this was already available for footer)
- Feature - added filter 'wwpdf_dont_watermark_this_page' for more granular control of which page to watermark (e.g. only watermark pages 5, 18, and 36)
- Tweak - refactor/reduce redundancy in classes/wwpdf-file-handler.php, classes/wwpdf-test.php, classes/test-watermark.php, and classes/watermark.php to improve speed and readability
- Tweak - use str_replace instead of preg_replace to improve speed of shortcode handling
- Tweak - add order ID-based folder name to temp file path to prevent possibility of customer getting previous customer's file watermarked download (this might break users' existing CRON jobs or file-naming hooks)
- Pluggable functions 'wwpdf_recursive_remove() and waterwoo_file_pruner() re-written to deal with order ID-based folder names
- Fix - Don't load log settings panel (and logging constant) if logs not desired.
- Feature - Option for access to beta releases in Settings -> WaterWoo license
- Tweak - in classes/wwpdf-watermark.php, ALWAYS watermark a file to prevent mis-deliveries
- Fix - Variable global settings panel visibility restored
- Fix - SOMDN Free Downloads hook not running because conditional not met (no $_GET data)
- Feature - [PRODUCTNAME] shortcode, displays title of PDF when used
- Feature - WooCommerce 4.0 compatible
- Improved error handling
- Update TCPDF to 6.3.5
- PHP 7.4 compatibility in tcpdi/tcpdi-parser.php and tcpdi/tcpdi.php
- Output buffering for WWPDF_Watermark method apply_and_spit() and test watermarker suppresses output before headers sent
- Beta version support
- Run move_files on plugin activate with more checks to ensure fonts end up in uploads folder
- Move wwpdf_debug_log outside WWPDF_Logging class for if logging is turned off
- Fix for case when hidden files in old waterwoo-pdf-premium/assets/pdf folder
- Fix for missing settings page
- Feature Test PDF folder moved to /wp-content/uploads/waterwoo-pdf/test-pdf/bare-pdf folder, where it will not be overwritten every update
- Feature - Font folder moved to /wp-content/uploads/waterwoo-pdf/fonts folder, where custom fonts will not be overwritten every update
- Feature - System compatibility testing (tests for WooCommerce, Woo version, WP version, PHP version)
- Feature - Order ID added to 'wwpdf_add_barcode' filter for barcoding PDFs with more specific information (1D or 2D)
- Tweak - Do not load TCPDI in class-wwpdf-font.php - slows /wp-admin
- Tweak - Autoloader moved to its own file & simplified
- Tweak - Performance enhancements by conditional script loading front/backend
- Tweak - don't run logging functions if logging turned off
- Tweak - unnecessary JS/CSS removed from WP backend
- Tweak - permissions tests for font upload, test PDF deletion and customer PDF deletion (at least Editor role)
- Update translation files
- Required Wordpress version moved from 4.4 to 4.9
- Simplify use of of Multicell in class-wwpdf-watermark.php and class-wwpdf-watermark-test.php to deal with HTML/no HTML
- Update Flate filter
- Fix - Mis-named TCPDF_IMAGES class
- Testing for WC 3.8 and WP 5.3
- Tweak - Re-wording of per-product overrides, (hopefully) to prevent confusion where "watermark this" and "do not watermark this" is printed
- Tweak - Unique class and constant naming so can run alongside EDDiMark (or other plugins using TCPDI/TCPDF) without conflict
- Fix - check if plugin or theme in line 299 classes/class-wwpdf-font.php
- Fix - saving checkbox values for per-product options when unchecked
- Tweak - Amend AJAX font uploader to deal with symbolic fonts and non-unicode fonts best possible, adding filter hooks
- Tweak - address array_map() second parameter null in tcpdf_fonts.php UTF8StringToArray() when odd characters
- Tweak - save API license key when clicking Activate/Deactivate in order to prevent user frustration
- Tweak - allow font sizes down to 1pt in settings (previously 6pt)
- Feature - allow for altering PDF file permissions array using 'wwpdf_set_permissions' filter hook, details about options at https://tcpdf.org/examples/example_016/
- Feature: Easy AJAX font uploader (uploads TTF files) for watermarking with custom fonts via TCPDF. Once uploaded, are available to select amongst core fonts in WaterWoo settings, general and per-product.
- Update tcpdi_parser.php and TCPDF files, including updates for PHP 7.4
- Update Deja Vu Sans font included with WaterWoo to version 2.37
- Fix: 'woocommerce_product_file_download_path' is a filter hook, not an action hook in class-wwpdf-file-handler.php
- Fix: adjust PDF parser to accommodate PDFs with NUL characters in XREF, causing missing pages otherwise
- Testing with WC 3.7.1
- Tweak - install new license API manager (Easy Digital Downloads "Sofware License"); your account information is now at www.little-package.com/account instead of www.little-package.com/my-account
- Update readme.txt and class-wwpdf-settings.php language - no longer waterwoo.me, moved to www.little-package.com
- Testing with WC 3.7.0
- Update API server - no longer waterwoo.me
- 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
- Fix - a PHP warning where empty parameter is string instead of integer because empty quotes in inc/tcpdf/tcpdf.php line 1971
- 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
- Feature - action hooks in class-wwpdf-file-handler.php to allow custom error handling
- Fix - external links issue - not working with some PDFs
- 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
- Bug fix in TCPDF
- Testing for compatibility with WooCommerce 3.5.1
- Testing to Wordpress 5.0-beta2-43852
- Fix - WaterWoo requires Woo version 3.0+
- 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
- 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
- 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
- Fix - not watermarking due to missing HTTP vars when used with Woo 3.4+
- Fix - rename TCPDI class in /classes/class-wwpdf-watermark-test.php
- 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
- Fix - Plugin update API not saving Product ID to DB
- Fix - simple product watermarking override not quite right
-
- Fix - add {OPAC} shortcode to footer watermark since that uses HTML
- Fix - simple product watermarking override
- Fix - allow comments in PDF trailer before startxref
- Tweak - change default font to DejaVu
- Fix - bug where some dictionary values would cause the offset to exceed data length
- 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
- 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
- Fix - stripslashes of overlay/footer content for testing feature
- Fix - [PRODUCT-###] shortcode for product variation purchased quantity
- Tweak - minor CSS/layout in product variation settings
- 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?)
- 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.
- Fix - prevent caching of SQL queries with SQL_NO_CACHE. Watermark queries should not be cached.
- 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
- Fix - _e() incorrectly typed e_()
- Fix - Several missing shortcodes in footer watermark
- 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)
- Fix - provisions for download if file in order isn't PDF and isn't watermarked
- 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
- 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
- Fix - remove header and footer line
- 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
- 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
- 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
- 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.
- Fix - internal linking tweak
- Fix - typo suggesting default margin is 10cm. It's 10 millimeters.
- Feature - watermark every page, odd pages, or even pages.
- 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
- 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
- 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
- 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
- Simple support for preserving internal and external PDF links
- FPDI update 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
- Watermarking over image and vector PDF embeds
- Additional page sizes added
- 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/../../..
- Fix – Internalization for [DATE] shortcode.
- Feature – [DATE] shortcode now shows date format shown in Wordpress General Options.
- 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)
- Fix – remove field sanitizing to allow HTML input for overlay and footer
- Fixed extra spaces after ‘overlay_finetune_Y’ in classes/class_wwpdf_download_handler.php and classes/class_wwpdf_downloadhandler.php
- Fixes for WC_Dependencies class
- Finished licensing and automatic plugin updates
- Added individual product and product variation watermarking
- Updates for WC 2.3.4
- New order number shortcode [ORDERNUMBER]
- Licensing and automatic plugin updates now available
- WooCommerce 2.3 ready
- Added [BUSINESSNAME] and [DATE] shortcodes
- Option to force error (or not) if customer doesn’t enter* basic order fields
- Fixes to passwording and access controls
- Addition of DejaVu font for more international language characters
- 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
- Support for odd-sized PDFs
- Fixed 4 PHP warnings
- Support for landscape orientation
- Initial release