[go: up one dir, main page]

Skip to content

Releases: emersion/go-webdav

0.5.0

18 Jan 12:29
v0.5.0
Compare
Choose a tag to compare
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

03 Jan 17:17
v0.4.0
Compare
Choose a tag to compare
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

16 Aug 13:38
v0.3.1
6238e10
Compare
Choose a tag to compare
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

13 May 13:08
v0.3.0
5328b4c
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release
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

27 Jan 09:36
v0.2.0
1f509de
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release
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

16 Jan 15:28
v0.1.0
e36c788
Compare
Choose a tag to compare
0.1.0 Pre-release
Pre-release
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