kizitonwose/Calendar
 Watch   
 Star   
 Fork   
2025-07-16 23:21:43
Calendar

2.8.0

Compose (Android):

  • Bump Compose UI to version 1.8.3

Compose (Multiplatform):

Kotlin DateTime 0.7.x comes with some API changes that have been inherited by the multiplatform calendar which depends on it.

The most important changes are:

  • Addition of the YearMonth type, which replaces the one previously provided by the calendar library. You'll need to replace the imports com.kizitonwose.calendar.core.YearMonth with kotlinx.datetime.YearMonth.
  • Removal of kotlinx.datetime.Clock, please use kotlin.time.Clock instead.

Note that there are some method and field name differences between the YearMonth previously provided by the library and the new one in the Kotlin DateTime library. The relevant methods and fields are listed below.

com.kizitonwose.calendar.core.YearMonth kotlinx.datetime.YearMonth
atStartOfMonth() firstDay
atEndOfMonth() lastDay
lengthOfMonth() numberOfDays
atDay() onDay()

See the release notes for Kotlin DateTime 0.7.0 for all changes.

Dependencies:

  • Bump AGP to 8.11.1
2025-05-18 00:51:55
Calendar

2.7.0

Compose (Android & Multiplatform) :

  • Bump Compose UI to version 1.8.1 (Android) and 1.8.0 (Multiplatform)

Dependencies:

  • Bump AGP to version 8.10.0
  • Bump Kotlin to version 2.1.21
2025-01-19 20:37:29
Calendar

2.6.2

View:

  • Allow overriding calculateExtraLayoutSpace in the layout manager.
  • Minimum SDK version is now 21 due to a bump in RecyclerView version.

Compose:

The following methods are now available in the compose module:

Month calendar:

  • scrollToDate
  • scrollToDay
  • animateScrollToDate
  • animateScrollToDay

Week calendar:

  • scrollToDate
  • scrollToDay
  • animateScrollToDate
  • animateScrollToDay

Year calendar:

  • scrollToDate
  • scrollToDay
  • scrollToMonth
  • animateScrollToDate
  • animateScrollToDay
  • animateScrollToMonth

Note that unlike the view system (RecyclerView) which allows offset calculation when the scroll target index becomes visible on the screen, compose (LazyList) requires you to provide the desired scroll offset for the target index before initiating the scroll. Therefore, the current implementation assumes equal-sized headers in each item to be able to calculate the day offset in the target index.

2024-12-08 18:57:15
Calendar

2.6.1

Compose (Android & Multiplatform) :

  • Bump Compose UI to version 1.7.5 (Android) and 1.7.1 (Multiplatform)

Dependencies:

  • Bump AGP to version 8.7.3
  • Bump Desugar to version 2.1.3
2024-09-21 22:12:33
Calendar

2.6.0

Compose (Android & Multiplatform) :

  • Bump Compose UI to version 1.7.2 (Android) and 1.7.0-beta02 (Multiplatform).

Dependencies:

  • Bump Kotlin to version 2.0.20
  • Bump AGP to version 8.5.2
2024-08-03 16:41:56
Calendar

2.6.0-beta04

Compose (Android & Multiplatform) :

  • Rename year calendar composable parameter columns to monthColumns.

View:

  • Add YearCalendarView class to match the year calendar composable available in the compose module. See documentation.
2024-08-03 16:37:34
Calendar

2.5.4

Compose (Android & Multiplatform) :

  • Rename year calendar composable parameter columns to monthColumns.

View:

  • Add YearCalendarView class to match the year calendar composable available in the compose module. See documentation.
2024-07-27 15:55:14
Calendar

2.6.0-beta03

Compose (Android & Multiplatform) :

Add HorizontalYearCalendar and VerticalYearCalendar composables for compose version 1.7.x. See documentation.

Compose Multiplatform:

  • Remove Java Serializable interface implementation from the included YearMonth class.
  • Add kotlinx.serialization YearMonthIso8601Serializer and YearMonthComponentSerializer classes.
2024-07-27 15:21:39
Calendar

2.5.3

Compose (Android & Multiplatform) :

Add HorizontalYearCalendar and VerticalYearCalendar composables for compose version 1.6.x. See documentation.

2024-07-19 03:31:40
Calendar

2.6.0-alpha03

Compose Multiplatform:

Release the compose multiplatform artifact com.kizitonwose.calendar:compose-multiplatform, based on compose UI 1.7.0-beta03.

Usage:

commonMain.dependencies {
    implementation("com.kizitonwose.calendar:compose-multiplatform:2.6.0-alpha03")
}