Skip to content

2.0.1 A small error of freedom?

Latest

Choose a tag to compare

@AntonioHReyes AntonioHReyes released this 03 Aug 19:31
· 2 commits to master since this release

Turns out I couldn't sleep thinking that with version 1.0 I had forced everyone in the world to use Material3... XD And we all know how horrible it is to be forced to use something, especially when you have your own super cool custom design system that you've been nurturing for years! 😱

After several sleepless nights and nightmares where I saw developers crying because they couldn't use their favorite custom colors, I decided it was time to make peace with my conscience and create a more democratic version. Welcome to TourCompose 2.0! πŸŽ‰

πŸ—½ Freedom For Everyone!

This version comes with a completely agnostic architecture that gives you the freedom to choose your own path:

🎨 Two Modules, Two Philosophies:

🌟 TourCompose Base - "Do it your way"

  • Completely free from Material3 (finally!)
  • Works with any design system
  • Lighter bundle (because every byte counts)
  • Total control over colors and styles

πŸ’Ž TourCompose-Material3 - "For Material3 lovers"

  • All the Material3 magic automatically
  • Perfect light/dark mode adaptation
  • For those who say "Material3 is life" ❀️

🚨 Breaking Changes (AKA "Price of Freedom")

Yes, I had to break some things to fix others. But don't worry, migration is super simple:

If you love Material3:

// Before (v1.x)
implementation("com.github.AntonioHReyes:TourCompose:1.x.x")
// Now (v2.0) - Just change the module name
implementation("com.github.AntonioHReyes.TourCompose:tourcompose-material3:2.0.1")
// And use TourComposeMaterial3 instead of TourCompose
TourComposeMaterial3(/* your parameters */)

If you want total freedom:

// New base module for rebels
  implementation("com.github.AntonioHReyes.TourCompose:tourcompose:2.0.1")
// And keep using TourCompose as always
  TourCompose(/* your parameters with custom colors */)

✨ Incredible New Features

  • 🎨 Design system agnostic - Use whatever you want
  • πŸš€ Smaller bundle - Only includes what you need
  • πŸŽͺ Separate demos - Examples for each philosophy
  • 🌈 bubbleContentMaterial3() - Magic function for Material3
  • πŸ› οΈ Granular control - Customize down to the last pixel
  • πŸ“± Same familiar API - Almost everything works the same

πŸŽ‰ To Wrap Up

Now I can sleep peacefully knowing I'm no longer forcing anyone to use Material3!
Long live freedom of choice in Android development! πŸ—½


P.S: If you find any bugs, remember it was the insomnia's fault, not mine 😴