Skip to content

Commit cf0e164

Browse files
authored
Merge pull request #535 from flow-mn:develop
RC 0.14.4
2 parents 21d7f63 + 632f761 commit cf0e164

229 files changed

Lines changed: 7591 additions & 4416 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.

.github/workflows/deploy-android-beta.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Build and upload APK builds
2+
on:
3+
push:
4+
branches:
5+
- "stable"
6+
- "beta"
7+
- "internal"
8+
jobs:
9+
build:
10+
runs-on: "macos-latest"
11+
environment: Android release
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Setup JDK 17
15+
uses: actions/setup-java@v4.0.0
16+
with:
17+
distribution: "zulu"
18+
java-version: "17"
19+
- name: Setup Flutter
20+
uses: subosito/flutter-action@v2
21+
with:
22+
channel: stable
23+
- run: flutter pub get
24+
- name: Run tests
25+
run: |
26+
bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)
27+
flutter test
28+
- name: Setup secrets
29+
run: |
30+
echo "${{ secrets.SIGNING_KEY_PROPERTIES }}" > ./android/key.properties
31+
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > ./android/flow-upload-keystore.jks
32+
- name: Build appbundle
33+
run: flutter build appbundle --release --no-tree-shake-icons
34+
- name: Deploy to Open Testing
35+
uses: r0adkll/upload-google-play@v1
36+
with:
37+
serviceAccountJsonPlainText: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
38+
packageName: mn.flow.flow
39+
releaseFiles: build/app/outputs/bundle/release/app-release.aab
40+
track: beta
41+
status: draft
42+
- name: Clean up
43+
run: rm -rf ./android/key.properties ./android/flow-upload-keystore.jks
44+
build-fat-apk:
45+
if: github.ref_type == 'branch' && github.ref == 'refs/heads/internal'
46+
runs-on: "macos-latest"
47+
environment: Android private testing build
48+
steps:
49+
- uses: actions/checkout@v4
50+
- name: Setup JDK 17
51+
uses: actions/setup-java@v4.0.0
52+
with:
53+
distribution: "zulu"
54+
java-version: "17"
55+
- name: Setup Flutter
56+
uses: subosito/flutter-action@v2
57+
with:
58+
channel: stable
59+
- run: flutter pub get
60+
- name: Run tests
61+
run: |
62+
bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)
63+
flutter test
64+
- name: Setup secrets
65+
run: |
66+
echo "${{ secrets.SIGNING_KEY_PROPERTIES }}" > ./android/key.properties
67+
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > ./android/flow-upload-keystore.jks
68+
- name: Build fat apk
69+
run: flutter build apk --release --no-tree-shake-icons
70+
- name: Clean up
71+
run: rm -rf ./android/key.properties ./android/flow-upload-keystore.jks
72+
- name: Upload APK
73+
uses: actions/upload-artifact@v4
74+
with:
75+
name: app-release.apk
76+
path: build/app/outputs/apk/release/app-release.apk

