* chore(packages): Added pedantic package to enforce linting and styling
* feat(lunasea): Enforce effective dart styling
* Comment and format colours class
* Localize additional classes in Dashboard, cleanup additional code
* chore(lunasea): Major refactor by running dartfmt on the entire codebase, added widget return for page routers
* Additional work on conforming to effective dart style
* fix(share_plus): Roll back share_plus package to 2.0.0 to support iOS 12 or lower
* chore(lunasea): Fix remaining enabled analysis warnings
* (queue): Ability to view basic queue, delete queue record
* (fix): [UI] Show mouse cursor on ListTile when onTap or onLongPress are not null
* (fix): [UI] Fix height/width of sorting/filtering buttons, ensure consistent fixed-height for input bars
* (fix): [Lists] Remove default drag handles from ReorderableListView
* (fix): Further safe-guarded with platform checks
* (fix): Hide settings options on incompatible platforms
* (chore): Update CHANGELOG.md
* (fix): Switch from package_info to package_info_plus to support MacOS and other platforms
* (chore): Update packages
* (chore): Update Podfile
* (tweak): [Icons] Add font_awesome_flutter, change Icon() usages to FaIcon() to prepare
* (tweak): [Sonarr/Queue] Utilize a cleaner messages dialog view
* (feat): [Radarr/Queue] Add movie name and quality profile to collapsed tile
* (fix): [UI/AppBar] Back button was top-left aligned instead of centered
* (feat): [Icons] Add FontAwesome Pro icons
* (tweak): [Icons] Rollback to FontAwesome 5
* (tweak): [Icons] Rollback to FontAwesome 5
* (fix): [Icons] Revert back to system icons for now
* (fix): [Icons] Revert from FaIcon to Icon
* (tweak): [UI/Expandable Tile] Show two buttons per line, wrapping to a new line when necessary
* (feat): [Radarr] Queue implementation finished
* (fix): [Queue] Safe-guard some data model usages
* (chore): Update CHANGELOG.md
* Added RadarrManualImportConfigure for manual import config options
* Default bottom modal sheet to not expand
* Shrinkwrap modal listviews around content
* use keyboardDismissBehavior for all ListView
* Ensure keyboard is unfocused when opening the drawer
* Fetch and store quality definitions in global Radarr state
* Ability to configure language and quality profile for manual import instances
* Reworking all search bar implementations, integrated scroll back for Lidarr across module
* (ui): [Dashboard] Clean up of dashboard code, integrated scroll to top support
* (ui): [SnackBar] Remove all deprecated uses of LSSnackBar, add scrollback for NZBGet, improve error handling in queue
* (ui): Removed usage of old StickyListView, ReorderableListView, integrated LunaScaffold into base routes
* (flutter): Update packages
* (flutter): Remove flutter_sticky_header package
* (ui): Remove unused deprecated classes
* (chore): Update changelog
* (fix): [Dashboard/Calendar] Radarr releases were not considering digital release date
* (ui): [Sonarr] Adapted for scroll back to top functionality, remove more deprecated UI elements
* (ui): Refactored Tautulli, Removed ALL deprecated UI elements from LunaSea
* (ui): Fixed inconsistent usage of material and luna colours across UI
* (fix): [Sonarr/Radarr] Do not show "Search For..." button when the query is empty, but there are no results
* (chore): Updated changelog
* (fix): [Sonarr/Add] Fix search queries not gettting executed
* (fix): [Tautulli] Remove unused global state elements
* (feat): [UI/AppBar] Ability to hide the leading widget
* (fix): [Radarr/Languages] Fix "Unknown" language not being shown in selection dialog
* (feat): [Radarr/Import] Ability to search movies to select, toggle real and proper toggles
* (chore): Updated packages
* (ui): [Bottom Sheet] Do not use the root navigator
* (ui): [Button] Remove the small border around buttons in the AMOLED theme
* (ui): [Bottom Bar] Make vertical padding symmetrical when using top actions
* (radarr): [State] Store languages in Radarr global state
* (radarr): [Manual Import] Implement design for manual import file tile
* (radarr): [Manual Import] Added stub bottom action bar, adjusting button colour designs across Radarr
* (ui): [Colors] Minor tweaks to the colour palette (excluding primary theme colours)
* (ui): [Theme] Abstract theme dependency injection checks
* (ui): [Changelog] Sticky full changelog button to bottom action bar within modal
* (localization): Updated localization
* (system): Update changelog URL
* (ui): [Buttons] Implement new design for buttons, integrate across Radarr
* (chore): Update changelog
* (radarr): [Edit] Fix long delay when updating a movie
* (ui): [Settings] Started shift to new button action bar styling
* (ui): [Settings] Adapt all actions to sticked navigation action bar
* (ui): [Lidarr] Updated to use new button & navigation action bar design spec
* (ui): [NZBGet] Updated to use new button & navigation action bar design spec
* (ui): [SABnzbd] Updated to use new button & navigation action bar design spec
* (ui): [Search] Updated to use new button & navigation action bar design spec
* (ui): [Search Bar] Add static getter for margin within preferred size bottom search bar
* (ui): [Messages] Remove usages of deprecated message widgets
* (ui): [Sonarr] Updated to use new button & navigation action bar design spec
* (ui): [Sonarr/Add] View a series' TheTVDB page by long-pressing the tile
* (ui): [Tautulli] Updated to use new button & navigation action bar design spec
* (ui): [Radarr] Use accent colour for background of "Search For..." tile in catalogue
* (chore): Updated Changelog
* [iOS/Build] Add GoogleUtilities pod to prevent archive errors
* (chore) version bump
* [Git] Initialize blackbox
* [Git] Initialize blackbox
* [Git/Blackbox] Add me@jagandeepbrar.io as admin
* registered in blackbox: ios/ExportOptions.plist
* registered in blackbox: ios/GoogleService-Info.plist
* registered in blackbox: android/key.properties
* registered in blackbox: android/app/google-services.json
* Re-encrypted keys
* registered in blackbox: android/key.jks
* Updated key.properties, re-encrypted
* [Android/Keystore] Update same key.properties
* [Tautulli/Activity] Incorrectly localized "Transcodes" string
* [Radarr, UI] Implemented quick manual import, Implemented new design of ExpandableTile across UI (#378)
* Use local path for radarr package
* [Radarr/Manual Import] Browse filesystem, trigger quick import
* [UI/Buttons] Normalize the height of all buttons
* Update packages
* [ListView] Exposed itemExtent property
* [Lidarr/Releases] Move from LSExpandable to LunaExpandableListTile implementation
* [Tautulli/Logs] Use the new expandable table card styling
* [SABnzbd/History] Use the newer expandable table card styling
* [NZBGet/History] Use the newer expandable table card styling
* [UI/Button] Reduce size of the loader and icon to closer match text size
* [Sonarr/Releases] Use the newer expandable table card styling
* [Sonarr/Episodes] Use the newer expandable table card styling
* [UI/Table] Safe-guard title and body text, show emdash when receiving null data
* [Radarr/Details] Show monitor status and properly update the overview table on edit or monitor status changes
* Updated changelog
* [Sonarr/Queue & Episodes] Cleaned up implementation of expandable tile
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (14 of 14 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/nb_NO/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (14 of 14 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/sv/
* Translated using Weblate (German)
Currently translated at 100.0% (68 of 68 strings)
Translation: LunaSea/Tautulli
Translate-URL: https://hosted.weblate.org/projects/lunasea/tautulli/de/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 80.8% (55 of 68 strings)
Translation: LunaSea/Tautulli
Translate-URL: https://hosted.weblate.org/projects/lunasea/tautulli/nb_NO/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (68 of 68 strings)
Translation: LunaSea/Tautulli
Translate-URL: https://hosted.weblate.org/projects/lunasea/tautulli/sv/
* Translated using Weblate (Russian)
Currently translated at 57.3% (39 of 68 strings)
Translation: LunaSea/Tautulli
Translate-URL: https://hosted.weblate.org/projects/lunasea/tautulli/ru/
* (chore) Build localizations
* [Tautulli/Webhooks] Implement webhook data handlers for all Tautulli webhooks (#380)
* [Tautulli/Webhooks] Handle transcode decision change and watched event types
* [Radarr/Sonarr] Safe-guard webhooks by pushing the home route on invalid received data blocks
* [Tautulli/Webhooks] Implemented all webhooks
* Translated using Weblate (French)
Currently translated at 100.0% (78 of 78 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (German)
Currently translated at 100.0% (78 of 78 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/de/
* Translated using Weblate (Russian)
Currently translated at 92.8% (13 of 14 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/ru/
* [Release] (chore): Dirty v5.0.0+50000013 (#382)
* [Radarr/Manual Import] Add search bar for host system path, add stub manual import page
* [Radarr/Manual Import] Change path bar text to "File Browser..."
* [Radarr/Manual Import] Pass "/" if textController text is null
* [Radarr/Import] Stub details state
* [Database] Correctly register LunaIndexerIcon hive adapter
* [Radarr/Import] Filter directories when typing path, Fetch manual import results with stub cards
* [UI/Bottom Bar] Abstract bottom action bar, use on add movie page
* [UI/Navigation Bar] Add option to attach stickied top actions to navigation bar
* [Radarr/Edit] Use stickied bottom action bar for buttons
* [Radarr/Details] use sticky navigation actions for interactive and automatic search
* [Dialogs] CheckboxTiles were padded too aggressively in the X-axis
* [Sentry] Remove remaining references to Sentry
* (chore) Build localizations
* (chore) Update changelog
* Preparing to shift GitHub repository structure
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Patrik Hauguth <patrik.hauguth@gmail.com>
Co-authored-by: cpt-kuesel <jln.sltr@pm.me>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: Antoine C <contact+weblate@antoinecardon.fr>
NEW
- [-Arr/Releases] Match torrent seeder colours to the web GUI
- [Firebase/Analytics] Added analytics for breadcrumb tracking in crashes
- [Logger] Utilize a new, custom built on-device logging system
- [Logger] Compact/delete old log entries once the log count passes 100
- [Logger] Exported logs are now in JSON format
- [Routing] Protect all module routes by showing a "Not Enabled" screen when the module is not enabled
- [Settings/System] Added toggle to disable Firebase Analytics
- [Tautulli/Activity] Show custom season titles from Plex's new TV agent
TWEAKS
- [Radarr/Files] Add languages to file block
- [Radarr/Files] Small changes to table titles
- [System/Logs] Reimplemented logger view
- [System/Logs] Removed viewing the stack trace within the application (still viewable within the exported logs)
- [System/Logs] Added the exception to the expanded table instead of a separate dialog popup
- [Tautulli/Activity] Minor UI tweaks including showing the full season title and italicizing the episode title
- [UI/Navbar] Jump instead of animate to page when tapping a navbar item
FIXES
- [Firebase/Crashes] Do not log DioError/networking exceptions
- [Flutter] Updated packages
- [Flutter] Upgrade all Comet.Tools packages to null-safety/NNBD
- [Radarr/Releases] Negative format scores were not being shown
- [Share] The sharesheet could break after the first time it was opened
- [Strings] Safe-guard many substring operations
- [Tautulli/Activity] Play/paused/buffering icon was not properly left aligned to the text
- [Tautulli/Users] User images would not be fetched on newer versions of Tautulli
- [UI/UX] Modal scroll controller was not being attached to the ListView in a bottom modal sheet
- [UI/UX] Do not log errors when network images fail to load
- [UI/UX] Prevent attempting to load background images that are passed an empty URL
- [URLs] Safe-guard launching specific invalid URLs
NEW
- [Radarr/Files] Add video and audio codec to the media file card
- [Search] Now supports infinite scrolling for loading additional pages of results
- [Search] Much faster parsing of XML responses
- [Search] Fully adapted for localization
TWEAKS
- [Search] Now returns 50 results per infinite scrolling page
- [Search] Removed support for sorting the catalogue and instead show the results in the order the indexer returns the data
- [Search] Removed support for filtering releases by a search query
- [Search] Minor tweaks to the icons on the indexer, category, and subcategory tiles
FIXES
- [Search] Search would only return 10 results
- [Search] Age of the release could show as "Unknown Age" in some cases
* [Radarr] Added very basic localization file for testing
* Added minimal LunaSea localization file
* Translations update from Weblate (#325)
* Added translation using Weblate (German)
* Translated using Weblate (German)
Currently translated at 25.0% (1 of 4 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/de/
* Added translation using Weblate (French)
* Translated using Weblate (French)
Currently translated at 25.0% (1 of 4 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Deleted translation using Weblate (German)
Co-authored-by: Jagandeep Brar <me@jagandeepbrar.io>
Co-authored-by: Antoine C <contact+weblate@antoinecardon.fr>
* [Localization] Updated keys
* [Strings] Removed internal constant LunaSea to ease localization efforts
* Added translation using Weblate (French)
* Translated using Weblate (French)
Currently translated at 100.0% (1 of 1 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/fr/
* [Radarr] Added additional localization strings
* [Locale/Radarr] Additional strings
* Added translation using Weblate (Norwegian Bokmål)
* Added translation using Weblate (Norwegian Bokmål)
* Translated using Weblate (French)
Currently translated at 100.0% (11 of 11 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1 of 1 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/nb_NO/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 90.9% (10 of 11 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/nb_NO/
* Translated using Weblate (French)
Currently translated at 100.0% (11 of 11 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* [localizations] sort keys
* [Packages] Migration to Fluttter v2 and NNBD Compatibility (#329)
* Updated packages
* Added system level Firebase Crashlytics to replace Sentry
* Started migration to crashlytics
* [Crashlytics] Adjusted dialog to reflect analytics, add crash button
* [Settings] Removed test crash tile
* [Changelog] Pull changelog version and build from application package
* Added easy_localization package
* Added stub localization handler
* [Localization] Added package and assembly script (#330)
* Updated packages
* Added system level Firebase Crashlytics to replace Sentry
* Started migration to crashlytics
* [Crashlytics] Adjusted dialog to reflect analytics, add crash button
* [Settings] Removed test crash tile
* [Changelog] Pull changelog version and build from application package
* Added easy_localization package
* Added stub localization handler
* [Localization] Added easy_localization package, added script to concat all localization files
* Removed license shield
* [Localization] Integrated system localization handling (#331)
* [Localization] use dash delimiter
* Translated using Weblate (English)
Currently translated at 100.0% (11 of 11 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/en/
* [Localization] Added ability to switch languages, updated Radarr localization (#333)
* [Scripts, Localization] Updated prepare script to print nicer JSON, add additional strings for Radarr
* Updated localizations, switch remaining Radarr strings that are available
* Translated using Weblate (French)
Currently translated at 100.0% (12 of 12 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (12 of 12 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/nb_NO/
* Generated new local assets
* [radarr/add_movie] Strings adapted for localizations and added to localization files
* Translated using Weblate (English)
Currently translated at 100.0% (2 of 2 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/en/
* [Localizations] Rebuild
* Translated using Weblate (French)
Currently translated at 100.0% (18 of 18 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (2 of 2 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/fr/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (2 of 2 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/nb_NO/
* [Radarr/Add Movie] Adapted for localized strings
* [Radarr/Add Details] Adapted for localized strings
* [Radarr/Edit Movie] Adapted for localized strings
* Translated using Weblate (French)
Currently translated at 100.0% (3 of 3 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (25 of 25 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* [Chore] Rebuilt localizations
* [Radarr/Dialogs] Updated a few dialogs to reflect localized titles
* [Localization] Ability to disable localization options internally
* [DateTime] Show "Just Now" when time difference is under 10 seconds
* [Search] Switch to new XML parsing package/engine
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.7% (30 of 31 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/nb_NO/
* Translated using Weblate (French)
Currently translated at 100.0% (31 of 31 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/fr/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (4 of 4 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/nb_NO/
* [Localization] (chore) Rebuild localization
* [Chore] Moved localization to system folder
* Added translation using Weblate (Swedish)
* Added translation using Weblate (Swedish)
* Translated using Weblate (Swedish)
Currently translated at 100.0% (4 of 4 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/sv/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (31 of 31 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/sv/
* [Localization] Added support for Swedish (sv)
* [Radarr/Types] Adapted all type readable strings for localization
* [Radarr] Continued work on adapting for localization
* Translated using Weblate (French)
Currently translated at 100.0% (71 of 71 strings)
Translation: LunaSea/Radarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/radarr/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (9 of 9 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/fr/
* [Localization] (chore) Build localization
* [Chore] Cleanup, move and adapt drawer to LunaUI
* [Drawer] Cleanup drawer builder
* Translated using Weblate (English)
Currently translated at 100.0% (9 of 9 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/en/
* Translated using Weblate (English)
Currently translated at 100.0% (10 of 10 strings)
Translation: LunaSea/LunaSea
Translate-URL: https://hosted.weblate.org/projects/lunasea/lunasea/en/
* [UI] Move "luna_ui" to "ui", old "ui" to "deprecated_ui"
* [-arr/Add] Tags set when adding content are now stored in the database
* [-arr/Links] Added Trakt link, normalize sizes, update TMDB logo
* Add weblate link, disable additional languages on release mode, updated changelog
Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Antoine C <contact+weblate@antoinecardon.fr>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Patrik Hauguth <patrik.hauguth@gmail.com>
NEW
- [Webhooks] Show series, movie, or artist cover photos in incoming system notifications
- [Webhooks/Radarr] Jump directly into the content by tapping the notification
- [Webhooks/Sonarr] Jump directly into the content by tapping the notification
- [-arr/Details] Added a button to the AppBar to jump directly into the edit page
TWEAKS
- [Radarr/Files] Moved the video block above the audio block
FIXES
- [AppBar/Dropdown] Vertical padding around title when the profile dropdown is visible was incorrect
- [Radarr/Details] If the movie was not found, it would show an infinite loader, now shows a "No Movies Found" message
- [Radarr/Releases] Changing the sorting or filter method would not scroll the list back to the top
NEW
- [Dashboard] "Home" has been renamed to "Dashboard"
- [Radarr/Catalogue] If no movie is found in the search query, given an option to search to add the movie
- [Radarr/Discover] Add the ability to discover movies from your import lists & Radarr recommendations
- [Radarr/Releases] Ability to set sorting direction, category, and filtering method
- [Settings/Radarr] Ability to toggle on or off Radarr suggestions in the discover page
TWEAKS
- [Drawer] Removed the option to use categories/folders in the drawer
- [Settings/Config] Sort configuration options within modules for cleaner isolation and easier expansion for future configuration options
- [Settings/Profiles] Renaming a profile now checks for an existing profile with the same name within the prompt
- [Settings/Profiles] Adding a profile now checks for an existing profile with the same name within the prompt
- [Settings/Profiles] The delete profile prompt now hides the currently enabled profile, and shows a snackbar if only one profile exists
- [Settings/Wake on LAN] Allow clearing the broadcast and MAC addresses to empty values
FIXES
- [Radarr] Support for Radarr v3.1.0+ (nightly builds)
- [Radarr/Add] Instantly show a movie as addable again if removed right after adding it
- [Radarr/Cast] If a job or character name is empty, show a dash instead of an empty space
- [Radarr/Catalogue] Instantly remove the movie tile when removing a movie
- [Radarr/Edit] Padding around the "Update Movie" button was incorrect
- [Toasts] In some cases, the error was not being passed through to the error viewer
- [UI/UX] Upstream framework support for basic mouse/trackpad highlight and scrolling support
- [UI/UX] Tapping the AppBar to scroll back in a nested route would scroll back the parent route as well
- [UI/UX] Use the recommended safe area padding at the bottom of lists for fullscreen devices
NEW
- [Radarr] Completely rewritten from the ground-up
- [Radarr] View system status, disk usage, and manage tags
- [Radarr] Catalogue, upcoming, missing, tags, and quality profiles are now held in-state between module switches
- [Radarr/Add] Long-pressing a search result tile will open the movie's TMDB entry
- [Radarr/History] Now an infinite scrolling list
- [Radarr/Movie] Cast information, movie-specific history, more detailed file information, more detailed overview page
- [Radarr/Filtering] Improved sorting and filtering speed, performance, and consistency
- [Radarr/Filtering] Ability to set sorting and filtering defaults in settings
- [Radarr/Filtering] Many additional filtering options
- [Haptics] Added haptic feedback to all buttons, toggles, and dropdowns
- [Quick Actions] Default "Settings" quick action added to end of the list (if there is room)
- [UI/UX] (Radarr Only For Now) Ability to tap the AppBar to scroll to top
- [UI/UX] (Radarr Only For Now) If the list is in a tabbed PageView, tapping the active tab will scroll the list to the top
- [UI/UX] (Radarr Only For Now) If the keyboard is open, scrolling the list, swiping between pages, or opening the drawer will dismiss the keyboard
- [Webhooks] Notification webhooks will now show as an in-app heads up if LunaSea is open at the time of receiving the notification
TWEAKS
- [Radarr] Now only supports v3.0.0 and higher of Radarr
- [Radarr] Many visual changes, too many to list
- [Radarr] The tab "History" has been replaced with "More"
- [Radarr/Edit] Monitor toggle has been moved to the edit prompt
- [Sonarr/Filtering] Updated button to use standard filtering icon
- [Tautulli/Activity] Show session type and bandwidth type breakdown on activity page
- [Tautulli/Activity] Cleanup player information to more closely resemble web GUI
- [Tautulli/Activity] Show subtitle stream decision
- [UI/UX] Reduced the weight of bold text across the application
- [UI/UX] Added padding to bottom of lists for devices that require a safe area
- [UI/UX] Active tab in navigation bar now has a border with the AMOLED theme
FIXES
- [Changelog] Properly align/pad "Full Changelog" button at the end of the changelog
- [Flutter] Update packages
- [Flutter] Now using the beta channel
- [Quick Actions] Improve internal implementation of quick actions to be more stable and reliable
- [Settings/Modules] Newly set headers would sometimes not be passed to the connection test
- [Sonarr/Edit] Series path prompt would show an incorrect title
- [Sonarr/Description] Show "No summary is available" when there is no summary instead of an empty string
- [Sonarr/Releases] Default sorting direction was using catalogue default value
- [Tautulli/Graphs] Description of some graphs were not correct (Thanks @ZuluWhiskey!)
- [Tautulli/IPs] Fix location showing as null for local addresses
- [UI/UX] Border radius for the splash highlight wouldn't clip correctly on slim buttons
- [UI/UX] Margin/size of sort/filter buttons were off by a few pixels
- [UI/UX] InkWell splash now clips correctly to the rounded borders of popup menu buttons
* Updated all packages
* [iOS] Added associated domain for webcredentials (autofill)
* [IAPs] Remove all references or code for a pro upgrade
* [Android] Added asset_statements for autofill association
* [Accounts] Ability to send password reset email
* [Sonarr/Upcoming] Change "Not Downloaded" to "Missing"
* [Sonarr/Add] Fixed error log showing series ID as null
* [Messages] Separate messages (including changelog) to its own Hive box to prevent repeated message prompts
* [Changelog] Write build number from PackageInfo to database instead of JSON
* [Actions] Cleanup quick actions, removed Siri suggestions package and initialization
* Update contributers file
* Updated changelog
TWEAKS
- [Sonarr/Upcoming] If an episode has not aired, show it as "Upcoming" instead of "Not Downloaded"
FIXES
- [Accounts] Register device token to database for future notification support
- [Accounts] Improve validation for email and passwords
- [Radarr] Fix some durations being displayed twice
- [UI/TextField] Show errors as snackbar instead of in-line error
NEW
- [Settings/Modules] Add an information/help button with module descriptions and links
TWEAKS
- [Radarr] Always show the amount of days content will be available instead of limiting it to only content in the next 30 days
- [Settings] Moved "Backup & Restore" and "Logs" to "System" section
- [Settings] Merged "Customization" and "Modules" sections into "Configuration"
- [Settings/Sonarr] Removed the need to enable Sonarr to test the connection
- [Settings/Tautulli] Removed the need to enable Tautulli to test the connection
FIXES
- [IAPs] Ensure all IAPs are marked as "consumed"
- [Flutter] Updated packages
- [Logging] Updated Sentry to v4 framework to improve capturing fatal/crashing bugs
- [Settings/Logs] Hide exception and stack trace buttons when an error is not available
- [Sonarr/History] Fixed history fetching the oldest entries, not the newest
- [State] Correctly clear state when clearing LunaSea's configuration
- [Tautulli/Activity] Fixed consistency of hardware transcoding indicator compared to the web UI
- [UI/Divider] Fix consistency of divider width across regular and AMOLED dark theme
NEW
- None
TWEAKS
- None
FIXES
- [Sonarr/v2] Fix inability to interactively search for releases
- [Routing] Fix black screen when popping back from nested calendar routes
- [Flutter] Update packages
NEW
- [Backup & Restore] Backup files now use the .lunasea extension (older .json backups are still supported)
TWEAKS
- [Backup & Restore] Use share sheet to save or share backup file
- [Search/Download] Use share sheet to save or share NZB files
- [Logs/Export] Use share sheet to save or share logs file
FIXES
- [Backup & Restore] Using the share sheet now fixes the issue of inaccessible logs and backups on newer Android and iOS devices
- [Build] Update gradle & reintegrate podfile
- [Flutter] Update packages
NEW
- [Images] Ability to set (or entirely disable) the opacity of the background image for cards
- [Sonarr] Ability to set the default sorting type for series and releases
- [Tautulli/Activity] Show the ETA for when the session will be completed
- [Tautulli/Activity] Show if the hardware transcoding is being used on the stream
FIXES
- [Networking] Ensure that insecure (HTTP/80) connections are allowed at the platform-level
- [Flutter] Upgraded Flutter & Packages
NEW
- [Networking] Strict TLS/SSL validation is now disabled globally
- [Routing] Hold the AppBar back button to pop back to the home page of the module
- [Settings/Sonarr] Toggle to enable Sonarr v3 features
- [Sonarr] Complete rewrite of Sonarr
- [Sonarr] State is now held across module switches
- [Sonarr/Overview] View tags applied to series
- [Sonarr/Catalogue] (v3 only) Ability to set and update language profile
- [Sonarr/Catalogue] Ability to view all, only monitored, or only unmonitored series
- [Sonarr/Releases] (v3 only) Ability to interactively search for season packs
- [Sonarr/Releases] Ability to view all, only approved, or only rejected releases
TWEAKS
- [Settings] Removed all toggles for strict TLS
- [Sonarr] Many tweaks to Sonarr's design
- [Sonarr/Add] (v3 only) Tapping an already-added series will take you to the series page
- [Sonarr/Add] Automatically navigate to newly added series
- [Sonarr/Series] Toggling monitored state of series has now been moved to the edit prompt
FIXES
- [Images] Images will now load for invalid/self-signed certificates
- [Tautulli/Activity] Fix grey screen for music activity
- [TextField] Fix TextField actions (cut, copy, paste, etc.) not showing
- [Timestamps] Fix 12:xx AM being shown as 00:xx AM
- Additional small bug fixes
NEW
- [Timestamps] Option to use 24 hour timestamps
- [Tautulli/Activity] Refresh information while viewing details
- [Tautulli/History] Implemented global history page & history details
- [Tautulli/More] Added tiles for all features, including all unfinished features
- [Tautulli/Synced] Implemented synced items view for all users
TWEAKS
- [Tautulli/Activity] Move terminate session to button below activity block
- [Tautulli] Background refresh user lists on re-entry into Tautulli route
FIXES
- Fix small errors and crashes related to null data
NEW
- [Quick Actions] Enable home screen quick actions to quickly launch into up to 4 modules
- [Tautulli/User] Implemented user pages including profile, history, synced, and IP addresses
- [Settings/Resources] Added link to join TestFlight
TWEAKS
- [Home/Modules] Slightly adjusted design of quick links
- [Settings] Slightly adjusted design of module tiles
FIXES
- [Home/Modules] Search tile would not show up after adding first indexer until a route change
- [Tautulli/Activity] Tautulli could show an incorrect transcode container
NEW
- [Tautulli] View Activity
- [Tautulli] View activity details
- [Tautulli] View list of users
- [Tautulli] Ability to backup configuration & database
- [Tautulli] Ability to delete cache & image cache
- [Drawer] Ability to set the initial expanded state of categories (automation, clients, & monitoring)
TWEAKS
- [UI/Loader] New loading indicator
- [Home/Calendar] Separate calendar view type into its own preference
- [Home/Calendar] Show no modules enabled message when there are no automation modules enabled, not just no modules overall
FIXES
- [Profiles] Safeguarded fetching of enabled module
NEW
- [Home/Calendar] New "schedule" view to view all days as one list
- [Home/Modules] Option to use module "brand" colours or the LunaSea list colours
- [Search] Option to hide adult categories
- [-arr/Catalogue] Ability to sort by date added
- [-arr/Search] Show the indexer/tracker on the collapsed tile
TWEAKS
- [Development] Updated Flutter packages
FIXES
- Multiple smaller crash/error fixes
Thanks to @lightglitch on GitHub for implementing the schedule calendar mode!
* [Database] Added client identifier (for later use)
* [UUID, Cleanup] Added UUID generator, follow guidelines for relative exports
* [Imports] Only show necessary imports for modules.dart import
* [Settings] Added stub Tautulli config page (hidden via module flags)
* [-arr/Details] Fix crashes related to setting state on unmounted widget
* [Radarr/Add] Fix crash when a movie does not have a minimum availability status
* [SABnzbd/History] History tiles are now expandable in-line, Stages route
* [Packages] Updated packages
* [NZBGet/History] History now shown as in-line expandable tiles
* [Radarr/Delete] Ability to add to exclusion list
* [Radarr/Dialogs] Fix padding around delete movie prompt
* [Home/Calendar] Ability to enter search directly from calendar entries
* [Lidarr] Ability to enter interactive search from missing page
* [Radarr] Ability to enter interactive search from missing & upcoming tiles
* [Sonarr] Ability to enter interactive search from missing & upcoming tiles
* [Release/TestFlight] v3.1.0+310003
* [UI] Rounded all tile elements
* [UI] Scaled entire UI down a few font sizes
* [UI] Increase drawer font size, decrease PopupMenu font size
* [UI] Sticky headers are now attached to AppBar
* [TestFlight] v2.4.0 (240001)
* [Clients/Queue] Animated play/pause icon
* [Radarr] Releases are now shown as expandable tiles
* [Headers] Match button size to input bar
* [UI/Divider] Darken colour, slim down
* [Sonarr/Releases] Updated release tiles to expandable tiles
* [Sonarr] Removed sticky headers in upcoming & season details
* [Sonarr] Remove unused routes
* [Lidarr/Releases] Updated to expanded tile format
* [Search] Updated result tiles to be expandable
* [TestFlight] v2.4.0 (240002)
* [Lists] Require or create a ScrollController for all LSLists
* [Sonarr] Episode tiles now expandable, fixed statistics data crash
* [TestFlight] v2.4.0 (240003)
* [Popup Menu] Rounded shape on popup menus
* [Sonarr] More sorting options for Sonarr catalogue & releases
* [Sonarr/Catalogue] Sort by quality using id, not name
* [AMOLED] Optional setting to add UI borders
* [Refactor] Some file name changes
* [Database] Cleanup reads and updates to database
* [Module Flags] Hiding -rr's wouldn't hide the calendar setting
* [Dropdowns] Changed remaining dropdowns to popup menus
* [Sonarr] Safe-guard fetching episode queue
* [TestFlight] v2.4.0 (240006)
* [Changelog] Remove routes, redirect to documentation
* [Search] Added sorting options to search/results, filter for results
* [Sonarr/Add] Ability to set initial episode monitor status
* [Images] Option to clear network image cache
* [TestFlight] v3.0.0 (300001)
* [Tweaks] Small tweaks to text, typos
* [TestFlight] v3.0.0 (300002)
* [Lidarr] Additional sorting options for catalogue
* [Sonarr/Episode] Fix episode list crash
* [Lidarr/Releases] Added widgets for hide, filter, sort
* [Lidarr/Releases] Implemented sort, hide, and filter functionality
* [TestFlight] v3.0.0 (300003)
* [README] Added CI shield, updated version
* [Sonarr] Ability to set initial page
* [Radarr] Ability to set initial page
* [Lidarr] Ability to set initial page
* [NZBGet] Ability to set initial page
* [SABnzbd] Ability to set initial page
* [Home] Ability to set initial page
* [Radarr] Implemented new sorting structure
* [Radarr] Implemented filter, hide, and sorting of releases
* [Radarr] Additional catalogue sorting methods
* [TestFlight] v3.0.0 (300100)
* [Packages] Updated packages
* [Sonarr/Series] Switched to bottom navigation, removed sliver app bar
* [Sonarr/Series] Removed bottom padding from overview
* [README] Added AltStore, Removed Feedback, Updated Android APK Build (#213)
* [Snackbar] Fixed cases where iOS swipe-back would lock UI
* [Android/Back Button] Back button now shows drawer on primary routes instead of closing app
* [Wake on LAN] Added configuration to hive
* [Settings/Modules] Added Wake on LAN section
* [Wake on LAN] Added entry to drawer
* [Lidarr/Details] Removed sliver app bar, removed fanart, switched to bottom navigation bar
* [Radarr/Details] Removed sliver app bar, removed fanart, switched to bottom navigation bar
* [Wake on LAN] Show toast on action
* [Wake on LAN] Created RawDatagramSocket binding
* [WoL] Full support for Wake on LAN functionality
* [Semantics] Cleanup
* [TestFlight] v2.3.0 (230002)
* [Settings/Modules] Implemented settings UI for custom headers
* [Custom Headers] Finished UI implementation
* [Custom Headers] Integrated into API calls
* [TestFlight] v2.3.0 (230003)
* [Images] Attach custom headers to all network image requests
* [Everything] Many Changes (Read Notes) (#218)
- Unified the structure of each module (core, routes, widgets at the root of every module)
- Cleaned Most Remaining Dialogs (SABnzbd and NZBGet remain)
- Reduced font-size across dialogs
- Unified padding across all dialogs (that have been cleaned so far)
- Changelog is now a routed page, not a dialog prompt
- SABnzbd: Fixed bug where setting priority to "stop" would cause a fatal crash
* [Networking] Added RegExp Validation for IPv4 & MAC Addresses
* [Networking] Improved network address classes
* Finished Dialog Rework
* [TestFlight] v2.3.0 (230004)
* [README] Updated README for v2.3.0
* [Icon] Removed alpha channel from icon
* [Sonarr] Fixed toast for season monitoring toggle
* [Settings] Completely redesign, prepping for user configurable options
* [Browsers] Ability to set which browser
* [Settings/Modules] Long pressing 'Open Links In...' would open LunaSea website
* [Navigation Bar] Fixed title regression
* [Sliver AppBar] Defaults to collapsed, pull down to view
* [Sliver AppBar] Left align title
* [Settings/Calendar] Ability to configure starting day and starting size
* [Settings] Added headers
* [Settings] Cleaned folder structure of widgets
* [Calendar] Added option to disable specific modules
* [Theme] added AMOLED black theme
* [Android] Build Configuration for Android (#198)
* [Android] Implemented WIP android build configuration
* [Android] Added splash, icons, dynamic platform-specific text
* [Android] Added signing configuration, updated minimum version to Android 7.0
* [README] Updated README to reflect Android building
* [README] Added stub Google Play shield
* [README] Reordered shields
* [Development] Replaced utility functions with extensions (#152)
* [Extensions] Integer extension for byte to string conversion
* [Extensions] String extension for open links
* [Extensions] String extension for creating title slugs
* [Extensions] Changed syntax of extensions for easier differentiation
* [Extensions] String extension for language mutators
* [Packages] Updated packages
* [Extensions] DateTime extension for age, floor, and upcoming
* [Extensions] Finished converting all utility functions to extensions
* [Extensions] Keep constant in constants file
* [Database] Implemented hive database to replace shared_preferences (#155)
* [Packages] Added hive package
* [Database] Initialized hive, generated adapters
* [Database] Defined profile schema
* [Databasing/Profiles] Switched profiles control to hive implementation
* [Settings, Refactor] Started adoption of hive in settings, major folder structure change
* [Settings/General] Using improved UI widgets
* [Backup/Restore] Temporarily disable this feature
* [Database/Profiles] Switch profiles to hive
* [Code Splitting] Further work on code splitting, refactoring
* [Services, Profiles] Switched services to hive DB, profile switcher in drawer
* [Calendar] Defaults to showing one week
* [Calendar] Swapped today and selected day highlight colours
* [Home] Correctly highlight home in drawer
* [Drawer/Profile Switcher] Adjusted styling of profile switcher
* [Home] Dynamically react to changes within profile object
* [Profiles] All services now react to profile value changes (#156)
* [TestFlight] v2.0.0 (11)
* [Settings, Indexers, Configuration] Cleaned settings routes, added indexer settings area, restored backup/restore functionality (#158)
* [Indexers] Added indexer drawer entry, updated indexer database object
* [Settings] Cleaned up settings page code
* [Settings] Finished cleanup of settings route
* [Widgets/UI] Cleanup widgets, remove old elements
* [Logs] Fixed bug where logs wouldn't load
* [Backup/Restore] Restored functionality with new database
* [Hive] Fixed pages not dynamically reloading
* [Settings/Indexers] Added delete indexer prompt
* [Redux] Removed redux, combined core + system (#159)
* [Indexers] Support for Newznab Indexers (#161)
* [App State] Created app state boxes using Hive
* [Packages] Remove animations, add xml
* [API, Packages] Updated package logger class route, added Dio package
* [Packages] Removed flutter_test
* [Newznab, Indexers] Fetching categories from indexers, indexer and category page started
* [Indexers] Categories, Subcategories, and results page
* [Search] Allow refreshing categories, results
* [State] Implemented Provider for state management, implemented into indexer search
* [Home, Indexers] Added search quick link, ability to download NZB file
* [Packages] Updated packages
* [Code Splitting] Split search widgets up
* [Indexers] List of indexers is now alphabetical
* [README] Added TestFlight link
* [Sonarr] Show season and status when adding new series
* [Sonarr] Display start year when adding new series
* [Indexers] Send NZB directly to client
* [Indexers] Finished result details page
* [Indexer] Implemented searching indexers
* [TestFlight] v2.0.0 (33)
* [Indexers] Reduced API results to 100, Animated loading message (#162)
* [Indexers] Reduced search results to 100
* [Indexers] Removed refresh indicator waiting for future, animated loading message
* [Indexers, Loading] Reduced API hits for indexers, animated loading screen
* [Messages] Updated all loading messages to new animated message
* [TestFlight] v2.0.0 (44)
* [Indexers, Home] Fixed user-agent in indexers, cleaned home routes (#167)
* [Abstracts] Cleaned abstracts
* [Scripts] generate_icons, generate_splash, update_packages
* [Newznab] Set user-agent to prevent agent blocks
* [NZBGet] Fix a small username/password issue
* [Home] Started implementation of Provider
* [Website] Removed website from main repository
* [Home] Cleaned home routes
* [Master] Update from master (#168)
* Delete CNAME
* [Website] Removed website from main repository
* [TestFlight] v2.0.0 (55)
* [Lidarr] Reimplementation of Lidarr (#173)
* [Provider] Created empty states for all major routes
* [Constants] Cleanup constants file
* [Lidarr, Snackbar] Cleaned 3 pages of Lidarr, started work on new snack bars
* [Lidarr, Restore, UI] Continued work on Lidarr, fixed restore config bug, adjusted global elevation to 3.0
* [Lidarr] Fixed empty catalogue page
* [Snackbar] Added types
* [Lidarr/Details] Ability to edit, remove, and refresh artist from details view
* [Lidarr/Details] Re-implemented overview page
* [Lidarr/Details] Implemented album details page
* [Lidarr/API] Updated data objects
* [Lidarr/Details] Completed reimplementing artist, album, and search functions
* [Lidarr/Add] Reimplemented adding new artists flow
* [Lidarr/Search] Removed FAB, replaced with buttons
* [Indexers] Fixed cases where categories would not load
* [Lidarr] Reimplemented API structure using Dio
* [Settings] Move all snackbars to new system
* [Settings] Slight wording tweak for snackbar
* [TestFlight] v2.0.0 (66)
* [Radarr] Reimplementation of Radarr (#175)
* [Radarr] Implemented dio in API, clean slate on route/widgets
* [Radarr/Catalogue] Reimplemented catalogue view, monitor action, popup actions
* [Radarr/History] Reimplemented history page
* [Radarr] Readded overview, edit movies, missing movies
* [Radarr] Fixed typos
* [Radarr, SABnzbd, NZBGet] Reimplemented upcoming, limited queue results to 100
* [Radarr] Reimplemented movie adding flow
* [Radarr] Fixed some grammar, text colours
* [Radarr] Completed reimplementation
* [TestFlight] v2.0.0 (77)
* [Sonarr] Reimplementation of Sonarr (#176)
* [Development] Separating modules
* [Clean] Moved every updated service to modules folder
* [Sonarr] Started reimplementation
* [Sonarr] Added catalogue page
* [Sonarr] Reimplemented overview, season list
* [Sonarr] Cleaned more of the API
* [Sonarr] Reimplemented all API functions
* [Sonarr] Reimplementing adding series flow
* [Sonarr] Implemented all main settings options
* [Sonarr] Reimplemented editing series
* [Sonarr] Reimplemented upcoming, other small things
* [Sonarr] Reimplemented episode/season page, ability to multiselect
* [Sonarr] Finished reimplementation
* [TestFlight] v2.0.0 (88)
* [Services] Reimplemented SABnzbd, NZBGet, features for -rr (#177)
* [NZBGet] Cleaned API, cleaned settings
* [Widgets] Replaced all centeredMessage widgets
* [NZBGet] Reimplemented service actions, statistics page, history page
* [UI] Removed more UI elements
* [NZBGet, UI] Lots of work on queue page, added quick clear button to input fields
* [NZBGet] Added app bar status
* [Navigation, NZBGet] Swipe between pages tabs on updated modules, more NZBGet features
* [Navigation] Switched to new navigation bar package
* [Navigation, NZBGet, SABnzbd] Updated navigation bar, finished NZBGet, started SABnzbd
* [SABnzbd, Navigation] Reimplemented SABnzbd queue, tweaked and completed navigation bar
* [HTTP Client] Stripped out all HTTP requests, replaced with Dio requests
* [Navigation Bars] Adjusted edge margins, safe area, etc.
* [Searchbars] Made catalogue and history search bars stickied
* [Navigation Bar] Adjusted colours
* [Calendar] Fixed padding on home calendar
* [Add, Search] Made all search bars stickied
* [UI] Completely removed all old UI elements
* [SABnzbd] Reimplemented long-press history actions
* [SABnzbd] On Complete Action & Statistics Page
* [SABnzbd] Finished SABnzbd
* [NZBGet/SABnzbd] Fixed queue load error
* [Radarr] Removed redudant try again buttons
* [TestFlight] v2.0.0 (99)
* [SnackBar] Added box shadow
* [TestFlight] v2.0.0 (111)
* [TestFlight] v2.0.0 (222/RC2) (#180)
* [Configuration] Added message about v1 configs, ability to clear config
* [SABnzbd, Dialogs] Safe-guarded history fetching, converted some dialogs
* [iOS/Flutter] Build for iOS 13.4, Updated Flutter for iOS 13.4
* [TestFlight] v2.0.0 (333)