Skip to content

Releases: ME-MarvinE/XCalendar

4.3.1 - Hotfix

20 Jan 18:21
1366bfc
Compare
Choose a tag to compare

Core

  • Fixed property DayOfWeek not working for days of week other than Monday #102

Full Changelog: 4.3.0...4.3.1

4.3.0 - Core Improvements

13 Jan 20:47
ca9cbe3
Compare
Choose a tag to compare

General

  • Added 'NavigationView Properties' section to PlaygroundPage property panel in sample apps #92
  • Changed MAUI sample app to use a flyout menu instead of a tab bar #94

Core

  • Added 'TryAdd' and 'TrySubtract' methods to DateTimeExtensions #85 and #87
  • Removed NavigationTimeUnit enum in favour of using System.TimeSpan for calendar navigation #90
  • Removed properties ForwardsNavigationAmount and BackwardsNavigationAmount from Calendar #84
  • Moved method 'NavigateDateTime' in Calendar to DateTimeExtensions and renamed it to 'Navigate' #96
  • Changed 'AddWeeks' method's 'value' parameter to be of type double instead of int in DateTimeExtensions #86
  • Renamed method 'NavigateCalendar' to 'Navigate' in Calendar #97
  • Fixed crash when Calendar tries to show the first ever or last ever week representable by the DateTime struct #88

Forms & MAUI

  • Removed 'EnumToStringConverter' and allowed input and parameter of type 'object' to be passed to 'StringCharLimitConverter' #93

Full Changelog: 4.2.1...4.3.0

4.2.1 - Layout Fixes and .NET 7

06 Dec 23:16
c5f44c8
Compare
Choose a tag to compare

General

  • Added 'Animated Swipable Calendar' example #72
  • Updated nuget package icons to be distinct from each other
  • Increased Android garbage collection nursery size in sample apps #73

Forms & MAUI

  • Fixed arrows not displaying correctly on some devices and other layout fixes #80

MAUI

  • Updated MAUI to .NET 7 (7.0.4.9)
  • Bumped CommunityToolkit.Maui from 1.3.0 to 3.0.0

4.2.0 - XCalendar.Maui Out of Pre-Release

20 Oct 23:05
bb1dfbc
Compare
Choose a tag to compare

There is a large performance issue on XCalendar.Maui compared to XCalendar.Forms despite largely sharing the same XAML and code-behind for controls, with both sharing the same logic residing in XCalendar.Core. Because of this I assume this is an issue with .NET MAUI's CollectionView but will continue to look for optimisations.

General

  • Bumped nuget packages
  • Fixed Multiple layout issues in the Maui sample app

Forms & MAUI

  • Removed property 'NavigatedDate' from DaysView. #69
  • Renamed CalendarView property 'NavigationTemplate' to 'NavigationViewTemplate'

Forms

  • Replaced StackLayouts containing few children with Grids.

MAUI

  • Bumped nuget package 'CommunityToolkit.Maui' to 1.3.0
  • Removed redundant ContentView in 'DaysView' implementation. This should improve performace.
  • Fixed NavigationView layout being left-aligned

4.1.0 - More Calendar Components

07 Sep 21:22
Compare
Choose a tag to compare

You can now create your own CalendarView by using the new controls 'NavgationView' and 'DaysView'.

General

  • Added more properties (Mainly colours) to property panel in sample app
  • Added colour dialog to sample app
  • Added 'Customising A Day' example to sample app
  • Removed custom implementation switch in sample app playground page
  • Fixed not being able to scroll through property panel in MAUI sample app playground page
  • Fixed issues with dialogs in sample app
  • Fixed some inconsistencies in the wiki

Core

  • Changed the Calendar to not change the Days property internally. This was causing unexpected behaviour with bindings.
  • Fixed default value of BackwardsNavigationAmount being 1 instead of -1 in Calendar

Forms & MAUI

  • Added 'DaysView' control
  • Added 'NavigationView' control
  • Removed property DayNameTextColor from CalendarView
  • Removed border properties from 'DayView'. CalendarView's DayTemplate can be used to add a border instead. This should improve performance in cases where border properties were not being used.
  • Renamed 'CalendarDayView' to 'DayView'
  • Replaced all occurrences of 'MonthView' with 'DaysView'
  • Fixed custom controls' x:Name property not being unique (enough). This would sometimes cause incorrect references when using {x:Reference}.

Forms

  • Removed control 'FramedLabel'

