Skip to content

Releases: patrykandpatrick/vico

v2.0.0-beta.5

30 Dec 11:21
a9b361c
Compare
Choose a tag to compare
v2.0.0-beta.5 Pre-release
Pre-release

Overview

  • breaking changes: moderate
  • addressed: #933

core

  1. Concurrency-related fixes have been made to CartesianChartModelProducer, resolving an issue where running two Transactions in very short succession could cause a lock-up. Also, createTransaction, the Transaction constructor, and Transaction.commit have been hidden or removed—use runTransaction.
  2. Dimensions has been renamed to Insets. The Empty singleton is now called Zero.
  3. In AutoScrollCondition, shouldPerformAutoScroll is now shouldScroll, the function parameters have been flipped, and OnModelSizeIncreased is now OnModelGrowth.
  4. In FadingEdges, startEdgeWidthDp is now startWidthDp, endEdgeWidthDp is endWidthDp, and edgeWidthDp is widthDp.
  5. Zoom.static has been renamed to Zoom.fixed.
  6. In Shadow, dxDp and dyDp are now xDp and yDp.
  7. In CandlestickCartesianLayerModel, Entry.Change is now Change.
  8. In CandlestickCartesianLayer, the name of candles has been corrected to candleProvider.
  9. In BaseAxis.Size.Auto, minSizeDp and maxSizeDp are now minDp and maxDp. BaseAxis.Size.Exact has been renamed to BaseAxis.Size.Fixed, and its sizeDp constructor parameter is now called valueDp.
  10. In LayeredComponent, rear is now back.
  11. HorizontalPosition and VerticalPosition are now Position.Horizontal and Position.Vertical.
  12. CartesianMarkerValueFormatter is now DefaultCartesianMarker.ValueFormatter. DefaultCartesianMarker.ValueFormatter.default replaces DefaultCartesianMarkerValueFormatter. If subclassing DefaultCartesianMarkerValueFormatter, switch to a delegation-based solution, or make the custom implementation standalone.
  13. DynamicShader is now ShaderProvider. In ShaderProvider.component, tileXMode and tileYMode are now xTileMode and yTileMode. Shader.toDynamicShader is now Shader.toShaderProvider. The RectF-based getShader overload has been removed in favor of the four-parameter one. In Fill, shader is now shaderProvider.
  14. In VerticalAxis, verticalLabelPosition is now of type Position.Vertical. The same applies to the verticalLabelPosition parameters of start and end. VerticalAxis.VerticalLabelPosition has been removed.
  15. In ColumnCartesianLayer and LineCartesianLayer.Line, dataLabelVerticalPosition is now dataLabelPosition.
  16. The CorneredShape API has been consolidated:
    • Corner is now CorneredShape.Corner. In Relative, percentage is now sizePercent. In both subclasses, cornerTreatment is now treatment. FullyRounded is now Rounded.
    • CornerLocation is now CorneredShape.CornerPosition.
    • CornerTreatment is now CorneredShape.CornerTreatment. In createCorner, the parameters have been reordered, and cornerLocation is now position. SharpCornerTreatment, RoundedCornerTreatment, and CutCornerTreatment have been hidden or removed in favor of CorneredShape.CornerTreatment.Sharp, CorneredShape.CornerTreatment.Rounded, and CorneredShape.CornerTreatment.Cut.
  17. In the CorneredShape-based MarkerCorneredShape constructor, corneredShape has been renamed to base.
  18. A public Point constructor has been introduced, replacing the point factory functions.
  19. HorizontalDimensions is now CartesianLayerDimensions, and MutableHorizontalDimensions is MutableCartesianLayerDimensions. In Axis, updateHorizontalDimensions is now called updateLayerDimensions, and the horizontalDimensions parameter has been renamed to layerDimensions. In CartesianLayer, updateHorizontalDimensions has been renamed to updateDimensions, and the horizontalDimensions parameter has been renamed to dimensions. Beyond this, the horizontalDimensions properties and parameters have been renamed to layerDimensions.
  20. Insets-related changes have been made:
    • Insets is now CartesianLayerMargins, and HorizontalInsets is HorizontalCartesianLayerMargins.
    • CartesianLayerInsetter is now called CartesianLayerMarginUpdater. The updateInsets function is now updateLayerMargins, and its insets parameter is now layerMargins. The updateHorizontalInsets function is now updateHorizontalLayerMargins, and its insets parameter is now horizontalLayerMargins. In both functions, horizontalDimensions is now layerDimensions, and the parameters have been reordered.
    • In HorizontalAxis.ItemPlacer, getStartHorizontalAxisInset is now getStartLayerMargin, and getEndHorizontalAxisInset is getEndLayerMargin. In VerticalAxis.ItemPlacer, getTopVerticalAxisInset is now getTopLayerMargin, and getBottomVerticalAxisInset is getBottomLayerMargin.
  21. In the LegendItem functions, the parameters have been reordered, and iconPaddingDp is now iconLabelSpacingDp.
  22. In Bounded, the RectF-based setBounds overload has been removed in favor of the four-parameter one.
  23. In DrawingContext, withOtherCanvas is now withCanvas.
  24. In MeasuringContext, layoutDirectionMultiplier is now of type Int.
  25. In CartesianLayer, updateRanges is now updateChartRanges, and the ranges parameter has been renamed to chartRanges.
  26. In the drawHorizontal function of LineComponent, centerY is now y. In drawVertical, centerX is x, and the parameters have been reordered. In both functions, thicknessScale is now thicknessFactor.
  27. The properties of CartesianLayerPadding are now public.
  28. Some nonessential API elements have been hidden or removed.

