Download Latest Version v1.7.2.zip (27.9 MB)
Email in envelope

Get an email when there's a new version of Invoice Plane

Home / v1.7.2
Name Modified Size InfoDownloads / Week
Parent folder
v1.7.2.zip 2026-08-28 27.9 MB
README.md 2026-08-27 28.5 kB
v1.7.2 source code.tar.gz 2026-08-27 1.5 MB
v1.7.2 source code.zip 2026-08-27 1.8 MB
Totals: 4 Items   31.2 MB 1

InvoicePlane v1.7.2

v1.7.2.zip

Hash Format Hash
MD5 a9db07ea6511c7cf9988706277b375d7
SHA-256 5d70ca0c437e9a35bdadddb4bb98dc89f5cc19527d1dad214579db7d6292f2b8

Thank you

Special thanks to code contributors @drewangell, @mpldr, @snajafov, @PatrickGTR, and @Kapmeister for their feature, infrastructure, and bug-fix contributions.

Enormous thanks to our security researchers who reported vulnerabilities. All changes are listed in the CHANGELOG.md (github.com). Please read the CHANGELOG — there are some things you need to do if you have custom Invoice and Quote templates (instead of the default ones).

@0raN9ewww, @5ud0er, @akgul7990, @alanturing881, @alham-rizvi, @ali-iltizar, @ashrexon, @baozongwi, @capt-bl4ck0ut, @chakrapani150, @Char0n1507, @Chittu13, @cyabell, @de3erve-hunter, @EvidentObscurity, @FelipeSilvany, @FORIMOC, @geo-chen, @HuajiHD, @iiihaiii, @kitu232, @lighthousekeeper1212, @mattmumford-git, @0xMoError-22, @PLpaPLpa, @polybjorn, @QiaoNPC, @radoi-teodor, @Santoshkumarpuppala, @snajafov, @tikket1, @tonghuaroot, @udaypali, @venkatesh2003631, @vicrypter, @Vijay-raghav7

Security & Stability

InvoicePlane 1.7.2 is a security-focused release. It resolves every vulnerability responsibly disclosed against v1.7.0 / v1.7.1, plus everything found in follow-up review since. If you run v1.7.0 or v1.7.1, upgrade immediately — this release fixes a critical (CVSSv3 9.9) Remote Code Execution vulnerability among ~40 other issues.

Critical

High

Medium

Low

  • PR-1496 Duplicate payment processing (Stripe callback replay); a unique payment_external_id index now prevents it. Reported by @HuajiHD (GHSA-6cpc-hr8h-xgr2).
  • PR-1486, PR-1500, PR-1516 Email template preview XSS. Reported by @Vijay-raghav7 (GHSA-4wqv-84px-8jc6).
  • PR-1507 EXIF metadata in uploaded images; optional stripping added (SEC_STRIP_EXIF_FROM_IMAGES). Reported by @Vijay-raghav7 (GHSA-7j67-2v6p-275v).
  • PR-1583 Non-constant-time cron_key comparison in the recurring-invoice cron endpoint. Reported by @alanturing881 (GHSA-jg68-6mqc-hxcr).
  • PR-1495 PHPMailer debug output leaking into AJAX responses; now routed to the CI log with sanitization. Found in an internal audit.
  • PR-1684 PayPal order_id path injection: an unvalidated order_id was interpolated directly into the PayPal API request path in captureOrder()/showOrderDetails(); now validated against a strict alphanumeric format. Reported by @Char0n1507 (GHSA-rf9w-hm5h-4gr2).
  • PR-1664 Unescaped logo filename in the PDF invoice header, and log injection via an unsanitized checkout_session_id in the Stripe guest-payment callback. Found in an internal audit.

Improvements / Changes

Custom Templates & Configuration

  • PR-1648 Custom template allowlist constants added to ipconfig.php, making custom invoice and quote template selection explicit while preserving the no-filesystem-scan RCE fix.
  • PR-1652 Upgrade documentation corrected to state that CUSTOM_TEMPLATES_FOLDER alone lists no templates; template names must be copied into the relevant ipconfig.php allowlist variable.
  • PR-1653 Custom template documentation clarified: administrators must provide both the template file under CUSTOM_TEMPLATES_FOLDER and the matching CUSTOM_*_TEMPLATES allowlist entry.
  • PR-1656 Administrators upgrading with selected legacy custom templates now get a targeted /setup completion and Settings-page warning listing the saved custom template names and the exact CUSTOM_INVOICE_TEMPLATES_PDF, CUSTOM_INVOICE_TEMPLATES_PUBLIC, CUSTOM_QUOTE_TEMPLATES_PDF, or CUSTOM_QUOTE_TEMPLATES_PUBLIC variable to update.

Payment Processing

  • IP-1677 Stripe zero-decimal currencies: Checkout Sessions now convert invoice balances using the configured currency's minor unit instead of multiplying every amount by 100. Callback validation, recorded payments, and merchant-response details use the same conversion, preventing JPY, KRW, CLP, and other zero-decimal invoices from charging customers 100 times the invoice total. Thanks to @snajafov.
  • PR-1289 Re-introduced Stripe & PayPal, adding PayPal Advanced Credit Cards and Venmo support. Thanks to @drewangell.

Infrastructure

  • PR-1509 Added a Docker application container (combined web server + PHP). Thanks to @mpldr.
  • PR-1489 The QR-code size on invoices is now configurable.

Fixed

  • PR-1665 Upload::delete_file() no longer reports a spurious "delete failed" error for a file that was already removed.
  • IP-1680 Cryptor binary-safety regression: decryptString() had silently regressed to mb_strlen()/mb_substr() on raw binary ciphertext (reverted by an automated code-style pass), which could break SMTP authentication for affected users. Reverted to byte-safe strlen()/substr() and disabled the offending Pint rule so it can't be silently reintroduced. Thanks to @Kapmeister.
  • Session config bug: sess_table_name and sess_cookie_name incorrectly read from the SESS_DRIVER env var, making it impossible to rename the session cookie or table without also changing the driver name.

Full Changelog (since v1.7.1): https://github.com/InvoicePlane/InvoicePlane/compare/v1.7.1...v1.7.2

Source: README.md, updated 2026-08-27