- all optional ?back arguments are now ?rev
- compare_sub is now compare_label
- new function: equal_label : ?case_sensitive:bool -> string -> string -> bool
- new function: find_label : ?rev:bool -> 'a t -> (string -> bool) -> int option which searches for the predicate (3rd argument) in t (2nd arguments)
- getter functions for labels: get_label : 'a t -> int -> (string, [> `Msg of string ]) result get_label_exn : 'a t -> int -> string
- count_labels : 'a t -> int
- type t is now a phantom type 'a t, where 'a carries whether it is a hostname, a service name or a raw domain name. this lead to removal of various ?hostname:bool arguments
- val host : 'a t -> ([
host] t, [>
Msg of string ]) result - analog host_exn, service, service_exn, raw
- removed is_service, is_hostname
- new submodules Host_set, Host_map, Service_set, Service_map
- new function: append : 'a t -> 'b t -> ([
raw] t, [>
Msg of string ]) result - renamed: drop_labels{,_exn} is now drop_label{,_exn}
- renamed: prepend{,_exn} is now prepend_label{,_exn}
is_service
accepts numeric service names, used for ports in TLSA records (#1 by @cfcs)- port to dune
to_string
andto_strings
now have an optional labeledtrailing
argument of type bool- support for FQDN with trailing dot:
of_string "example.com."
now returnsOk
, and is equal toof_string "example.com"
- fix and add tests for
drop_labels
anddrop_labels_exn
, where the semantics of the labeledback
argument was inversed.
- Initial release