I used to force-enable TRIM on my non-Apple SSDs for years, it was irritating but I think they were right to be cautious. Disk controllers have a history of serious bugs being triggered by external commands.
My go-to example is my Samsung HD204UI drives, they shipped with a firmware bug[1] that led to write corruption whenever a specific command was issued to the drive. Samsung issued a firmware fix without bumping the firmware version, so even today several years later, smartmontools prints a warning every time it runs, because it's impossible to tell which drives have been fixed.
Stuff like that is so common[2][3][4] the Linux kernel maintains a list[5] of devices that certain commands shouldn't be used on for various reasons. One has TRIM completely disabled, several have NCQ TRIM disabled due to known corruption issues, including one I still own: the very same drive I used to force-enable TRIM on when it was in my Macbook.
[1] https://www.smartmontools.org/wiki/SamsungF4EGBadBlocks
[2] https://github.com/torvalds/linux/commit/cda57b1b05cf7b8b99a...
[3] https://bugzilla.kernel.org/show_bug.cgi?id=71371
[4] https://bugs.launchpad.net/ubuntu/+source/fstrim/+bug/144900...
[5] https://github.com/torvalds/linux/blob/master/drivers/ata/li...
I've been told that there was a good technical reason for whitelisting TRIM support, namely that a lot of SSD firmwares have buggy TRIM that caused corruption. Rather than risk it, Apple figured out some that worked, whitelisted them, and just supported those. Which is entirely reasonable.
Apple does some questionable things. Making it impossible to install older versions of iOS is a good example, as are arbitrary hardware restrictions like not providing Night Shift on older hardware. But this list of supported displays and their limited TRIM support don't appear to be among them.
> I forgot my unlock pin (because I lent my iPad to someone else) and there is no way to factory reset it without also updating the OS.
You can do this from a Mac with Erase in Apple Configurator with iOS 10 or later. You always could have done it if you happened to own an Exchange or MDM server.
It actually seems baffling to me that Apple is stricter and more deceptive about forcing updates than most game console companies. Our iPads are specifically for medical use, and we wanted to target iOS7.
And I'm reminded of my mistake whenever I go to read in bed. The one time I turned my back on Apple, and it cost me. Just like when I was a kid and I installed that "emergency" update for iTunes 4.01 that disabled playlist sharing. Or their crippling AirPort administrator update. I had kept copies of all my ipsw files that iTunes offered, and I thought that would be enough, but, I missed the window and I had no choice but to do iOS9.
It's really sad that I now have to be more vigilant about making my own backups, because software has become so unreliable now, I never know if a version of software I'm comfortable with will become extince overnight, replaced with some crummy "upgrade". I remember when I was /excited/ by updates. Now, I have to make sure I've backed everything up first.
It is nonsense that there's some special requirement for this. Apple decided to do this because they could.
I used Flux to dim my display on my non-jailbroken iOS8 iPad 2, and quite enjoyed it for reading in bed.
Then, Apple held my iPad hostage[1], and forced me to update to iOS9 if I wanted to unlock it. And I could no longer use Flux, and nightshift is disabled for the iPad 2. There is no technical reason why I couldn't change the color temperature on my iPad 2. I did it for months. Apple just wanted to coerce customers into buying new hardware.
This is no different from Apple having a whitelist for TRIM support of SSDs in earlier versions of macOS. People were under the impression that there was some good technical reason for this. But actually, it could be enabled with a simple perl oneliner:
> sudo perl -pi -e 's|(^\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
It is only a matter of time until there is a oneliner to enable nightshift for all display devices.
[1] https://news.ycombinator.com/item?id=11986523
[2] https://gist.github.com/clarencesong/3768688