12.9 - to be released any day now (tomorrow, I think)
That query that I gave you was the one we use to load all of the packages into the Schema Browser. The one for describe dialogs includes a variable for object name, and it's probably faster (below).
with PACKAGES as
(Select owner, object_name, object_type, decode(status, 'VALID', 'V', 'I') status, last_ddl_time, object_id, created
from sys.all_objects
where 1=1
and object_type in ('PACKAGE', 'PACKAGE BODY')
AND owner = :own
AND object_name = :obj)
SELECT PACKAGES.owner, PACKAGES.object_name, PACKAGES.object_type, PACKAGES.status,
PACKAGES.last_ddl_time, PACKAGES.object_id, PACKAGES.created
,NVL(pi.AUTHID, 'DEFINER') AUTHID
,NVL(d.debuginfo, 'F') DEBUGINFO
FROM PACKAGES
,(SELECT object_id, authid
FROM sys.ALL_PROCEDURES
WHERE subprogram_id = 0
AND object_type = 'PACKAGE'
AND owner = :own
AND object_name = :obj
GROUP BY object_id, authid) pi
, sys.all_probe_objects d
WHERE PACKAGES.object_id = pi.object_id (+)
AND d.object_id (+) = PACKAGES.object_id
AND d.owner (+) = PACKAGES.owner
order by 3