Zero flags should mean reasonable defaults
The current expectation is that applications which use libidn2 and the idn2_lookup_ul
and idn2_to_unicode_lzlz
functions pass at least the IDN2_NONTRANSITIONAL
flag to enable Unicode TR46 processing. This is required to obtain more consistent behavior with what web browsers do, and to enable case mapping.
As an application author (or rather, glibc maintainer) I would like to stay out of the politics of competing IDNA2 standards, and would suggest that by default, a zero flags value means that the recommended settings are applied automatically. For users which want to use strict IDNA2008 behavior, there could be a flag IDN2_RFC5890
(perhaps with a different RFC number) to request exactly that. But the majority of applications would just pass zero and get whatever the current best practice is.