The current core implementation does not define a proper contract for case insensitivity leading to all sorts of bugs, e.g.
Also there are a lot of issues showing a fundamental misunderstanding of why Jenkins originally used a semi-case insensitive username... (hint the real reason is because windows filesystem is case insensitive)
People seem to think that user ids are case insensitive... despite
- unix logins being case sensitive
- email addresses being case sensitive (yes they are allowed to be... read the RFC... the destination server is allowed to treat them as case sensitive... though the RFC does say a polite version of "only a fool would actually do that" it is allowed by the spec, so you cannot assume that email@example.com is the same person as Foo@acme.org... you can however assume that firstname.lastname@example.org and foo@ACME.ORG are the same person as is foo@aCmE.OrG because domain names are not case sensitive)
As such, without a plugable strategy the case sensitive/insensitivity of Jenkins is fundamentally broken.