compose

  1. In conneciton with core change 2, the dimensions factory function is now insets, and all Dimensions parameters are now of type Insets.
  2. In connection with core change 4, the startEdgeWidth, endEdgeWidth, and width parameters of the rememberFadingEdges overloads are now startWidth, endWidth, and width.
  3. In connection with core change 6, the dx and dy parameters of shadow have been renamed to x and y.
  4. In connection with core change 8, the candles parameter of rememberCandlestickCartesianLayer has been renamed to candleProvider.
  5. In connection with core change 9, the minSize and maxSize parameters of BaseAxis.Size.auto are now called min and max, BaseAxis.Size.exact has been renamed to BaseAxis.Size.fixed, and its size parameter is now called value.
  6. In connection with core change 10, the rear parameter of rememberLayeredComponent has been renamed to back.
  7. In connection with core change 14, in VerticalAxis.rememberStart and VerticalAxis.rememberEnd, verticalLabelPosition is now of type Position.Vertical.
  8. In connection with core change 15, in rememberColumnCartesianLayer and LineCartesianLayer.rememberLine, dataLabelVerticalPosition is now dataLabelPosition.
  9. In connection with core change 17, in the CorneredShape-based markerCorneredShape overload, corneredShape has been renamed to base.
  10. In markerCorneredShape, the name of tickSizeDp has been corrected to tickSize.
  11. rememberExtraLambda has been removed, as with Jetpack Compose’s strong skipping mode, it’s no longer needed. Use normal lambdas instead.
  12. In CartesianChartHost, runInitialAnimation is now animateIn.

views

  1. In connection with core change 15, the dataLabelVerticalPosition XML attributes have been renamed to dataLabelPosition.
  2. In ScrollHandler, the animateScroll parameters have been reordered, the oldValue and newValue parameters of Listener.onValueChanged have been renamed to old and new, and the oldMaxValue and newMaxValue parameters of Listener.onMaxValueChanged have been renamed to old and new.
  3. In ChartView, runInitialAnimation is now animateIn.
  4. In ZoomHandler.Listener, the oldValue and newValue parameters of onValueChanged have been renamed to old and new, and the oldValueRange and newValueRange parameters of onValueRangeChanged have been renamed to old and new.

v2.0.0-beta.4

23 Dec 11:47
25869fc
Compare
Choose a tag to compare
v2.0.0-beta.4 Pre-release
Pre-release

Overview

core

  1. In LineCartesianLayer, dashed lines have been introduced. The LineCartesianLayer.Line constructor has a new stroke parameter, which takes a LineCartesianLayer.LineStroke instance. Two implementations are available: LineCartesianLayer.LineStroke.Continuous and LineCartesianLayer.LineStroke.Dashed. Stroke thickness and cap customization is now also performed via LineStroke—the thicknessDp and cap parameters of the Line constructor have been moved to the constructors of the two LineStrokes.
  2. In HorizontalAxis.ItemPlacer.aligned, spacing and offset are now ExtraStore lambdas.
  3. In CartesianChart, layerPadding is now an ExtraStore lambda.
  4. An issue where the LineFill instantiated by LineFill.double could position the split at a noninteger pixel y coordinate, leading to unexpected LineCartesianLayerMarkerTarget.Point.color values, has been resolved.
  5. LineFill masking is now handled internally. Custom LineFills should be updated to draw their content normally, not using PorterDuff.Mode.SRC_IN.

