← N78-Ops
2026-05-28
Build 133 (0.9.0-beta3.133)
**Commit:** checkpoint before checking out Split-Tiers
Updated app/build.gradle.kts
Updated app/src/main/AndroidManifest.xml
Updated app/src/main/java/com/mike/nivo78ops/MainActivity.kt
Updated app/src/main/java/com/mike/nivo78ops/Nivo78OpsApp.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/DocumentImageEncoding.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentAssets.kt
Updated app/src/main/java/com/mike/nivo78ops/doc/DocHostCredentialLoader.kt
Updated app/src/main/java/com/mike/nivo78ops/media/BusinessLogoAlpha.kt
Added app/src/main/java/com/mike/nivo78ops/schedule/JobArrivalReminderBootReceiver.kt
Added app/src/main/java/com/mike/nivo78ops/schedule/JobArrivalReminderNotifier.kt
Added app/src/main/java/com/mike/nivo78ops/schedule/JobArrivalReminderPermission.kt
Added app/src/main/java/com/mike/nivo78ops/schedule/JobArrivalReminderReceiver.kt
Added app/src/main/java/com/mike/nivo78ops/schedule/JobArrivalReminderScheduler.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/BusinessLogoAlphaTest.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/Nivo78DocHostRuntimeTest.kt
Added shared/src/commonMain/kotlin/com/nivo78ops/logic/JobArrivalReminderEngine.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/export/DocumentQuoteTheme.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/export/HtmlQuoteInvoiceGenerator.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/UiCopy.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/UiCopySchedule.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/schedule/ScheduleDayDetailInline.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/schedule/ScheduleScreenBanners.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/schedule/ScheduleScreenBookingBridge.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/schedule/ScheduleScreenMainContent.kt
Build 132 (0.9.0-beta3.132)
**Commit:** checkpoint before checking out Split-Tiers
Updated app/build.gradle.kts
Updated app/src/main/java/com/mike/nivo78ops/Nivo78OpsAndroidRouteTree.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentDelivery.kt
Updated app/src/main/java/com/mike/nivo78ops/doc/DocHostCredentialLoader.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/Nivo78DocHostRuntimeTest.kt
Added shared/src/androidMain/kotlin/com/nivo78ops/platform/PlatformUiThread.android.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/BusinessClient.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/ClientManager.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/QuoteLogic.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/billing/BillingModels.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/billing/TaxSummaryEngine.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/export/CsvExportEngine.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/export/QuickBooksAccountantExport.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/export/QuickBooksExportDocumentSupport.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/financial/FinancialModels.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/financial/QuoteFinancialBridge.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/financial/QuotePaymentState.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/network/Nivo78DocHostRuntime.kt
Added shared/src/commonMain/kotlin/com/nivo78ops/platform/PlatformUiThread.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/security/Indeop1PortableCipher.kt
Added shared/src/commonMain/kotlin/com/nivo78ops/ui/QuoteStatusColors.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/UiCopy.kt
Added shared/src/commonMain/kotlin/com/nivo78ops/ui/quote/QuoteEditorPaymentIntegration.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/OverviewScreen.kt
Build 131 (0.9.0-beta3.131)
**Commit:** separate logo upload to the doc host with HTTPS serving on view
Updated .cursor/rules/docs-md-docx-sync.mdc
Updated .cursor/rules/play-friendly-android.mdc
Updated .idea/compiler.xml
Removed .kotlin/errors/errors-1778285607628.log
Removed .kotlin/errors/errors-1778286007190.log
Removed .kotlin/errors/errors-1778724803498.log
Removed .kotlin/errors/errors-1778731600706.log
Removed .kotlin/errors/errors-1778731600806.log
Removed .kotlin/errors/errors-1778731861463.log
Removed .kotlin/errors/errors-1778731861565.log
Removed .kotlin/errors/errors-1779133195696.log
Removed .kotlin/errors/errors-1779133414569.log
Removed .kotlin/errors/errors-1779133431334.log
Removed .kotlin/errors/errors-1779727452621.log
Removed .kotlin/errors/errors-1779732397825.log
Removed .kotlin/errors/errors-1779737249955.log
Removed .kotlin/errors/errors-1779737256179.log
Updated android-test-checklist.txt
Updated app/build.gradle.kts
Updated app/release/output-metadata.json
Updated app/src/main/java/com/mike/nivo78ops/QuoteDeliveryEngine.kt
Updated app/src/main/java/com/mike/nivo78ops/ShareEngine.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/DocumentImageEncoding.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentAssets.kt
Build 130 (0.9.0-beta3.130)
**Commit:** fix beta feedback email
Updated app/build.gradle.kts
Updated app/src/main/AndroidManifest.xml
Updated app/src/main/java/com/mike/nivo78ops/JobPhotoStorage.kt
Updated app/src/main/java/com/mike/nivo78ops/Nivo78OpsApp.kt
Updated app/src/main/java/com/mike/nivo78ops/QuoteDeliveryEngine.kt
Updated app/src/main/java/com/mike/nivo78ops/ShareEngine.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/DocumentImageEncoding.kt
Added app/src/main/java/com/mike/nivo78ops/delivery/DocumentWebViewHtml.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/HostedQuoteDocumentUploader.kt
Added app/src/main/java/com/mike/nivo78ops/delivery/HostedUploadConnectivity.kt
Added app/src/main/java/com/mike/nivo78ops/delivery/PdfHtmlSharpness.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/PdfPrintAdapter.kt
Added app/src/main/java/com/mike/nivo78ops/delivery/QuoteDeliveryActivityHost.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentAssets.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentDelivery.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteEmailHandoff.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/WebViewPrintSession.kt
Updated app/src/main/java/com/mike/nivo78ops/doc/DocHostCredentialLoader.kt
Added app/src/main/java/com/mike/nivo78ops/doc/HostedLinkStartupWarmup.kt
Updated app/src/main/java/com/mike/nivo78ops/media/BusinessLogoAlpha.kt
Updated app/src/main/java/com/mike/nivo78ops/platform/AndroidQuoteEditorScreenHosts.kt
Updated app/src/main/java/com/mike/nivo78ops/ui/pdf/InvoiceDocumentView.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/DepositScheduleLogicTest.kt
Added app/src/test/java/com/mike/nivo78ops/tests/logic/DocumentWebViewHtmlTest.kt
2026-05-27
Build 124 (0.9.0-beta3.124)
**Commit:** fix beta feedback email
Updated tools/sync-website-beta-deploy.ps1
Build 123 (0.9.0-beta3.123)
**Commit:** Add beta deploy runbook and document the full sideload-to-FTP workflow.
Updated app/src/main/java/com/mike/nivo78ops/MainActivity.kt
Added app/src/test/java/com/mike/nivo78ops/tests/logic/FeedbackEmailIntentTest.kt
Updated shared/src/androidMain/kotlin/com/nivo78ops/Platform.android.kt
Updated shared/src/androidMain/kotlin/com/nivo78ops/core/PlatformBridge.kt
Added shared/src/androidMain/kotlin/com/nivo78ops/intent/EmailIntentLauncher.kt
Updated shared/src/androidMain/kotlin/com/nivo78ops/intent/MailtoIntents.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/EmailValidation.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/PaymentMethodIdFormat.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/ProfileTextFormat.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/UserFacingMessages.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/BetaFeedbackScreen.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/BusinessProfileFormSections.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/BusinessProfileFormState.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/BusinessProfileSaveValidation.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/BusinessProfileSubMenu.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/SettingsSharedComponents.kt
Added shared/src/commonTest/kotlin/com/nivo78ops/logic/EmailValidationTest.kt
Build 122 (0.9.0-beta3.122)
**Commit:** Add beta deploy runbook and document the full sideload-to-FTP workflow.
Updated docs/BETA_DEPLOY_RUNBOOK.md
Updated docs/BETA_REVISION_STRATEGY.md
Updated docs/CHANGELOG_PUBLIC.md
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/screens/HelpArticles.kt
Added tools/repair-revision-docs.ps1
Build 121 (0.9.0-beta3.121)
**Commit:** Fixed calendar green highlight not following the new date
Added docs/BETA_DEPLOY_RUNBOOK.md
Updated docs/BETA_REVISION_STRATEGY.md
Updated docs/README.md
Build 120 (0.9.0-beta3.120)
**Commit:** Fixed slow registry access.
Updated android-test-checklist.txt
Updated app/src/main/java/com/mike/nivo78ops/Nivo78OpsAndroidRouteTree.kt
Updated app/src/main/java/com/mike/nivo78ops/backup/BackupScheduleRunner.kt
Updated app/src/main/java/com/mike/nivo78ops/backup/SafBackupTarget.kt
Updated app/src/main/java/com/mike/nivo78ops/platform/AndroidSettingsScreenHosts.kt
Updated app/src/main/java/com/mike/nivo78ops/ui/PaywallDialog.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/FirstRunOnboardingPolicyTest.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/SaveFinalizedQuoteTest.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/ScheduleBookingControllerTest.kt
Updated desktop/src/desktopMain/kotlin/com/mike/nivo78ops/desktop/platform/DesktopSettingsScreenHosts.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/core/TierScopedContent.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/BusinessProfile.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/ClientManager.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/ProvisioningManager.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/QuoteOrderNumber.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/UserFacingMessages.kt
Added shared/src/commonMain/kotlin/com/nivo78ops/logic/backup/SafBackupRunResult.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/core/SupportDiagnostics.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/onboarding/FirstRunIdentityValidation.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/onboarding/QuickClientDraft.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/logic/schedule/ScheduleBookingController.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/network/Nivo78DocHostRuntime.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/registry/RegistrySettings.kt
Updated shared/src/commonMain/kotlin/com/nivo78ops/ui/UiCopy.kt
Build 119 (0.9.0-beta3.119)
**Commit:** general cleanup, sync pc, ios, skip password in onboarding, get it when first needed.Added self tests and adversarial tests.
Updated .idea/caches/deviceStreaming.xml
Updated android-test-checklist.txt
Updated app/src/main/assets/privacy_policy.html
Updated app/src/main/java/com/mike/nivo78ops/CommHubService.kt
Updated app/src/main/java/com/mike/nivo78ops/JobPhotoStorage.kt
Updated app/src/main/java/com/mike/nivo78ops/Nivo78OpsApp.kt
Updated app/src/main/java/com/mike/nivo78ops/ShareEngine.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/DocumentImageEncoding.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/HostedQuoteDocumentUploader.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/OutboundCommBcc.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentAssets.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteDocumentDelivery.kt
Updated app/src/main/java/com/mike/nivo78ops/delivery/QuoteEmailHandoff.kt
Updated app/src/main/java/com/mike/nivo78ops/doc/DocHostCredentialLoader.kt
Added app/src/main/java/com/mike/nivo78ops/media/BusinessLogoAlpha.kt
Added app/src/main/java/com/mike/nivo78ops/media/BusinessLogoFiles.kt
Updated app/src/main/java/com/mike/nivo78ops/platform/AndroidOnboardingScreenHosts.kt
Updated app/src/main/java/com/mike/nivo78ops/platform/AndroidSettingsScreenHosts.kt
Removed app/src/main/java/com/mike/nivo78ops/ui/BusinessLogoPickerRow.kt
Updated app/src/main/java/com/mike/nivo78ops/ui/pdf/InvoiceDocumentView.kt
Added app/src/test/java/com/mike/nivo78ops/tests/logic/BusinessLogoAlphaTest.kt
Updated app/src/test/java/com/mike/nivo78ops/tests/logic/HelpQuickBooksAwareCopyTest.kt
Added app/src/test/java/com/mike/nivo78ops/tests/logic/MailtoCopyExtrasIntentTest.kt
Added app/src/test/java/com/mike/nivo78ops/tests/logic/MailtoQueryRecipientsIntentTest.kt
2026-05-26
Build 119+ (documentation / policy alignment)
**Copy me on customer texts and emails** — default is now **off** (opt in under Settings → Profile); help and privacy describe Cc/Bcc when enabled
**QuickBooks export** — user-facing name aligned across app, website, and privacy (replaces “Accounting software export” in marketing copy)
**Customer email handoff** — improved Gmail Cc/Bcc prefill for copy-me when enabled
Build 118 (0.9.0-beta3.118)
**Commit:** Major refactor, added sef tests, feedback troubleshooting data QB switch, HTML switch, auto deploy
Updated .idea/deviceManager.xml
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-bigint-0.6.0-commonMain-N5SDZQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-bigint-0.6.0-nativeAndWasmWasiMain-N5SDZQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-core-0.6.0-commonMain-E06kQg.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-core-0.6.0-nonJvmMain-E06kQg.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-apple-0.6.0-commonMain-sLe6vw.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-base-0.6.0-appleMain-YF7oSA.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-base-0.6.0-commonMain-JE575g.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-base-0.6.0-nativeMain-JE575g.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-cryptokit-0.6.0-commonMain-JisqWA.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-provider-optimal-0.6.0-commonMain-wSznMg.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-random-0.6.0-appleMain-y4G4Uw.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-random-0.6.0-commonMain-4IuVlA.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-serialization-asn1-0.6.0-commonMain-mfSNXQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-serialization-asn1-modules-0.6.0-commonMain-Ku5TAw.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/dev.whyoleg.cryptography-cryptography-serialization-pem-0.6.0-commonMain-rrZaXw.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.3.21-annotationsCommonMain-SOzf5Q.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.3.21-assertionsCommonMain-SOzf5Q.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-bytestring-0.9.0-appleMain-uyzvuA.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-bytestring-0.9.0-commonMain-ypuSdQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-bytestring-0.9.0-nativeMain-ypuSdQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-core-0.9.0-appleMain-ubxc1Q.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-core-0.9.0-commonMain-LSdToQ.klib
Added .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-io-core-0.9.0-nativeMain-LSdToQ.klib
Build 117 (0.9.0-beta3.117)
**Commit:** Major refactor, added sef tests, feedback troubleshooting data QB switch, HTML switch
Updated docs/BETA_REVISION_STRATEGY.md
Updated docs/EXTERNAL_TEST_BUILD_PREP.md
Added tools/sync-website-beta-deploy.ps1
Public beta channel: **0.9.0-beta3.133 (build 133)** This page tracks what testers should expect on device and what changed recently.
Changes are grouped by **calendar date** (newest first). Each commit adds **+0.01** to the beta revision suffix and **+1** to the Android build number.
2026-05-25
Build 116 (0.9.0-beta3.116)
Quote delete navigation and dashboard first-run behavior fixed for operators with existing clients
Quote email handoff and hosted-link delivery policy (see Beta 3 changes page)
Document logo sizing uses fit-within-box layout on quotes and invoices
2026-05-24
Build 115 (0.9.0-beta3.115)
Beta 3 sideload: clean registry, hosted quote links, quote validity on documents, profile UI polish
Current beta features (cohort)
Solo-operator dashboard: clients, quotes, schedules, and jobs on one phone screen
Calendar-aware scheduling with personal-calendar conflict awareness
Smart task tracking and next-step prompts per client
Quote status at a glance: pending, approved, ready to bill
Offline-first create and edit; optional Google sign-in and Drive backup
On-device PDF quotes and invoices; share via mail or messaging apps
Repeating schedules; payment milestones (Premium); optional copy-me on customer comms (off by default)
Install notes for testers
Sideload only: download the debug APK from the N78-Ops marketing page (not on Google Play yet)
Follow the step-by-step install checklist (unknown sources, Play Protect bypass when shown)
Send feedback through the address in the beta instructions doc
Not in this beta yet
Public Google Play install (listing prepared; launch TBD)
iOS App Store build (shared core planned; Android ships first)
© 2026 Nivo78 Mobile Apps, LLC | Tyler, Texas | Utility First. Logic Always.