v1.0.1 Hotfix - Invoice Processing & AppImageHub Compliance
Aquiis v1.0.1 Hotfix Release Notes
Release Date: January 29, 2026
Release Type: Hotfix
Previous Version: v1.0.0 (January 28, 2026)
Overview
Version 1.0.1 addresses critical business logic issues and UX improvements identified during initial v1.0.0 release testing. This hotfix resolves invoice processing race conditions, implements AppImageHub naming standards, and improves notification center accessibility.
Critical Fixes
1. Invoice Late Fee Processing (Critical - Business Logic)
Issue: Race condition in scheduled task execution caused inconsistent late fee application. If UpdateInvoiceStatuses ran before ApplyLateFees, invoices were marked overdue without late fees applied, and subsequent runs would not apply fees because status already changed.
Resolution:
- Backend: Consolidated two separate tasks (
ApplyLateFeesandUpdateInvoiceStatuses) into single atomicProcessOverdueInvoicesoperation - Payment Processing: Added auto-apply logic when partial payments made on past-due invoices (catches scenario where scheduled task hasn't run yet)
- Status update and late fee application now occur in one transaction (both scheduled task and payment processing)
- Prevents any invoice from being marked overdue without proper late fee evaluation
- Administrator UI: Updated ServiceSettings and ApplicationSettings to show single "Update Invoice Statuses" task (subtitle: "Mark pending invoices as overdue and apply late fees")
Files Changed:
2-Aquiis.Application/Services/ScheduledTaskService.cs- Consolidated scheduled task methods2-Aquiis.Application/Services/PaymentService.cs- AddedApplyLateFeeIfEligibleAsync()method5-Aquiis.Professional/Features/Administration/Settings/Pages/ServiceSettings.razor- Updated manual trigger UI4-Aquiis.SimpleStart/Features/Administration/Settings/Pages/ApplicationSettings.razor- Consolidated background task UI
Impact: Ensures all overdue invoices have late fees applied correctly regardless of how they become overdue (scheduled task OR payment processing).
2. AppImage Naming Convention (Critical - AppImageHub Compliance)
Issue: AppImage filename AquiisPropertyManagement-1.0.0.AppImage did not follow AppImageHub standard nomenclature, preventing automatic version detection and updates.
Resolution:
- Changed
productNamefrom "AquiisPropertyManagement" to "Aquiis" (matches repository name) - Updated
buildVersionto "1.0.1" - New filename:
Aquiis-1.0.1-x86_64.AppImage(compliant with AppImageHub standards) - Enables automatic version detection:
https://github.com/xnodeoncode/Aquiis/releases/whatever/Aquiis-1.0-x86_64.AppImage→ auto-discovered
Files Changed:
4-Aquiis.SimpleStart/electron.manifest.json
Impact: AppImageHub can now automatically detect new releases without manual PR updates. Users can discover application via AppImageHub once listing approved.
UI/UX Improvements
3. Notification Center Accessibility
Issue: Notification bell dropdown only appeared when unread notifications existed. Users couldn't access notification preferences or view history when inbox empty.
Resolution:
- Dropdown now always accessible regardless of notification count
- Shows "No new notifications" message when empty
- "View all" link always available for notification history access
- Badge displays "0" when no notifications (visual consistency)
Files Changed:
3-Aquiis.UI.Shared/Components/Notifications/NotificationBell.razor
Impact: Users can access notification center and preferences at any time, improving discoverability.
4. Email/SMS/Digest Notifications Disabled with "Coming Soon" Badges
Issue: Email, SMS, and Digest notification settings were interactive but non-functional (services not yet integrated), causing user confusion.
Resolution:
- Added "Coming Soon" warning badges to email, SMS, and digest sections
- Badges styled consistently with clock icon and positioned on right side of card headers
- Replaced toggles with disabled checkboxes (visual indication)
- Added explanation alerts: "This feature requires [email/SMS/email] service integration and will be enabled in a future release"
- Applied opacity styling (75%) to visually distinguish from active features
Files Changed:
3-Aquiis.UI.Shared/Components/Notifications/NotificationPreferences.razor
Impact: Sets clear expectations for users about feature availability timeline and maintains consistent UI design.
5. NavMenu Cleanup - Removed Tenants Direct Navigation
Issue: Tenants link in navigation menu had no destination page - tenants should be accessed via lease context, not direct navigation.
Resolution:
- Removed "Tenants" navigation link from all role-based menus
- Tenants remain accessible through:
- Lease details (primary access path)
- Prospect conversion workflow
- Search functionality
Files Changed:
4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor- Removed from OrganizationAuthorizeView5-Aquiis.Professional/Shared/Layout/NavMenu.razor- Removed from both PropertyManager and User sections
Impact: Eliminates dead-end navigation path, encourages proper lease-centric workflow.
6. Owner Role Available in User Management (Reverted)
Consideration: Initially restricted Owner role from dropdowns to prevent improper assignments. However, this prevents legitimate account inheritance scenarios (business transitions, ownership transfers).
Final Decision:
- Owner role REMAINS available in role change dropdowns
- System allows role flexibility while enforcing role-based permissions on features
- Enables account transitions without losing historical data/audit trail
- Creating new accounts for ownership transfers would lose activity history
Files Changed:
4-Aquiis.SimpleStart/Features/Administration/Organizations/Pages/ManageUsers.razor- Owner role available in dropdowns5-Aquiis.Professional/Features/Administration/Organizations/Pages/ManageUsers.razor- Owner role available in dropdowns
Impact: Supports real-world business transitions and ownership transfers while maintaining audit trails.
Testing Results
✅ Build Status: All projects compiled successfully (20.4s build time)
✅ Compilation Errors: 0
✅ Test Projects: All 7 test projects built successfully
Database Impact
Schema Changes: None
Migration Required: No
Database Version: v0.0.0 (unchanged from v1.0.0)
Users can upgrade from v1.0.0 to v1.0.1 without any database migration. All existing data remains intact and compatible.
Deployment Notes
For End Users (Upgrade from v1.0.0)
-
Download new AppImage:
curl -L -o Aquiis-1.0.1-x86_64.AppImage \ https://github.com/xnodeoncode/Aquiis/releases/download/v1.0.1/Aquiis-1.0.1-x86_64.AppImage chmod +x Aquiis-1.0.1-x86_64.AppImage
-
Verify checksum (will be provided in release)
-
Run desktop integration script (if needed):
./install-desktop-integration.sh ~/path/to/Aquiis-1.0.1-x86_64.AppImage -
No database backup required - no schema changes
Windows (Portable Executable)
-
Download portable exe:
Download
Aquiis-1.0.1-x64.exefrom the v1.0.1 release page -
Verify checksum:
# PowerShell Get-FileHash -Algorithm SHA256 Aquiis-1.0.1-x64.exe # Compare with checksums.txt from release
# Command Prompt (using certutil) certutil -hashfile Aquiis-1.0.1-x64.exe SHA256
-
Run the application:
- Double-click
Aquiis-1.0.1-x64.exeto launch - No installation required (portable exe)
- Windows Defender SmartScreen may show warning (code not yet signed)
- Click "More info" → "Run anyway" to proceed
- Double-click
-
No database backup required - no schema changes
For Developers (Build from Source)
git checkout v1.0.1
dotnet build Aquiis.sln -c Release
cd 4-Aquiis.SimpleStart
electronize build /target linux # For Linux AppImage
electronize build /target win # For Windows portable exeFor Administrators (Manual Task Testing)
Test Invoice Processing:
- Navigate to Administration → Settings → Services (or Application Settings in SimpleStart)
- Click "Run Now" on "Update Invoice Statuses"
- Verify both status updates AND late fees applied in single operation
- Check logs for consolidated message: "Processed X overdue invoice(s): Y status updated, Z late fees applied"
Test Payment Processing Late Fee Auto-Apply:
- Create invoice with due date in past (beyond grace period, e.g., 5 days ago)
- Ensure late fee settings enabled with auto-apply
- Make partial payment on the invoice (less than total due)
- Expected: Invoice marked Overdue WITH late fee applied immediately
- Check invoice notes for "Late fee of $X applied on [date]" message
- Verify late fee added to invoice amount
Test Notification Center:
- Click notification bell (even with 0 notifications)
- Dropdown should appear with "No new notifications" message
- Click "View all" → navigates to /notifications
- Check notification preferences → Email/SMS/Digest sections show "Coming Soon" badges with consistent styling
Known Issues (Carried Forward from v1.0.0)
- None critical for hotfix release
- See v1.1.0 roadmap for planned enhancements
GitHub Release Artifacts
Aquiis-1.0.1-x86_64.AppImage(Linux, ~230MB)Aquiis-1.0.1-x64.exe(Windows portable, ~150MB)checksums.txt(SHA256 hashes)install-desktop-integration.sh(Linux helper script)
AppImageHub Update
AppImageHub PR will need update with new filename:
- Old:
AquiisPropertyManagement-1.0.0.AppImage - New:
Aquiis-1.0.1-x86_64.AppImage
Update PR comment explaining filename change to comply with standard nomenclature.
Changelog Summary
Changed:
- AppImage product name: "AquiisPropertyManagement" → "Aquiis"
- Invoice processing: Two separate tasks → One atomic operation
- Notification bell: Conditional display → Always accessible
Added:
- "Coming Soon" indicators for email/SMS/digest notifications with consistent badge styling
- Payment processing auto-apply late fees when invoice becomes overdue
Removed:
- Tenants navigation links from all menus
- Redundant
ApplyLateFeesandUpdateInvoiceStatusesscheduled tasks (consolidated into one)
Migration Path
- v1.0.0 → v1.0.1: Drop-in replacement, no migration required
- v1.0.1 → v1.1.0: Database migration wizard planned (see v1.1.0 roadmap)
Version Compatibility
| Component | v1.0.0 | v1.0.1 |
|---|---|---|
| Database Schema | v1.0.0 | v1.0.0 |
| .NET Framework | 10.0 | 10.0 |
| ElectronNET | 23.6.2 | 23.6.2 |
| Bootstrap | 5.3.3 | 5.3.3 |
Contributors
- xnodeoncode - All fixes and testing
Related Issues
- Invoice late fees not applied: v1.0.0-Release-Issues.md #Invoices
- AppImage naming: v1.0.0-Release-Issues.md #AppImage
- Notification Center: v1.0.0-Release-Issues.md #Notification Center
- NavMenu cleanup: v1.0.0-Release-Issues.md #NavMenu
- Owner role: v1.0.0-Release-Issues.md #Profile
Full Changelog: v1.0.0...v1.0.1