Android 14 fails to parse NSEC records for custom service type in version 0.128.0

Version: 0.128.0

I register a custom service in python like so:

info = zeroconf.ServiceInfo(
        "_green._tcp.local.",
        f"{service_name}._green._tcp.local.",
        port=port,
        properties=desc,
        server=f"{hostname}.local.",
    )

    ZC.register_service(info)

android 14 throws this error whenever I try to discover it:

2023-12-06 15:28:47.651  1674-2241  serviceDiscovery        pid-1674                             E  [MdnsMultinetworkSocketClient] ERROR Failed to read NSEC record from mDNS response.: Failed to read NSEC record from mDNS response.
                                                                                                    android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket$ParseException: Failed to read NSEC record from mDNS response.
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecord(MdnsPacket.java:193)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecords(MdnsPacket.java:115)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecordsSection(MdnsPacket.java:101)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsResponseDecoder.parseResponse(MdnsResponseDecoder.java:100)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient.processResponsePacket(MdnsMultinetworkSocketClient.java:239)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient.-$$Nest$mprocessResponsePacket(MdnsMultinetworkSocketClient.java:0)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient$ReadPacketHandler.handlePacket(MdnsMultinetworkSocketClient.java:151)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MulticastPacketReader.handlePacket(MulticastPacketReader.java:101)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MulticastPacketReader.handlePacket(MulticastPacketReader.java:34)
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.handleInput(FdEventsReader.java:272)
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.lambda$createAndRegisterFd$0(FdEventsReader.java:228)
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.$r8$lambda$xh0yZpbdLvlMgmz3uMcpPMcWNvc(FdEventsReader.java:0)
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader$$ExternalSyntheticLambda0.onFileDescriptorEvents(R8$$SyntheticClass:0)
                                                                                                    	at android.os.MessageQueue.dispatchEvents(MessageQueue.java:293)
                                                                                                    	at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                                                    	at android.os.MessageQueue.next(MessageQueue.java:335)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:162)
                                                                                                    	at android.os.Looper.loop(Looper.java:294)
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                                    Caused by: java.io.IOException: Invalid bitmap length: 0
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsNsecRecord.readTypes(MdnsNsecRecord.java:82)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsNsecRecord.readData(MdnsNsecRecord.java:66)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsRecord.<init>(MdnsRecord.java:89)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsNsecRecord.<init>(MdnsNsecRecord.java:43)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecord(MdnsPacket.java:191)
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecords(MdnsPacket.java:115) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsPacket.parseRecordsSection(MdnsPacket.java:101) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsResponseDecoder.parseResponse(MdnsResponseDecoder.java:100) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient.processResponsePacket(MdnsMultinetworkSocketClient.java:239) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient.-$$Nest$mprocessResponsePacket(MdnsMultinetworkSocketClient.java:0) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MdnsMultinetworkSocketClient$ReadPacketHandler.handlePacket(MdnsMultinetworkSocketClient.java:151) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MulticastPacketReader.handlePacket(MulticastPacketReader.java:101) 
                                                                                                    	at android.net.connectivity.com.android.server.connectivity.mdns.MulticastPacketReader.handlePacket(MulticastPacketReader.java:34) 
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.handleInput(FdEventsReader.java:272) 
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.lambda$createAndRegisterFd$0(FdEventsReader.java:228) 
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader.$r8$lambda$xh0yZpbdLvlMgmz3uMcpPMcWNvc(FdEventsReader.java:0) 
                                                                                                    	at android.net.connectivity.com.android.net.module.util.FdEventsReader$$ExternalSyntheticLambda0.onFileDescriptorEvents(R8$$SyntheticClass:0) 
                                                                                                    	at android.os.MessageQueue.dispatchEvents(MessageQueue.java:293) 
                                                                                                    	at android.os.MessageQueue.nativePollOnce(Native Method) 
                                                                                                    	at android.os.MessageQueue.next(MessageQueue.java:335) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:162) 
                                                                                                    	at android.os.Looper.loop(Looper.java:294) 
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67) 

I searched back in the releases to find a version prior to NSEC support (v0.36.1) and when I use that version, the error goes away and my service is discoverable.