| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| WebCalendar-1.9.16.zip.pem | 2026-05-06 | 3.3 kB | |
| WebCalendar-1.9.16.zip.sig | 2026-05-06 | 96 Bytes | |
| MANIFEST.sha256 | 2026-05-06 | 24.3 kB | |
| MANIFEST.sha256.sig | 2026-05-06 | 89 Bytes | |
| WebCalendar-1.9.16.zip | 2026-05-06 | 1.3 MB | |
| README.md | 2026-05-06 | 4.6 kB | |
| WebCalendar v1.9.16 source code.tar.gz | 2026-05-06 | 5.4 MB | |
| WebCalendar v1.9.16 source code.zip | 2026-05-06 | 5.8 MB | |
| Totals: 8 Items | 12.5 MB | 6 | |
WebCalendar v1.9.16
This release brings a major security-hardening feature (signed release-file manifest verification), wide-ranging wizard installer and mobile-UI bug fixes, RFC 5545–conformant iCal handling, full Unicode/emoji support in iCal imports, and modernized Markdown documentation published as a MkDocs Material site.
Security
- Security audit now verifies a signed manifest of release files and reports extra, modified, and missing files — a defense against opportunistic webshell drops (#233). See
docs/release-signing.mdfor the maintainer runbook and independent verification instructions.
Fixed
- Restore
CREATE TABLE IF NOT EXISTSforwebcal_blobin upgrade SQL - Remove spurious
CREATE TABLEfrom upgrade SQL preview; fix copy button - Add
--skip-sslfallback for MySQL CLI; createwebcal_blobif missing - Align day view time column when untimed events are present (#100)
- Nav links from
view_entry.phpnow return to own calendar (#159) - Preserve correct date for all-day events during CSV import (#193)
- Replace
+= 86400day loop withmktimeto prevent DST duplicate days (#167) - Honor
BYMONTHselection for monthly repeating events (#155) - Repair Expert Mode
ByDay/ByMonthDay/BySetPosbutton selection (#165) - Skip
BYMONTHDAYvalues exceeding month length per RFC 5545 (#149) - Use exclusive
DTENDfor untimed events per RFC 5545 (#144) - Widen
webcal_blob.cal_namefromVARCHAR(30)toVARCHAR(255)(#105) - Correct ICS export timezone/DST handling (#74)
- Add
maxlengthto brief description input to prevent silent truncation (#60) - Empty ICS email attachment when creator is not a participant (#236)
- Add missing management pages to access control page lookup (#368)
- Remove
ldap_sort()call removed in PHP 8.0 (#373) - Enable double-tap to add events on Android Chrome (#528)
- Preserve English fallback translations for non-English languages (#450)
- Prevent password lockout when
cal_passwdcolumn is too narrow (#567) - Gracefully handle invalid or unwritable cache directory (#617)
- Time selection dropdowns wrapping in Repeat/Reminders tabs (#625)
- Add missing globals for name validation in
save_user()(#498) - End time wrapping on separate lines in event editor (#596)
- Handle missing wizard gracefully (#610)
- PHP 8.2+ float-to-int deprecation in
time_selection()(#612) - Typos in HTML attributes, CSS selectors, and class names (#574)
- Respect
EMAIL_MAILERsetting instead of hardcoding SMTP (#629) - Replace broken DES-crypt session cookies with secure token-based remember-me
- Always use UTF-8 meta charset; add latin1-to-utf8 migration tool (#626)
- Set UTF-8 charset on database connections and HTTP headers (#626)
- Upgrade wizard skipping v1.9.11 SQL when upgrading from v1.9.10 (#624)
- Display events of all participants
- Wizard upgrade regressions blocking install and post-install runtime (#639)
- Restore upgrade helper functions dropped in wizard rewrite (#639)
cat_ownerNULL cleanup and version-stamp error reporting in installer (#639)- Schema probe now authoritative over stale version stamp during upgrade (#639)
- Bypass and clear stale query cache for
WEBCAL_PROGRAM_VERSION(#639) - Custom template HTML save, Firefox select font, and mobile minical fixes (#639)
- Keep Month/Week/Year views horizontal on iPad portrait (#639)
- Narrow-viewport minical caption-side rendering (#640)
- Stop wiping non-array
site_extrasvalues on save (#641) - Navbar collapse breakpoint and dual-collapse toggle on mobile (#639)
- Stray quote and PHP block in
styles.css(#639) - Correct ICS export timezone for Apple Calendar and CalDAV clients
- Support emoji and full Unicode in iCal imports and display
Changed
- Upgrade PHPMailer from 6.8.1 to 7.0.2 (#602)
- Upgrade PHP_CodeSniffer from 3.x to 4.0.1
- Documentation modernized: legacy HTML docs archived, replaced with Markdown
- Database backend support clarified: MySQL, PostgreSQL, SQLite3 are supported and tested; Oracle, DB2, ODBC, Interbase are legacy/untested on PHP 8
Added
- MCP server unit and integration tests with CI workflow
- Comprehensive Markdown documentation in
docs/ - Manual ordering UI for event categories (#493)
- MkDocs Material documentation site with GitHub Pages deployment
Verifying this release
WebCalendar v1.9.16 ships a signed manifest (MANIFEST.sha256 + MANIFEST.sha256.sig) and a cosign keyless signature of the release zip. See docs/release-signing.md (github.com) for verification instructions.