Releases: emersion/go-webdav
Releases · emersion/go-webdav
0.5.0
go-webdav v0.5.0 Dan Berglund (3): caldav: return SupportedComponentSet in PROPFIND caldav: handle PROPFIND on root caldav: add multi-calendar support Sebastien Binet (1): internal: fix always-true interface comparison Simon Ser (16): Add GitHub issue template carddav: handle PROPFIND on root readme: switch back to pkg.go.dev for docs caldav, carddav: drop unnecessary nil check Upgrade dependencies caldav, carddav: take header when populating object Add context for clients webdav: add context to FileSystem carddav: rename Discover to DiscoverContextURL caldav: add DiscoverContextURL webdav: add/improve doc comments webdav: rename Client.Readdir to ReadDir internal/server: handle PROPFIND without body webdav: introduce CopyOptions webdav: rename MoveAll to Move webdav: introduce MoveOptions
0.4.0
go-webdav v0.4.0 Conrad Hoffmann (38): Pass request context to storage interface carddav/server: set ETag and Last-Modified if available Add error type representing DAV/XML errors Pass request context to backend interface carddav: pass If-(None-)Match to backend Add type-safe precondition errors for CalDAV caldav: extend query filter types caldav: use Calendar.Path in PROPFIND response carddav: use AddressBook.Path in PROPFIND response Add exported function to create `HTTPError` Support custom user principal and home set paths Return calendar description in PROPFIND Implement GET/HEAD/PUT for calendar objects caldav: implement `handleMultiget()` Add function to validate calendar for CalDAV carddav/caldav: use 308 for .well-known redirects carddav: return multistatus response on PROPPATCH caldav: add support for getcontentlength property caldav: set content length header for HEAD/GET requests carddav: add support for getcontentlength property carddav: set content length header for HEAD/GET requests carddav: add Content-Length support to client caldav: implement filter function for queries client: support redirects in PropfindFlat() carddav: don't filter properties in test queries carddav: do property filtering in match.Filter() carddav: end-to-end test address book discovery caldav: fix match test example from RFC carddav: run gofmt Update to latest version of go-ical carddav: evaluate recurrence in match helper carddav: switch to one static path layout caldav: support deletion of calendar objects caldav: implement Propfind caldav: use same static path layout as carddav carddav: use custom type for context keys Dedicated type for conditional match header fields Support setting capabilities in ServePrincipal() Konstantinos Koukas (1): caldav: add supported-calendar-component-set field Krystian Chachuła (1): caldav: fix validation error when VTIMEZONE is after VEVENT Sebastien Binet (1): carddav: add filtering and matching helper functions Simon Ser (22): readme: update badges caldav: add support for reports caldav: add basic server internal: add HTTPError.Unwrap Replace DAVError with HTTPError + Error internal: introduce NewErrorResponse carddav: use partial error response on multiget failure internal: add Response.Err internal: don't send an empty error element webdav: rename ServeUserPrincipal to ServePrincipal caldav: only call CurrentUserPrincipal when necessary carddav: only call CurrentUserPrincipal when necessary carddav: improve Client.SyncCollection docs caldav: add Content-Length support to client carddav: add Discover TODO about "path" key in TXT record webdav: add TODO about fallback in Client.FindCurrentUserPrincipal internal: drop Multistatus.Get internal: use errors.As in IsNotFound internal: add more context to Response.DecodeProp errors internal: use Namespace instead of "DAV:" internal: fix XML element struct naming carddav: use "/.well-known/carddav/" as initial context path in Discover myml (1): fix: Response body was not closed causing the goroutine leak
0.3.1
go-webdav v0.3.1 AlmogBaku (1): sync-collection for client Apehaenger (1): Make Response.Path return the path on error Heiko Carrasco (1): caldav: add server handling for well-known URLs Sebastien Binet (1): internal: use http.TimeFormat to marshal Time values Simon Ser (3): caldav: add Client.MultiGetCalendar internal: move HTTPError to common file readme: add CI badge jumo98 (1): Include ModTime for directories if available proletarius101 (1): fix: deprecrated conversion from int64 to string
0.3.0
go-webdav v0.3.0 AlmogBaku (1): fixes #33, remove missingPropError error Simon Ser (40): carddav: fix addressbook-home-set>href namespace Allow servers to return DAV capabilities in OPTIONS carddav: fix server appearing as read-only in Evolution caldav: add Client boilerplate caldav: add some calendar XML elements caldav: add Client.FindCalendars caldav: add part of calendar-query XML element readme: add CalDAV carddav: allow created address book objects to have a different path caldav: add Client.QueryCalendar internal: add ETag internal: fix ETag.String returning unquoted string internal: fix Status text marshaling carddav: add Client.HasSupport caldav: add filter XML definition caldav: add support for time filters in client caldav: parse iCal data caldav: add prop-filter support to client internal: fix trailing slash getting removed in Client.ResolveHref internal: fix Client.PropfindFlat when endpoint has a non-empty path internal: accomodate for trailign slashes in Multistatus.Get internal: only handle relative paths in Client.ResolveHref internal: read response body on error carddav: add Client.PutAddressObject internal: prevent empty endpoint path from resulting in "." sub-paths internal: remove outdated TODO carddav: fix Client.PutAddressObject failing with Radicale carddav: add Client.GetAddressObject Introduce HTTPClient, remove Client.SetBasicAuth carddav: fix Discover with default HTTPS port carddav: make Discover fail when target is empty Use new ical library caldav: add Client.PutCalendarObject caldav: add Client.GetCalendarObject caldav: upgrade to latest go-ical API carddav: expose supported address data in client ci: add .build.yml internal: add Multistatus.Get test with HTTP error internal: parse WebDAV toplevel <error> elements caldav: set Depth to 1 for calendar-query REPORT requests
0.2.0
go-webdav v0.2.0 Version 0.2.0 has been rewritten from scratch. This is the initial release of the rewrite. Simon Ser (111): Start from scratch internal: add RawXMLValue to defer XML encoding/decoding webdav: add very basic Client internal: add RawXMLValue.Decode Generate PROPFIND request body internal: add <responsedescription> internal: add helpers to parse multistatus internal: remove unnecessary namespaces in structs internal: check response status in Response.DecodeProp internal: remove unnecessary call to Encoder.Flush internal: add Client.PropfindFlat carddav: add very basic Client carddav: add Client.FindAddressBooks carddav: add Client.QueryAddressBook internal: add EncodeRawXMLElement internal: make sure rawXMLValueReader is an xml.TokenReader Add go.sum internal: add EncodeProp internal: remove xml.Name arg from Response.DecodeProp carddav: add support for <addressbook-multiget> internal: add Depth, Client.Propfind webdav: add minimal server implementation webdav: list children in PROPFIND webdav: add support for more props internal: make Status a Text{Marshaler,Unmarshaler} inetrnal: rename Date to Time, make it a Text{Marshaler,Unmarshaler} webdav: add support for allprop and propname in PROPFIND webdav: add missing PROPFIND to OPTIONS response webdav: advertise class 3 support in OPTIONS Add Client.SetBasicAuth readme: license is now MIT internal: drop unused field in Client internal: add Handler webdav: make HEAD/GET on a dir fail Improve OPTIONS handling internal: add NewPropfindResponse helper internal: fix Error element definition carddav: rename Address to AddressObject carddav: add very basic server implementation all: use variables for xml.Name values Ensure resourcetype is always defined carddav: define XML names as globals carddav: implement REPORT addressbook-multiget internal: introduce DecodeXMLRequest, ServeXML and ServeMultistatus internal: add Prop.Get, Prop.Decode carddav: add server support for REPORT addressbook-query carddav: add address-data to server responses carddav: add displayname and addressbook-description to server carddav: add addressbook-supprted-address-data to server carddav: add max-resource-size to serve carddav: add addressbook-home-set to server carddav: populate AddressBook.{Name,MaxResourceSize} in client internal: check for response error in Multistatus.Get carddav: add current-user-principal to server carddav: add Discover Fix host trailing dot in Discover internal: properly encode path in Client.NewRequest internal: allow Response.DecodeProp to decode multiple values webdav: add Client.Stat webdav: add basic Client.Open webdav: add Client.Readdir webdav: remove File.Stat, add FileSystem.Stat webdav: remove File.Readdir, add FileSystem.Readdir webdav: properly URL-encode hrefs in PROPFIND response all: add basic docs webdav: fix URL encoding in PROPFIND handler carddav: simplify variable names webdav: add support for PUT to server webdav: add Client.Create webdav: add PUT to allowed methods for regular files webdav: add DELETE support to server webdav: add Client.RemoveAll webdav: move WebDAV semantics handling to LocalFileSystem webdav: add MKCOL support to server webdav: add Client.Mkdir webdav: replace File with io.ReadCloser webdav: replace os.FileInfo with our own type webdav: add MIMEType to FileInfo webdav: make FileInfo.ModTime optional webdav: populate FileInfo.MIMEType in client webdav: make FileInfo.ModTime optional in client webdav: fix trailing getMod in client internal: add PROPPATCH support to server internal: move Depth to internal.go internal: add helpers for the Overwrite header webdav: add Client.MoveAll webdav: add Client.CopyAll webdav: move recursive PROPFIND to backend all: encode hrefs, replace hrefs with path in public API webdav: fix LocalFileSystem.Readdir not returning children webdav: add MOVE support to server webdav: add support for ETag to client & server webdav: add recursive arg to Client.Readdir webdav: add COPY support to server cmd/webdav-server: new command internal: check for HTTP errors in Client.Do carddav: don't support PROPPATCH carddav: add PUT support to server carddav: add DELETE support to server carddav: add AddressObject.{ModTime,ETag} carddav: add allprop and propname support to query and multiget in server carddav: add AddressBook{Query,MultiGet}.AllProp carddav: add filter and limit XML definitions carddav: add limit support to addressbook-query carddav: remove filter.MarshalText carddav: add matchType carddav: add negateCondition carddav: add full query AST carddav: add client support for query filter carddav: add query filter support in server carddav: honor address-data in addressbook-query
0.1.0
go-webdav v0.1.0 This is the initial go-webdav pre-release, for use by packages which already depend on it. Note that the library will be completely re-written for 0.2.0. Dmitri Shuralyov (1): carddav: Remove duplicate package comment Konstantin Chukhlomin (1): Removed extra logging from carddav Simon Ser (4): Add go.mod Rename webdav.go to server.go carddav: improve error handling webdav: fix propfind decode errors emersion (18): Initial commit Imported from golang.org/x/net/webdav, removed encoding/xml fork Allow nil LockSystem carddav: first commit carddav: add Stat to AddressObject interface Use AddressObject.Stat if supported carddav: add AddressBook.Info Add ref to RFC in package doc webdav: remove DAV: prefix hack webdav: remove outdated comments Expose MultistatusWriter carddav: add support for REPORT addressbook-multiget, fixes #2 carddav: go fmt Add godoc badge to README carddav: PUT support carddav: remove .vcf extension carddav: cache file contents when opening it carddav: add AddressObject.Remove