v2.0.0
Version 2.0.0 release of JavaCalTools increases RFC compliance, adds github automation
Project Infrastructure & CI/CD
- Java 17 Upgrade: Formally updated the project requirement to Java 17, including updates to Maven compiler settings and Eclipse classpath configurations.
- GitHub Actions Automation: Introduced new workflows for automated unit testing (with Codecov integration), security scanning, and automated deployment to Maven Central.
- Dependency Management: Switched to
opencsv5.12.0 and updated other core libraries likecommons-codecand JUnit 5 to their latest versions. - Dependabot Integration: Added a configuration file to automate weekly security and version updates for Maven dependencies.
RFC Compliance & Core Features
- RFC 9073 Support: Implemented new components and properties for event publishing, including
PARTICIPANT,VLOCATION, andVRESOURCE. - RFC 9074 Enhancements: Added support for
VALARMextensions, specifically thePROXIMITYandACKNOWLEDGEDproperties. - RFC 7986 Metadata: Integrated new
VCALENDARlevel properties such asNAME,UID, andREFRESH-INTERVAL. - Improved iTIP Support: Enhanced RFC 5546 protocol support with stricter
METHODvalidation for calendar exchanges. - SimpleProperty Base Class: Introduced an abstract
SimplePropertyclass to reduce code duplication for properties likeLOCATIONandNAME.
Parser & Data Handling
- Streaming Parser Optimization**: Improved the
ICalendarParserfor better memory efficiency when handling large files and added performance monitoring capabilities. - Stricter Validation**: Added
PARSE_STRICTandPARSE_LOOSEmodes to property constructors to allow for more granular control over RFC compliance during ingestion. - Text Escaping: Enhanced handling and validation of special characters and line folding in accordance with RFC 5545 specifications.
Documentation & Quality Assurance
- Expanded Test Suite: Increased total test count to 716 across 80+ classes, covering edge cases for property validation and recurrence rule expansion.
- New Contributing Guidelines: Created a comprehensive
CONTRIBUTING.mddetailing development setup, code style (Google Java Style), and pull request processes. - README Revamp: Completely overhauled the project documentation with modern badges, quick-start code examples, and an RFC compliance matrix.
- Javadoc Standards: Established requirements for Javadoc on all public APIs, including mandatory parameter and exception documentation.