If you're upgrading from version 1.x.x
to 2.x.x
, please keep in mind that version 2 is a total rewrite of the library with focus on performance. With that in mind, here are the breaking changes:
-
async()
methods have been removed as the calendar is now capable of handling really large date ranges without performance issues. The calendar data is generated as needed. The removed methods aresetupAsync()
andupdateMonthRangeAsync()
. Please use the methodssetup()
andupdateMonthData()
. -
updateMonthRange()
method has been renamed toupdateMonthData()
as it now allows you to optionally change the first day of the week if needed. -
daySize
property is no longer theSize
class type withheight
andwidth
values. It is now aDaySize
enum with three options -Square
,SeventhWidth
andFreeForm
. Please see theDaySize
enum documentation to understand each value. -
inDateStyle
enum property has been removed as it is now redundant. The in-dates are present in each month data, you can choose to hide them on the view or keep them. -
outDateStyle
enum property is still available. However, there are now two optionsEndOfRow
andEndOfGrid
. The previously available third optionNone
has been removed. You can simply hide the out-dates if you don't need them. -
scrollMode
enum property is now a boolean type namedscrollPaged
. Set this property tofalse
to have the previousScrollMode.CONTINUOUS
scroll behavior ortrue
to have the previousScrollMode.PAGED
behavior. -
DayOwner
enum has been renamed toDayPosition
. The matching case values are:DayOwner.PREVIOUS_MONTH
=>DayPosition.InDate
DayOwner.THIS_MONTH
=>DayPosition.MonthDate
DayOwner.NEXT_MONTH
=>DayPosition.OutDate
-
maxRowCount
property has been removed as there is now aWeekCalendarView
class that should be used if a week-based calendar is needed. The mainCalendarView
class is used for the month calendar implementation. -
hasBoundaries
property has been removed as it is no longer needed with the introduction of the week and month calendar implementations discussed above. -
monthMarginStart
|monthMarginTop
|monthMarginEnd
|monthMarginBottom
properties have been merged into onemonthMargins
property. -
monthPaddingStart
|monthPaddingTop
|monthPaddingEnd
|monthPaddingBottom
properties have been removed as they provided no real benefit. You can create a custommonthViewClass
and set the paddings there if needed.
If you're upgrading from version 0.3.x
to 0.4.x
or 1.x.x
, the main change is that the library moved from using ThreeTenABP to Java 8 API desugaring for dates. After following the new setup instructions, the next thing you need to do is change your imports for date/time related classes from org.threeten.bp.*
to java.time.*
.
You also need to remove the line AndroidThreeTen.init(this)
from the onCreate()
method of your application class as it's no longer needed.
Nothing to see here... yet 😉