All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Support Rails 5.x and Sprockets 3.x
- Support
window_status: 'somestring'
option, to instruct wkhtmltopdf to wait until the browserwindow.status
is equal to the supplied string. This can be useful to force rendering to wait as explained quite well here - Support
no_stop_slow_scripts: true
to let slow running scripts delay rendering
- Improved error handling
- Namespace helper classes under WickedPdf namespace
- Changes to asset finding to support Rails 5
- Revert shellescaping of options. The fix was causing more issues than it solved (like "[page] of [topage]" being escaped, and thus not parsed by
wkhtmltopdf
). See #514 for details.
- Numerous RuboCop style violation fixes, spelling errors, and test-setup issues from indyrb.org hack night. Thank you all for your contributions!
- Shellescape options. A stray quote in
header
orfooter
would cause PDF to fail to generate, and this should close down many potential attack vectors if you allow user-supplied values to be passed intowicked_pdf
render options.
- Check that logger responds to info before calling it. It was possible to have a
logger
method defined as a controller helper that would overrideRails.logger
.
- Issue with Sprockets 3.0 where an asset referenced in a stylesheet not existing would raise an exception
read_asset
on nil.
- Revert default DPI. Some installs of
wkhtmltopdf
would experience major slowdowns or crashes with it set to 72. It is suggested that a DPI of 75 may be better, but I'm holding off on making it a default without more information.
- The default dpi is now 72. Previously the default would be whatever your
wkhtmltopdf
version specified as the default. This change speeds up generation of documents that containborder-radius
dramatically
- Made minor RuboCop style tweaks.
- Added default RuboCop config and run after test suite.
- Issue with
nil.basename
from asset helpers.
- Accepted that
WickedPDF
cannot guarantee backwards compatibility with older versions ofwkthmltopdf
, and decided to publish a new version with the MAJOR number incremented, signaling that this may have breaking changes for some people, but providing a path forward for progress. This release number also signals that this is a mature (and relatively stable) project, and should be deemed ready for production (since it has been used in production since ~2009, and downloaded over a million times on RubyGems.org). - Stopped attempting to track with version number of
wkhtmltopdf
binary releases (wkhtmltopdf
v9.x ==WickedPDF
v9.x) - Adopted Semantic Versioning for release numbering
- Added a CHANGELOG (based on keepachangelog.com)
- Misc code tweaks as suggested by RuboCop
- Check version of
wkhtmltopdf
before deciding to pass arguments with or without dashes - New arguments and options for the table of contents supported in newer versions of wkhtmltopf:
text_size_shrink
,level_indentation
,disable_dotted_lines
,disable_toc_links
,xsl_style_sheet
- Merge in global options to
pdf_from_html_file
andpdf_from_string
- Add ability to generate pdf from a web resource:
pdf_from_url(url)
- Explicit dependency on Rails, since parts of this library may be used without it.
- Comment out the
:exe_path
option in the generated initalizer by default (since many systems won't havewkthmltopdf
installed in that specific location)
- Issues with
file://
paths on Windows-based systems - Issues with parsed options/argument ordering on versions of
wkthmltopdf
> 0.9 - Issues with middleware headers when running Rails app mounted in a subdirectory
- Issues with options that have a
key: 'value'
syntax when passed towkthmltopdf
- Issue with
:temp_path
option being deleted from original options hash - Issue with header/footer
:content
being deleted after the first page - Issues with options being modified during processing (including global config options)
- Issues with asset helpers recognizing assets specified without a protocol
- Issues with
url()
references and embeddeddata:base64
assests in stylesheets rendered withwicked_pdf_stylesheet_link_tag
- Asset helpers no longer add a file extension if it already is specified with one