App Versions
Overview
The App Versions menu displays all mobile application versions ever released. This feature allows you to manage the application release cycle, set mandatory updates, and control which versions are active and available to users.

Page Navigation
The App Versions page is located within the Dashboard » Config Management menu.
Application Version List Display
The application version list page shows a table with the following columns:
- No - Sequence number
- Version - Application version number (format: major.minor.patch)
- Platform - Application platform (Android, iOS)
- Build Number - Incremental build number
- Release Notes - Release notes (new features, bug fixes, improvements)
- Mandatory - Mandatory update status (Yes/No)
- Status - Version status (Active/Inactive)
- Actions - Action buttons (Edit, Delete)

Application Version Data
Here is an example of registered application version data:
| No | Version | Platform | Build Number | Release Notes | Mandatory | Status | Actions |
|---|---|---|---|---|---|---|---|
| 1 | v1.0.0 | android | 1 | test | Yes | Active | ⋮ |
Total Data: 1–1 of 1
Search Feature
A search column is available to easily find application versions by keyword.

How to use:
- Click on the search column
- Type the keyword you want to search for (based on version, platform, or release notes)
- Search results will appear automatically
Display Options
Several options are available to customize the table display:

- Columns - Select which columns to display
- Filters - Filter data based on specific criteria
- Export - Export data to file formats (CSV, Excel, etc.)
Rows per page
At the bottom of the page, there is a setting for the number of rows per page:

- Rows per page: 25
- Total data: 0–0 of 0 (or 1–1 of 1 if data exists)
Adding a New Version
To add a new application version, click the Create New Version button. You will be directed to the new version form page.
Create New Version Form
The new version form page displays a form for entering application version data.

Form Components:
| Component | Description | Notes |
|---|---|---|
| **Version *** | Application version number | Format: major.minor.patch (example: 1.0.0) |
| **Platform *** | Application platform | Options: Android, iOS |
| **Build Number *** | Incremental build number | Continuously increasing number |
| Download URL | Direct download link or app store URL | Optional |
| Release Notes | Description of new features, bug fixes, or improvements | Optional |
Version Settings:
| Setting | Description | Notes |
|---|---|---|
| Mandatory Update | Users must update to continue using the application | Checkbox |
| Active Status | Only active versions will be shown to users | Checkbox |
Version Format
Version uses the major.minor.patch format:
- Major - Major changes, incompatible with previous versions
- Minor - Feature additions, still compatible with previous versions
- Patch - Bug fixes, minor improvements
Examples: 1.0.0, 2.1.3, 3.0.1
Platform
Available platform options:
- Android - For Android applications (Google Play Store or direct download)
- iOS - For iOS applications (Apple App Store)
Build Number
Build number is an incremental number that continuously increases each time the application is built. Usually starts at 1 for the first release.
Examples: 1, 2, 3, 15, 102
Download URL
URL for downloading the application:
- Android: Link to Google Play Store or direct download link (APK)
- iOS: Link to Apple App Store
Example:
https://play.google.com/store/apps/details?id=com.moyee.app
Release Notes
Description of what's new in this version:
- New features added
- Bug fixes
- Improvements and optimizations
- Changes users need to know about
Example:
- Added push notification feature
- Fixed bugs on attendance page
- Application performance optimization
- Fixed login issues
How to Fill the Form:
- Version
- Enter the version number in major.minor.patch format
- Example:
1.0.0,2.1.0,1.5.3
- Platform
- Select the application platform from the dropdown
- Options:
AndroidoriOS
- Build Number
- Enter the incremental build number
- Example:
1for first build,2for second build
- Download URL (Optional)
- Enter the application download URL
- Example:
https://play.google.com/store/apps/details?id=com.moyee.app
- Release Notes (Optional)
- Enter a description of changes in this version
- Example:
Added push notification feature and fixed attendance bugs
- Version Settings
- Mandatory Update: Check if users must update to continue using the application
- Active Status: Check if this version is active and will be shown to users
- Click Create to save the new version
- Click Cancel to cancel
Application Version Actions
On each application version row, action buttons are available to manage the data.

