Skip to content

Commit 8279cc9

Browse files
authored
Merge pull request #253 from flow-mn:develop
Release 0.10.0
2 parents 11a2451 + 3b2c001 commit 8279cc9

82 files changed

Lines changed: 2109 additions & 937 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*.swp
66
.DS_Store
77
.atom/
8+
.build/
89
.buildlog/
910
.history
1011
.svn/
12+
.swiftpm/
1113
migrate_working_dir/
1214

1315
# IntelliJ related

CHANGELOG.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,32 @@
11
# Changelog
22

3-
## Beta next (0.9.0)
3+
## Beta 0.10.0
4+
5+
### New features
6+
7+
* Now you can deactivate accounts.
8+
* Deactivated accounts will no longer show up in account selection
9+
sheets, and the accounts tab. It will still show up for older transactions, and reports.
10+
* You can find inactive accounts in Profile tab > Accounts
11+
12+
### Changes and improvements
13+
14+
* [BREAKING] Profile pictures are now stored elsewhere. Auto-migration will be in place for few builds.
15+
Please reapply your profile picture if you need to.
16+
* Now you are unable to permanently delete an account until you deactivate it.
17+
* Now account in transaction page shows post-transcation balance instead of current balance
18+
* Account selection sheet now shows current balance for each account
19+
* Now you can import an old backup at the setup
20+
21+
### Fixes
22+
23+
* Fixed home page wasn't scrolling to the top when clicking on iOS app bar
24+
* Now you can do ZIP backups that include account/profile photos, fixes [#173](https://github.com/flow-mn/flow/issues/173)
25+
and [#204](https://github.com/flow-mn/flow/issues/204)
26+
* Transfers no longer incorrectly ask confirmation when nothing has changed on transaction page
27+
* With updating flutter, fix of [#82](https://github.com/flow-mn/flow/issues/82) came
28+
29+
## Beta 0.9.0
430

531
### New features
632

android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ if (keystorePropertiesFile.exists()) {
3131
android {
3232
namespace "mn.flow.flow"
3333
compileSdkVersion 34
34-
ndkVersion "26.2.11394342"
34+
ndkVersion "27.0.12077973"
3535

3636
compileOptions {
3737
sourceCompatibility JavaVersion.VERSION_17

android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
33
zipStoreBase=GRADLE_USER_HOME
44
zipStorePath=wrapper/dists
5-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
6-
distributionSha256Sum=5022b0b25fe182b0e50867e77f484501dba44feeea88f5c1f13b6b4660463640
5+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
6+
distributionSha256Sum=7ebdac923867a3cec0098302416d1e3c6c0c729fc4e2e05c10637a8af33a76c5

android/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pluginManagement {
1919

2020
plugins {
2121
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
22-
id "com.android.application" version "8.2.0" apply false
22+
id "com.android.application" version "8.7.0" apply false
2323
id "org.jetbrains.kotlin.android" version "1.9.10" apply false
2424
}
2525

assets/l10n/en_IN.json

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,19 @@
6868
"setup.categories.preset.utils": "Utils",
6969
"setup.categories.preset.taxes": "Taxes",
7070
"setup.categories.preset.paychecks": "Paycheck",
71+
"setup.onboarding": "Let's start",
72+
"setup.onboarding.freshStart": "Start fresh",
73+
"setup.onboarding.freshStart.description": "I'm using Flow for the first time",
74+
"setup.onboarding.importExisting": "Import from a backup",
75+
"setup.onboarding.importExisting.description": "Restore data from a previous Flow backup",
7176

7277
"account": "Account",
7378
"account.name": "Account name",
7479
"account.balance": "Balance",
7580
"account.balance.upcomingDescription": "Upcoming transactions don't affect current balance",
81+
"account.archive": "Deactivate",
82+
"account.archive.description": "Once you deactivate, this account will no longer show up everywhere except for reports. You are able to delete the account with its associated transactions after deactivating.",
83+
"account.archived": "Inactive",
7684
"account.excludeFromTotalBalance": "Exclude from balance",
7785
"account.excludeFromTotalBalance.description": "If you check this option, this account's balance will not be included in the total balance. Useful for savings or non-personal accounts.",
7886
"account.updateBalance": "Update balance",
@@ -87,6 +95,7 @@
8795
"account.noAccounts": "You don't have any accounts!",
8896
"account.thisMonth": "This month",
8997
"account.postTransactionBalance": "Balance after this transaction",
98+
"accounts": "Accounts",
9099

91100
"transaction": "Transaction",
92101
"transaction.new": "New transaction",
@@ -147,6 +156,8 @@
147156
"categories": "Categories",
148157
"categories.noCategories": "You don't have any categories",
149158

159+
"profile.name": "Name",
160+
150161
"currency": "Currency",
151162
"currency.searchHint": "Search... (country, currency, code)",
152163

@@ -192,7 +203,6 @@
192203
"preferences.pendingTransactions.updateDateUponConfirmation": "Update date on confirm",
193204
"preferences.pendingTransactions.updateDateUponConfirmation.description": "Disable to retain original transaction date",
194205
"preferences.privacyMode": "Privacy mode",
195-
"preferences.privacyMode.description": "Nasconde importi. Attiva/disattiva con l'icona dell'occhio nell'angolo in alto a destra della schermata iniziale",
196206
"preferences.privacyMode.enableAtStartup": "Enable at startup",
197207
"preferences.moneyFormatting": "Money formatting",
198208
"preferences.moneyFormatting.preferFull": "Prefer full amounts",
@@ -268,7 +278,7 @@
268278
"sync.import.pickFile": "Select a file",
269279
"sync.import.pickFile.pickOrDrop": "Select or drop a file",
270280
"sync.import.pickFile.dropzone.active": "Drop here",
271-
"sync.import.pickFile.description": "Pick a Flow backup file to restore. Must be a JSON file",
281+
"sync.import.pickFile.description": "Pick a Flow backup file to restore. Must be a JSON or a ZIP file.",
272282
"sync.import.syncData.olderBackupWarning": "Since this back up was made in an older version of the app, something might go wrong!",
273283
"sync.import.syncData.createdDate": "Back up date",
274284
"sync.import.syncData.parsedEstimate": "Estimated data to recover",
@@ -279,14 +289,17 @@
279289
"sync.import.emergencyBackup": "As a precaution, Flow will try to backup current data to your device before proceeding",
280290
"sync.import.emergencyBackup.successful": "Previous data was backed up. You can save the backup file from Backup > Backup history",
281291
"sync.import.start": "Start importing",
292+
"sync.import.zipWarning": "Make sure to import ZIP file produced by Flow app!",
282293
"sync.import.success": "Import successful!",
283294

284295
"sync.export": "Export",
285296
"sync.export.type": "Export ({type})",
286297
"sync.export.asCSV": "As CSV",
287298
"sync.export.asCSV.description": "Cannot be used for restore/import! Ideal for opening in software like Google Sheets",
299+
"sync.export.asZIP": "As backup (zip)",
300+
"sync.export.asZIP.description": "Can be fully restored later",
288301
"sync.export.asJSON": "As backup (json)",
289-
"sync.export.asJSON.description": "Can be restored later",
302+
"sync.export.asJSON.description": "Can be partially restored. Omits non-essential data (e.g., account image)",
290303
"sync.export.autoBackup": "Auto-backup",
291304
"sync.export.autoBackup.iCloudAlreadySyncs": "If you're using Flow on iOS or macOS, your data will be synced to your iCloud",
292305
"sync.export.onDeviceWarning": "All backups are stored on-device, meaning when you uninstall Flow or reset your device, all the backups will be gone!",
@@ -338,6 +351,18 @@
338351
"enum.ImportV1Progress@success": "Success",
339352
"enum.ImportV1Progress@error": "Something went wrong ({error})",
340353

354+
"enum.ImportV2Progress@waitingConfirmation": "Waiting for confirmation",
355+
"enum.ImportV2Progress@erasing": "Erasing current data",
356+
"enum.ImportV2Progress@writingCategories": "Writing categories",
357+
"enum.ImportV2Progress@writingAccounts": "Writing accounts",
358+
"enum.ImportV2Progress@resolvingTransactions": "Sorting out transactions",
359+
"enum.ImportV2Progress@writingTransactions": "Writing transactions",
360+
"enum.ImportV2Progress@writingProfile": "Writing profile data",
361+
"enum.ImportV2Progress@settingPrimaryCurrency": "Setting primary currency",
362+
"enum.ImportV2Progress@copyingImages": "Copying images",
363+
"enum.ImportV2Progress@success": "Success",
364+
"enum.ImportV2Progress@error": "Something went wrong ({error})",
365+
341366
"enum.BackupEntryType@manual": "Manual",
342367
"enum.BackupEntryType@manual.description": "Backup created by user",
343368
"enum.BackupEntryType@automated": "Auto-backup",
@@ -357,6 +382,7 @@
357382
"error.input.noImagePicked": "No image was selected",
358383
"error.input.cropFailed": "An error occured during cropping the picture",
359384
"error.input.wrongFileType": "Please choose a {type} file",
385+
"error.input.invalidZip": "Not a valid Flow zip file",
360386
"error.input.pasteFormatMismatch": "Unable to parse",
361387
"error.sync.invalidBackupFile": "Invalid backup file",
362388
"error.sync.safetyBackupFailed": "Unable to start import",

assets/l10n/en_US.json

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,19 @@
6868
"setup.categories.preset.utils": "Utils",
6969
"setup.categories.preset.taxes": "Taxes",
7070
"setup.categories.preset.paychecks": "Paycheck",
71+
"setup.onboarding": "Let's start",
72+
"setup.onboarding.freshStart": "Start fresh",
73+
"setup.onboarding.freshStart.description": "I'm using Flow for the first time",
74+
"setup.onboarding.importExisting": "Import from a backup",
75+
"setup.onboarding.importExisting.description": "Restore data from a previous Flow backup",
7176

7277
"account": "Account",
7378
"account.name": "Account name",
7479
"account.balance": "Balance",
7580
"account.balance.upcomingDescription": "Upcoming transactions don't affect current balance",
81+
"account.archive": "Deactivate",
82+
"account.archive.description": "Deactivating an account hides it from everywhere except in reports. You can permanently delete the account with its associated transactions after deactivating.",
83+
"account.archived": "Inactive",
7684
"account.excludeFromTotalBalance": "Exclude from balance",
7785
"account.excludeFromTotalBalance.description": "If you check this option, this account's balance will not be included in the total balance. Useful for savings or non-personal accounts.",
7886
"account.updateBalance": "Update balance",
@@ -87,6 +95,7 @@
8795
"account.noAccounts": "You don't have any accounts!",
8896
"account.thisMonth": "This month",
8997
"account.postTransactionBalance": "Balance after this transaction",
98+
"accounts": "Accounts",
9099

91100
"transaction": "Transaction",
92101
"transaction.new": "New transaction",
@@ -147,6 +156,8 @@
147156
"categories": "Categories",
148157
"categories.noCategories": "You don't have any categories",
149158

159+
"profile.name": "Name",
160+
150161
"currency": "Currency",
151162
"currency.searchHint": "Search... (country, currency, code)",
152163

@@ -192,7 +203,6 @@
192203
"preferences.pendingTransactions.updateDateUponConfirmation": "Update date on confirm",
193204
"preferences.pendingTransactions.updateDateUponConfirmation.description": "Disable to retain original transaction date",
194205
"preferences.privacyMode": "Privacy mode",
195-
"preferences.privacyMode.description": "Obscures amounts. Toggle with the eye icon at the upper right corner of home screen",
196206
"preferences.privacyMode.enableAtStartup": "Enable at startup",
197207
"preferences.moneyFormatting": "Money formatting",
198208
"preferences.moneyFormatting.preferFull": "Prefer full amounts",
@@ -268,7 +278,7 @@
268278
"sync.import.pickFile": "Select a file",
269279
"sync.import.pickFile.pickOrDrop": "Select or drop a file",
270280
"sync.import.pickFile.dropzone.active": "Drop here",
271-
"sync.import.pickFile.description": "Pick a Flow backup file to restore. Must be a JSON file",
281+
"sync.import.pickFile.description": "Pick a Flow backup file to restore. Must be a JSON or a ZIP file.",
272282
"sync.import.syncData.olderBackupWarning": "Since this back up was made in an older version of the app, something might go wrong!",
273283
"sync.import.syncData.createdDate": "Back up date",
274284
"sync.import.syncData.parsedEstimate": "Estimated data to recover",
@@ -279,14 +289,17 @@
279289
"sync.import.emergencyBackup": "As a precaution, Flow will try to backup current data to your device before proceeding",
280290
"sync.import.emergencyBackup.successful": "Previous data was backed up. You can save the backup file from Backup > Backup history",
281291
"sync.import.start": "Start importing",
292+
"sync.import.zipWarning": "Make sure to import ZIP file produced by Flow app!",
282293
"sync.import.success": "Import successful!",
283294

284295
"sync.export": "Export",
285296
"sync.export.type": "Export ({type})",
286297
"sync.export.asCSV": "As CSV",
287298
"sync.export.asCSV.description": "Cannot be used for restore/import! Ideal for opening in software like Google Sheets",
299+
"sync.export.asZIP": "As backup (zip)",
300+
"sync.export.asZIP.description": "Can be fully restored later",
288301
"sync.export.asJSON": "As backup (json)",
289-
"sync.export.asJSON.description": "Can be restored later",
302+
"sync.export.asJSON.description": "Can be partially restored. Omits non-essential data (e.g., account image)",
290303
"sync.export.autoBackup": "Auto-backup",
291304
"sync.export.autoBackup.iCloudAlreadySyncs": "If you're using Flow on iOS or macOS, your data will be synced to your iCloud",
292305
"sync.export.onDeviceWarning": "All backups are stored on-device, meaning when you uninstall Flow or reset your device, all the backups will be gone!",
@@ -333,11 +346,23 @@
333346
"enum.ImportV1Progress@erasing": "Erasing current data",
334347
"enum.ImportV1Progress@writingCategories": "Writing categories",
335348
"enum.ImportV1Progress@writingAccounts": "Writing accounts",
336-
"enum.ImportV1Progress@resolvingTransactions": "Soring out transactions",
349+
"enum.ImportV1Progress@resolvingTransactions": "Sorting out transactions",
337350
"enum.ImportV1Progress@writingTransactions": "Writing transactions",
338351
"enum.ImportV1Progress@success": "Success",
339352
"enum.ImportV1Progress@error": "Something went wrong ({error})",
340353

354+
"enum.ImportV2Progress@waitingConfirmation": "Waiting for confirmation",
355+
"enum.ImportV2Progress@erasing": "Erasing current data",
356+
"enum.ImportV2Progress@writingCategories": "Writing categories",
357+
"enum.ImportV2Progress@writingAccounts": "Writing accounts",
358+
"enum.ImportV2Progress@resolvingTransactions": "Sorting out transactions",
359+
"enum.ImportV2Progress@writingTransactions": "Writing transactions",
360+
"enum.ImportV2Progress@writingProfile": "Writing profile data",
361+
"enum.ImportV2Progress@settingPrimaryCurrency": "Setting primary currency",
362+
"enum.ImportV2Progress@copyingImages": "Copying images",
363+
"enum.ImportV2Progress@success": "Success",
364+
"enum.ImportV2Progress@error": "Something went wrong ({error})",
365+
341366
"enum.BackupEntryType@manual": "Manual",
342367
"enum.BackupEntryType@manual.description": "Backup created by user",
343368
"enum.BackupEntryType@automated": "Auto-backup",
@@ -357,6 +382,7 @@
357382
"error.input.noImagePicked": "No image was selected",
358383
"error.input.cropFailed": "An error occured during cropping the picture",
359384
"error.input.wrongFileType": "Please choose a {type} file",
385+
"error.input.invalidZip": "Not a valid Flow zip file",
360386
"error.sync.invalidBackupFile": "Invalid backup file",
361387
"error.input.pasteFormatMismatch": "Unable to parse",
362388
"error.sync.safetyBackupFailed": "Unable to start import",

0 commit comments

Comments
 (0)