Skip to content

Releases: leboncoin/spark-android

v2.7.0

12 Jun 12:08
d2f372f

Choose a tag to compare

2.7.0 (2026-06-12)

Features

Bug Fixes

  • ci: improve size parsing logic (#2022) (09b4a0d)
  • remove duplicated <hr> in release-please configuration (#2014) (e280da4)

Miscellaneous

  • deps: bump com.composables:composeunstyled-disclosure from 2.5.0 to 2.6.0 (#2024) (c4847fb)
  • deps: bump com.github.skydoves:colorpicker-compose from 1.1.4 to 1.2.0 (#2015) (92d2906)
  • deps: bump compose-multiplatform from 1.11.0 to 1.11.1 (#2010) (fc723bc)
  • deps: bump gradle/actions from 6.1.0 to 6.1.1 in /.github/actions/setup-gradle (#2019) (abc77b0)

Refactoring

  • icons: completly remove SparkIcons object and associated icons (#2017) (d84c700)

v2.6.0

03 Jun 15:57
074948e

Choose a tag to compare

2.6.0 (2026-06-03)

Features

Bug Fixes

  • image: attempt to add composition stacktrace when no size is defined (#2007) (75a8415)
  • release: adjust the generated PR description message (#2008) (383ebf0)

v2.5.0

01 Jun 17:40
833c695

Choose a tag to compare

2.5.0 (2026-06-01)

Features

  • button: add temporary restricted tertiary variant for A/B testing (#2003) (12ab81a)

Miscellaneous

  • deps: bump com.composables:composeunstyled-disclosure from 2.4.0 to 2.5.0 (#2001) (e42cf52)

v2.4.2

01 Jun 07:47
1bda565

Choose a tag to compare

2.4.2 (2026-05-28)

Miscellaneous

Documentation

  • release: require merge commit for hotfix merge-back (#1999) (978e3a7)

v2.4.1

28 May 22:31
45947dc

Choose a tag to compare

2.4.1 (2026-05-28)

Bug Fixes

  • stepper: the modifier is reused on the middle text (#1995) (6448239)

Miscellaneous

  • release: remove dispatch capability from hotfix release workflow (b24eda4)

v2.4.0

28 May 21:08
0ae4b8c

Choose a tag to compare

2.4.0 (2026-05-28)

Features

  • release: use the github release description as a app distribution release note (#1992) (d5c4ed4)

Bug Fixes

  • ci: update icons PR creation command to use convention commit prefix (#1991) (8cdcec3)

Documentation

  • release: update the releasing documentation for the new process to create a release and a hotfix (#1993) (9e60780)

v2.3.0

28 May 15:14
a56abd3

Choose a tag to compare

2.3.0 (2026-05-28)

Features

  • ci: add zizmor GitHub Actions security analysis (#1899) (38b63dc)
  • spotless: proper configuration (#1986) (23abc5d)
  • zizmor: allow ref-pin on github-provided actions (#1982) (4ccdee2)

Bug Fixes

  • change the sha to try to improve the changelog (6f1a9a8)
  • ci: run zizmor workflow only on the upstream repo (515e142)
  • ci: use release-please block markers in gradle.properties (eec33cc)

Miscellaneous

  • bump version to 2.3.0-alpha03 (7eb6bc3)
  • deps: bump com.composables:composeunstyled-disclosure from 2.1.0 to 2.3.0 (#1965) (471b13f)
  • deps: bump com.composables:composeunstyled-disclosure from 2.3.0 to 2.4.0 (#1974) (f5ca3df)
  • deps: bump com.diffplug.spotless from 8.5.1 to 8.6.0 (#1987) (1037149)
  • deps: bump googleapis/release-please-action from 4 to 5 in /.github/workflows (#1971) (a95849e)
  • deps: bump zizmorcore/zizmor-action from 0.5.2 to 0.5.6 in /.github/workflows (#1983) (6a9dbe6)
  • lint: extract lint configuration (#1985) (6306f57)
  • merge hotfix 2.2.2 back to main (a8871ed)

2.2.2

20 May 10:59
2.2.2
8c30c1a

Choose a tag to compare

Icons

  • ✨ New LeboncoinIcons: ThumbDownFill, ThumbDownOutline, BannedFill, BannedOutline, PaintPaletteCriteria, PeopleCriteria, PhoneCallSuccessFill, PhoneCallSuccessOutline, FloorPlan
  • 🐛 Fix typo in LockOutline icon file name (lock_outilnelock_outline)
  • 🐛 Fix SparkIcons.MailOutline replaceWith annotation pointing to MailBoxOpenOutline instead of LetterOutline

Full Changelog: 2.2.1...2.2.2

2.2.1

16 Apr 13:16
2.2.1
a33cfe7

Choose a tag to compare

Icons

  • 🐛 Fix spark-icons JVM target not explicitly set for KMP Android compilation, causing the Compose Preview renderer to reject the class files with "Unsupported class file major version 69"

Full Changelog: 2.2.0...2.2.1

2.2.0

14 Apr 16:21
2.2.0
9284fa5

Choose a tag to compare

Spark

  • 🐛 Fix ButtonFilled disabled content colour using the wrong token (dim3 instead of disabled), causing the disabled state to appear too faint on non-white backgrounds
  • 🎨 Refactor contrastLevel() to remove a redundant isContrastLevelAvailable guard that was already ensured by the outer branch
  • 🎨 Refactor ButtonFilled and ButtonTinted to resolve intent.colors() once per composition instead of multiple times, reducing redundant allocations per recomposition
  • 🗑️ Basic intent has been deprecated across all components (ButtonIntent, BadgeIntent, ChipIntent, TagIntent, ToggleIntent, etc.) and replaced with Support, which was already identical in value. Usages of Basic will produce a compile error with an automatic migration hint to Support.

🔧 Kelp IDE plugin support

Added KelpInlayPreview inner classes to SparkColors, SparkShapes, SparkTypography, and ElevationTokens so the Kelp Android Studio plugin can render color swatches, corner-radius, font-size, and elevation inlay hints directly in the editor. Also added a .idea/kelp/config.json configuration file to enable Kelp out of the box for contributors.

💄 Rebranded shapes extended to more components

Chips, icon buttons, and text fields now participate in the rebranding shape changes introduced in 2.1.0. The feature flag SparkFeatureFlag.useNewButtonAndTagsShapes has been renamed to useRebrandedShapes to reflect the broader scope.

♻️ Component token objects for shape resolution

Shape (and spacing) resolution for Button, Chip, Tag, TextField, and IconButton components is now centralised in dedicated token objects — ButtonTokens, ChipTokens, TagTokens, TextFieldTokens, and IconButtonTokens — rather than scattered inline if (LocalSparkFeatureFlag.current.useRebrandedShapes) checks inside each composable. No behaviour change; the objects are public so consumers can reference the resolved values directly.

TextFieldTokens exposes a shape property. IconButtonTokens exposes resolveShape(fallback) and resolveFullShape(fallback) functions rather than plain properties because icon button composables accept a caller-supplied shape as the legacy fallback, which the token object cannot know without the argument.

Note

This is the initial foundation of a broader component token layer. The pattern is not yet generalised to all components — further components will be migrated in follow-up changes.

Icons

  • ♻️ spark-icons is now a Kotlin Multiplatform module — icons are available to JVM/desktop targets in addition to Android
  • ✨ New LeboncoinIcons alternative DeprecateWith for their deprecated SparkIcons counterparts

Full Changelog: 2.1.1...2.2.0