From c0c4ca167e502cd88b1eb459df95ec52a4588f08 Mon Sep 17 00:00:00 2001 From: wukko Date: Tue, 26 Dec 2023 01:37:47 +0600 Subject: [PATCH] changelog: 7.8 also replaced all mentions of full repo url (for some reason i never used {repo}) --- src/front/updateBanners/catroomba.webp | Bin 0 -> 78826 bytes src/modules/changelog/changelog.json | 32 ++++++++++++++++--------- 2 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 src/front/updateBanners/catroomba.webp diff --git a/src/front/updateBanners/catroomba.webp b/src/front/updateBanners/catroomba.webp new file mode 100644 index 0000000000000000000000000000000000000000..a94eeeb0ec636a52c29cb0f4eb29b61d11aeb4c5 GIT binary patch literal 78826 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 anything that includes a period in the url should be possible to download (including instagram stories).\n*; #73 soundcloud: falling back to mp3 instead of refusing to download the song at all.\n*; #275 youtube: query parameters are parsed and handled correctly, all links should be supported, no matter where v query is located.\n*; tlds are parsed and validated correctly (e.g. \"pinterest.co.uk\" works now).\n\ninterface improvements:\n*; cleaner and more consistent home page layout.\n*; cleaned up support section in \"about\". also includes a link to the status page.\n\ninternal improvements:\n*; urls, subdomains, and tlds are properly validated.\n*; minor clean up.\n\nchanges since 7.7:\n*; made terms and ethics more descriptive.\n*; fix only affected twitter videos.\n*; fixed quick ⌘+V pasting on mac.\n*; now catching even more youtube-related errors.\n\nthis might not seem like a lot, but even smaller changes make a difference!\n\nenjoy this update and the rest of your day :D" + }, + "history": [{ "version": "7.7", "date": "December 2, 2023", "title": "bugfixes and better downloads!", "banner": { "file": "meowthpolishegg.webp", - "width": 851, - "height": 640 + "width": 640, + "height": 480 }, "content": "this update fixes various issues with supported services. no new features yet, but twitter fix is surely something good to have in the meantime!\n\nservice improvements:\n*; broken twitter videos are now automatically fixed by cobalt.\n*; all vimeo videos and audios should now be possible to download.\n*; vimeo: fixed short resolution displayed in \"basic\" and \"pretty\" filename styles.\n\ninterface improvements:\n*; streamables are now easier to save on ios.\n\ninternal improvements:\n*; port env variable is now not strictly necessary for cobalt to run.\n*; minor clean up.\n\nchanges since 7.6:\n*; fix for an issue related to youtube dubs.\n*; fixed a memory leak related to live renders.\n*; handling all errors related to twitter downloads.\n*; fixed support for reddit links in various languages.\n*; added rich filenames support for twitch clips.\n*; updated support and donation lists.\n\nstay tuned for future updates and have a great day :D" - }, - "history": [{ + }, { "version": "7.6", "date": "October 15, 2023", "title": "customizable file names, instagram stories, and first cobalt sponsor!", @@ -19,7 +29,7 @@ "width": 851, "height": 640 }, - "content": "as many have (very) often requested, cobalt now lets you pick between several file name format styles!\ngo to settings > other and change it to whichever you like! there's a preview of each style, so you know how exactly files are gonna look like.\n\nif you liked file names the way they were before, don't worry: classic style is still the default :)\n\non a different but not any less important note: cobalt is now sponsored by royalehosting.net!\noverall service performance and stability is gonna be better, but also more content will be possible to download thanks to geniuine server locations. and yes, still no ads or trackers.\n\nthis update also includes a bunch of other changes, check them out:\n\nservice improvements:\n*; added support for instagram stories thanks to #194.\n*; fixed reddit support thanks to #221.\n*; added support for rich file names for youtube, vimeo, soundcloud, rutube, and vk.\n*; numbers and emoji no longer disappear from file name and metadata.\n*; mute and audio dub file name tags don't appear together anymore.\n*; youtube: dub file name tag doesn't appear anymore if audio track is default.\n\ninterface improvements:\n*; added a list of sponsors to about tab. if you host an instance, it's disabled by default, but can be enabled with showSponsors env variable.\n*; about button now opens about tab when no new changelog is available.\n*; fixed download button thickness on ios.\n\nyou now can reach out to cobalt via email for support! it's located in the about tab along with other socials, such as discord.\n\ni hope you enjoy this long-awaited update and have a blissful day :D" + "content": "as many have (very) often requested, cobalt now lets you pick between several file name format styles!\ngo to settings > other and change it to whichever you like! there's a preview of each style, so you know how exactly files are gonna look like.\n\nif you liked file names the way they were before, don't worry: classic style is still the default :)\n\non a different but not any less important note: cobalt is now sponsored by royalehosting.net!\noverall service performance and stability is gonna be better, but also more content will be possible to download thanks to geniuine server locations. and yes, still no ads or trackers.\n\nthis update also includes a bunch of other changes, check them out:\n\nservice improvements:\n*; added support for instagram stories thanks to #194.\n*; fixed reddit support thanks to #221.\n*; added support for rich file names for youtube, vimeo, soundcloud, rutube, and vk.\n*; numbers and emoji no longer disappear from file name and metadata.\n*; mute and audio dub file name tags don't appear together anymore.\n*; youtube: dub file name tag doesn't appear anymore if audio track is default.\n\ninterface improvements:\n*; added a list of sponsors to about tab. if you host an instance, it's disabled by default, but can be enabled with showSponsors env variable.\n*; about button now opens about tab when no new changelog is available.\n*; fixed download button thickness on ios.\n\nyou now can reach out to cobalt via email for support! it's located in the about tab along with other socials, such as discord.\n\ni hope you enjoy this long-awaited update and have a blissful day :D" }, { "version": "7.5", "date": "September 16, 2023", @@ -49,7 +59,7 @@ "width": 500, "height": 280 }, - "content": "this update gives cobalt a sharp look in chromium browsers and makes it even more useful than before. check out the full changelog below!\n\nservice improvements:\n*; increased video length limit from 3 hours to 5 hours. feel free to download lectures you need :)\n*; you can now disable file metadata in settings.\n*; fixed a bug which previously caused some downloads to end up being 0 bytes.\n\nui improvements:\n*; fixed clickable area for urgent notice (text on top).\n*; fixed blurry header in chrome.\n*; fixed blurry tab bar in chrome.\n*; fixed blurry switches in chrome.\n*; fixed weirdly rounded corners in popups.\n*; fixed 1px gap on edges of various elements in popup in chrome.\n*; fixed overscrolling in other settings tab on ios.\n*; fixed unexpected button highlight effect on phones.\n*; removed outdated fixes for tiny screens.\n\nother improvements:\n*; cobalt web & api start faster than before, additional preparation functions aren't unexpectedly run anymore.\n*; cobalt is now available as a docker package. check it out on github.\n\nthank you for being here. i hope you have a great day :D" + "content": "this update gives cobalt a sharp look in chromium browsers and makes it even more useful than before. check out the full changelog below!\n\nservice improvements:\n*; increased video length limit from 3 hours to 5 hours. feel free to download lectures you need :)\n*; you can now disable file metadata in settings.\n*; fixed a bug which previously caused some downloads to end up being 0 bytes.\n\nui improvements:\n*; fixed clickable area for urgent notice (text on top).\n*; fixed blurry header in chrome.\n*; fixed blurry tab bar in chrome.\n*; fixed blurry switches in chrome.\n*; fixed weirdly rounded corners in popups.\n*; fixed 1px gap on edges of various elements in popup in chrome.\n*; fixed overscrolling in other settings tab on ios.\n*; fixed unexpected button highlight effect on phones.\n*; removed outdated fixes for tiny screens.\n\nother improvements:\n*; cobalt web & api start faster than before, additional preparation functions aren't unexpectedly run anymore.\n*; cobalt is now available as a docker package. check it out on github.\n\nthank you for being here. i hope you have a great day :D" }, { "version": "7.1", "date": "August 20, 2023", @@ -59,7 +69,7 @@ "width": 640, "height": 358 }, - "content": "service improvements:\n*; extended instagram support: high quality photos, videos, reels. everything should work without any issues, enjoy! :)\n*; added support for streamable.com (thanks to #179)\n*; added video metadata to youtube videos.\n*; fixed vk video downloads.\n*; vxtwitter links are now supported.\n*; fixed support for youtube audio dubs.\n\nui improvements:\n*; fixed picker popup: it's now scrollable in all cases and clickable areas don't overlap each other.\n\nbackend improvements:\n*; cobalt will now let you know if something goes wrong during video download instead of nuking the stream.\n*; added support for cookies (thanks to #177)\n*; replaced got with undici (thanks to #182). downloads should be slightly faster and clean of garbage in headers.\n\ninternal improvements:\n*; moved host overrides into its own module.\n*; minor clean ups.\n\neven more cool stuff is coming in future updates! thank you for using cobalt :D" + "content": "service improvements:\n*; extended instagram support: high quality photos, videos, reels. everything should work without any issues, enjoy! :)\n*; added support for streamable.com (thanks to #179)\n*; added video metadata to youtube videos.\n*; fixed vk video downloads.\n*; vxtwitter links are now supported.\n*; fixed support for youtube audio dubs.\n\nui improvements:\n*; fixed picker popup: it's now scrollable in all cases and clickable areas don't overlap each other.\n\nbackend improvements:\n*; cobalt will now let you know if something goes wrong during video download instead of nuking the stream.\n*; added support for cookies (thanks to #177)\n*; replaced got with undici (thanks to #182). downloads should be slightly faster and clean of garbage in headers.\n\ninternal improvements:\n*; moved host overrides into its own module.\n*; minor clean ups.\n\neven more cool stuff is coming in future updates! thank you for using cobalt :D" }, { "version": "7.0", "date": "August 15, 2023", @@ -89,7 +99,7 @@ "width": 600, "height": 314 }, - "content": "hey! long time no see, hopefully over 40 changes will make up for it :)\n\ncobalt now has an official community discord server. you can go there for news, support, or just to chat. go check it out!\n\ntl;dr\n*; new infra, new hosting structure, new main instance api url. developers, get it here.\n*; added support for pinterest, vine archive, tumblr audio, youtube vr videos.\n*; better web app performance and look.\n*; better stability thanks to load balancing.\n*; (hopefully) no more random video/audio download drops.\n\nservice improvements:\n*; added support for pinterest videos and stories (pr by @Snazzah).\n*; added support for tumblr audio. sorry, tumblr.\n*; added support for youtube vr videos. please note that they're in youtube's proprietary ratio.\n*; added support for vine archive.\n*; added support for ancient vk videos in 240p.\n*; fixed an issue related to muted video downloads from tumblr.\n*; moved to twitter v2 api.\n*; soundcloud share links are now processed without errors.\n\nui improvements:\n*; lazy image loading. should significantly speed up the page load.\n*; fixed checkbox width on mobile devices.\n*; addition of a temporary urgent notice.\n*; added hover border to all buttons.\n*; less annoying donation button highlight.\n*; more consistent color scheme.\n*; added link to a discord server into about popup.\n*; remember celebratory emoji changes? they've been fixed, and are now dynamically loaded!\n*; changelog history now lets you try to load it again if first attempt failed for whatever reason.\n*; padding (everywhere) has been slightly reduced to fit in more content and be consistent across ui.\n*; added more info to the \"how to save\" popup for ios devices.\n*; crypto wallet press-to-copy buttons now look like buttons.\n*; improved ui layout for smallest screens (iphone 5, 5s, se, etc).\n*; removed partial translations for sake of clarity and consistency.\n\ninternal improvements:\n*; separated web and api servers. they're now completely independent and therefore more stress-resistant.\n*; added a dedicated script for building the web app if you don't want to reload the frontend server.\n*; web app building improvements.\n*; async localization preloading.\n*; consistent server start time reporting.\n*; dynamic stream and ip hashing salt generation.\n\ninfrastructure improvements:\n*; load balancing: your api requests are now sent to the least busy server. yes, there are now several of them with more to come in the future.\n*; when possible, server in closest region is used instead of a far-away one. this should help with download speeds.\n*; currently there are multiple servers in europe. i will let you know when (and if) i manage to get an american one.\n\nupdates for developers and instance hosters:\n*; server info api endpoint: you can now check up on the api server of choice. it reports all the basic info you may need. check the api docs for more info.\n*; api names: each and every api instance should have a distinctive name. this will be useful in the future :)\n*; added docker compose sample config.\n*; updated and more granular setup script.\n*; better api scalability and faster server start up thanks to web and api separation.\n*; added ability to specify ffmpeg threads. simply add ffmpegThreads to your environment variables!\n\ni'm still in awe from how popular cobalt has become. there are now over 200k of unique users monthly, and that number only keeps growing. i even had to come up with something to accommodate for larger traffic, it's absolutely insane.\n\nlove you all, have a great day :D" + "content": "hey! long time no see, hopefully over 40 changes will make up for it :)\n\ncobalt now has an official community discord server. you can go there for news, support, or just to chat. go check it out!\n\ntl;dr\n*; new infra, new hosting structure, new main instance api url. developers, get it here.\n*; added support for pinterest, vine archive, tumblr audio, youtube vr videos.\n*; better web app performance and look.\n*; better stability thanks to load balancing.\n*; (hopefully) no more random video/audio download drops.\n\nservice improvements:\n*; added support for pinterest videos and stories (pr by @Snazzah).\n*; added support for tumblr audio. sorry, tumblr.\n*; added support for youtube vr videos. please note that they're in youtube's proprietary ratio.\n*; added support for vine archive.\n*; added support for ancient vk videos in 240p.\n*; fixed an issue related to muted video downloads from tumblr.\n*; moved to twitter v2 api.\n*; soundcloud share links are now processed without errors.\n\nui improvements:\n*; lazy image loading. should significantly speed up the page load.\n*; fixed checkbox width on mobile devices.\n*; addition of a temporary urgent notice.\n*; added hover border to all buttons.\n*; less annoying donation button highlight.\n*; more consistent color scheme.\n*; added link to a discord server into about popup.\n*; remember celebratory emoji changes? they've been fixed, and are now dynamically loaded!\n*; changelog history now lets you try to load it again if first attempt failed for whatever reason.\n*; padding (everywhere) has been slightly reduced to fit in more content and be consistent across ui.\n*; added more info to the \"how to save\" popup for ios devices.\n*; crypto wallet press-to-copy buttons now look like buttons.\n*; improved ui layout for smallest screens (iphone 5, 5s, se, etc).\n*; removed partial translations for sake of clarity and consistency.\n\ninternal improvements:\n*; separated web and api servers. they're now completely independent and therefore more stress-resistant.\n*; added a dedicated script for building the web app if you don't want to reload the frontend server.\n*; web app building improvements.\n*; async localization preloading.\n*; consistent server start time reporting.\n*; dynamic stream and ip hashing salt generation.\n\ninfrastructure improvements:\n*; load balancing: your api requests are now sent to the least busy server. yes, there are now several of them with more to come in the future.\n*; when possible, server in closest region is used instead of a far-away one. this should help with download speeds.\n*; currently there are multiple servers in europe. i will let you know when (and if) i manage to get an american one.\n\nupdates for developers and instance hosters:\n*; server info api endpoint: you can now check up on the api server of choice. it reports all the basic info you may need. check the api docs for more info.\n*; api names: each and every api instance should have a distinctive name. this will be useful in the future :)\n*; added docker compose sample config.\n*; updated and more granular setup script.\n*; better api scalability and faster server start up thanks to web and api separation.\n*; added ability to specify ffmpeg threads. simply add ffmpegThreads to your environment variables!\n\ni'm still in awe from how popular cobalt has become. there are now over 200k of unique users monthly, and that number only keeps growing. i even had to come up with something to accommodate for larger traffic, it's absolutely insane.\n\nlove you all, have a great day :D" }, { "version": "5.4", "title": "instagram support, docker, and more!", @@ -170,7 +180,7 @@ "width": 500, "height": 280 }, - "content": "your favorite social media downloader just got even better! this update includes a ton of improvements and fixes.\n\nin fact, there are so many changes, i had to split them in sections.\n\nservice-related improvements:\n*; vimeo module has been revamped, all sorts of videos should now be supported.\n*; vimeo audio downloads! you now can download audios from more recent videos.\n*; cobalt now supports all sorts of tumblr links. (even those scary ones from the mobile app)\n*; vk clips support has been fixed. they rolled back the separation of videos and clips, so i had to do the same.\n*; youtube videos with community warnings should now be possible to download.\nuser interface improvements:\n*; list of supported services is now MUCH easier to read.\n*; banners in changelog history should no longer overlap each other.\n*; bullet points! they have a bit of extra padding, so it makes them stand out of the rest of text.\ninternal improvements:\n*; cobalt will now match the link to regex when using ?u= query for autopasting it into input area.\n*; better rate limiting: limiting now is done per minute, not per 20 minutes. this ensures less waiting and less attack area for request spammers.\n*; moved to my own fork of ytdl-core, cause main project seems to have been abandoned. go check it out on github or npm!\n*; ALL user inputs are now properly sanitized on the server. that includes variables for POST api method, too.\n*; \"got\" package has been (mostly) replaced by native fetch api. this should greatly reduce ram usage.\n*; all unnecessary duplications of module imports have been gotten rid of. no more error passing strings from inside of service modules. you don't make mistakes only if you don't do anything, right?\n*; other code optimizations. there's less clutter overall.\nhuge update, right? seems like everything's fixed now?\n\nnope, one issue still persists: sometimes youtube server drops packets for an audio file while cobalt's rendering the video for you. this results in abrupt cuts of audio. if you want to help solving this issue, please feel free to do it on github!\n\nthank you for reading this, and thank you for sticking with cobalt and me." + "content": "your favorite social media downloader just got even better! this update includes a ton of improvements and fixes.\n\nin fact, there are so many changes, i had to split them in sections.\n\nservice-related improvements:\n*; vimeo module has been revamped, all sorts of videos should now be supported.\n*; vimeo audio downloads! you now can download audios from more recent videos.\n*; cobalt now supports all sorts of tumblr links. (even those scary ones from the mobile app)\n*; vk clips support has been fixed. they rolled back the separation of videos and clips, so i had to do the same.\n*; youtube videos with community warnings should now be possible to download.\nuser interface improvements:\n*; list of supported services is now MUCH easier to read.\n*; banners in changelog history should no longer overlap each other.\n*; bullet points! they have a bit of extra padding, so it makes them stand out of the rest of text.\ninternal improvements:\n*; cobalt will now match the link to regex when using ?u= query for autopasting it into input area.\n*; better rate limiting: limiting now is done per minute, not per 20 minutes. this ensures less waiting and less attack area for request spammers.\n*; moved to my own fork of ytdl-core, cause main project seems to have been abandoned. go check it out on github or npm!\n*; ALL user inputs are now properly sanitized on the server. that includes variables for POST api method, too.\n*; \"got\" package has been (mostly) replaced by native fetch api. this should greatly reduce ram usage.\n*; all unnecessary duplications of module imports have been gotten rid of. no more error passing strings from inside of service modules. you don't make mistakes only if you don't do anything, right?\n*; other code optimizations. there's less clutter overall.\nhuge update, right? seems like everything's fixed now?\n\nnope, one issue still persists: sometimes youtube server drops packets for an audio file while cobalt's rendering the video for you. this results in abrupt cuts of audio. if you want to help solving this issue, please feel free to do it on github!\n\nthank you for reading this, and thank you for sticking with cobalt and me." }, { "version": "4.4", "title": "over 1 million monthly requests. thank you.", @@ -192,7 +202,7 @@ "width": 640, "height": 360 }, - "content": "this update features a TON of improvements.\n\ndevelopers, you now can rely on cobalt for getting content from social media. the api has been revamped and documentation is now available. you can read more about API changes down below. go crazy, and have fun :D\n\nif you're not a developer, here's a list of changes that you probably care about:\n- rate limit is now approximately 8 times bigger. no more waiting, even if you want to download entirety of your tiktok \"for you\" page.\n- some updates will now have expressive banners, just like this one.\n- fixed what was causing an error when a youtube video had no description.\n- mp4 format button text should now be displayed properly, no matter if you touched the switcher or not.\n\nnext, the star of this update — improved api!\n- main endpoint now uses POST method instead of GET.\n- internal variables for preferences have been updated to be consistent and easier to understand.\n- ip address is now hashed right upon request, not somewhere deep inside the code.\n- global stream salt variable is no longer unnecessarily passed over a billion functions.\n- url and picker keys are now separate in the json response.\n- cobalt web app now correctly processes responses with \"success\" status.\n\nif you currently have a siri shortcut or some other script that uses the GET method, make sure to update it soon. this method is deprecated, limited, and will be removed entirely in coming updates.\n\nif you ever make something using cobalt's api, make sure to mention @justusecobalt on twitter, i would absolutely love to see what you made." + "content": "this update features a TON of improvements.\n\ndevelopers, you now can rely on cobalt for getting content from social media. the api has been revamped and documentation is now available. you can read more about API changes down below. go crazy, and have fun :D\n\nif you're not a developer, here's a list of changes that you probably care about:\n- rate limit is now approximately 8 times bigger. no more waiting, even if you want to download entirety of your tiktok \"for you\" page.\n- some updates will now have expressive banners, just like this one.\n- fixed what was causing an error when a youtube video had no description.\n- mp4 format button text should now be displayed properly, no matter if you touched the switcher or not.\n\nnext, the star of this update — improved api!\n- main endpoint now uses POST method instead of GET.\n- internal variables for preferences have been updated to be consistent and easier to understand.\n- ip address is now hashed right upon request, not somewhere deep inside the code.\n- global stream salt variable is no longer unnecessarily passed over a billion functions.\n- url and picker keys are now separate in the json response.\n- cobalt web app now correctly processes responses with \"success\" status.\n\nif you currently have a siri shortcut or some other script that uses the GET method, make sure to update it soon. this method is deprecated, limited, and will be removed entirely in coming updates.\n\nif you ever make something using cobalt's api, make sure to mention @justusecobalt on twitter, i would absolutely love to see what you made." }, { "version": "4.2", "title": "optimized quality picking and 8k video support", @@ -204,7 +214,7 @@ }, { "version": "4.0", "title": "better and faster than ever", - "content": "this update has a ton of improvements and new features.\n\nchanges you probably care about:\n- cobalt now has support for recorded twitter spaces! download the previous conversation no matter how long it was.\n- download speeds from youtube are at least 10 times better now. you're welcome.\n- both video and audio length limits have been extended to 2 hours.\n- audio downloads from youtube, youtube music, twitter spaces, and soundcloud now have metadata! most often it's just title and artist, but when cobalt is able to get more info, it adds that metadata too.\n- tiktok downloads have been fixed, yet again, and if they ever break in the future, cobalt will fall back to downloading a less annoyingly watermarked video.\n- soundcloud downloads have been fixed, too.\n\nless notable changes:\n- currently experimenting with using mp3 as default audio format. if you set something other than mp3 before, it'll be set to mp3. you can always change it back in settings. let me know what you think about this.\n- \"download audio\" button from image picker no longer stays on the screen after popup was closed.\n- clipboard button now shows up depending on your browser's support for it.\n- you can no longer manually hide the clipboard button, 'cause it's unnecessary.\n- small internal improvements such as separation of changelog version and title.\n- fair bit of internal clean up.\n\nif you want to help me implement covers for downloaded audios, you can do it on github." + "content": "this update has a ton of improvements and new features.\n\nchanges you probably care about:\n- cobalt now has support for recorded twitter spaces! download the previous conversation no matter how long it was.\n- download speeds from youtube are at least 10 times better now. you're welcome.\n- both video and audio length limits have been extended to 2 hours.\n- audio downloads from youtube, youtube music, twitter spaces, and soundcloud now have metadata! most often it's just title and artist, but when cobalt is able to get more info, it adds that metadata too.\n- tiktok downloads have been fixed, yet again, and if they ever break in the future, cobalt will fall back to downloading a less annoyingly watermarked video.\n- soundcloud downloads have been fixed, too.\n\nless notable changes:\n- currently experimenting with using mp3 as default audio format. if you set something other than mp3 before, it'll be set to mp3. you can always change it back in settings. let me know what you think about this.\n- \"download audio\" button from image picker no longer stays on the screen after popup was closed.\n- clipboard button now shows up depending on your browser's support for it.\n- you can no longer manually hide the clipboard button, 'cause it's unnecessary.\n- small internal improvements such as separation of changelog version and title.\n- fair bit of internal clean up.\n\nif you want to help me implement covers for downloaded audios, you can do it on github." }, { "version": "3.7", "title": "support for multi media tweets is here!",