Skip to content

Latest commit

 

History

History
639 lines (412 loc) · 30.7 KB

RELEASE_NOTES.md

File metadata and controls

639 lines (412 loc) · 30.7 KB

0.70.0.0.2

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly6

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly5

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly4

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly3

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly2

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.

0.70.0-nightly1

VERY EARLY PREVIEW, DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING.
This is an extremely early preview of a deep change in the structure of Fabulous, it won't be compatible with your existing code right away.
To learn more about this release, please read the PR below and look at the CounterApp sample on the PR's branch.

0.61.0

  • [Fabulous.XamarinForms] Add support for Xamarin.Forms 5.0 (fabulous-dev#845)
  • [Fabulous.XamarinForms] Changed diffing of Label.Text and Label.FormattedText to avoid crash in some edge cases (fabulous-dev#825)

0.61.0-preview1

  • [Fabulous.XamarinForms] Add initial support for Xamarin.Forms 5.0 (new features not included)
  • [Fabulous.XamarinForms] Changed diffing of Label.Text and Label.FormattedText to avoid crash in some edge cases

0.60.0

BREAKING CHANGES: Please read the migration guide to know how to update to this new version (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/migration-guide-to-0.60.html) Also take a look here to learn more about F# 5.0 and Fabulous (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/pitfalls.html)

  • [All] Reduced allocations (fabulous-dev#805)
  • [All] Proper version constraints for the NuGet packages (fabulous-dev#797)
  • [All] Add FSharp.Core as a public dependency (fabulous-dev#796)
  • [Fabulous.XamarinForms] Fixed ViewRef to be updated each time the target control changes (fabulous-dev#812)
  • [Fabulous.XamarinForms] CollectionView Header and Footer properties accept ViewElement and string values (fabulous-dev#817)
  • [Fabulous.XamarinForms] [Templates] Add native main menu to MacOS template (fabulous-dev#806)
  • [Fabulous.XamarinForms] [Templates] Updated templates to target Android 11 by default (fabulous-dev#814)
  • [Fabulous.XamarinForms] [Templates] Fixed fabulous-cli version referenced in templates (fabulous-dev#814)

0.60.0-preview4

  • [Fabulous.XamarinForms] [Templates] Updated templates to target Android 11 by default
  • [Fabulous.XamarinForms] [Templates] Fixed fabulous-cli version referenced in templates
  • [Fabulous.XamarinForms] [Samples] Updated samples to target Android 11

0.60.0-preview3

  • [Fabulous.XamarinForms] Fixed ViewRef to be updated each time the target control changes (fabulous-dev#812)

0.60.0-preview2

  • [Fabulous.XamarinForms] Disabled StructMemoization to check if it's the source of some issues

0.60.0-preview1

0.57.0

BREAKING CHANGES: Please read the migration guide to know how to update to this new version (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/migration-guide-to-0.57.html)

0.56.0

  • [Fabulous.XamarinForms] Added support for Xamarin.Forms 4.7 (fabulous-dev#777)

0.55.0

We changed the way Fabulous reuses controls when you provide a new view definition in the view function. By setting an optional key value on ViewElement, you can hint Fabulous which control it should reuse for better performance. More information here: https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/views-perf.html#optimizing-view-performance-in-advanced-scenarios-the-key-property

  • [Fabulous.XamarinForms] Added support for keyed nodes reuse (fabulous-dev#721)

0.55.0-preview6

  • [Fabulous.XamarinForms] Changed diff algorithm for collections to fix OutOfRange exceptions (fabulous-dev#775)

0.55.0-preview5

  • [Fabulous.XamarinForms] Fixed an issue where attached properties were incorrectly unset (fabulous-dev#766)

0.55.0-preview4

  • [Fabulous.XamarinForms] Fixed an issue duplicating items in ListView/CollectionView (fabulous-dev#765)
  • [Fabulous.XamarinForms] [Templates] Templates will now automatically attempt to install fabulous-cli locally to make LiveUpdate available (fabulous-dev#756)
  • [Fabulous.XamarinForms] [Templates] Templates migrated to use AndroidX instead of Android Support libraries (fabulous-dev#750)
  • [Fabulous.XamarinForms] [Templates] Templates now include a default .gitignore file (fabulous-dev#757)

0.55.0-preview3

  • [Fabulous.XamarinForms] Fixed an issue where ListView/CollectionView were not reusing rows correctly (fabulous-dev#748)
  • [Fabulous.XamarinForms] Fixed a regression with Grid.RowDefs/Grid.ColDefs (fabulous-dev#746)

0.55.0-preview2

  • Includes v0.54.1 changes

0.55.0-preview1

Preview build: We changed the way Fabulous reuses controls when you provide a new view definition in the view function. By setting an optional key value on ViewElement, you can hint Fabulous which control it should reuse for better performance. More information here: https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/views-perf.html#optimizing-view-performance-in-advanced-scenarios-the-key-property

  • [Fabulous.XamarinForms] Added support for keyed nodes reuse (fabulous-dev#721)
  • [Fabulous.CodeGen] Reworked the generation of attached properties updates (fabulous-dev#721)

0.54.2

  • [Fabulous.XamarinForms] Fixed an issue where attached properties were incorrectly unset (fabulous-dev#767)

0.54.1

  • [Fabulous.XamarinForms] Fixed support for Xamarin.Forms 4.6.0.772 (fabulous-dev#740)
  • [Fabulous.XamarinForms] Added missing NavigationPage.IconColor attached property (fabulous-dev#740)

0.54.0

  • [Fabulous.XamarinForms] Added support for Xamarin.Forms 4.6 (fabulous-dev#726)
  • [Fabulous.XamarinForms] Fixed warnings about missing icons when building iOS projects (fabulous-dev#730)
  • [Fabulous.CodeGen] Added support for custom AttributeKey (fabulous-dev#724)
  • [All] Added the new icons to NuGet packages, also symbols pushed as snupkg files (fabulous-dev#718)

0.53.2

  • [Fabulous.XamarinForms] Use XamarinFormsProgram.mkProgram and similar to correctly support LiveUpdate (fabulous-dev#716)

0.53.1

  • [All] Added a new Fabulous icons to the repository and the samples (fabulous-dev#714)

0.53.0

BREAKING CHANGES: Please read the migration guide to know how to update to this new version (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/migration-guide-to-0.53.html)

  • [Fabulous.XamarinForms] Added support for Xamarin.Forms 4.5 (fabulous-dev#709)
  • [Fabulous.XamarinForms] Added missing RemainingItemsThreshold to ItemsView and derivative controls (fabulous-dev#694)
  • [Fabulous.CodeGen] Supports reference to existing mapping files, enabling 3rd party libs binding generation (fabulous-dev#690)
  • [Fabulous.XamarinForms] [Generator] Now able to generate bindings for 3rd party libs (fabulous-dev#690)

0.52.0

0.51.0

  • [Fabulous.XamarinForms] Added a scrollTo property to ListView, ListViewGrouped, Carousel and CollectionView (fabulous-dev#616)
  • [Fabulous.XamarinForms] Fixed 2 issues with Grid ColumnDefinitions/RowDefinitions (fabulous-dev#627)
  • [Fabulous.XamarinForms] Fixed an issue with cell recycling in ListView/ListViewGrouped (fabulous-dev#617)

0.50.3

  • [Fabulous.XamarinForms] Fixed an issue where the application could crash when LiveUpdate tries to refresh the app with an invalid view (fabulous-dev#594)
  • [Fabulous.XamarinForms] Fixed an issue where an InvalidCastException could occur (fabulous-dev#597)

0.50.2

  • [Fabulous.XamarinForms] Fixed an issue where attached properties could be not applied correctly (fabulous-dev#592)

0.50.1

  • [Fabulous.XamarinForms] [Extensions] Added an extension for FFImageLoading (fabulous-dev#581)
  • [Fabulous.XamarinForms] Fixed an issue where an InvalidCastException could occur (fabulous-dev#589)

0.50.0

BREAKING CHANGES: This release introduces many small breaking changes to provide better type-safety and reducing update calls when using events. Please read the migration guide to know how to update to this new version (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/migration-guide-to-0.50.html)

  • [Fabulous.XamarinForms] Changed the View API to provide better type-safety for properties (see migration guide for more information)
  • [Fabulous.XamarinForms] Changed the behavior of event handlers. Events will no longer be triggered by Fabulous.XamarinForms when it's incrementally updating the properties (e.g. changing Text triggering TextChanged). This was changed to prevent unnecessary calls to the update function and in some cases an infinite loop on Android
  • [Fabulous.CodeGen] Introduced Fabulous.CodeGen, a new library, to help build your own library for your favorite framework using the MVU architecture with Fabulous. More documentation to come.

0.50.0-alpha.7

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] Fix issue for NavigationPage reuse

0.50.0-alpha.6

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] TableView now uses TableRoot and TableSections
  • [Fabulous.XamarinForms] Property methods now have a similar name than before.

0.50.0-alpha.5

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] Fixed bug preventing use of events on ListView
  • [Fabulous.CodeGen] Added helpers for Optimizers
  • [Fabulous.CodeGen] Added missing converters for Double.NaN and Single.NaN

0.50.0-alpha.4

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] ListView now only accepts Cell types as items

0.50.0-alpha.3

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] Fixed an issue where an IndexOutOfRangeException could occur
  • [Fabulous.XamarinForms] Made View a real static class (can no longer be instantiated)
  • [Fabulous.XamarinForms] Removed some read-only properties
  • [Fabulous.XamarinForms] Fixed member ordering for ListView and ListViewGrouped
  • [Fabulous.CodeGen] Changed the way properties are resolved, to rely less on BindableProperty fields.

0.50.0-alpha.2

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] Fixed an issue where events could be subscribed to several times in a row.
  • [Fabulous.XamarinForms] Fixed naming/ordering issues in some exposed properties

0.50.0-alpha

This is an alpha release of an ongoing work with multiple breaking changes that might not be in the final version. Please only use this version with a backup of your solution.

  • [Fabulous.XamarinForms] Fabulous is no longer triggering property-related events when internally updating the value. This fixes the really annoying infinite looping issue on Android once and for all!
  • [Fabulous.XamarinForms] Properties asking for an obj value are now requesting a proper type
  • [Fabulous.XamarinForms] Missing controls and properties have been added. Some existing properties have changed names.
  • [Fabulous.CodeGen] Created this new library from the Generator that was private to Fabulous. This library allows creating your own Generator for your framework. It has been created with extensibility and overridability in mind.
  • [Fabulous.XamarinForms] [Generator] A new .NET console app (will be a .NET CLI tool in the future) that uses the new Fabulous.CodeGen lib to replace the existing Generator of Fabulous

0.43.0

  • [Fabulous.XamarinForms] Recompiled to resolve the compile errors preventing to upgrade to Xamarin.Forms 4.3, due to breaking changes. Proper support for new stuff in Xamarin.Forms 4.3 will be added later. (fabulous-dev#574)

0.42.0

0.41.1

0.41.0

  • [Fabulous.XamarinForms] Added support for Xamarin.Forms 4.1 - You can now use the new CheckBox control :) (fabulous-dev#511)
  • [Fabulous.LiveUpdate] Fixed an issue introduced in 0.40 preventing LiveUpdate to run correctly (fabulous-dev#513)

0.40.4

  • [Fabulous.XamarinForms] Fixed an issue preventing reuse of existing views (fabulous-dev#507)

0.40.3

  • [Fabulous.XamarinForms] [Extensions] Fixed a missing dependencies in the NuGet packages

0.40.2

  • [Fabulous.XamarinForms] Fixed a missing dependency on Xamarin.Forms in the NuGet package Fabulous.XamarinForms

0.40.1

  • [Fabulous.XamarinForms] [Extensions] Fixed an invalid dependency on Fabulous.XamarinForms.Controls instead of Fabulous.XamarinForms (fabulous-dev#503)

0.40.0

BREAKING CHANGES: Fabulous has been restructured and became Fabulous, Fabulous StaticView and Fabulous for Xamarin.Forms! If you're making apps with Fabulous, you will need to use Fabulous for Xamarin.Forms now. Please read the migration guide to know how to update from Fabulous v0.36.0 to Fabulous for Xamarin.Forms v0.40.0 (https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/migration-guide-to-fabulous-xamarinforms.html) For more information on this restructuring, please read fabulous-dev#481

  • [Fabulous.XamarinForms] Reordered Picker properties to put in front the most commonly used ones (fabulous-dev#466)
  • [Fabulous.XamarinForms] Fixed ContentPage.UseSafeArea not working as expected (fabulous-dev#500)
  • [Fabulous.XamarinForms] [Templates] The templates have been cleaned and are now more consistent. Also the targets/props files used now match real files (fabulous-dev#481, fabulous-dev#494)

0.36.0

0.35.0

0.34.0

  • [DynamicViews] Added support for Xamarin.Forms 3.6. Partial support for CollectionView, CarouselView and Shell (fabulous-dev#350 and fabulous-dev#406)
  • [DynamicViews] Added support for ViewElement in Header and Footer of ListView/ListViewGrouped (fabulous-dev#408)
  • [DynamicViews] Removed useless CommandParameter properties (fabulous-dev#386)
  • [DynamicViews] Fixed an issue where an exception was raised when Fabulous tried to reuse a control with a different AutomationId (fabulous-dev#404)
  • [DynamicViews] Fixed debounce not being thread-safe (fabulous-dev#394)
  • [DynamicViews] Fixed ImageButton.Command not working as expected (fabulous-dev#389)
  • [Extensions] Downgraded to Oxyplot 1.0.0 to avoid needing a preview package from a non official nuget feed (fabulous-dev#387)

0.33.2

  • [DynamicViews] Fixed an issue in TableView where the items weren't recycled (fabulous-dev#364)

0.33.1

  • [LiveUpdate] Fixed a bug where any changes throw a NullReferenceException (fabulous-dev#355)

0.33.0

  • [DynamicViews] Added SizeChangedEventArgs to give access to the new size when SizeChanged is raised (fabulous-dev#336)
  • [DynamicViews] Added an extension point to give a new default implementation for a control (fabulous-dev#342)
  • [LiveUpdate] Updated Interpreter to fix some bugs. Plus changed the watcher with a new and easier command line syntax (fabulous-dev#338)
  • [Fabulous.Core] Fixed a bug (possibly from Mono) that made Fabulous act weird on some Android devices (fabulous-dev#347)
  • [Templates] Fixed the consistency of the namespace between the files in the WPF template (fabulous-dev#349)

0.32.0

  • [Fabulous.Core] Added better type annotation to make the functions init and update easier to read (fabulous-dev#313)
  • [Template] Added new UWP template (fabulous-dev#324)
  • [Fabulous.Core] Added new helpers to extract data from ViewElement. Helpful for unit testing the views (fabulous-dev#325)
  • [Xamarin.Forms controls] Added the property ScrollTo and the event Scrolled for ScrollView (fabulous-dev#332)
  • [Xamarin.Forms controls] Added the events ChildrenReordered, MeasureInvalidated, Focused, SizeChanged and Unfocused for VisualElement (fabulous-dev#327)
  • [Fabulous.Core] Changed the modules behind View; The builder functions are no longer hidden from IntelliSense (fabulous-dev#325)
  • [Xamarin.Forms controls] Fixed the update of TableSection.Title (fabulous-dev#330)

0.31.0

  • [Fabulous.Core] Added XML docs for Fabulous helpers (fabulous-dev#284)
  • [Xamarin.Forms controls] Fixed the TitleView attached property on Page (fabulous-dev#305)
  • [Xamarin.Forms controls] Fixed the Accelerator property on MenuItem (fabulous-dev#301)
  • [Template] Fixed a typo in assembly name in macOS project (fabulous-dev#300)
  • [Template] Fixed an issue where NuGet restore would fail due to a space in path on Windows (fabulous-dev#290)
  • [LiveUpdate] Fixed: Using ViewRef produces a "No member found for key Fabulous.DynamicViews.ViewRef" error (fabulous-dev#286)
  • [LiveUpdate] Fixed: Using a list a "No member found for key Microsoft.FSharp.Collections.FSharpList" error (fabulous-dev#286)
  • [LiveUpdate] Fixed: Calling a function that takes unit from a module in a separate dll produces a "No member found for key" error (fabulous-dev#286)

0.30.0

0.29.0

BREAKING CHANGES:

0.28.0

0.27.1

0.27.0

0.26.0

0.25.0

  • Added "CurrentPage" and "CurrentPageChanged" to TabbedPage and CarouselPage (fabulous-dev#215)
  • Added support for byte array with Image.Source (fabulous-dev#217)
  • Improved exception protection in LiveUpdate (fabulous-dev#214)
  • Fixed an issue in LiveUpdate preventing the use of some kinds of discriminated unions (fabulous-dev#213)

0.24.0

0.23.0

0.22.0

  • Added support for Focus and Animations (access to the underlying control with "created" event & ViewRef)
  • Added "invalidate" flag to SkiaSharp extension
  • Added WPF to template

0.21.1

  • Fixed bad dependency for Fabulous.Maps package (fabulous-dev#188)
  • Fixed missing SelectionMode property on ListViewGrouped

0.21.0

  • Fixed fabulous-dev#136
  • Updated to Xamarin.Forms 3.1
  • Changed LiveUpdate to only display corresponding indications based on the current platform (Android, iOS, other)

0.20.0

  • Rename project Elmish.XamarinForms --> Fabulous
  • Rename namespace Elmish.XamarinForms --> Fabulous.Core
  • Rename dll Elmish.XamarinForms.dll --> Fabulous.Core.dll
  • Rename package Elmish.XamarinForms --> Fabulous.Core

0.17.0

  • Added TextChanged on SearchBar
  • Fixed module name for SkiaSharp extension
  • Added LiveUpdate to the iOS template by default

0.16.0

  • Added AutomationId property on all controls
  • Added LineBreakMode property on Label
  • Added ShowJumpList property on ListViewGrouped
  • Changed ListViewGrouped's Items property to accept a group name
  • Fixed namespace for Extensions
  • Fixed NavigationPage recycling

0.15.2

  • Added support for ImageSource on Image and ImageCell controls
  • Fixed ListViewGrouped

0.14.8

  • Fixed LiveUpdate for CalculatorApp (AddressOf, out args, pattern matching)
  • Fixed templates so you can update Xamarin Forms

0.14.6

  • Fixed LiveUpdate for iOS
  • Moved to Newtonsoft.Json instead of FsPickler

0.14.4

  • Add 'let rec' to code accepted by LiveUpdate
  • Add local mutables to code accepted by LiveUpdate

0.14.2

  • Rename Xaml.* --> View.*

0.13.10

  • Fix compilation of template on OSX

0.13.8

  • Fix packaging problem with fscd tools

0.13.4

  • Fix errors raised by interpreter

0.13.2

  • Fix sample look and feel
  • Fix repeated live updates

0.13.0

  • Add experimental LiveUpdate

0.12.10

  • Added oxplot extension
  • Fix dependencies in nuget packages

0.12.4

  • Missed a renaming in the extension API

0.12.2

  • Remove unnecesary boxing in extension API
  • Improved documentation

0.12.0

  • Adjust extension API to be more type safe
  • Add Fabulous.SkiaSharp

0.10.0

  • Adjust extension API to require use of attribute keys
  • Add Fabulous.Maps

0.9.4

  • Require extensions to give the correct size for attribute count, and don't reallocate the attribute array

0.9.2

  • Fix template

0.9.0

  • Use an attribute builder

0.8.12

  • Adjust template to deploy to Android by default for Any CPU

0.8.4

  • Fix template

0.8.2

  • Fix template

0.8.0

  • Rename XamlElement --> ViewElement
  • Rejig XamlElement to store an immutable array of attributes rather than a Map
  • Using open Fabulous.StaticViews is now necessary to use static Xaml bindings and the Nav.* type
  • Obsolete Program.withDynamicView and Program.withStaticView in favour of Program.runWithDynamicView and Program.runWithStaticView
  • Remove StaticXaml/MasterDetailApp sample since it's not a great sample anyway
  • Add template

0.7.0

  • Base dependency is now Xamarin.Forms 3.0
  • Add Resources property to VisualElement
  • Add Styles property to VisualElement
  • Add StyleSheets property to VisualElement

0.6.0

  • Toolbar, ToolbarItem support
  • MenuItem support
  • Support Page properties: BackgroundImage, Icon, IsBusy, ToolbarItems
  • Support Page events: Appearing, Disappearing, LayoutChanged
  • Add docs on modal pages

0.5.1

  • Support FormattedText parameter to Label

0.5.0

  • Simplify generated code
  • Code generator now in F#
  • Remove x |> margin 3.0 pipelined versions of properties and instead people always need to use members x.Margin(3.0)

0.4.5

  • app.Model --> app.CurrentModel and app.SetModel(model)
  • Sequences not lists for model inputs
  • itemAppearing and itemDisappearing now use integer indexes
  • Old view elements are now reusable after application resumes
  • Global dispatch function available to reduce number of closures

0.4.4

0.4.3

  • Sync base version of XF to that listed in paket.lock

0.4.2

  • Add fix, fixf
  • Add canExecute to Button etc.
  • Show how to persist model using JSON
  • Change run to return a runner object (used to reset the model on restore)
  • Add docs on validation
  • Remove Program.runDebug in favour of Program.withDebug

0.4.1

  • Updates to README
  • Add dependsOn
  • Add RelativeLayout and AbsoluteLayout
  • Use struct options internally
  • Add TableView support
  • Fix repeated update of image sources
  • Simplify size requests
  • Add ListView and ListViewGrouped support
  • Use and recycle ObservableCollection for ListView entries
  • Updates for accurate ListViw selection
  • Updates for more accurate view memoization
  • Include the code generator

0.4.0

  • Lots of updates to dynamic views

0.3.2

  • Correct version in assembly

0.3.1

  • Correct mistake in nuget pacakge

0.3.0

  • Add multi-page and navigation
  • Add dynamic views (NOTE: not usable since they flicker, see README.md)

0.2.0

  • Adapt to latest Xamarin.Forms and match latest Elmish.WPF

  • Elmish all the Xamarin.Forms!