Skip to content

Releases: MissingCore/Music

v2.1.2

11 Feb 04:31
Compare
Choose a tag to compare

Note

This fixes some issues found in v2.1.1.

Some performance and bug fixes.

🎉 Added

  • New "Deep Rescan" feature which is the "Rescan" feature, but ignores any skip measures that speeds up the feature.

⚡ Changes

  • (Potentially) Improved launch performance for users with large media libraries (ie: 1000+ tracks).
    • Note: There's a fixed time-cost at app launch based on the number of tracks on your device due to needing to check all the tracks and figure out which ones are new or have been updated.
  • Prevent UI hanging for users with large media libraries after leaving the onboarding/loading screen.
    • This is due to loading all the tabs at once, which may have heavy tasks such as the "Tracks" tab, which loads every single track we found.
  • Speed up track search modal opening on create/modify playlist screen for users with large media libraries.

🛠️ Fixes

  • Parsing issue with year metadata field if an invalid value that's less than 4 characters long is present.
  • Error thrown when trying to get the metadata of a file with a %, #, or ? in its filename.
  • Duplicate albums caused by the album not having an associated "year" metadata.
  • Slow alphabetical order sorting for tracks on "Tracks" tab.
  • Incorrect parsing for some special characters in .flac files.
    • Use the "Deep Rescan" feature to fix tracks with this issue.

🔠 Translations

⚙️ Internal Changes

  • Set compileSdkVersion to SDK 35 (Android 15).

v2.1.1

09 Feb 22:00
Compare
Choose a tag to compare

Some performance and bug fixes.

🎉 Added

  • New "Deep Rescan" feature which is the "Rescan" feature, but ignores any skip measures that speeds up the feature.

⚡ Changes

  • (Potentially) Improved launch performance for users with large media libraries (ie: 1000+ tracks).
    • Note: There's a fixed time-cost at app launch based on the number of tracks on your device due to needing to check all the tracks and figure out which ones are new or have been updated.
  • Prevent UI hanging for users with large media libraries after leaving the onboarding/loading screen.
    • This is due to loading all the tabs at once, which may have heavy tasks such as the "Tracks" tab, which loads every single track we found.
    • This was fixed, then I broke it by changing how we get the tracks to display in the "Upcoming Tracks" modal — should be fixed in the next update.
  • Speed up track search modal opening on create/modify playlist screen for users with large media libraries.

🛠️ Fixes

  • Parsing issue with year metadata field if an invalid value that's less than 4 characters long is present.
  • Error thrown when trying to get the metadata of a file with a # or ? in its filename.
  • Duplicate albums caused by the album not having an associated "year" metadata.
  • Slow alphabetical order sorting for tracks on "Tracks" tab.
  • Incorrect parsing for some special characters in .flac files.
    • Use the "Deep Rescan" feature to fix tracks with this issue.

🔠 Translations

⚙️ Internal Changes

  • Set compileSdkVersion to SDK 35 (Android 15).

v2.1.1-rc.1

07 Feb 02:55
Compare
Choose a tag to compare
v2.1.1-rc.1 Pre-release
Pre-release

Important

Treat this as a pre-release for the next version. This will only be available as an APK download as this is mainly to test for bugs for the latest features.

Some performance and bug fixes.

🎉 Added

  • New "Deep Rescan" feature which is the "Rescan" feature, but ignores any skip measures that speeds up the feature.

⚡ Changes

  • (Potentially) Improved launch performance for users with large media libraries (ie: 1000+ tracks).
    • Note: There's a fixed time-cost at app launch based on the number of tracks on your device due to needing to check all the tracks and figure out which ones are new or have been updated.
  • Prevent hanging for users with large media libraries after leaving the onboarding/loading screen.
    • This is due to loading all the tabs at once, which may have heavy tasks such as the "Tracks" tab, which loads every single track we found.
  • Speed up track search modal opening on create/modify playlist screen for users with large media libraries.

🛠️ Fixes

  • Parsing issue with year metadata field if an invalid value that's less than 4 characters long is present.
  • Error thrown when trying to get the metadata of a file with a # or ? in its filename.
  • Duplicate albums caused by the album not having an associated "year" metadata.
  • Slow alphabetical order sorting for tracks on "Tracks" tab.
  • Incorrect parsing for some special characters in .flac files.
    • Use the "Deep Rescan" feature to fix tracks with this issue.

