As far I know it has always been that way but we can at least go back to the earliest publicly available draft standards. For C++ would be 1804 and in section 7.1.5.2
Simple type specifiers Table 7
simple-type-specifiers and the types they specify includes the following entries:
unsigned “unsigned int”
signed “int”
long “long int”
short “short int”
for C we can go back to C99 which in section 6.7.2
Type specifiers says:
[...]Each list of type specifiers shall be one of the following sets (delimited by commas, when there is more than one set on a line); [...]
and includes the following bullets:
— short, signed short, short int, or signed short int
— int, signed, or signed int
— unsigned, or unsigned int
— long, signed long, long int, or signed long int
So these all all standards compliant type specifiers and both quotes come from the normative section of the respective draft standards.