Releases: sabre-io/vobject
Releases · sabre-io/vobject
3.4.1
3.4.0
- #196: Made parsing recurrence rules a lot faster on big calendars.
- Updated windows timezone mappings to latest unicode version.
- #202: Support for parsing and validating
VAVAILABILITY
components. (@Hywan) - #195: PHP 5.3 compatibility in 'generatevcards' script. (@rickdenhaan)
- #205: Improving handling of multiple
EXDATE
when processing iTip changes.
(@armin-hackmann) - #187: Fixed validator rules for
LAST-MODIFIED
properties. - #188: Retain floating times when generating instances using
Recur\EventIterator
. - #203: Skip tests for timezones that are not supported on older PHP versions,
instead of a hard fail. - #204: Dealing a bit better with vCard date-time values that contained
milliseconds. (which is normally invalid). (@armin-hackmann)
2.1.7
3.3.5
- #168: Expanding calendars now removes objects with recurrence rules that
don't have a valid recurrence instance. - #177: SCHEDULE-STATUS should not contain a reason phrase, only a status
code. - #175: Parser can now read and skip the UTF-8 BOM.
- #179: Added
isFloating
toDATE-TIME
properties. - #179: Fixed jCal serialization of floating
DATE-TIME
properties. - #173: vCard converter failed for
X-ABDATE
properties that had no
X-ABLABEL
.
2.1.6
3.3.4
- #154: Converting
ANNIVERSARY
toX-ANNIVERSARY
andX-ABDATE
and
vice-versa when converting to/from vCard 4. - #154: It's now possible to easily select all vCard properties belonging to
a single group with$vcard->{'ITEM1.'}
syntax. (@armin-hackmann) - #156: Simpler way to check if a string is UTF-8. (@Hywan)
- Unittest improvements.
- #159: The recurrence iterator, freebusy generator and iCalendar DATE and
DATE-TIME properties can now all accept a reference timezone when working
floating times or all-day events. - #159: Master events will no longer get a
RECURRENCE-ID
when expanding. - #159:
RECURRENCE-ID
for all-day events will now be correct when expanding. - #163: Added a
getTimeZone()
method toVTIMEZONE
components.
3.3.3
- #142:
CANCEL
andREPLY
messages now include theDTSTART
from the
original event. - #143:
SCHEDULE-AGENT
on theORGANIZER
property is respected. - #144:
PARTSTAT=NEEDS-ACTION
is now set for new invites, if noPARTSTAT
is
set to support the inbox feature of iOS. - #147: Bugs related to scheduling all-day events.
- #148: Ignore events that have attendees but no organizer.
- #149: Avoiding logging errors during timezone detection. This is a workaround
for a PHP bug. - Support for "Line Islands Standard Time" windows timezone.
- #154: Correctly work around vCard parameters that have a value but no name.
3.3.2
- Changed: iTip broker now sets RSVP status to false when replies are received.
- #118: iTip Message now has a
getScheduleStatus()
method. - #119: Support for detecting 'significant changes'.
- #120: Support for
SCHEDULE-FORCE-SEND
. - #121: iCal demands parameters containing the + sign to be quoted.
- #122: Don't generate REPLY messages for events that have been cancelled.
- #123: Added
SUMMARY
to iTip messages. - #130: Incorrect validation rules for
RELATED
(should beRELATED-TO
). - #128:
ATTACH
in iCalendar isURI
by default, notBINARY
. - #131: RRULE that doesn't provide a single valid instance now throws an
exception. - #136: Validator rejects all control characters. We were missing a few.
- #133: Splitter objects will throw exceptions when receiving incompatible
objects. - #127: Attendees who delete recurring event instances events they had already
declined earlier will no longer generate another reply. - #125: Send CANCEL messages when ORGANIZER property gets deleted.
3.3.1
- Changed: It's now possible to pass DateTime objects when using the magic
setters on properties. ($event->DTSTART = new DateTime('now')
). - #111: iTip Broker does not process attendee adding events to EXDATE.
- #112: EventIterator now sets TZID on RECURRENCE-ID.
- #113: Timezone support during creation of iTip REPLY messages.
- #114: VTIMEZONE is retained when generating new REQUEST objects.
- #114: Support for 'MAILTO:' style email addresses (in uppercase) in the iTip
broker. This improves evolution support. - #115: Using REQUEST-STATUS from REPLY messages and now propegating that into
SCHEDULE-STATUS.
3.3.0
- We now use PSR-4 for the directory structure. This means that everything
that was used to be in thelib/Sabre/VObject
directory is now moved to
lib/
. If you use composer to load this library, you shouldn't have to do
anything about that though. - VEVENT now get populated with a DTSTAMP and UID property by default.
- BC Break: Removed the 'includes.php' file. Use composer instead.
- #103: Added support for processing [iTip][iTip] messages. This allows a user
to parse incoming iTip messages and apply the result on existing calendars,
or automatically generate invites/replies/cancellations based on changes that
a user made on objects. - #75, #58, #18: Fixes related to overriding the first event in recurrences.
- Added: VCalendar::getBaseComponent to find the 'master' component in a
calendar. - #51: Support for iterating RDATE properties.
- Fixed: Issue #101: RecurrenceIterator::nextMonthly() shows events that are
excluded events with wrong time