Skip to content

Releases: angeloashmore/ics-js

v0.10.2

08 Sep 23:44
Compare
Choose a tag to compare
  • Bind this in Component's constructor for IE10 compatibility (#22, @Trenzalore1337)

v0.10.0

01 Jul 22:14
Compare
Choose a tag to compare

Breaking Changes

  • Component#toBlob

    Throws IncompatiblePlatformError if Blob is undefined. Blob is available in the browser, but not in Node.js, unless a polyfill is provided.

  • Component#toBase64

    Returns a string rather than a Promise. The previous implementation used Component#toBlob to generate the base64 encoded string, but it now uses a Buffer in Node.js or window.btoa in the browser.

Other Changes

  • Change lodash dependency to lodash.difference for quicker installation.

v0.9.1

01 Jul 19:23
Compare
Choose a tag to compare
  • Exclude a property's trailing semicolon if no value is set.

    Example:

    event.addProp('ATTENDEE', null, {
      CN: 'Sample Company',
      RSVP: 'FALSE:mailto:[email protected]'
    }

    Now produces this:

    ATTENDEE;CN=Sample Company;RSVP=FALSE:mailto:[email protected]
    

    Instead of this:

    ATTENDEE;CN=Sample Company;RSVP=FALSE:mailto:[email protected]:
    

    (Note the trailing semicolon)

v0.9.0

26 Apr 02:16
Compare
Choose a tag to compare
  • Fixes the way modules were exported.

Breaking Changes

  • When importing the library, the following methods can be used:

    Import all components under ICS (e.g. ICS.VCALENDAR, ICS.VEVENT):

    import * as ICS from 'ics-js';

    Import components explicitly (e.g. VCALENDAR, VEVENT):

    import { VCALENDAR, VEVENT } from 'ics-js';
  • The previous method of importing the library is now unsupported:

    // Unsupported. Don't do this!
    import ICS from 'ics-js';

v0.8.8

09 Apr 03:08
Compare
Choose a tag to compare
  • Remove format-date/formatoid dependency.
  • Include ESDoc documentation (view here)
  • Fix dist version.

v0.8.7

25 Mar 23:12
Compare
Choose a tag to compare
  • Change dependency format-date (no longer published on NPM) to formatoid for Date string formatting

v0.8.6

25 Feb 22:05
Compare
Choose a tag to compare
  • Adds transpiled ES5 dist version as default entry point

Note: This library utilizes Promise and Array.from, both of which are not included in the dist version. A Promise and Array.from implementation will need to be provided.

v0.8.5

10 Sep 05:16
Compare
Choose a tag to compare

Implement additional RFC requirements:

  • Line wrapping lines > 75 characters
  • Line separator should be \r\n (was \n)

Also fixes the following regression:

  • Component#addProp made a property's skipTransformer property inaccessible. It is now available as an argument to Component#addProp.

v0.8.4

04 Aug 23:02
Compare
Choose a tag to compare
  • Add support for time-less dates

    When a property that transforms Date values is set with VALUE=DATE, the time is not included when generating the ICS data.

    Example:

    const event = new ICS.VEVENT();
    
    // VALUE=DATE
    event.addProp('DTSTAMP', new Date('1991-07-11'), { VALUE: 'DATE' });
    
    // VALUE=DATE-TIME
    event.addProp('DTSTART', new Date('1991-07-11 10:00:00'), { VALUE: 'DATE-TIME' });
    
    // Without props (DATE-TIME is the default)
    event.addProp('DTEND', new Date('1991-07-11 22:00:00'));
    
    // Non-Date values are passed without transformations
    event.addProp('RDATE', '19910711T190000');

    Return value of event.toString():

    VBEGIN:VEVENT
    DTSTAMP:19910711
    DTSTART:19910711T100000
    DTEND:19910711T220000
    RDATE:19910711T190000
    VEND:VEVENT
    

v0.8.3

03 Aug 18:23
Compare
Choose a tag to compare
  • Rename the SEQ property to SEQUENCE