0.4.4 - November 15, 2015
0.4.3 - September 13, 2015
0.4.2 - May 5, 2015
0.4.1 - January 15, 2015
RecurrenceProperty.getDateIterator()
method that caused dates to be returned in the wrong timezone.0.4.0 - November 29, 2014
TimezoneInfo
object. VTIMEZONE components are removed from the parsed ICalendar
object and stored in the TimezoneInfo
object. ICalWriter.getTimezoneInfo().setDefaultTimeZone()
.ICalDate
object, which is now used in most date/time property values. This class extends java.util.Date
and has a hasTime
field, which flags the object as either a "date/time" or "date" value. This means that methods like DateStart.hasTime()
have been removed, since this information is now stored in the property's ICalDate
object.ICalendar
objects can be written according to either the old vCalendar standard or the new iCalendar standard.RecurrenceDates
property class: If a parsed RDATE property only contains periods, then RecurrenceDates.getDates() will be empty (instead of null). Similarly, if the property only contains dates, then RecurrenceDates.getPeriods() will be empty (instead of null).getDateIterator()
method to the RecurrenceRule
and ExceptionRule
property classes. This allows you to iterate over all of the dates as defined by the recurrence rule.0.3.3 - May 31, 2014
XCalReader
, XCalWriter
).<unknown>
property values in xCal documents weren't being parsed correctly.0.3.2 - January 22, 2014
Biweekly
class, the stream is now flushed after every iCalendar object is written (see Ticket 4, credit: Romain Gonord).0.3.1 - September 21, 2013
Major changes
File
or InputStream/OutputStream
object is passed into one of biweekly's reader/writer classes. Java Reader/Writer
objects are not effected by this change because they are configured to use their own character encoding.File
or OutputStream
object is passed into a writer class, UTF-8 encoding will be used.File
or InputStream
object is passed into a plain-text iCal or jCal reader, UTF-8 encoding will be used.File
or InputStream
object is passed into a xCal reader, the "encoding" attribute in the header portion of the XML document will be properly taken into account. Before, it was ignored and the document was parsed according to the JVM's default character encoding.Duration
class (credit: Caruyer Perrine):toMillis()
- Converts the duration to millisecondsadd(Date)
- Adds the duration to a Date objectdiff(Date, Date)
- Factory method that builds a Duration
from the difference between two DatesfromMillis(long)
- Factory method that builds a Duration
from a milliseconds valueOther changes:
Biweekly
class.Biweekly.parse(File)
methods no longer throw a FileNotFoundException
.ICalParameter.getRsvp()
method now throws an IllegalStateException
when the RSVP parameter value cannot be parsed (i.e. if it's something other than "true" or "false"). Before, it would return "null", which was misleading ("null" typically means that the parameter does not exist). Raw parameter values can still be retrieved using the get()
method.CannotParseException
is now consistently thrown during the parsing of xCal properties when the XML element which holds the property's value cannot be found.ICalMarshallerRegistrar
class, which can be used to assign a set of custom marshallers to a reader or writer class.JCalValue.asStructured()
and JCalValue.structured()
so they properly support multi-valued structured components.ValidationWarnings
class from the biweekly.component
package to the biweekly
package.ICalPropertyMarshaller.Result.getValue
--> getProperty
ICalPropertyMarshaller.getDataType
--> dataType
JCalValue.getSingleValued
--> asSingle
JCalValue.getMultivalued
--> asMulti
JCalValue.getStructured
--> asStructured
0.3.0 - August 4 2013
VJOURNAL
components from being read/written correctly (its marshaller class was missing).TZID
parameter is now taken into account when reading/writing the RDATE
property.setLocalTime(boolean)
method to certain date-time classes which instructs the library to format the timestamp according to local time (default timezone) when written.DTSTART
property is now formatted according to local time (default timezone) when part of a STANDARD
or DAYLIGHT
component (timezone definition).VEvent
and VTodo
classes for VALARM
components.ICalWriter
class no longer logs warnings.ICalWriter
class now throws an IllegalArgumentException
if it cannot find the marshaller class of a property or component object.ICalendar.validate()
is called. Each parameter is checked to make sure its value is valid (for example, confirming that RSVP
is either "true" or "false") (see Ticket 2).ACTION
, CALSCALE
, CLASS
, STATUS
, and TRANSP
properties are now checked to ensure they use an acceptable value.ValidationWarnings
object. The ValidationWarnings
object contains a list of WarningsGroup
objects. Each WarningsGroup
object contains a reference to the property/component that caused the warnings, references to the property/component's parent components, and a list of the validation warnings.DTSTART
properties that are located within VTIMEZONE
components.0.2.0 - July 7 2013
ICalendar.validate()
.0.1.0 - June 25 2013