Skip to content

v2.0.0

Choose a tag to compare

@craigk5n craigk5n released this 27 Jan 15:44
· 4 commits to master since this release

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 opencsv 5.12.0 and updated other core libraries like commons-codec and 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, and VRESOURCE.
  • RFC 9074 Enhancements: Added support for VALARM extensions, specifically the PROXIMITY and ACKNOWLEDGED properties.
  • RFC 7986 Metadata: Integrated new VCALENDAR level properties such as NAME, UID, and REFRESH-INTERVAL.
  • Improved iTIP Support: Enhanced RFC 5546 protocol support with stricter METHOD validation for calendar exchanges.
  • SimpleProperty Base Class: Introduced an abstract SimpleProperty class to reduce code duplication for properties like LOCATION and NAME.

Parser & Data Handling

  • Streaming Parser Optimization**: Improved the ICalendarParser for better memory efficiency when handling large files and added performance monitoring capabilities.
  • Stricter Validation**: Added PARSE_STRICT and PARSE_LOOSE modes 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.md detailing 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.