potential breaking changes
- typescript target changed to
es2018
due to named capturing groups errors
improvements
- fixed #191 where
authFunction
is not properly assigned in constructor. - updated deps.
improvements
- fixed #181 where a null check is missing.
- fixed doc example, thanks to #175
- added docs related to smart calendar syncing #138
improvements
etag
of DAVObject
is now optional fixing #158
features
new option headersToExclude
on all possible functions, allow precise control on request headers, fixing #166
improvements updated dependencies
improvements
updated dependencies, fixing #159
features
DAVClient supports digest
auth and custom
auth, please go to authHelpers
page in docs for more details.
fetchCalendars now supports projectedProps
, previously customProps passed in will not get projected to fetched result properly.
with this object map you can map your custom prop to fetched result thanks to @m0dch3n
improvements
calendarMultiGet will not send <filter/>
element if custom filters are null or undefined thanks to @jelmer
docs improvement thanks to @MathisFrenais
typescript type improvement thanks to @zomars
features
- new option
useMultiGet
forfetchCalendarObjects
andfetchVCards
which controls the underlying fetching function to better support fetching from providers which does not supportmultiGet
functions
improvements
- improved documentation
- improved typescript types
- updated deps
- added
.mjs
,.cjs
,.min.mjs
and.min.cjs
versions
improvements
- added support for davical
- fixed a bug related to expand #116
- updated deps
improvements
- fixed dependency issues #103
- updated deps
improvements
- Add missing attribute to makeCalendar method #93, Thanks to @nibdo
- updated dependencies
features
etag
param onupdateObject
is now optional, since some caldav servers will throw error if we useIf-Match
headers.
improvements
- fixed collection query not handling empty result properly.
createObject
requests now sendIf-None-Match
:*
to avoid accidental overwrite.depth
header and others are now able be to overwritten by user specified headers.- tested with zoho
- fixed
urlFilter
not really filtering the urls, only filtering on pathname of urls. - fixed a bug where fetching on empty calendars/addressBooks returning calendar/addressBook itself as result.
improvements
- fixed wrong namespace issue
- fixed a bug where supportedReportSet was using incorrect depth, which resulted more data fetched than needed.
- added tests for supportedReportSet
docs
- added doc for freeBusyQuery
improvements
- fixed wrong namespace issue
breaking
- removed
DAVFilter
andDAVProp
, now all function usesElementCompact
as prop and filter directly generated fromxml-js
instead. - removed related
formatProp
,formatFilter
andmergeObjectDupKeyArray
function since they are not needed (These functions were marked as internal so they really shouldn't be causing breaking change). - removed
DAVNamespaceShorthandMap
and addedDAVNamespaceShort
as a replacement. - renamed parameter
vCardUrlFilter
of functionfetchVCards
tourlFilter
for consistent naming. - collectionQuery now accepts
DAVNamespaceShort
instead ofDAVNamespace
.
features
- added
freeBusyQuery
for CALDAV, note this feature is not working with many caldav providers. - added
expand
forfetchCalendarObjects
so it can now. - added
prop
andfilter
overriding feature to functions where overriding is possible.
improvements
- now fetchCalendar fetch
calendarColor
by default.
docs
- added a helper to convert
xml
between tsdav compatiblejs
objects. - added migration helper to help convert old
DAVProp
andDAVFilter
into newElementCompact
. - fixed theming issues to create a more consistent light theme.
- added sitemap for docs for better seo.
- archived version 1.x docs.
improvements
- Added
vCardUrlFilter
tofetchVCards
to allow vCard Urls to be filtered before fetching - tested with baikal
improvements
- fixed import error when using with node
- tested with nextcloud
features
Added fastmail cloud providers support.
improvements
- Fixed a bug which prevents calendar objects from being fetched.
- Fixed a bug which prevents display name of calendars from being fetched.
improvements
- Fixed esm and browser support problems #19
- Added rollup as bundler to allow CDN support #32
- dist builds are now committed and now comes with four versions:
tsdav.cjs.js
commonjs version which can be used with node 10 or later.tsdav.esm.js
esm version which can be used in pure esm packages with node 12 or later.tsdav.js
version which can be used in both browser and node, contains polyfills and with dependencies bundled in, which makes the file size larger.tsdav.min.js
minified version oftsdav.js
.
improvements
- Fixed a bug which prevents from addressBookMultiGet working #18
- Fixed supportedReportSet undefined error
- ctag obtained from isCollectionDirty should now correctly be string instead of number
- updated all dependencies
- tests are now restructured to integration and unit tests, allowing much better extensibility.
- test requests are now mocked, allowing testing the whole stack without external dependencies
- fixed multiple errors in documentation
improvements
- Fixed spread params for new way of creating dav client, thanks to @molaux
- Ensure service discovery redirect maintains the proper port, thanks to @n8io
- Fixed a time range issue with new time range format
breaking changes
DAVClient
is no longer a type returned bycreateDAVClient
, instead it's a class that can be instantiated.timeRange
infetchCalendarObjects
is now validated againstISO_8601
standard and invalid format will throw an error.- typescript target changed to
es2015
, if you are onnode >= 10
andbrowsers that are not IE and have been updated since 2015
, you should be fine. support fores5
output is not possible with addedesm
support.
features
- added a new way to create
DAVClient
bynew DAVClient(...params)
. - added support for
esm
.
- typescript checks are now with
strict
enabled, which means better types and less bugs. - added more exports, now all internal functions are exported.
- multiple documentation improvements.
Fixed a bug where timeRange filter sometimes might be in the wrong format.
Fixed a bug where calendar objects with http
in its id would cause operations on it to fail.