Repository navigation
Releases
DirectPaymentTimesheets v1.0.7
DirectPaymentTimesheets v1.0.7
v1.0.7 improves payroll preparation and CSV import, introduces audited timesheet amendments, redesigns settings and email setup, and strengthens local storage and credential handling. It uses database schema 42 (v1.0.6 uses schema 41).
Start here: completed v1.0.7 First-Time Setup Guide.
Improvements since v1.0.6
- Configurable CSV import: heading aliases, introductory rows, enabled columns, and four calculation methods: supplied Worked Hours, Worked Hours minus Break, End minus Start, or End minus Start minus Break. Required fields and breaks are validated; omitted Rate/Amount are distinguished from supplied zero. Saved interpretation and archived source evidence preserve historical imports. Import stays unrounded; payroll rounding applies during preparation.
- Folder-first and clipboard import: process the configured CSV folder, then enter/edit clipboard CSV for outstanding active PAs. Coverage follows the selected payroll period, so older files do not suppress later-cycle clipboard entry. Duplicate detection, import audit and source archiving remain in force.
- Audited amendments: edit and save submitted or settled timesheets, regenerate a replacement PDF, and send separately when ready. The latest saved and successfully regenerated version governs later reconciliation and carry-forward. Earlier PDFs, submissions, attachment bytes and delivery attempts remain retained. Saving alone invalidates the old candidate; regeneration does not send mail. New actual hours remain usable in subsequent cycles, with protection against repeated carry/payment. In-flight or uncertain delivery remains blocked.
- Clearer screens and saving: reorganised Employer/PA Maintenance, Application/Payroll Settings and Email Settings; visible unsaved Save controls; explicit partial-save reporting; improved narrow-dialog wrapping, navigation and Dashboard layout. Failed Payroll Settings configuration saves retain effective rules until a successful retry. Current email recipient lists exclude departed PAs while historical payroll remains available.
- Simpler email setup: standalone test email needs no PA, payroll schedule or generated document. It sends only to the selected test recipient, with no payroll attachments, CC/BCC or payroll-history writes. Connection, message, recipient and test/batch safeguards make sending deliberate. SMTP acceptance still does not prove inbox delivery.
- Secure credentials and Microsoft OAuth2: SMTP passwords and Microsoft tokens use native OS credential stores; configuration retains opaque references. Legacy plaintext password migration verifies secure storage before replacing the field. Authenticated SMTP requires verified TLS, with no plaintext-authentication fallback. Microsoft personal-account device sign-in, refresh, XOAUTH2, bounded network diagnostics and explicit local-token cleanup are implemented.
- Storage and recovery hardening: private creation, ownership/permission checks, guarded file publication, SQLite connection ownership and clearer database errors strengthen backup, migration, restore and normal shutdown. These safeguards do not provide authentication or protection against processes with the user's full account authority.
Packages and installation
Choose the architecture of your installed operating system. All ten installation packages below are attached, together with SHA256SUMS, individual .sha256 files, individual provenance .json files and the original rehearsal-manifest.json.
| Platform | Package | Target baseline |
|---|---|---|
| Linux Intel/AMD 64-bit | direct-payment-timesheets_1.0.7_amd64.deb or DirectPaymentTimesheets-1.0.7-linux-x86_64.AppImage |
Compatible desktop Linux, Debian 12 / glibc 2.36 baseline |
| Linux ARMv7 hard-float | direct-payment-timesheets_1.0.7_armhf.deb or DirectPaymentTimesheets-1.0.7-linux-armhf.AppImage |
Compatible 32-bit ARMv7 OS; not ARMv6/original Pi Zero |
| Linux ARM64 | direct-payment-timesheets_1.0.7_arm64.deb or DirectPaymentTimesheets-1.0.7-linux-aarch64.AppImage |
Compatible 64-bit ARM Linux |
| Windows Intel/AMD 64-bit | DirectPaymentTimesheets-1.0.7-windows-x86_64-setup.exe |
Windows 10 or later, x64 |
| Windows ARM64 | DirectPaymentTimesheets-1.0.7-windows-arm64-setup.exe |
Windows 10 or later, native ARM64 application |
| Intel Mac | DirectPaymentTimesheets-1.0.7-macos-x86_64.dmg |
macOS 11.4 or later |
| Apple Silicon Mac | DirectPaymentTimesheets-1.0.7-macos-arm64.dmg |
macOS 12.0 or later |
Windows: run the matching unsigned per-user installer, then launch Direct Payments Timesheets from the Start menu. Both architectures share the same per-user installation; use only the matching installer. Check official origin and checksum before accepting Windows security prompts.
Linux: install the matching .deb with the package manager (for example sudo apt install ./direct-payment-timesheets_1.0.7_amd64.deb on amd64), or make the AppImage executable and open it. AppImage still requires compatible system/desktop/graphics libraries and may require FUSE. Run the application as your normal user. ARM packages default to software rendering unless explicitly overridden.
macOS: open the matching DMG, drag Direct Payments Timesheets.app to Applications, eject the DMG and launch the installed copy. Bundles are ad-hoc signed, not Developer ID signed or notarised. Use the normal macOS approval process for a verified official download; do not disable Gatekeeper globally.
Verify downloaded files against SHA256SUMS (Linux: sha256sum -c SHA256SUMS with the relevant packages present; macOS: shasum -a 256 <file>; Windows PowerShell: Get-FileHash <file> -Algorithm SHA256). Compare the complete hash and exact filename. Checksums establish matching bytes, not a publisher signature.
Upgrading from v1.0.6
- Close every running copy. Keep a recovery copy of your current data and separately protect external payroll files, signatures and other business records.
- Install v1.0.7 using the same OS account and existing data location. Updates are manual; Check for updates does not install them.
- On first launch, the application automatically creates and verifies a pre-upgrade database backup, including committed SQLite WAL data, before migrating schema 41 to 42. When present,
config.tomlis included, using credential references instead of newly copied plaintext SMTP passwords. Backup failure blocks the upgrade. Migration runs on an isolated copy before transactional installation; preserve the original and recovery evidence if startup reports a failure. - Confirm version 1.0.7 / schema 42, then check employer/PA details, payroll periods, settings and email access before production use.
The normal data root is %LOCALAPPDATA%\DirectPaymentTimesheets on Windows and ~/.directpaymenttimesheets on Linux/macOS; an explicit override may change it. Do not switch profiles during upgrade accidentally. Migration is one-way: never run v1.0.6 against an upgraded schema-42 database. Use the reviewed backup/restore procedure and restart as directed rather than downgrading the executable against newer data.
Database backups include records/history and PDF/attachment bytes retained inside SQLite, plus configuration when present. They do not copy external PDFs, payslips, signatures, original CSV/archive files, fonts or OS credential-store secrets. Known external locations are listed in the recovery manifest. Back up those files separately. Restore reviews rollback effects, requires a reason/acknowledgement, blocks unresolved email uncertainty, and makes a safety copy first. A backup copied to another account/computer normally needs SMTP password re-entry or Microsoft reconnection.
Credentials and Microsoft sign-in
Windows uses Credential Manager, macOS Keychain, and Linux a persistent, unlocked Secret Service collection. Missing, locked or unverifiable stores block authenticated sending; no plaintext/session-only fallback is supplied. Failed legacy password migration preserves the recoverable original file and blocks authenticated sending. Historical v1.0.6 backups may still contain plaintext passwords; upgrading does not erase them. Usernames and ordinary settings are not encrypted by credential storage.
Microsoft OAuth2 supports personal Outlook.com, Hotmail.com and Live.com accounts at smtp-mail.outlook.com:587 with required STARTTLS. Supply a valid Microsoft public-client application ID registered for personal accounts/device authorization and delegated SMTP.Send plus offline access; no client secret is required or embedded. Sign in/reconnect, save Email Settings, then explicitly send a standalone test. The implementation does not support organizational Microsoft 365, shared mailboxes, national clouds, client-credentials grants or Graph Mail.Send. Microsoft SMTP hosts never fall back to Basic password authentication. OAuth consent does not establish SMTP AUTH permission or successful delivery.
Disconnect removes the draft reference and requires saving; it does not revoke Microsoft consent or erase every retained credential generation. Explicit local cleanup is separate. Revoke consent through Microsoft when needed. See Microsoft OAuth2 details and remaining acceptance.
Verification and source provenance
These are the original packages from successful GitHub Actions run 42719123287, source 2ae393fc7ec1136623e82cf8a5c2ff33ae8f6975, version 1.0.7. All seven platform/architecture builders and the final [verify-all job](https://github.co...
DirectPaymentTimesheets v1.0.6
Full Changelog: v1.0.5...v1.0.6
DirectPaymentTimesheets v1.0.5 - macOS
Mac-only release. Intel x86_64 targets macOS 11.4 or later; Apple Silicon arm64 targets macOS 12.0 or later. Minimum-OS hardware acceptance testing remains pending. Windows and Linux downloads remain available from v1.0.4.
DirectPaymentTimesheets v1.0.4
Full Changelog: v1.0.3...v1.0.4
Direct Payments Timesheets v1.0.3
Full Changelog: v1.0.2...v1.0.3
Direct Payments Timesheets v1.0.2
Full Changelog: v1.0.1...v1.0.2
DirectPaymentTimesheets v1.0.1 - Windows
Windows 10 and later - 64-bit
Download and run:
DirectPaymentTimesheets-1.0.1-windows-x86_64-setup.exe
This is a per-user installation and does not require administrator access. Application data and payroll documents are preserved when upgrading or uninstalling.
Windows security warning
The installer is currently unsigned, so Windows may show Windows protected your PC. If so:
- Click More info.
- Confirm the app shown is
DirectPaymentTimesheets-1.0.1-windows-x86_64-setup.exe. - Click Run anyway.
Verification
- GitHub Actions Windows build completed successfully.
- 489 automated tests passed.
- Installation, Start Menu launch, uninstall, data preservation and reinstall were tested successfully on Windows 10.
- Database schema remains 31.
Linux packages remain available from the v1.0.0 release.
DirectPaymentTimesheets 1.0.0
First installer-packaged release. Includes an amd64 Debian package and an x86_64 AppImage built on Debian 12 and tested on Debian 13 and Linux Mint 22.3. SQLite schema remains version 31. ARM, Windows and macOS packages are not included in this release. Use SHA256SUMS to verify downloaded files.