NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #2866 by repository stars
Last release 3 months ago
28 Jun 2026
Release timing varies
gaps range from 2 weeks to 4 months
Nearly every release is documented
notes for 8 of 8 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
122 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Jonathan Liu (1): caldav: add expand request to client
go-webdav v0.7.0
Jonathan Liu (1):
caldav: add expand request to client
Krystian Chachuła (2):
webdav: return multistatus with 403 on PROPPATCH
webdav: handle permission errors in ReadDir
Noah Kleiner (1):
internal/server: handle "allprop" with empty request and XML content type
Simon Ser (8):
webdav: don't leave a partially uploaded file behind on error
webdav: add support for If-Match/If-None-Match in FileSystem.Create
internal: add PropFindValue
webdav: fix ConditionalMatch.MatchETag when resource doesn't exist
webdav: add support for If-Match/If-None-Match in DELETE
webdav: return 405 when directory already exists for MKCOL
ci: check gofmt, split build into separate task, enable -race
webdav: use internal.PropFindValue in servePrincipalPropfind
Timo Furrer (3):
Fix service name for CalDav/CardDav endpoint discovery
Implement context path discovery for CalDav/CardDav endpoint
caldav: support prop-filter in client requests
krystiancha (1):
webdav: remove path from LocalFileSystem path errors
prasad83 (2):
caldav, carddav: add principal to resourcetype
caldav, carddav: add current-user-privilege-set
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
…use application/xml instead of text/xml which is deprecated webdav: FileSystem.Create() returns FileInfo and is used to set PUT response headers webda…
go-webdav v0.6.0
Conrad Hoffmann (7):
caldav: fix match on open time ranges
caldav: add path to interface QueryCalendarObjects
carddav: support multiple address books
carddav: support address book creation/deletion
caldav, carddav: displayname and desription are optional
internal: no status element in propstat responses
Update go-ical
Dan Berglund (1):
caldav: return proper HTTP 501 instead of panicing
Simon Ser (6):
webdav: move ConditionalMatch to webdav.go
webdav: stop using os errors in FileSystem interface
internal: add IsRequestEmpty
carddav: pass pointer in CreateAddressBook
carddav: return HTTP 501 error instead of panicing
readme: drop CI badge
Thomas Müller (8):
caldav: add MKCOL support
carddav, caldav: add missing headers on PUT
webdav: change FileSystem.Create to give implementations more control
carddav: add unit test for CardDAV mkcol
internal: use application/xml instead of text/xml which is deprecated
webdav: FileSystem.Create() returns FileInfo and is used to set PUT response headers
webdav: respond PUT request with 204/No Content in case the file already existed before putting
webdav: PUT response has no body and therefore should not have a content length header
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Dan Berglund (3): caldav: return SupportedComponentSet in PROPFIND caldav: handle PROPFIND on root caldav: add multi-calendar support
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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Conrad Hoffmann (38): Pass request context to storage interface carddav/server: set ETag and Last-Modified if available Add error type representing DA
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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →