Let's start with what .user.js engine supports this... i.e. We need verified public syntax documentation.
GM nor TM, and VM seems to document it:
- https://wiki.greasespot.net/Greasemonkey_Manual:API (and obviously GM Port since I maintain that... doesn't support
GM.*anyways in v3.x compatibility)
So until it's full publicly documented/supported then we can make a decision on that on Development.
Firstly, thank you for running and developing this site. I just have one small issue about the site's metadata check that I think needs to be fixed.
A few days ago, I updated my userscript for the first time since 2020 and I found that the site now blocks
@grant GM.downloadand gives error 400 "
@grantwith value of
GM.downloadis not valid or supported". The update would not go through unless I remove this grant from my metadata block. My userscript always had
@grant GM.downloadsince 2019 and the site was okay with it back then.
@grant GM_downloadis accepted, and other dot notation grants like
@grant GM.setValueare also accepted, but
@grant GM.downloadis not. While
GM.downloadis not explicitly listed in any official documentation, at least Violentmonkey and Opera Tampermonkey require such
GM.*dot notation grants. I am speaking from actual experience, because my users reported broken Violentmonkey and Opera support after I incorrectly removed
GM.*grants. I have added back other
GM.*grants and mostly fixed this problem, but
@grant GM.downloadis still blocked and the function cannot be used in the code on affected platforms. I think it is incorrect for the site to block it and it should be re-allowed.
Thanks in advance.