- added a
DID#get_audit_log
method that fetches the PLC audit log for a DID - added a way to set an error handler in
PLCImporter
- reverted the change from 0.2.1 that added Ruby stdlib dependencies explicitly to the gemspec, since this causes more problems than it's worth
- minor bug fixes
- added helpers for checking if a DID is known by (federated with) a relay or if the repo exists on its assigned PDS
- tweaked validations in
Document
andPLCOperation
to make them more aligned with what might be expected - added Ruby stdlib dependencies explicitly to the gemspec
- added
PLCImporter
class, which lets you import operations from PLC in pages of 1000 through the "export" API - implemented parsing of all services from DID doc & operations, not only
atproto_pds
(specifically labeller endpoints) - allow setting the nameserver in
Resolver
initializer
- rejecting handles from disallowed domains like
.arpa
or.test
- validating handles with the
.well-known
file having a trailing newline - validating handles with
.well-known
address returning a redirect - added
#pick_valid_handle
helper - allow overriding the nameserver for
Resolv::DNS
- other bug fixes
- extracted resolving code from
DID
to a newResolver
class (DID
has helper methods to call the resolver) - added
Resolver#get_validated_handle
method to validate handles from theDocument
(+ helpers inDID
inDocument
) - added timeout to
#resolve_handle_by_well_known
- added
Document#handles
with handle info extracted fromalsoKnownAs
field - added validation of various fields of the DID document
- added
DID#resolved_by
(:dns
or:http
) - added
DID#did
which returns the DID in a string form liketo_s
- added
DID#web_domain
which returns the domain part of adid:web
- changed
DID#type
to be stored as a symbol
- fixed missing require
- fixed some connection error handling
Initial release:
- resolving handle to DID via DNS or HTTP well-known
- loading DID document via PLC or did:web well-known
- extracting PDS endpoint field from the DID doc