Skip to content

0.2.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@emersion emersion released this 27 Jan 09:36
· 159 commits to master since this release
v0.2.0
1f509de
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