Skip to content
Merged

Main #452

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/lib/database/database_migrator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class DatabaseMigrator {
if (oldVersion < 9) await createLarcTables(db);
// v3.5.0
if (oldVersion < 10) await createSanitaryProductTables(db);
// - Not released -
// v4.0.0
if (oldVersion < 11) {
await createSexualActivityTables(db);
await createUserTables(db);
Expand Down
11 changes: 7 additions & 4 deletions app/lib/screens/settings/sections/data_settings_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,13 @@ class _DataSettingsScreenState extends State<DataSettingsScreen> {
Future<void> _importLogic(DataType type) async {
final l10n = AppLocalizations.of(context)!;
try {
final result = await FilePicker.platform.pickFiles(
type: FileType.custom,
allowedExtensions: ['json'],
);
final result = await FilePicker.platform.pickFiles(type: FileType.custom, allowedExtensions: ['json'])
.timeout(
const Duration(seconds: 30),
onTimeout: () {
throw TimeoutException('File picking timed out.');
},
);
if (result == null || result.files.single.path == null || !mounted)
return;

Expand Down
4 changes: 2 additions & 2 deletions app/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: menstrudel
description: "Your private, offline, menstrual cycle tracker."
publish_to: 'none'

version: 3.5.0+23
version: 4.0.0+24

environment:
sdk: ^3.8.1
Expand Down Expand Up @@ -30,7 +30,7 @@ dependencies:
package_info_plus: ^9.0.0
url_launcher: ^6.3.2
share_plus: ^12.0.0
file_picker: ^10.3.3
file_picker: 10.3.3
home_widget: ^0.8.1
scrollable_clean_calendar: ^1.5.0

Expand Down
2 changes: 1 addition & 1 deletion sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sonar.organization=j-shw

# This is the name and version displayed in the SonarCloud UI.
sonar.projectName=Menstrudel
sonar.projectVersion=3.5.0
sonar.projectVersion=4.0.0


# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
Expand Down
2 changes: 1 addition & 1 deletion website/_includes/schema/schema-main.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
}
],

"softwareVersion": "3.5.0",
"softwareVersion": "4.0.0",

"contentRating": "IARC 3+"
}
Expand Down
23 changes: 23 additions & 0 deletions website/_posts/2026-01-10-30-stars-on-github.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
layout: post
title: "Menstrudel Hits 30 Stars!"
date: 2026-01-10
categories: [milestone, announcements]
image: /assets/images/blog/2026-01-10-30-stars-on-github/star-history-2026110.png
---

### We reached 30 stars! ⭐

![Star History Chart](/assets/images/blog/2026-01-10-30-stars-on-github/star-history-2026110.png)

A huge thank you to everyone supporting Menstrudel. Your support helps keep this project private, open, and accessible for everyone. Reaching **30 stars** on GitHub is an awesome achievement!

**What's next?**
* Smarter period prediction. With on-device AI becoming more prevalent, we hope to harness this for better privacy and accuracy.
* F-Droid support. This is a frequent request, and we are currently in the process of getting it added.
* You decide! Join our [Discord](https://discord.gg/jWrH9DvACS) and let your voice be heard!

---
Check out [Menstrudel on GitHub](https://github.com/J-shw/Menstrudel)

*Onward to 50 stars!*
96 changes: 96 additions & 0 deletions website/_posts/2026-01-26-announcing-menstrudel-v4.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
layout: post
title: "Menstrudel v4.0.0"
date: 2026-01-26
categories: [release notes, announcements]
image: /assets/images/blog/new-release.png
---

![New release image](/assets/images/blog/new-release.png)
Happy New Year! We’re kicking off 2026 with our biggest update yet. We are excited to announce the release of **Menstrudel v4.0.0**, packed with requested features and a smoother user experience.

## Get the Menstrudel App

- 🤖 [Google Play Store](https://play.google.com/store/apps/details?id=com.whitticase.menstrudel)
- 🍎 [Apple App Store](https://apps.apple.com/us/app/menstrudel/id6751970511)


### What’s New

* **Smart Onboarding:** A new guided setup to help you get the most out of Menstrudel from day one.
* **User Goals:** Tailor your experience. The app now adapts its interface based on your specific tracking goals.
* **Sex Activity Tracking:** A dedicated way to log and monitor sexual activity.
* **Refined Contraception Categories:** "LARCs" has been renamed to **Reversible Contraception** for better clarity.
* **Specific IUD Types:** Support for both **Copper** and **Hormonal** IUDs.
* **Cycle Phase Prediction:** Understand your body’s rhythm with new phase forecasting.
* **Guided Data Flows:** Import, export, and deletion tasks are now handled through a simple, step-by-step wizard.
* **Expanded Insights:** New visual trends for **Sanitary Products** and **Sex Activity**.
* **Vertical Scrolling Calendar:** View more data at once without toggling between months.
* **Customisable Week Start:** Choose which day starts your week in settings.
* **Community Translations:** Improvements to language support thanks to our contributors.

---

<h3 style="text-align: center;">Onboarding Flow</h3>
![Onboarding Flow](/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/onboarding_flow.gif)

New and existing users will be greeted by a streamlined onboarding flow. This ensures your profile and preferences are set up correctly for the most accurate tracking.

<h3 style="text-align: center;">Sex Activity Tracking</h3>
<table style="width: 100%">
<tr>
<td style="width: 50%">
<img src="/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/sex_activity_log_screen.png" alt="Sex Activity Log Screen">
</td>
<td style="width: 50%">
<img src="/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/sex_activity_insight_screen.png" alt="Sex Activity Insight Screen">
</td>
</tr>
</table>

You can now log sexual activity and view long-term trends within the new Insights tab.

<h3 style="text-align: center;">Cycle Phase Prediction</h3>
![Cycle Phase Prediction](/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/logs_today_screen.png)

Gain better insight into what your body is going through.
> **Note:** Predictions are a guide for natural cycles. Enabling pill tracking or hormonal contraceptives will disable this feature to maintain accuracy.

<h3 style="text-align: center;">Guided Data Flows</h3>
![Guided Data Flows](/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/guided_flow.gif)

We’ve replaced the complex data settings tab with a guided flow, making it easier than ever to manage your data securely.

<h3 style="text-align: center;">More Insights</h3>
![Sanitary product insight screen](/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/sanitary_product_insight_screen.png)

Track your usage of sanitary products over time with our expanded charts and statistics.

<h3 style="text-align: center;">Scrolling Calendar</h3>
![Scrolling Calendar](/assets/images/blog/2026-01-26-announcing-menstrudel-v4.0.0/scrolling_calendar.gif)

The new vertical layout allows you to see periods that cross month boundaries without losing context.

---

### Bug Fixes
* Major rework of period and log systems.
* Fixed FABs animations not working
* General bug fixes

## Get Involved

We love hearing from you! Menstrudel is an open-source project, and its success is a team effort. Here’s how you can help us make it even better:

* **Share Your Thoughts:** Found a **bug**? Have an idea for a **new feature**? We track all development on **GitHub**.
* **Open a Discussion:** [GitHub Discussions](https://github.com/J-shw/Menstrudel/discussions) is the best place to share general feedback and ideas.
* **Report an Issue:** If you find a bug, please [open an issue on GitHub](https://github.com/J-shw/Menstrudel/issues) to help us fix it quickly.
* **Contribute Code:** If you're a developer, check out the source code and [submit a Pull Request](https://github.com/J-shw/Menstrudel).

* **Help with Translations:** Is there a language *you* want supported? Join our effort and help us translate Menstrudel on **Crowdin**: [https://crowdin.com/project/menstrudel](https://crowdin.com/project/menstrudel)

* **Spread the Word:** Tell your friends about Menstrudel! Leaving a **5-star review** on the App Store or Google Play is one of the easiest ways to support the app.

---

Thanks for your continued support!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading