iCalcreator 2.29.18 releaseNotes v2.29.1 Removal of all set-methods date(time)/interval ARRAY arguments as well as get-methods return date(time)/interval ARRAY formats DTSTART, DTEND, DUE, RECURRENCE_ID CREATED, COMPLETED, DTSTAMP, LAST_MODIFIED v2.29.2 Removal of all set-methods DateInterval ARRAY arguments as well as get-methods return DateInterval ARRAY formats REFRESH_INTERVAL, DURATION, TRIGGER RDATE, EXDATE FREEBUSY, RRULE, EXRULE v2.29.3 Rewrite of Vcalendar::parse() only string|array input allowed, file/url parse removed v2.29.4 Removal of deprecated methods Vcalendar::saveCalendar() Vcalendar::useCachedCalendar() Vcalendar::deleteProperty() Vcalendar::setProperty() Vcalendar::addComponent() CalendarComponent::deleteProperty() CalendarComponent::getProperty() CalendarComponent::setProperty() VetComponent::newComponent() VTimezone::newComponent() IcalXMLFactory::XMLfile2iCal() IcalXMLFactory::XMLstr2iCal() Removal of deprecated config/keys DELIMITER, DIRECTORY, FILENAME, DIRFILE, FILESIZE, FILEINFO All keys and (fixed) property values as constants available in IcalInterface v2.29.5 Implement rfc7986 new properties; COLOR, NAME, CONFERENCE, IMAGE, REFRESH-INTERVAL, SOURCE allow calendar-properties; UID, LAST-MODIFIED, URL, REFRESH-INTERVAL, SOURCE, COLOR, NAME, DESCRIPTION, CATEGORIES, IMAGE replace rfc5545 (date+unique_id) UID by rfc7986 guid UID v2.29.6 alter RRULE/EXRULE to single occurence v2.29.7 Allow iana-token (Other IANA-registered type) property PARAMETER names For ACTION and CLASS, iana-token / x-name VALUES are allowed However, IANA Properties still not supported v2.29.8 Vcalendar::sort() order adjustment v2.29.9 Conformed method names for Last-Modified, Request-Status, Related-to v2.29.10 fix other (Ms) timezones conversion to PHP timezones (ie map on offset) in RegulateTimezoneFactory, to be used before Vcalendar::parse v2.29.11 code reworks: StringFactory, SortFactory, CalAddressFactory, *Traits etc v2.29.12 Vtimezone::populate() moved to Util/VtimezonePopulateFactory::process() v2.29.13 CATEGORIES, RESOURCES no longer accepts array input v2.29.14 String asserts in set-methods for TEXT Valuetype properties v2.29.15 Vcalendar::returnCalendar() new fileName arg v2.29.16 Methods with DateTime arg now accepts DateTimeInterface v2.29.17 assert for method exists v2.29.18 xml header update v2.29.20 PHP 7.4 compability (Util/DateIntervalFactory, Util/StringFactory) v2.29.21 more 2.29.16 (DateTimeFactory, RecurFactory) v2.29.22 Issue #88, code style, PHP 7+ compability v2.29.23 StringFactory needle/haystack functions v2.29.24 Issue #87, RecurFactory split in 2, reworked more recur improved select base methods v2.29.25 bug RecurFactory::setRexRule() + RecurFactory2::assertRecur() rules v2.29.26 bug RecurFactory, BYDAY v2.20.27 docs: setCategories/setResources don't accepts array parameter setRrule(/setExrule) allows only one in component v2.29.28 bug RecurFactory2::recurWeekly2() v2.29.29 bug StringFactory::size75(), max rowlength v2.29.30 Issue #89 URL adapt, strip of value opt (urlencoded) prefix/suffix '<>' (IcalXMLFactory) SOURCE value-type conform v2.29.30b More issue #89 URL adapt, parse parameter v3.30.2 #89, URL (TZURL/SOURCE) for rfc (prescribed) property value, parameter VALUE type URI removed, parse adapt ParameterFactory::ifExistRemove() StringFactory::splitContent() StringFactory::colonIsPrefixedByProtocol() HttpFcatory::urlSet() URLTrait::setUrl() (also TZURL/SOURCE traits) v3.30.3 #89, URL (TZURL/SOURCE) value prefix (protocol) StringFactory::splitContent() / checkFixUriValue() HttpFcatory::urlSet() IcalXMLFactory::addXMLchildUri() / XMLgetProps() v3.39 3.4 release candidate PHP 7 (PHPStan/strict types) iCalBase static methodName methods moved to StringFactory iCalBase Component multi-prop methods moved to CalendarComponent CalAddressFactory::getCalAddresses() arg inclParams removed TRIGGERtrait : setTrigger() bug fix ATTENDEE/ORGANIZER (CalAddressFactory) value MAILTO prefix parameter EMAIL etc logic upd IcalvCard::iCal2vCards() arg bug 2.40 PHP8 2.40.1 removal of ext-debug in cmposer.json 2.40.2 test RecurMonthTest/RecurYearTest upd 2.40.3 PHP8 upd 2.40.4 Selectfactory::selectComponents bug flat:false, any:true, split:false DAILY, over night github#95 phpunit tests 2.40.5 removal of ext-debug in cmposer.json.... 2.40.6 more DAILY, over night github#95 2.40.7 more DAILY, over night github#95 2.40.8 github#98 setConfig arg 2.40.9 more DAILY, over night github#95 2.40.10 recur bug, RecurFactory2 2.40.11 more PHP8 updates, StringFactory::getRandChars() upd 2.41.1 rfc7808 new Vtimezone properties TZID-ALIAS-OF/TZUNTIL 2.41.2 rfc9074 new Valarm properties: UID, RELATED-TO, ACKNOWLEDGED, PROXIMITY 2.41.3 rfc9073 new properties, for Vevent, Vtodo, Vjournal : STRUCTURED-DATA for Vevent, Vtodo, Vjournal, Valarm : STYLED_DESCRIPTION 2.41.4 rfc9073 new component PARTICIPANT with new properties CALENDAR-ADDRESS/PARTICIPANT-TYPE new Vcalendar/component method participants2Attendees() 2.41.5 rfc9073 new subComponent VLOCATION with new property LOCATION-TYPE 2.41.6 method(s) Vcalendar/caledarComponent::getComponent() moved to IcalBase 2.41.7 rfc9073 new subComponent VRESOURCE with new property RESOURCE-TYPE restructure of abstract classes 2.41.8 (new) signatures of newValarm, newParticipant, newVlocation, newVresource methods 2.41.9 rfc7953 new component VAVAILABILITY with new property BUSYTYPE rfc7953 new component AVAILABLE NO support for AVAILABLE in Vcalendar::selectComponents() 2.41.10 upd VtimezonePopulateFactory::process(), accept multiple timeszones arg timezone as string|string[] 2.41.11 rfc9074 new Valarm sub-component VLOCATION 2.41.14 rfc 6868 Parameter Value Encoding in iCalendar and vCard TEST 2.41.12 rfc5870 Uniform Resource Identifier for Geographic Locations ('geo' URI) rfc9073 (7.2. Location) defines VLOCATION with a GEO property rfc9074 (8. Alarm Proximity Trigger) add VLOCATION(s) to VALARM with a URL 'geo' URI [RFC5870] property As for now, accept VLOCATION with properties URL (with 'geo' URI) and GEO (without) any Vcalendar component with URL and with 'geo' URI any ?? or only VLOCATION URL 2.41.13 Icalbase::$OTHERPROPS renamed to $SELSORTPROPS 2.41.14 DateTimeFactory::setDate() will also use ParameterFactory::setParams() 2.41.15 rfc6868 Parameter Value Encoding in iCalendar and vCard 2.41.16 rfc7529 Non-Gregorian Recurrence Rules in the Internet Calendaring and Scheduling Core Object Specification (iCalendar) new RRULE elements RSCALE, SKIP accepted For Vcalendar::selectComponents(), if RRULE RSCALE set only GREGORIAN accepted 2.41.17 Vcalendar/component method participants2Attendees() upd (Participant uid+type as x-params) 2.41.18 using.html doc upd 2.41.19 Vcalendar/Vevent/Vtodo method vlocationNames2Locations()() upd (Vlocation uid+type as x-params) upd args component::newVLocation( [ type [, name ]] ) 2.41.20 upd multi Decription 2.41.21 Vcalendar/Vevent/Vtodo method vresourceNames2Resources() upd (Vresource uid+type as x-params) upd args component::newVresource( [ type [, name ]] ) 2.41.22 upd args Vcalendar::newVavailability( [ busytype [, start [, end [, duration ]]]] ) 2.41.23 upd args Vcalendar::newVtimezone( [ tzid ] ) 2.41.24 upd args Vcalendar::newVevent( [ dtstart [, dtend [, duration [, summary ]]]] ) 2.41.25 upd signatures of newValarm, accepts DateTimeInterface 2.41.26 upd args Vcalendar::newVtodo( [ dtstart [, due [, duration [, summary ]]]] ) 2.41.27 upd args Vcalendar::newVJournal( [ dtstart [, summary ]] ) 2.41.28 upd args Vcalendar::newVfreebusy( [ dtstart [, dtend [, duration ]]] ) bug component::setDtend() 2.41.29 upd createCalendar/createComponent methods 2.41.30 Vcalendar/Component::getXprop() consecutive invokes bug 2.41.31 Parsetest upd 2.41.32 doc upd GEO/NAME component occurence CONTACT/DESCRIPTION/LOCATION/NAME property get-methods and IcalXMLFactory::compProps2Xml() logic 2.41.33 Vcalendar::setComponents() bug, insert Vtimezone(s) first (not last) 2.41.34 upd participants2Attendees() : Participant-type to (ATTENDEE) parameter ROLE 2.41.35 new Component::isset() methods 2.41.36 All property contents are now (class) Pc, an ArrayObject extend class get methods return property->value or Pc (dep. arg inclParam) For get return: $return::{'value'} (params) <=> $return->value (params) Pc has also getter/setter methods etc rewrite Vcalendar/Component::set methods Vcalendar/Component::set methods accepts Pc as first arg 2.41.37 Component::createAttendee() param format bug 2.41.38 Altered Freebusy::getFreebusy() output, fbBusyType now in params 2.41.39 Multi-properties help methods moved to trait 2.41.40 Component::getRequeststatus() bug, return array 2.41.41 Component::getExrule() bug, return bool|array|Pc 2.41.42 Pc::getParams() new arg (bool) asXparamkey 2.41.43 int property value Component::is/set-mehods bug 2.41.44 github::#101, Tzuntil trait bug and upd logic 2.41.45 github::#99, SelectFactoy::selectComponents() bug 2.41.46 github::#100, Component::getExdate() bug, return bool|array|Pc 2.41.47 Extended tests 2.41.48 Refresh_interval trait bug 2.41.49 Calendar parse upd 2.41.50 vCalendar/CalenadarComponent::getComponents() 2.41.51 ALL multi-props have method, return array, values only / full 2.41.52 opt URI (email) mailto-prefix in lowercase 2.41.53 new class factory methods, upd class constructs removed deleteDtstamp/deleteUid methods (use set-method to recreate) 2.41.54 moved Vcalendar/Component parser logic to parser classes 2.41.55 moved Vcalendar/Component format logic to formatter classes 2.41.56 Vtimezone, Util and misc code tidy up... 2.41.57 GitHub#103 (non-PHP timezones) Note Vtimezone::TZID property still accepts any timezone, RegulateTimezoneFactory deprecated (RegulateTimezoneFactoryTest removed) 2.41.58 upd (Traits/) getAll-methods return type 2.41.59 code clean up, phpdoc args etc 2.41.60 setTzOffset conform logic 2.41.61 GitHub#104 (TZUNTIL bug) 2.41.62 Geo/Version property (empty-)bug 2.41.63 new Pc::getValueParam() method upd Property parameters format logic 2.41.64 SelectFactory method argument typing 2.41.65 upd Pc::getParams() return types 2.41.66 upd tests and format property output logic 2.41.67 DateTimeInterface adapt 2.41.68 more code clean up, methods args etc 2.41.69 Util/IcalXMLFactory split up in Xml/Formatter+Parser 2.41.70 more 2.41.57 (timezones)