Edit
To edit application version data:
- Click the Edit icon on the version row you want to edit
- The edit form will open with pre-filled data
- Modify the necessary information (version, platform, build number, download URL, release notes, mandatory, status)
- Click Save to save the changes
- Click Cancel to cancel
Delete
To delete an application version:
- Click the Delete icon on the version row you want to delete
- Confirm the deletion in the dialog that appears
- The version data will be permanently deleted
Application Version Status
Mandatory Update
| Status | Icon | Description |
|---|---|---|
| Yes | ✅ | Users must update to this version to continue using the application |
| No | ❌ | Users can choose to update or continue using the old version |
When to use Mandatory Update:
- Critical security changes
- Incompatible API changes
- Bugs that cause the application to malfunction
- New features that change the main application flow
Active Status
| Status | Icon | Description |
|---|---|---|
| Active | ✅ | Version will be shown to users and available for download |
| Inactive | ❌ | Version will not be shown to users |
When to activate a version:
- After the version is ready for public release
- Only the latest version should usually be active
- Old versions can be deactivated to prevent users from downloading outdated versions
Usage Tips
- Use consistent versioning - Follow the major.minor.patch format to easily track changes.
- Increment build numbers - Always increase the build number for every release, even for the same version.
- Write informative release notes - Clearly explain what changed in the new version so users understand the benefits of updating.
- Use mandatory update carefully - Only use for critical changes, as users may not like being forced to update.
- Deactivate old versions - After releasing a new version, deactivate old versions to prevent users from downloading outdated versions.
- Test before release - Ensure the new version is thoroughly tested before activation.
- Document changes - Keep release notes for each version as historical documentation.
Example Usage Scenarios
Scenario 1: First Release
- Version:
1.0.0 - Platform: Android
- Build Number:
1 - Release Notes:
First release of Moyee application - Mandatory: No (no previous version)
- Status: Active
Scenario 2: New Feature Release (Minor Update)
- Version:
1.1.0 - Platform: Android
- Build Number:
2 - Release Notes:
Added push notification feature and new dashboard - Mandatory: No
- Status: Active (version 1.0.0 deactivated)
Scenario 3: Bug Fix Release (Patch)
- Version:
1.1.1 - Platform: Android
- Build Number:
3 - Release Notes:
Fixed bugs on attendance page and performance optimization - Mandatory: No
- Status: Active (version 1.1.0 deactivated)
Scenario 4: Major Release with Critical Changes
- Version:
2.0.0 - Platform: Android
- Build Number:
4 - Release Notes:
Complete UI/UX overhaul and application architecture change - Mandatory: Yes (major changes, old version incompatible)
- Status: Active (all old versions deactivated)
Integration with Mobile Application
How Version Checking Works
- Mobile application checks for versions at startup
- System returns the latest active version
- Application compares current version with the latest version
- If old version and mandatory update = Yes, application forces update
- If old version and mandatory update = No, application offers optional update
Update Flow
Troubleshooting
Cannot add a new version
- Ensure all required fields (marked with *) are filled
- Check version format (must be major.minor.patch)
- Ensure build number is a number
- Check if the version and platform combination already exists
Version not appearing in mobile application
- Ensure version status is Active
- Check internet connection and server
- Mobile application may need to be restarted
- Ensure no caching in the application
Users not receiving update notification
- Check if mandatory update is set as needed
- Check if the latest version is active
- Users may need to open the application to trigger the check
Failed to edit version
- Ensure no conflicting changes
- Version and platform may already be used by another version
- Try refreshing the page and editing again
Error when deleting version
- Ensure no users are still using this version
- Deactivate the version first before deleting
- Contact an administrator if still having issues
Build number not increasing
- Build number must always increase
- For patch releases of the same version, use a larger build number
- Example: v1.0.0 build 1, v1.0.1 build 2 (not build 1 again)
Best Practices
- Semantic Versioning - Follow semantic versioning rules for consistency:
- Major: incompatible changes
- Minor: compatible feature additions
- Patch: compatible bug fixes
- One active version per platform - Only one version should be active for each platform (Android/iOS).
- Clear release notes - Write release notes in language that users can easily understand.
- Beta testing - Before releasing to the public, test with beta/internal versions first.
- Monitor version adoption - Track how many users have updated to the latest version.
- Periodically deactivate old versions - After some time, deactivate old versions to reduce complexity.
- Backward compatibility - Try to maintain backward compatibility to avoid mandatory updates.
Next Steps
FCM Notification Templates
Complete guide to managing FCM notification templates in Moyee - viewing, creating, testing, and sending push notifications to mobile users with dynamic variables.
External API Configurations
Complete guide to managing external API configurations in Moyee - viewing, adding, editing, and setting priority and status for API configurations for integration with external services such as face recognition.