From 2df367354070215a32d6fb6b3600fc3153143470 Mon Sep 17 00:00:00 2001 From: wukko Date: Thu, 29 May 2025 20:09:57 +0600 Subject: [PATCH] web/changelogs: add 11.0 changelog --- web/changelogs/11.0.md | 149 ++++++++++++++++++++ web/static/update-banners/meowth_beach.webp | Bin 0 -> 45500 bytes 2 files changed, 149 insertions(+) create mode 100644 web/changelogs/11.0.md create mode 100644 web/static/update-banners/meowth_beach.webp diff --git a/web/changelogs/11.0.md b/web/changelogs/11.0.md new file mode 100644 index 00000000..9add0b3a --- /dev/null +++ b/web/changelogs/11.0.md @@ -0,0 +1,149 @@ +--- +title: "local media processing, better performance, and a lot of polish" +date: "30 May, 2025" +banner: + file: "meowth_beach.webp" + alt: "meowth plush with obnoxious sunglasses on foreground, very close to the camera. sunset and beach in background." +--- + +long time no see! it's almost summer, the perfect time to create or discover something new. we've been busy working in the background to make cobalt better than ever, but now we're finally ready to share the new major version. + +as a part of the major update, we revised our [terms of use](/about/terms) & [privacy policy](/about/privacy) to reflect new privacy-enhancing features & to improve readability; you can compare what exactly changed in [this commit](https://github.com/imputnet/cobalt/commit/be84f66) on github. **nothing changed about our principles or dedication to privacy**, but we still thought it'd be good to let you know. + +here are the highlights of what's new in cobalt 11 and what else has changed since the last changelog in december: + +## on-device media processing (beta) +cobalt can now perform all media processing tasks *directly in your browser*. we enabled it by default on all desktop browsers & firefox on android, but if you want to try it on your device before we're sure it works the way we expect, you can do it in a new [local processing page in settings](/settings/local)! + +here's what it means for you: +- **best file compatibility**, because all processed files now have proper headers. there's **no need to remux anything manually** anymore; all editing software should support cobalt files right away! vegas pro, logic pro, many DAWs, windows media player, whatsapp, etc, — all of them now support files from cobalt *(but only if they were processed on-device)*. +- **detailed progress** of file processing. cobalt now displays all steps and the current progress of all of them. no more guessing when's the file gonna be ready. +- **faster processing** for all tasks that require remuxing or transcoding, such as downloading youtube videos, transcoding audio, muting videos, or converting gifs from twitter. +- **better reliability** of all processing tasks. cobalt can finally catch all processing errors properly, meaning that the corrupted file rate will drop significantly. if anything ever goes wrong, cobalt will let you know, and you'll be able to retry right away! +- **reduced load on public instances**, which makes cobalt faster than ever for everyone. servers will no longer be busy transcoding someone's 10 hour audio of "beats to vibe and study to" — because now their own device is responsible for this work. it's really cool! + +we're also introducing the processing queue, which allows you to schedule many tasks at once! it's always present on the screen, in the top right corner. the button for it displays precise progress across all tasks, so you know when tasks are done at a glance. + +all processed videos are temporarily stored on your device and are automatically wiped when you reload the page. no need to rush saving them; they'll be there as long as you don't close cobalt or delete them from the queue. + +on modern ios (18.0+), we made it possible to download, process, and export giant files. the limit is now your device's storage, so go wild! + +processing queue & local processing may not be perfect as-is, so please let us know about any frustrations you face when using them! this is just the beginning of an on-device era of cobalt. we hope to explore even more cool local processing features in the future. + +## web app improvements: ui/ux upgrade and svelte 5 +aside from local processing, we put in a ton of effort to make the cobalt web app faster and even more comfortable for everyone. we fixed all minor ui nicks, polished it, and improved turnstile behavior! + +- **svelte 5:** many parts of cobalt's frontend have been migrated to svelte 5. this is mostly an internal change, but it majorly improves the performance and reduces extra ui renders, making the overall experience snappier. +- **downloading flow:** + - cobalt will now start the downloading task right away, even if turnstile is not finished verifying the browser yet. it will wait for turnstile's solution instead of showing an annoying dialog. + - pressing "paste" before turnstile is finished now starts the download right away. + - prefilled links via url parameters (`#urlhere` or `?u=urlhere`) are now downloaded right away. one less button press! + - replaced an invasive turnstile dialog with a dynamic tooltip. + - ideally, you should no longer know that cloudflare turnstile is even there. +- **remux**: + - remux is now a part of the processing queue! the remux page now serves as an importer. no need to stay on the same page for remux to complete. + - you can now remux several files at once. + - cobalt now automatically filters out unsupported files on import, so you can drag and drop whatever. +- **visuals & animations:** + - the dialog animation & visual effects have been optimized to improve performance. the picker dialog no longer lags like hell! + - all images now fade in smoothly on load. + - the update notification now has a new, springier animation. + - enhanced focus rings across the whole app for better accessibility, a cleaner look, and ease of internal maintenance. + - sidebar is now bright in light theme mode on desktop, and is more visible in dark mode. + - sidebar buttons are now more compact. + - the status bar color on desktop (primarily safari) now adapts to the current theme. + - fixed many various rendering quirks in webkit and blink. + - all input bars are now pressable everywhere. + - popovers (such as supported services & queue) are now rendered only when needed. + - the font on the about/changelog pages is now consistent with the rest of the ui (IBM Plex Mono). + - all image assets have been re-compressed for even faster loading. + - the download button now uses a super tiny custom font instead of a full noto sans mono font. + - countless padding, margin, and alignment tweaks for overall consistency and a fresh vibe. +- **accessibility & usability:** + - created a dedicated [accessibility settings page](/settings/accessibility) and moved relevant settings there. + - improved screen reader accessibility & tab navigation across ui. + - added an option to prevent the processing queue from opening automatically in [accessibility settings](/settings/accessibility#behavior). + - files now save properly on desktop in pwa mode (when using local processing). +- **ios-specific improvements**: + - added haptic feedback to toggles, switchers, buttons, dropdowns, and error dialogs. not a fan of haptics? disable them in [accessibility settings](/settings/accessibility/haptics). + - made it possible to process giant files without crashing on ios 18.0+. the cobalt tab/pwa no longer crashes if a file is too big for safari to handle. *(previously anything >384mb lol)* + - improved file saving, now cobalt selects the most comfortable way to save a file automatically. +- **settings page:** + - sensitive inputs (like api keys) are now hidden by default with an option to reveal them. + - added an option to hide the remux tab on mobile devices in [appearance settings](/settings/appearance#navigation). + - filename previews in settings now more accurately reflect the actual output. + - improved the toggle animation. + - redesigned settings page icons. + - updated some descriptions to be more accurate. +- all [about](/about) pages have been revised for improved readability and clarity. +- the web instance now requires the `WEB_DEFAULT_API` env variable to run. it's enforced to avoid any confusion. + +## general improvements +- filenames can now include a wider range of characters, thanks to relaxed sanitization & use of fullwidth replacements. +- "basic" is now the default filename style. + +## processing instance improvements +- env variables can now be loaded & updated dynamically. this allows for configuration changes without downtime! +- tunnels now provide an `Estimated-Content-Length` header when exact file size isn't available. +- many internal tunnel improvements. +- the api now returns a `429` http status code when rate limits are hit. +- the `allowH265` (formerly `tiktokH265`) and `convertGif` (formerly `twitterGif`) api parameters have been renamed for clarity as they apply (or will apply) to more services. +- added a bunch of new [api instance environment variables](https://github.com/imputnet/cobalt/blob/main/docs/api-env-variables.md): `FORCE_LOCAL_PROCESSING`, `API_ENV_FILE`, `SESSION_RATELIMIT_WINDOW`, `SESSION_RATELIMIT`, `TUNNEL_RATELIMIT_WINDOW`, `TUNNEL_RATELIMIT`, `CUSTOM_INNERTUBE_CLIENT`, `YOUTUBE_SESSION_SERVER`, `YOUTUBE_SESSION_INNERTUBE_CLIENT`, `YOUTUBE_ALLOW_BETTER_AUDIO`. + +## youtube improvements +- added a new option in [audio settings](/settings/audio#youtube-better-audio) to prefer better audio quality from youtube when available. +- near infinite amount of changes and improvements on cobalt & infrastructure levels to improve reliability and recover youtube functionality. +- cobalt now returns a more appropriate error message if a youtube video is locked behind drm. +- added itunnel transplating to allow in-place tunnel resume after an [intentional] error from origin's side. + +## other service improvements +- added support for **xiaohongshu**. +- **twitter:** + - added support for saving media from ad cards. + - added fallback to the syndication api for better reliability due to constant twitter downtimes & lockdowns. +- **reddit:** + - expanded support for various link types, including mobile (e.g., `m.reddit.com`) and many other short link formats. +- **instagram:** + - added support for more links, including the new `share` format. + - implemented more specific errors for age-restricted and private content. + - fixed an issue where posts might have not correctly fallen back to a photo if a video URL was missing. +- **tiktok:** + - added support for tiktok lite urls. + - fixed parsing of some mobile tiktok links. + - updated the primary tiktok domain used by the api due to previous dns issues. +- **snapchat:** + - fixed an issue where story extraction could fail if certain profile parameters were missing. + - added support for new link patterns. +- **pinterest:** + - fixed video parsing for certain types of pins. +- **bluesky:** + - added support for downloading tenor gifs from bluesky posts. +- **odnoklassniki (ok):** + - fixed an issue where author information wasn't handled properly. +- **loom:** + - added support for links with longer ids. +- **facebook:** + - fixed issues caused by rate limiting. + +## documentation improvements +- created a new document for [api instance environment variables](https://github.com/imputnet/cobalt/blob/main/docs/api-env-variables.md) with detailed & up-to-date info about each variable. +- rewrote [api docs](https://github.com/imputnet/cobalt/blob/main/docs/api.md) to be easier to read and added all new & previously missing info. +- updated the list of dependencies & open-source shoutouts in [api](https://github.com/imputnet/cobalt/blob/main/api/README.md) & [web](https://github.com/imputnet/cobalt/blob/main/web/README.md) readme docs. +- added an example for setting up `yt-session-generator` in the docker compose documentation. +- updated the "run an instance" guide with a more prominent note about abuse prevention. + +## more internal improvements +- introduced an abstract storage class and implemented opfs (origin private file system) and memory storage backends. this is the foundation of the new local processing features, and makes it possible to operate on devices with low RAM. +- session tokens are now bound to ip hashes, locking down their usage and improving security. +- lots of other refactoring and code cleanups across both api and web components. +- numerous test fixes, additions, and ci pipeline improvements. +- removed unused packages & updated many dependencies. + +## all changes are on github +like always, you can check [all commits since the 10.5 release on github](https://github.com/imputnet/cobalt/compare/41430ff...main) for even more details, if you're curious. + +this update was made with a lot of love and care, so we hope you enjoy it as much as we enjoyed making it. + +that's all for now, we wish you an amazing summer! + +\~ your friends at imput ❤️ \ No newline at end of file diff --git a/web/static/update-banners/meowth_beach.webp b/web/static/update-banners/meowth_beach.webp new file mode 100644 index 0000000000000000000000000000000000000000..19aa1741551dac8ce2ce5d874be0502619cb9024 GIT binary patch literal 45500 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 UlusWW3i`<*)jsVcixdC=08gxfg8%>k literal 0 HcmV?d00001