compose

  1. In connection with core change 1, LineCartesianLayer.rememberLine has been modified accordingly, and LineCartesianLayer.LineStroke.continuous and LineCartesianLayer.LineStroke.dashed factory functions have been introduced.
  2. An issue where CartesianChartHost could consume all horizontal swipes when CartesianChart scroll was disabled—interfering with, for example, HorizontalPagers—has been resolved.

views

  1. In connection with core change 1, dashLength and gapLength XML attributes have been added to LineStyle. Additionally, there’s a new android:strokeLineCap XML attribute.

v1.16.0

06 Dec 19:05
6322781
Compare
Choose a tag to compare

This release has the same content as version 1.16.0-beta.1. The following compares versions 1.16.0 and 1.15.0.

Overview

core

  • An issue where overlaps between persistent Markers were handled unpredictably has been resolved. The order in which persistent Markers are drawn now reflects that from persistentMarkers.
  • Concurrency-related fixes have been made to ChartEntryModelProducer and ComposedChartEntryModelProducer.
  • An issue where ShapeComponent.draw could fail to rewind the Path between Shape.draw calls has been resolved.

v1.16.0-beta.1

28 Nov 10:28
5fa658a
Compare
Choose a tag to compare
v1.16.0-beta.1 Pre-release
Pre-release

Overview

  • breaking changes: none
  • addressed: #736, #832

core

  • Concurrency-related fixes have been made to ChartEntryModelProducer and ComposedChartEntryModelProducer.
  • An issue where ShapeComponent.draw could fail to rewind the Path between Shape.draw calls has been resolved.

v2.0.0-beta.3

23 Nov 12:01
dc28e5e
Compare
Choose a tag to compare
v2.0.0-beta.3 Pre-release
Pre-release

Overview

core

  1. ShapeComponent and LineComponent now use Fill. color has been replaced by fill; strokeColor, by strokeFill.
  2. In CartesianMarker, draw has been split into drawUnderLayers and drawOverLayers. To migrate and preserve the same behavior, replace override draw(/* ... */) with override drawOverLayers(/* ... */).
  3. TextComponent has a new lineHeightSp constructor parameter.
  4. Fixes and improvements related to color extraction for CartesianMarkers have been made across all CartesianLayers.
  5. In CacheStore, an issue where cached values could fail to be retrieved has been addressed.
  6. In BaseAxis.Size, TextWidth is now called Text. This is more precise—for HorizontalAxis, the the text height is used.

compose

  1. In connection with core change 1, in rememberShapeComponent and rememberLineComponent, color has been replaced by fill, and strokeColor has been replaced by strokeFill. As mentioned in subsection 6.1.2 of the guide, Fill creation in Compose is performed via the fill factory function.
  2. In connection with core change 3, rememberTextComponent has a new lineHeight parameter.
  3. Compose BaseAxis.Size factory functions—BaseAxis.Size.auto, BaseAxis.Size.exact, and so on—have been added.

views

  1. Those CartesianChartView XML attributes that are more closely related to CartesianChart have been extracted to a dedicated attribute set: CartesianChartStyle. This is used with the new chartStyle attribute of CartesianChartView. The extracted attributes are as follows: axisStyle, *AxisStyle, *LayerStyle, *LayerPadding, and show*Axis.
  2. In connection with core change 3, the TextComponentStyle XML attribute set has a new android:lineHeight attribute.
  3. The color XML attribute has been removed in favor of android:color. Replace app:color with android:color.
  4. In CartesianChartView, the setModel function has been replaced by a model property.

v2.0.0-beta.2

18 Oct 09:20
b505264
Compare
Choose a tag to compare
v2.0.0-beta.2 Pre-release
Pre-release

This release includes bug fixes and API enhancements. Read the release notes.

v1.16.0-alpha.1

13 Oct 09:39
d6faab0
Compare
Choose a tag to compare
v1.16.0-alpha.1 Pre-release
Pre-release

This release resolves an issue where overlaps between persistent Markers were handled unpredictably. Read the release notes.

v2.0.0-beta.1

18 Sep 15:49
325d4c6
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

This release includes bug fixes and API enhancements. Read the release notes.

v2.0.0-alpha.28

12 Aug 11:39
4abbcd1
Compare
Choose a tag to compare
v2.0.0-alpha.28 Pre-release
Pre-release

This release includes bug fixes, Legend updates, and API enhancements. Read the release notes.

v2.0.0-alpha.27

02 Aug 17:19
2c85095
Compare
Choose a tag to compare
v2.0.0-alpha.27 Pre-release
Pre-release

This release includes bug fixes and continues the API cleanup. Read the release notes.