MAUI

  • Removed control 'BorderedLabel'
  • Replaced all occurrences of Frame with Border
  • Replaced border strokeshape of RoundRectangle with Ellipse where necessary

4.0.0 - Generics and UI Decouple

10 Jul 13:52
510a283
Compare
Choose a tag to compare

A calendar can now be represented entirely in code without needing to reference a UI framework.

General

Core

  • Added interface 'ICalendar'
  • Added class 'Calendar'
  • Added IsCurrentMonth, IsToday, IsSelected, and IsInvalid properties to ICalendarDay
  • Added event DaysUpdating to Calendar. This is invoked at the start of the 'UpdateDays' method.
  • Removed nullability of DateTime in ICalendarDay
  • Removed class 'DefaultCalendarDayResolver'
  • Removed interface 'ICalendarDayResolver'
  • Removed property UseCustomDayNamesOrder from Calendar
  • Removed property DayResolver from Calendar

Forms & MAUI

  • Changed CalendarDayView to not have default values and require command properties and DateTime, IsCurrentMonth, IsSelected, IsToday, and IsInvalid to be set manually.
  • Changed CalendarView to require setting the properties ForwardsArrowCommand and the BackwardsArrowCommand manually
  • Moved Calendar functionality to XCalendar.Core (XCalendar.Core.Models.Calendar)
    • Fixed properties ForwardsArrowComandParameter and BackwardsArrowCommandParameter being of type 'ICommand' instead of 'object' in CalendarView

Forms

  • Replaced use of XCT TouchEffect with TapGestureRecognizers
  • Fixed Enums being in namespace 'XCalendar.Core.Enums' instead of 'XCalendar.Forms.Enums'

MAUI

  • Removed RangeObservableCollection
  • Removed SortableObservableCollection

3.1.0 - ICalendarDay and ICalendarDayResolver

29 May 02:27
Compare
Choose a tag to compare

You can now implement the ICalendarDay interface and make a corresponding ICalendarDayResolver in order to provide strongly typed references to your models from XAML!

General

  • Added DayResolver property to CalendarView
  • Added searchbar to ExamplesPage in sample apps
  • Renamed DayRangeMinimumDate to NavigationLowerBound in CalendarView
  • Renamed DayRangeMaximumDate to NavigationUpperBound in CalendarView
  • Removed ClampNavigationToDayRange from CalendarView. NavigationLowerBound and NavigationUpperBound can be used
  • Renamed DayState.OutOfRange to DayState.Invalid
  • Removed method InvalidateDays in CalendarView
  • Optimised the updating of MonthView dates in CalendarView
  • Fixed CalendarDay.PropertyChanged being invoked for DateTime regardless of if the value changed or not instead

Core

  • Added ICalendarDay
  • Added ICalendarDayResolver

MAUI

  • PlaygroundPage no longer crashes in the MAUI sample app on Windows. It was caused by a GridItemsLayout being used by the CalendarView. This is now temporarily replaced with a LinearItemsLayout.

3.0.2

25 May 19:33
Compare
Choose a tag to compare

General

  • Bump nuget packages

MAUI

  • Update to MAUI GA (6.0.312)

3.0.1 - Hotfix

18 May 16:16
Compare
Choose a tag to compare

General

  • Renamed method 'UpdateView' to 'EvaluateDayState' in CalendarDayView
  • Fixed EvaluateDayState not updating the DayState in CalendarDayView

3.0.0 - QoL and MAUI

14 May 16:07
6c3b1bd
Compare
Choose a tag to compare

General

  • Added nullability to CalendarDay.DateTime
  • Added property DayState to CalendarDayView
  • Added IsDayState[State] properties to CalendarDayView for each DayState (To help with xamarin/Xamarin.Forms#13571 and dotnet/maui#6849)
  • Added 'Examples' page to sample app
  • Added 'Event Calendar' example to sample app
  • Added 'Custom DatePicker Dialog' example to sample app
  • Renamed 'MainPage' to 'PlaygroundPage' in sample app
  • Added nuget package icon to source control
  • Fixed CalendarView dates not updating with StartOfWeekDayNamesOrder on initialisation

Forms

  • Separated project to 'XCalendar.Forms' and 'XCalendar.Core'
  • Renamed project from 'XCalendar' to 'XCalendar.Forms'

MAUI

  • Added pre-release for XCalendar.Maui
  • The MAUI sample app does not work on Windows in this version. Remove everything from PlaygroundPage to make it work on Windows.