Lando 3.0.0

Mike PirogMike Pirog|Mon, Jun 22, 2020

A little over a month ago, on May 4th 2020, we released our first stable version of Lando. If you were not aware of that it's because we did it real quiet-likeopen in new window. This release marks the culmination of many years of many people working almost entirely unpaid on code, documentation, content, marketing, events, issues, meetings, memes, etc.

Massive shoutout and thanks to everyone who contributed!

Given that Lando is now the local development choice of over 10,000 users, is used under the hood of other awesome dev toolsopen in new window, integrates with Pantheonopen in new window, Platform.shopen in new window and Lagoonopen in new window, has a vibrant communityopen in new window and is a critical part of many organization's workflows we are very proud of all that we have accomplished.

Building a tool this complex and with this many moving parts on limited resources is a unique challenge but Lando 3.0.0 is not the end, it's just the beginning. That said, if you use, like or otherwise want to support our efforts then please sponsoropen in new window our work!

Anyway, now that the self-congratulations and sponsorship-pitch are out of the way you're probably wondering what's next?.

Well, read on...

What does stable mean?

Many people are often confused by what exactly stable means in this context. Stable means that Lando is not going to make any breaking API changes until version 4.0.0 is reached. This means that going forward Lando will mostly adhere to semantic versioning conventions. Stable does not mean bug free.

However, if you are a user who does think stable means bug free then you are not alone and we've designed a few processes and mechanisms to help ensure your usage of Lando is as smooth as possible. The tl'dr is you should choose a release channel that best matches what you want and then update Lando when it tells you to.

edge channel

If you want to get notified of the latest features, stay on the bleeding edge and help us vet new releases then set your release channel to edge. The tradeoff here is these releases likely have the highest chance of regression and the introduction of new bugs.

lando --channel edge

stable channel (default)

This is the best option for most users. Get notified when there is a release that has been sufficiently battle tested to ensure that the chance of new bugs and regressions is minimal.

lando --channel stable

none channel

If you don't want to be bugged about any releases and want to manually update on your own then set the channel to none. Note that we don't support older releases so if you fall behind you may end up in unsupported territory.

lando --channel none

experimental mode

Independent from the release channel you can also toggle on experimental mode to get access to in-development features. This is intended primarily for users who want to help us find bugs or provide feedback on new features.

lando --experimental

If you want more details on the above we encourage you to check out the docs on release channelsopen in new window and experimental featuresopen in new window.

What's the roadmap?

Going forward we will be working simultaneously on the current stable 3.0.x series and a new edge 3.1.x series. You can get a more granular look at both by checking out these milestonesopen in new window but see below for a rough sketch of each.

3.0.x

This will primarily include bug fixes and improvements to existing features. Specifically, these are the kinds of things you should expect to see show up in future 3.0.x releases.

  • Bug fixes
  • Better file sharing/syncing via mutagen
  • Better drupal9 support
  • SSH key agent support
  • Improvements to our currently experimental platform.shopen in new window integration
  • Improvements to our currently experimental lagoonopen in new window integration
  • New version support for our existing services
  • Any reasonable, small, non-breaking feature requests

3.1.x

The primary purpose of the 3.1 series will be to democratize access to Lando's plugin layer. This means providing helpful commands, documentation, examples, etc to help people maintain and use their own Lando plugins.

While the spec on this is still TBD it likely will include support for something like the below.

Plugins in Landofiles

name: myapp
plugins:
  - legacy-services
  - myorg/deploy-tools

Lando would automatically install the above plugins before lando start.

CLI tools

# Install a plugin globally
lando plugin:add -g my-plugin

# Remove a plugin
lando plugin:remove my-plugin

Other intiatives

Additionally, we are also working on the following intiatives:

1. Growing the community

We are looking to grow our team of contributorsopen in new window and to start hosting periodic contributor meetings. If you are interested in helping then please join the alliance and let us know how you would like to contribute. We are currently looking for all kinds of contributions but in the short term we will be focused on:

  • Triaging issues
  • Improving documentation
  • Providing support in Slack
  • Writing blog posts, guides, tweets, etc
  • Evangelizing Lando at events, meetups, etc
  • Improving the various Lando web properties

Regardless, join our team!

2. Lando share

The underlying free mechanism that previously powered lando share is no longer operational. This was maintained by a third-party and not by us. We are currently working on a replacement service called holodroid. This will be a subscription based service for individual users, agencies and enterprise customers. The profit from these subscriptions will help us fund future Lando development.

We will also provide some DIY instructions for users who want lando share type functionality without having to pay for it. All Lando Sponsors will receive discounts.

Release party!

We are hosting a Lando 3.0.0 RELEASE PARTYopen in new window on Zoom on July 10, 12:30PM PDT. If you'd like to come and hang out, hear more about the 3.0.0 and the future of Lando then join us!

Also, BYOB. 🍺 🍻 🍸 🥃 🍷