How to announce service with umDNS?

Config files in "/etc/umdns/*.json" still don't work? Or this was fixed? Mine are still not working

Yes it does, I have successfully created some .json files that they got parsed.
For example:

/etc/umdns/smb.json

{
	"smb_139": { "service": "_smb._tcp.local", "port": 139, "txt": [ "daemon=samba36" ] },
}

/etc/umdns/http.json

{
	"http_80": { "service": "_http._tcp.local", "port": 80, "txt": [ "daemon=uhttpd" ] },
}

And so on, have already done it with other services like DLNA.
Just try to keep the same context as said in the examples and you will be ok.

2023 report. Not working for cross-vlan situation.
I gdb the code, and the design of it is really bizzar.
Find the service_reply function, it traverses the services avl, and got different outcomes comparing to umdns_browse.
Turns out, "service_reply" only check the json-added service but but not the cached services learned from different vlans, in my case, only find the default ssh and http which were added by json as I wanted to announced them.
So I figure, umdns need me to add the usefull services from cached-services to the annouced-service i guess. Emmmm, that's really balls-aching for someone didn't know that.