Releases: horde/ActiveSync
Release list
3.0.1
fix(activesync): treat collection lock contention as transient during PING
Merge pull request #74 from horde/security/activesync-hardening
docs(activesync): note ValidateCert validator extraction in H6 todo
fix(activesync): correct ValidateCert OpenSSL result handling
fix(activesync): harden Autodiscover parsing and escape XML responses
fix(activesync): harden HTTP Basic auth header parsing
3.0.0
3.0.0-RC5
fix(activesync): harden base64 URI decoding for GET requests
ci: add ci-platform block and regenerate workflow from RC6 phar
ci: regenerate workflow from RC5 phar templates
ci: regenerate workflow from RC4 phar templates
ci: regenerate workflow from RC3 phar templates
ci: install horde-components CI pipeline
3.0.0-RC4
fix(test): use PHP 8.3-compatible syntax in SyncTimeBudgetTest
fix(activesync): harden Autodiscover v2 (JSON) response handling
fix(activesync): harden Autodiscover v2 (JSON) response handling
feat(activesync): detect task recurrence-instance master changes
fix(activesync): return scalar conflict status from importMessageChange
feat(activesync): detect task recurrence-instance master changes
Merge pull request #68 from horde/fix/activesync-ping-stategone-sync-add
Merge remote-tracking branch 'origin/FRAMEWORK_6_0' into fix/activesync-ping-stategone-sync-add
docs(activesync): convert TODO.rst to todo.md
feat(activesync): export recurring MeetingRequest from iCal
fix(activesync): recover PING StateGone and fix SYNC_ADD duplicate UID
docs(activesync): close Find/KQL backlog and expand test coverage
docs(activesync): refresh Find KQL documentation
Merge pull request #66 from horde/fix/foldersync-required-loop-guard
Merge pull request #65 from powercycle/fix-deprecations
fix(activesync): address PHP 8 deprecations without state regressions
fix(activesync): guard FOLDERSYNC_REQUIRED infinite retry loop
Merge pull request #64 from horde/fix/incomplete-tasks-filter
fix(activesync): pass FilterType to driver for incomplete tasks
feat(activesync): adaptive Sync response time budget
Potential fix for pull request finding
Potential fix for pull request finding
Potential fix for pull request finding
feat(activesync): adaptive Sync response time budget
fix(activesync): initialize deviceinfo in Provision wipe path
fix(activesync): complete account-only remote wipe per user
fix(activesync): harden account-only wipe state and add unit tests
fix(activesync): complete account-only remote wipe per user
Merge pull request #61 from horde/fix/device-isset-version
Potential fix for pull request finding
fix(activesync): make device version visible to isset()
Merge pull request #60 from horde/fix/meeting-cancellation-eas-export
Potential fix for pull request finding
Potential fix for pull request finding
Potential fix for pull request finding
fix(activesync): export METHOD=CANCEL iMIP as Meeting.Canceled
Merge pull request #59 from horde/feat/meetingrequest-disallow-new-time-proposal
Potential fix for pull request finding
Potential fix for pull request finding
feat(activesync): export DisallowNewTimeProposal in mail MeetingRequest
Merge pull request #58 from horde/feat/legacy-collection-commands
Potential fix for pull request finding
Potential fix for pull request finding
feat(activesync): implement legacy collection folder commands
Merge pull request #57 from horde/fix/sync-missing-remove-server-entryid
Potential fix for pull request finding
docs(collections): document FolderGone throw in addCollection
fix(activesync): harden Sync error handling and EAS 16 MODIFY replies
fix(activesync): use ServerEntryId in Sync missing Remove replies
Merge pull request #56 from horde/feat/polish_EAS16.1
Potential fix for pull request finding
fix(activesync): emit empty proposed-time tags to clear EAS 16.1 proposals
refactor(activesync): replace broken TestServer factory with ActiveSyncServerTrait
Update Collections.php
feat(activesync): implement EAS 16.1 protocol support
feat(activesync): complete EAS 16.1 baseline and refresh docs
fix/cleanup
feat(activesync): expand EAS Find KQL parser for mailbox search
Merge pull request #51 from horde/feat/finish_EAS16.0
fix: add isset() guard for EAS 16.0 forbidden field stripping
fix: use !== false check and clear _exists when stripping EAS 16.0 forbidden fields
test(appointment): add regression test for setRecurrence EAS 16.0 firstdayofweek
feat(activesync): harden EAS 16.0 appointments
Revise ActiveSync TODO with current tasks and priorities
Revise README for improved clarity and structure
fix(activesync): use correct MAX_WINDOW_SIZE constant in SyncCache
3.0.0-RC3
Merge pull request #50 from horde/fix/find_meetinginvitation
feat(activesync): add EAS 16 Find and improve meeting invitation RSVP support
test: address review feedback on PSR-4 layout
chore: metadata
test: Modernize test suite to PSR-4 layout and remove dependency on Horde_Test
refactor(activesync): use Horde\Util\HordeString PSR-4
fix(activesync): emit correct FolderType on ItemOperations fetch
fix(activesync): parse calendar InstanceId as Horde_Date on SYNC_MODIFY
Merge pull request #47 from horde/fix/find_result_itemOperation
Merge pull request #46 from horde/fix/FIND_skip-nonexistent_messages
fix(activesync): return object-not-found for deleted ItemOperations fetches
fix(activesync): skip missing messages in Find results
3.0.0-RC2
3.0.0-RC1
Merge pull request #41 from horde/fix/ActiveSync_loops
fix(activesync): consolidate state constants and document initial-sync ACK
fix(ActiveSync): force KEYMISMATCH when loading corrupt sync_data
Fix: Filename typo
fix(ActiveSync): harden state persist against races and sync_data corruption
docs(ActiveSync): clarify row lock behavior and sendNextChange contract
fix(activesync): serialize parallel state access with SQL and Mongo row locks
fix(activesync): repair initial sync, corrupt state, and nested MIME export
fix(activesync): reject corrupt collection sync_data on load and save
fix(activesync): separate PING watermark from SYNC modseq to stop iOS mail loops
refactor(ActiveSync): use HordeString instead of Horde_String in METHOD handling
Update MeetingRequest.php
Simplify method retrieval in fromvEvent
Refactor METHOD handling in EasMessageBuilder
fix(Iterator): use void return type for next() instead of ReturnTypeWillChange
fix(Device): restore isset guard for OS property access
Fix php and phpunit deprecations
3.0.0-beta3
style: Prefer ?? over no-op foo ? foo : bar
Enhance attendee parameter validation
Improve date handling in getDate method
Update Wbxml.php
Refactor attribute assignment logic in Base.php
Update Sync.php
Update message class handling in Importer.php
Change folder deletion origin to PIM
Remove duplicate endTag call
Merge pull request #34 from horde/fix/Modern_iOS_Notes_Multiplexing
Update DeviceTest.php
Update iOS note multiflex behaviour in Device.php
Refactor ensureUtf8 to handle exceptions and improve logic
Enhance PING request collection handling
Refactor collection sync and pingable logic
Handle orphan collections during PING in ActiveSync
Add version check for hierarchy requirement
Add hierarchy check before polling for changes
Request FolderSync if no hierarchy sync key found
Merge pull request #31 from horde/fix/duplicate_syncKey
Add TODO for switching to DI PSR-3 Logger
Refactor sync state saving logic
refactor: Use PSR-4 version of horde/compress
chore: Update workflow dependency
Fix typo in Exception.php for AIRSYNCBASE_LOCATION
3.0.0-beta2
fix: Replace deprecated call with explicit factory call.
Refactor unserialize calls to use _unserializeState
Add VERSION_SIXTEENONE constant for version 16.1
Merge pull request #22 from horde/feat/EAS_version_handling_per_user_or_device
refactor: Remove the extra logic - this is now handled in Horde_Core_ActiveSync_Driver->getUser() directly.
refactor: See also horde/Core#75 - Keep the horde specific stuff in core and apps
chore(hordeyml): Add keywords for packagist
style: php-cs-fixer
fix: #23 PHP 8.4 deprecation of implicit nullable type
Resolve user for device handling in ActiveSync
Merge pull request #21 from horde/feat/issue-core-67-modern-serialization
chore(hordeyml): Update autoloader rules
test: Modernize test suite (2 remaining test failures)
fix: serialization version upgrade
test: cover serialization issues
fix: Same version bug mentioned by @amulet1, probably fixed in his commits I cannot read.
fix: Version bug mentioned by @amulet1 in review
fix(activesync): Missing property declarations to Exporter/Base
feat(activesync): add modern __serialize()/__unserialize() methods to Folder classes
3.0.0-beta1
fix(activesync): harden error handler against missing collection data