@thisismissem now i'm digging further just because (i don't have any of this memorized, but look it up constantly)
rfc1738 (which 3986 updates) includes brackets in the "unsafe" category that require encoding as well.
it uses a slightly different BNF, but is noteworthy that brackets still required encoding even then. (rfc1738 is from 1994 as opposed to rfc3986 from 2005) so the square brackets have required encoding since, effectively, the beginning