github meeb/tubesync v0.14.1

latest releases: v0.15.12, v0.15.11, v0.15.10...
8 months ago

What's Changed

  • Fix python version in manage.py by @michalmiddleton in #537
  • Use YOUTUBE_DL_TEMPDIR setting by @tcely in #556
  • Reworked Dockerfile by @tcely in #558
  • Remove value from TARGETARCH by @tcely in #559
  • Spelled firewall correctly by @tcely in #560
  • Configure minimum permitted video height with VIDEO_HEIGHT_CUTOFF env var by @danielmawhirter in #557
  • Refinements for Dockerfile by @tcely in #562
  • Adjust to correct 60 fps case by @tcely in #569
  • Accept '-' in sub_langs by @tcely in #573
  • Simplify regex for sub_langs by @tcely in #574
  • Handle STR0NNN in a generic way by @tcely in #571
  • Sort video formats by height and bitrate by @tcely in #566
  • Disable checking against days to keep by @tcely in #576
  • Add Support for TUBESYNC_DIRECTORY_PREFIX Environment Variable by @jameswlane in #572
  • Adjust days_to_keep logic by @tcely in #577
  • Remove audio / video directory modification by @tcely in #578
  • Simplify directory_path by @tcely in #579
  • Remove unused timedelta import by @tcely in #585
  • Use tempfile for write_text_file by @tcely in #587
  • Remove forcejson option by @tcely in #589
  • Switch to color option by @tcely in #590
  • Use Path in file_is_editable by @tcely in #592
  • Bump yt_dlp & ffmpeg by @tcely in #607
  • Do not log download progress lines by default by @tcely in #600
  • Remove duplicated ' to:' by @tcely in #602
  • Cleanup removed media that has not been downloaded too by @tcely in #605
  • Made messages more human friendly by @tcely in #606
  • Use title from DB by @tcely in #604
  • Only log new media by @tcely in #601
  • Update ci.yaml by @tcely in #597
  • Handle download_media_metadata task failures by @RichardHyde in #593
  • Ignore case when checking the filter by @RichardHyde in #594
  • Handle raise_no_formats exception by @tcely in #591
  • Fix paths for when filename includes sub-directories by @tcely in #599
  • Reduce image size and keep pycache in a volume by @tcely in #596
  • Do not try to skip already skipped media by @tcely in #595
  • Match another variation of the message by @tcely in #610
  • Don't chmod a+r when it already has those permissions by @tcely in #611
  • exec nginx so bash isn't still running by @tcely in #613
  • Make better use of CPU cache with nginx by @tcely in #614
  • Test and log ffmpeg version output earlier by @tcely in #615
  • Simplify directory_path for Media by @tcely in #618
  • Feature by @Makhuta in #617
  • Multi-stage docker build for ffmpeg & s6-overlay by @tcely in #619
  • Filter metadata to avoid storing excess text in the database table by @tcely in #612
  • Dockerfile health check without the shell by @tcely in #620
  • Avoid env for healthcheck by @tcely in #623
  • Add environment variables for container by @tcely in #622
  • Don't write 'None' in default rating by @tcely in #626
  • Don't write zero into MPAA in .nfo by @tcely in #627
  • Bump ffmpeg & yt-dlp by @tcely in #629
  • Cache for pipenv & apt by @tcely in #630
  • Update README.md by @FaySmash in #625
  • Treat static_url the same as other URLs by @tcely in #635
  • Create upgrade_yt-dlp.sh by @tcely in #628
  • Pipefile -> Pipfile by @tcely in #636
  • Update architectures FAQ by @tcely in #637
  • Add youtube.com as a valid domain by @tcely in #638
  • Automated channel_id extraction by @tcely in #640
  • Better display for audio formats by @tcely in #643
  • Report db.sqlite3 size on dashboard by @tcely in #580
  • Display media we can't download as skipped by @tcely in #648
  • Remove unnecessary spaces by @tcely in #651
  • DRY {json,nfo,thumb}name functions by @tcely in #652
  • Default to valid JSON by @tcely in #653
  • Display language_code for audio formats by @tcely in #654
  • Set a default nice level by @tcely in #656
  • Download thumbnail and media at the same priority by @tcely in #650
  • Rename files after a source format change by @tcely in #586
  • Use TextChoices for SponsorBlock_Category by @tcely in #658
  • Fix CommaSepChoiceField by @tcely in #657
  • Use yt_dlp.get_postprocessors() by @tcely in #655
  • Use a temporary directory per task by @tcely in #659
  • Add ytopts by @tcely in #664
  • Use strings for ytopts paths by @tcely in #666
  • Fix log.debug() by @tcely in #667
  • Fix filesizeformat prefixes by @tcely in #644
  • Remove files in post_delete when Media is deleted by @tcely in #598
  • Reorganize hooks by @tcely in #663
  • Update local_settings.py.container by @tcely in #671
  • Configure settings for this test by @tcely in #673
  • Simply add the string we want by @tcely in #674
  • Adjustments for downloading delays by @tcely in #672
  • export TUBESYNC_RESET_DOWNLOAD_DIR by @tcely in #679
  • Rework sponsorblock_categories and CommaSepChoiceField by @tcely in #680
  • Fix the misspelled expected_categories by @tcely in #681
  • Also check for media.media_file.name by @tcely in #684
  • Do not store duplicate categories by @tcely in #687
  • Wait for video premiere by @tcely in #685
  • Turn off the text-transform with a class by @tcely in #686
  • Remove code that didn't work by @tcely in #688
  • Bump ffmpeg by @tcely in #689
  • Do not delete tasks that are currently running by @tcely in #665
  • Rework download progress hook by @tcely in #691
  • Remove existing (unlocked) tasks is safe to use by @tcely in #694
  • Add more keys to filter by @tcely in #696
  • Add & use functions from status classes by @tcely in #692
  • Use libopus and speed up VP9 encoding by @tcely in #697
  • Add status text to the download task by @tcely in #706
  • Do not schedule additional download_media tasks by @tcely in #707
  • Try to include timestamp by @tcely in #704
  • Rename the internal function by @tcely in #709
  • Control writethumbnail with embed_thumbnail by @tcely in #712
  • Stop when the paths match by @tcely in #699
  • Remove subtitles also by @tcely in #700
  • Allow exec_cmd dictionary to be configured in settings by @tcely in #701
  • Remove unused filter_media by @tcely in #702
  • Deduplicated fields by @tcely in #710
  • Skip downloaded media that was deleted by @tcely in #703
  • We can filter before metadata by @tcely in #714
  • Use a raw string by @tcely in #715
  • Show publication date and the not truncated title by @tcely in #717
  • Find the correct media instance from hooks by @tcely in #720
  • Remove logging of the SQL by @tcely in #724
  • Handle None in video["duration"] by @tcely in #726
  • Move things into choices.py by @tcely in #711
  • Do not turn Media.skip off for already skipped media by @tcely in #727
  • Let Tasks expire correctly by @tcely in #690
  • Schedule a rename task per media item instead by @tcely in #730
  • Review of signals.py by @tcely in #731
  • Do not show controls when skipped by @tcely in #732
  • Unskip when redownloading by @tcely in #733
  • Ensure the directory exists for testing by @tcely in #735
  • Add metadata_published function by @tcely in #737
  • Move import for tz by @tcely in #739
  • Load fulltitle from the metadata by @tcely in #736
  • Prefer fulltitle but do not require it by @tcely in #740
  • Add XDG_CACHE_HOME environment variable by @tcely in #743
  • Bump ffmpeg build by @tcely in #744
  • Defer fields for rename_media task by @tcely in #745
  • Select a combined format if nothing else is available by @tcely in #746
  • Add and use refresh_formats by @tcely in #747
  • Do not let one private video hold up the rest by @tcely in #749
  • Use multiple threads for renaming by @tcely in #750
  • Remove duplicate function by @tcely in #751
  • Process renaming after downloads by @tcely in #752
  • Check for the database vendor first by @tcely in #755
  • Log not existing source pre save by @tcely in #758
  • Move rename_media task creation to Media post save by @tcely in #759
  • Update rename_all_media_for_source by @tcely in #760
  • Be more consistent with fmt by @tcely in #761
  • Add scheduling delays by @tcely in #757
  • Optimize rename_files by @tcely in #762
  • Fix an internal server error by @tcely in #763
  • Be more efficient with Media.loaded_metadata by @tcely in #764
  • Jellyfin media server support by @tcely in #756
  • Pin django-background-tasks by @tcely in #754
  • Upgrade to 1.2.8 for Django 5 support by @tcely in #765
  • Remove Redis by @tcely in #766
  • Prevent unintended changes to the cached dictionary by @tcely in #767
  • Access posix_epoch correctly by @tcely in #769
  • SQLite connection options by @tcely in #581
  • Check for the cached dictionary first by @tcely in #771
  • Remove unnecessary chmod executions by @tcely in #775
  • Store Media.downloaded_filesize for imported files by @tcely in #776
  • Prevent unintended unhealthy restarts by @tcely in #784
  • CSRF Fixes for Django 5.1 by @tcely in #786
  • Use yt-dlp daterange option by @tcely in #787
  • Clean up __pycache__ directories by @tcely in #792
  • Add pagination for scheduled tasks by @tcely in #790
  • Better display of large numbers by @tcely in #793
  • Do not lose track of downloaded files by @tcely in #794
  • Be more user-friendly when sorting tasks by @tcely in #795
  • Restrict PYTHONPYCACHEPREFIX to pipenv by @tcely in #796
  • Rename to a temporary path then final destination by @tcely in #799
  • Fail tasks when metadata can't be fetched by @tcely in #801
  • Display task errors from the current page by @tcely in #802
  • Verify nginx configuration for the image by @tcely in #804
  • Long web requests by @tcely in #803
  • Bump ffmpeg by @tcely in #806
  • No more errors for None values set in metadata by @tcely in #807
  • Name the buildx step by @tcely in #809
  • Set Media.download_date for imported files by @tcely in #800
  • Removed extra characters by @tcely in #810
  • Fix 2160 resolution label by @tcely in #812
  • Filter latest downloads with download_date IS NOT NULL by @tcely in #814
  • Remove useless duplicated assignment by @tcely in #815
  • Disable proxies for health checking by @tcely in #816
  • Do not try to refresh formats when no metadata exists by @tcely in #819
  • Update 0028_alter_source_source_resolution.py by @tcely in #822
  • Increase database efficiency by @tcely in #824
  • Improve checking media efficiency by @tcely in #826
  • Speed up arm64 builds by @tcely in #808
  • Remove explicit libsass by @tcely in #828
  • Remove explicit django-compressor by @tcely in #829
  • Use socks support from the operating system by @tcely in #830
  • Reorder checking all media to after indexing by @tcely in #832
  • Check the copied nginx configuration by @tcely in #835
  • docs: update README.md by @eltociear in #836
  • Use '/downloads' instead of '/' for odd cases by @tcely in #838
  • Increase episode number calculation speed by @tcely in #839
  • Better environment variable support for settings by @tcely in #821
  • Patch yt-dlp to use check_thumbnails by @tcely in #818
  • Add timing and profiling decorators by @tcely in #827
  • Improve deleting sources by @tcely in #842
  • Clean up more tasks for deleted sources by @tcely in #844
  • Add geo_verification_proxy to default yt-dlp settings by @tcely in #845
  • More Docker cache hits by @tcely in #846
  • Use the curl-cffi extra to support impersonate option by @tcely in #847
  • Base request delay on the number of tasks running by @tcely in #851
  • Prevent filename from beginning with / by @tcely in #853
  • Create fatal_http_errors.py patch by @tcely in #852
  • Upgrade psycopg by @tcely in #854
  • Reduce the amount of time the database is locked by @tcely in #855
  • Reschedule download tasks when metadata is not ready by @tcely in #856
  • Delete pip.conf by @tcely in #831
  • Use the specific NoMetadataException by @tcely in #857
  • Better indexing of inactive sources by @tcely in #860
  • Add a default thumbnail URL before metadata is available by @tcely in #864
  • Show progress on tasks page by @tcely in #833
  • fixup: indentation by @tcely in #866
  • Thumbnail download can proceed without metadata by @tcely in #865
  • The workflow should work for forks also by @tcely in #859
  • Be consistent with the tuple syntax by @tcely in #867
  • Use Media.metadata_published in reduce_data by @tcely in #868
  • More stable ffmpeg releases by @tcely in #870
  • Refresh formats only after metadata was saved by @tcely in #850
  • Tweak tasks page by @tcely in #823
  • Apply the suggested "Sync Now" changes by @tcely in #841
  • Tweak name to be accurate again by @tcely in #872
  • Clean verbose_name when a repeating task did not complete by @tcely in #874
  • Add and use the update_task_status function by @tcely in #875
  • Add the video number to the debug log message by @tcely in #876
  • Don't skip missing fragments during format testing by @tcely in #877
  • Use locked_at as it is closer to started by @tcely in #878
  • Resume partial downloads unless the .clean file is found by @tcely in #879
  • Change the task expiration to 1 day by @tcely in #880
  • Configure logging for background_task by @tcely in #881
  • fixup: missed self. by @tcely in #883
  • fixup: use the class instead of an instance by @tcely in #884
  • Remove the hard-coded class name by @tcely in #885
  • Force new yt-dlp version by @tcely in #886
  • Turn off the info step again for pull requests by @tcely in #890
  • Move yt-dlp API work to an action by @tcely in #889
  • Turn off debugging for the lowercase-variables step by @tcely in #891
  • Add the string-case action by @tcely in #892
  • Tweak the step name by @tcely in #894
  • Clean up the .json file and log the results by @tcely in #896
  • Start a library of useful functions for actions and workflows by @tcely in #895
  • Handle strings better by @tcely in #898
  • Clean up debug logs from process_tasks by @tcely in #899
  • Adjust to the much larger MAX_RUN_TIME by @tcely in #901
  • Don't skip unavailable fragments during download by @tcely in #903
  • Create down-signal for tubesync-worker by @tcely in #906
  • Switch to an allowed signal by @tcely in #907
  • Add a post-processor to disallow partial playlist results by @tcely in #905
  • Add extractor so that id cannot collide by @tcely in #910
  • Use list.append instead of list.extend by @tcely in #914
  • Run the check source directory task before saving existing sources by @tcely in #916
  • Add dive analysis by @tcely in #915
  • Log more details about what pipenv installs by @tcely in #918
  • Avoid Django 5.2 until it is tested by @tcely in #919
  • Clean up old debconf cache files by @tcely in #922
  • Close the ThreadPool before exiting by @tcely in #923
  • Set priority in tasks.py by @tcely in #920
  • Allow AV1 as a choice by @tcely in #753
  • Rework task queuing by @tcely in #925
  • Create 0030_alter_source_source_vcodec.py by @tcely in #929
  • Use a task per instance for Media.refresh_formats by @tcely in #930
  • Restrict delays to a range between 10 seconds and 20 minutes by @tcely in #911
  • Fix video format sorting in case of missing keys by @danielmawhirter in #931
  • Set verbose_name for refesh_formats task by @tcely in #932
  • Switch to getattr by @tcely in #934
  • Add renaming feature warning to the dashboard by @tcely in #936
  • Extract audio from webm downloads by @tcely in #937
  • Remove unused media_post_delete by @tcely in #939
  • Check source directory when tasks were reset by @tcely in #940
  • Increase minor version by @tcely in #942

New Contributors

Full Changelog: v0.13.7...v0.14.1

Don't miss a new tubesync release

NewReleases is sending notifications on new releases.