Skip to content

0.4.0

Compare
Choose a tag to compare
@emersion emersion released this 03 Jan 17:17
· 44 commits to master since this release
v0.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