A media library that only uploads and deletes files gets you 80% of the way there, but the last 20% — cropping an image, telling the system where the subject is so a thumbnail doesn't cut off someone's face, swapping a file's contents without breaking every page that links to it — is where most headless CMSs stop short.
Crop and focal point, in place
Drag a selection over an image in the library and apply the crop: the same file, same URL, same id, just cropped to the pixels you selected. Click instead of dragging and you set a focal point (normalized 0–1 coordinates) that responsive thumbnails elsewhere on the site use as an anchor via CSS object-position.
Replace-in-place
Uploading a new version of an asset keeps its id and URL stable — the replacement has to match the original file's extension, specifically so every entry and page that already references that URL keeps working after the swap.
Why in place, not a new asset
The alternative — uploading a new asset and asking editors to re-pick it everywhere it's used — doesn't scale past a handful of references. Rewriting the same file in place is the only version of this feature that's actually usable on a real site.