⚙️ Internal Changes

  • Set compileSdkVersion to SDK 35 (Android 15).

v2.1.0

28 Jan 06:15
Compare
Choose a tag to compare

Updated vinyl design and ability to change the order & visibility of the tabs after the "Home" tab.

For the next update, I plan on addressing some performance issues when launching the app caused by having a lot of tracks (it won't be instantaneous, but it should be a lot faster).

🎉 Added

  • Revised vinyl design that looks better across themes and different device sizes.
    • You can go back to the plain look on the "Now Playing" screen by changing an "Appearance" setting.
    • The vinyl on the "Now Playing" screen can now function as a seekbar (1 full revolution is equivalent to 24s).
  • Ability to change the order and visibility of the tabs after the "Home" tab.
    • Do note that hiding tabs may potentially cause unexpected behaviors to occur when you try to navigate to the hidden page.
    • In addition, some features may no longer be available after hiding a tab (ie: hiding the "Playlists" tab will prevent you from being able to create playlists).

🛠️ Fixes

  • Bug (that sometimes occurs on some devices) caused by how we fixed the issue where the RNTP service didn't initialize fast enough.

🔠 Translations

Note

We plan to move handling translations to something like Crowdin in the future to help keep them up-to-date as I believe they'll notify you when the source translations change.

⚙️ Internal Changes

  • Improved GitHub Actions build reliability by switching to Java 18 Temurin distribution.

v2.1.0-rc.2

24 Jan 20:03
Compare
Choose a tag to compare
v2.1.0-rc.2 Pre-release
Pre-release

Important

Treat this as a pre-release for the next version. This will only be available as an APK download as this is mainly to test for bugs for the latest features.

I'm planning to send the final version of v2.1.0 for review on Monday.

🎉 Added

  • Ability to change the order and visibility of the tabs after the "Home" tab.
    • Do note that hiding tabs may potentially cause unexpected behaviors to occur when you try to navigate to the hidden page.
    • In addition, some features may no longer be available after hiding a tab (ie: hiding the "Playlists" tab will prevent you from being able to create playlists).

🛠️ Fixes

  • Issue where vinyl spin animation didn't occur when we used the normal seekbar when the track is initially at 0s.

v2.1.0-rc.1

20 Jan 23:51
Compare
Choose a tag to compare
v2.1.0-rc.1 Pre-release
Pre-release

Important

Treat this as a pre-release for the next version. This will only be available as an APK download as this is mainly to test for bugs for the latest features.

Re-introduced vinyl design. I also plan to add support for changing the order of the other tabs on the home screen in this release.

🎉 Added

  • Revised vinyl design that looks better across themes and different device sizes.
    • You can go back to the plain look on the "Now Playing" screen by changing an "Appearance" setting.
    • The vinyl on the "Now Playing" screen can now function as a seekbar (1 full revolution is equivalent to 24s).

🛠️ Fixes

  • Bug (that sometimes occurs on some devices) caused by how we fixed the issue where the RNTP service didn't initialize fast enough.
    • The issue is: when the next track naturally plays, the displayed track on the "Now Playing" screen is incorrect.

🔠 Translations

Note

We plan to move handling translations to something like Crowdin in the future to help keep them up-to-date as I believe they'll notify you when the source translations change.

v2.0.1

15 Jan 19:58
Compare
Choose a tag to compare

Important

Before you bring out your pitchforks, a replacement for the vinyl artwork design is planned for v2.1.0 (as the old design looks out of place). In addition, you'll be able to toggle between the simple artwork design and the updated vinyl design.

Some bug fixes for the v2 release. Look at the full release notes for v2.0.0 for the important changes (link can only be clicked from the release notes on GitHub).

  • In case you haven't updated to v2.0.0, I suggest you create a backup using the backup feature in the app in case anything unexpected occurs after updating.

⚡ Changes

  • Reset playback store state whenever we catch an app crash (in case the cause was from invalid data inside this store).
    • This should break you out of the error-loop caused by the issue with deleting an image that no longer exists.
  • Improved edge-to-edge behavior in Android 15 (navigation bar color should now reflect the app theme) by @yang1206.

🛠️ Fixes

  • Fix a stem of crashes caused from deleting an image that was already deleted.
    • When a track no longer exists, we delete its values in the database (and attempt to delete its image if it exists). How the logic is handled is that if one of the things fails (in this case, deleting the image), the operation is canceled (so the track that doesn't exist still exists in the database).
    • If you're experiencing this, you should crash on the 1st launch of this update, then it should fix itself on the next launch.
  • Potential fix for crashes due to the RNTP service not being initialized fast enough.

🔠 Translations

v2.0.0

12 Jan 16:39
Compare
Choose a tag to compare

Important

Before you bring out your pitchforks, a replacement for the vinyl artwork design is planned for v2.1.0 (as the old design looks out of place). In addition, you'll be able to toggle between the simple artwork design and the updated vinyl design.

Massive redesign to align with Nothing OS 3.0 (a.k.a. Android 15).

❗ Breaking/Important Changes

Warning

Since we now track some new metadata, all tracks will be re-indexed again to get these new values. As such, try to update the app when you know you won't be using it.

I'll also suggest creating a backup before updating in case anything unexpected occurs. If you encounter an error screen, try clearing the app's storage (which will delete all data) and re-launch the app (then import the backup if no error was encountered). If you still are experiencing problems, create an issue.

  • Changed app defaults for new users from "Any track from the Music directory" to "Any track longer than 15s".
    • Any old configs will be brought over; so if you don't understand how to change them, reinstall the app or clear the app storage.
  • Images are now saved while on the onboarding screen instead of in the background.

🎉 Highlights

  • Support for Nothing Music Glyph Visualization feature.
  • New customization options (theme, accent font, language, minimum track duration).
  • Swipe navigation & basic search on the home screen.
  • Volumes slider (for internal volume - different from device volume) & "repeat one" mode.
  • Drastically improved workflow for adding tracks to playlists along with custom track order.

⚡ Other Changes

  • Improve interruption handling while playing a track.
  • Ability to play all tracks (on "Tracks" screen) based on alphabetical or last modified order (ascending & descending).
  • Account for disc number when sorting tracks for albums.
  • Enable assigning artwork to artists (long-press artwork on their screen to change).
  • No longer cap playlist name to 30 characters.

🛠️ Fixes

  • Missing metadata (ie: track number) for .flac files.
  • "Bricking" that can occur if the app runs out of memory when finding artwork.
  • Crashing on app launch caused by missing Android directories (ie: missing "Music" directory).

🔠 Translations

📚 Documentation

  • 🆕 Translations documentation for info on how to contribute translations to the app.
  • 🆕 Nothing Interactions documentation for info on what Nothing features the app support.
  • 🆕 Supported Gestures documentation for info on gesture interactions in the app.

v2.0.0-rc.3

05 Jan 06:46
Compare
Choose a tag to compare
v2.0.0-rc.3 Pre-release
Pre-release

Important

Treat this as a pre-release for the next version. This will only be available as an APK download as this is mainly to test for bugs for the latest features.

I'm probably going to send the production release (v2.0.0) for review on January 8 (Wednesday) given no issues arise, which might take a week to get published on the Play Store.

⚡ Changes

  • Improved language auto-detection for languages with script subtags or regions.
    • Devices detected with a primary language of Chinese (ie: zh language codes) will fallback to Simplified Chinese (zh-Hans).
  • Add a clear input button to the search feature.

🛠️ Fixes

  • Fixed race condition where a deleted track didn't trigger the reset() function due to it being the active track that doesn't belong to the playing list.

🔠 Translations

  • Add French translations by @nin7o
  • Add Simplified Chinese translations by @yang1206

v2.0.0-rc.2

01 Jan 23:46
Compare
Choose a tag to compare
v2.0.0-rc.2 Pre-release
Pre-release

Important

Treat this as a pre-release for the next version. This will only be available as an APK download as this is mainly to test for bugs for the latest features.

Probably the final set of changes before the official release.

⚡ Changes

  • Slightly reduced the time it takes to save track artwork for new users.
  • Some style adjustments (padding, font size).
  • Add Roboto as an accent font option in case NDot & NType looks off for a given language.