.github/workflows/deploy-android-production.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build and deploy iOS builds
2+
on:
3+
push:
4+
branches:
5+
- "beta"
6+
- "stable"
7+
- "internal"
8+
jobs:
9+
build:
10+
runs-on: "macos-15"
11+
env:
12+
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
13+
APP_STORE_CONNECT_KEY_IDENTIFIER: ${{ secrets.APP_STORE_CONNECT_KEY_IDENTIFIER }}
14+
APP_STORE_CONNECT_PRIVATE_KEY: ${{ secrets.APP_STORE_CONNECT_PRIVATE_KEY }}
15+
CERTIFICATE_PRIVATE_KEY: ${{ secrets.CERTIFICATE_PRIVATE_KEY }}
16+
APP_STORE_APPLE_ID: ${{ vars.APP_STORE_APPLE_ID }}
17+
environment: iOS release
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Setup Flutter
21+
uses: subosito/flutter-action@v2
22+
with:
23+
channel: stable
24+
- run: flutter pub get
25+
- name: Run tests
26+
run: |
27+
bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)
28+
flutter test
29+
- name: Install Codemagic CLI tools
30+
run: pip install codemagic-cli-tools
31+
- name: Set up keychain
32+
run: keychain initialize
33+
- name: Change directory to ios folder
34+
run: cd ios
35+
- name: Fetch signing files
36+
run: |
37+
app-store-connect fetch-signing-files "mn.flow.flow" \
38+
--type IOS_APP_STORE \
39+
--create
40+
- name: Set up signing certificate
41+
run: keychain add-certificates
42+
- name: Set up signing certificate
43+
run: keychain add-certificates
44+
- name: Set up code signing settings on Xcode project
45+
run: xcode-project use-profiles
46+
- name: Build ipa for distribution
47+
run: |
48+
flutter build ipa --release --no-tree-shake-icons --export-options-plist=$HOME/export_options.plist
49+
- name: Publish the app to App Store Connect
50+
run: |
51+
APP_FILE=$(find $(pwd) -name "*.ipa")
52+
app-store-connect publish \
53+
--path "$APP_FILE"

CHANGELOG.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,27 @@
22

33
## Next
44

