Commit a26116c6cbf4117e8efaa7cfc5bacc887f01517f changed the behaviour 
for format_type.
Prior to commit, format_type() used to set typemod_given to false for
typemode = NULL. 
format_type()
..
 if (PG_ARGISNULL(1))
 result = format_type_internal(type_oid, -1, false, true, false);
 else
 {
 typemod = PG_GETARG_INT32(1);
 result = format_type_internal(type_oid, typemod, true, true, false);
 }
..
With the commit format_type() always set the FORMAT_TYPE_TYPEMOD_GIVEN
flag even when typemode is NULL (-1).
Below are the difference it's making to the query output:
Before commit:
postgres@95320=#select format_type('bpchar'::regtype, null);
 format_type 
-------------
 character
(1 row)
postgres@95320=#select format_type('bit'::regtype, null);
 format_type 
-------------
 bit
(1 row)
After commit:
postgres@90169=#select format_type('bpchar'::regtype, null);
 format_type 
-------------
 bpchar
(1 row)
postgres@90169=#select format_type('bit'::regtype, null);
 format_type 
-------------
 "bit"
(1 row)
Is this expected behaviour? attaching patch to get back the older
behaviour.
Thanks,
Regards,