Read only fields?

Version 1.x had field type readonly. This seems to have vanished in version 2.x and reappears as a fine-grained readonly in v3.x

Because readonly was used extensively in this project I’m porting, I need another workaround for my 1.x → 2.x porting. I guess unsetEditFields is a little like readonly. Not quite the same but kinda works. If you unsetEdit some fields, does the code verify those fields aren’t being editing when the form POST is submitted? Maybe callbackEditField could be used to create a custom readonly field, but again I’m not sure that would actually block writing with a malicious POST – maybe I’d also need callbackBeforeUpdate to unset any quasi readonly fields created by callbackEditField? I’ll have to try it.

Pity there isn’t just a trustworthy readonly field type.

/PS: I’d just use 3.x, but I’m working on an open-source project and I can’t incorporate proprietary code into the project. I see v2.x is open source MIT license, which isn’t ideal but still works for me. On the other hand, if 3.x is a closed, no-copy license, I can’t use it. Otherwise I’d just upgrade to get the fancy readonly fields, fully working where() clauses, etc… The price of 3.x is very reasonable, but I can’t incorporate a proprietary component into this project.