5-
### 0.14.3
5+
### New features
6+
7+
* Now you can export transactions history in PDF format. Closes [#516](https://github.com/flow-mn/flow/issues/516)
8+
9+
## 0.14.4
10+
11+
### New features
12+
13+
* Now you can filter transactions by type in the home tab
14+
* Added support for Spanish and Russian (Thanks to Gemini Pro 2.5)
15+
16+
### Changes and improvements
17+
18+
* Primary currency, and transaction button orders now persists with backups.
19+
* Exports now run in a different [Isolate](https://dart.dev/language/isolates)
20+
21+
## 0.14.3
622

723
* Fixed permenantly deleting a part of transfer transaction from the trash bin
824
would result in a stale transaction, that is unable to be opened
9-
* Now you can customize money and date formats. Closes [#179](https://github.com/flow-mn/flow/issues/179)
25+
* Now you can customize money formats. Closes [#179](https://github.com/flow-mn/flow/issues/179)
1026
* German language support thanks to [@MarkusWangler](https://github.com/MarkusWangler)
1127

1228
## 0.14.2

CONTRIBUTING.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,12 @@ When translating Flow to your language, the translation coverage must be 100%.
4747
You can follow the same steps in [Developing](#developing), and you can safely
4848
skip lints and tests (step 6 and 7).
4949

50-
It's highly recommended to copy [en_US.json](./assets/l10n/en_US.json) or
50+
It's highly recommended to copy [en_US.json](./assets/l10n/en.json) or
5151
any other existing translations with full coverage, and work on top of it.
5252

53+
Make sure you add the your language in the list of supported languages. See
54+
[lib/l10n/supported_languages.dart](./lib/l10n/supported_languages.dart).
55+
5356
## License
5457

5558
By contributing, you agree that your contributions will be licensed under

README.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@
55
[![Flow's GitHub repo](https://img.shields.io/badge/GitHub-flow--mn/flow-f5ccff?logo=github&logoColor=white&style=for-the-badge)](https://github.com/flow-mn/flow)&nbsp;
66
[![Join Flow Discord server](https://img.shields.io/badge/Discord-Flow-f5ccff?logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/Ndh9VDeZa4)
77

8-
<!-- markdownlint-disable-next-line -->
9-
<a href="https://www.producthunt.com/posts/flow-2cbe921f-2ed9-4ed1-b8d7-26dff1c2c49d?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-flow&#0045;2cbe921f&#0045;2ed9&#0045;4ed1&#0045;b8d7&#0045;26dff1c2c49d" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=955354&theme=light&period=daily&t=1745222977391" alt="Flow - A&#0032;FOSS&#0032;expense&#0032;tracker&#0032;that&#0032;focuses&#0032;on&#0032;privacy&#0032;and&#0032;UX | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
10-
118
## Preface
129

1310
![Flow logo](logo@16.png) Flow is a
@@ -25,6 +22,7 @@ personal expense tracking app.
2522

2623
[![Google Play Store](https://img.shields.io/badge/Google_Play_Store-beta-f5ccff?logo=google-play&logoColor=white&style=for-the-badge)](https://play.google.com/store/apps/details?id=mn.flow.flow)
2724
[![App Store](https://img.shields.io/badge/App_Store-beta-f5ccff?logo=appstore&logoColor=white&style=for-the-badge)](https://apps.apple.com/mn/app/flow-expense-tracker/id6477741670)
25+
[![Obtanium](https://img.shields.io/badge/Obtainium-beta-f5ccff?logo=obtainium&logoColor=white&style=for-the-badge)](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22mn.flow.flow%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Fflow-mn%2Fflow%22%2C%22author%22%3A%22flow-mn%22%2C%22name%22%3A%22Flow%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Afalse%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22sortMethodChoice%5C%22%3A%5C%22date%5C%22%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22releaseTitleAsVersion%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22%5C%22%2C%5C%22appAuthor%5C%22%3A%5C%22%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22allowInsecure%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22%5C%22%2C%5C%22refreshBeforeDownload%5C%22%3Afalse%7D%22%2C%22overrideSource%22%3Anull%7D)
2826
[![Other build files](https://img.shields.io/badge/releases-other_build_files-f5ccff?logo=github&logoColor=white&style=for-the-badge)](https://github.com/flow-mn/flow/releases/latest)
2927

3028
> You can build and run for Linux and macOS. Haven't tested Windows yet[^2]
@@ -61,12 +59,18 @@ indirectly contributed 🤍
6159

6260
## List of supported languages
6361

64-
* English
6562
* Arabic - thanks to [Ultrate](https://github.com/Ultrate)
66-
* Italian - thanks to [albertorizzi](https://github.com/albertorizzi)
67-
* Turkish - thanks to [NoRiskNoViski](https://github.com/NoRiskNoViski)
68-
* French
69-
* Mongolian
63+
* English
64+
* French (France)
65+
* German (Germany) - thanks to [MarkusWangler](https://github.com/MarkusWangler)
66+
* Italian (Italy) - thanks to [albertorizzi](https://github.com/albertorizzi)
67+
* Mongolian (Mongolia)
68+
* Russian (Russia)
69+
* Spanish (Spain)
70+
* Turkish (Turkiye) - thanks to [NoRiskNoViski](https://github.com/NoRiskNoViski)
71+
72+
> See [Translation guide](./CONTRIBUTING.md#translating) if you want to make
73+
> Flow available to your language
7074
7175
## Development
7276

@@ -97,6 +101,9 @@ Install ObjectBox dynamic libraries[^3]:
97101

98102
Run tests with: `flutter test`
99103

104+
<!-- markdownlint-disable-next-line -->
105+
<a href="https://www.producthunt.com/posts/flow-2cbe921f-2ed9-4ed1-b8d7-26dff1c2c49d?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-flow&#0045;2cbe921f&#0045;2ed9&#0045;4ed1&#0045;b8d7&#0045;26dff1c2c49d" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=955354&theme=light&period=daily&t=1745222977391" alt="Flow - A&#0032;FOSS&#0032;expense&#0032;tracker&#0032;that&#0032;focuses&#0032;on&#0032;privacy&#0032;and&#0032;UX | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
106+
100107
[^1]: Flow requires internet to download currency exchage rates. Only necessary
101108
if you use more than one currencies
102109

android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
org.gradle.jvmargs=-Xmx1536M
1+
org.gradle.jvmargs=-Xmx2560M
22
android.useAndroidX=true
33
android.enableJetifier=true

assets/fonts/NotoEmoji-Regular.ttf

870 KB
Binary file not shown.

assets/fonts/NotoSans-Regular.ttf

614 KB
Binary file not shown.

0 commit comments

Comments
 (0)