25 May

Launched: Single sign-on

Spend some time at a software shop, and you’ll inevitably collect a pile of accounts for services, internal and external. Since you value security, each of your passwords are long and unique and safeguarded in a password manager. You imagine a world where you don’t need to manage passwords for each and every service you use.

That’s why we are excited to announce support for single sign-on via the industry-standard Security Assertion Markup Language 2.0 (SAML 2.0). Knowing that SAML integrations can be cumbersome and complicated, we refined the administrator experience to be simple and clear. We built a test-drive mode so administrators can verify their SAML configuration end-to-end before enabling single sign-on in LaunchDarkly for the entire team.

Our single sign-on implementation is accompanied by a couple other benefits. With LaunchDarkly’s just-in-time user provisioning, administrators can onboard new employees from their identity provider without having to also create accounts for them in LaunchDarkly. Simply grant the new employee access to LaunchDarkly via your identity provider. Then LaunchDarkly will automatically create a new account when the member visits LaunchDarkly for the first time. Additionally, any changes to the member’s profile or assigned roles will be propagated from your identity provider as soon as the member signs into LaunchDarkly.

We currently support Okta and OneLogin, with support for additional identity providers on the way.

Single sign-on is available to customers on our enterprise plans. If you’re interested in learning more about our enterprise plans, contact sales@launchdarkly.com.

Behind the curtain

Alexis and I collaborated on the single sign-on feature. The very first step we took was creating a feature flag for SSO in LaunchDarkly. With our feature flag seatbelt on, we didn’t need to maintain a long-running branch for the feature, which meant we thankfully didn’t have to suffer from massive merge conflicts. Every optional change that could be hidden behind that feature flag could be released incrementally and without extensive manual QA review.

When we demonstrated the feature in progress to a customer, we didn’t need to use a staging system; we could demo on production because the feature was hidden behind a feature flag. When we were ready for the feature to be beta-tested, it was very easy to enable it for one customer and then another. The SSO feature flag remains today, and now our sales team uses the flag to enable the feature for their customers.

03 Mar

Launched: Feature Flag Variation Editing

LaunchDarkly Feature Flag Variation Editor

Feature flags are powerful when serving variations like true and false. However, they are even more powerful when you can serve variations that are strings, numbers, JSON objects, and JSON arrays — which we call multivariate feature flags.

Previously, we allowed you to create multivariate feature flags with defined variations, but we did not let you add, edit, or delete variations once they were created. Now, you can!

With support for edit variations, you can now edit feature flags after they are created.

You can now:

  • Manage pricing in an e-commerce app by serving number variations
  • Dynamically control configuration values
  • Serve hex values to control CSS styles
  • Sunset variations that are no longer necessary

Editing Variations

When you navigate to any feature flag, you will notice a new Variations tab. This is where you will be able to edit your flag’s variations.

For boolean flags, you can edit a variation’s name and description, but not the value. This is because boolean flags can only serve true and false values.

LaunchDarkly Feature Flag Variation Editor

For multivariate flags, you can now add, edit, and delete variations even after the flag is created. Moreover, you can edit any variation’s value, name, and description. Keep in mind that you cannot change the “type” of variation being served after the flag is created.

LaunchDarkly feature flag variation editor

When you add, edit, or delete a variation for a multivariate flag, the change will apply to all environments within that project. For example, if you have a feature flag called “Checkout Flow” with 4 variations: A, B, C, D and you deleted variation D, then every environment will only have 3 variations (A, B, C) for the “Checkout Flow” feature flag.

We’re excited to deliver this new feature to you and would love to hear your feedback at support@launchdarkly.com.  You can reference our docs for more info.

26 Jan

Launched: Flag Tagging Management

LaunchDarkly Feature Flag / Feature Toggle Targeting and Management

For better feature flag management, LaunchDarkly allows you to create tags for organizing and grouping your feature flags.  Adding tags (like “Front-End”, “Ops”, “Marketing”, “Restricted”) helps you categorize flags and manage custom permissions.

Here, we have added the tags “mobile”, “marketing”, and “unrestricted” on the Settings tab of our feature flag:

After adding tags, you can filter by tag on the dashboard and link to filters for better feature flag management.

Here, we have clicked on the “marketing” tag, which has created a filter that shows all feature flags tagged “marketing.”

LaunchDarkly Feature Flag Tagging and Management Dashboard

Creating a filter also generates a URL that you can bookmark and share with your teammates.  For example, this URL will show all feature flags tagged “marketing”  https://app.launchdarkly.com/default/production/features?tag=marketing .

In the future, we will add more advanced filtering and sorting for even better flag management.  If you have any suggestions or questions, please feel free to contact us at support@launchdarkly.com

28 Nov

Launched: Multi-factor authentication

Our customers’ security has always been a top priority at LaunchDarkly. We’re excited to announce support for multi-factor authentication (MFA), which requires a second login verification step in addition to an account password.

LaunchDarkly multi factor authentication (MFA) feature flags feature toggle security

MFA works by requiring users to enter a verification passcode from any free authenticator application installed on your mobile device. If someone ever gained unauthorized access to your account password, then that person would not be able to log in without the MFA passcode.

LaunchDarkly account administrators can require all newly invited team members to enable MFA during their initial onboarding. Administrators can also see which team members have MFA enabled and send a reminder email or recovery code to assist.

We strongly recommend that all LaunchDarkly users enable MFA for their account, and that administrators enforce MFA for their entire team. If you have any questions or feedback, we would love to hear from you at support@launchdarkly.com.

15 Nov

Launched: Bulk User Targeting

LaunchDarkly Bulk User Targeting - Feature Flags / Toggles

It’s always been easy to target individual users when you create a feature flag in LaunchDarkly.  You simply enter a user’s key, name, or email into the individual targeting field to serve to target that user. But, what if you want to target tens or even hundreds of users at once?

Our new bulk user targeting feature allows you to add, remove, or replace entire user populations by entering lists of user keys or emails. Our app will resolve each user, and you can decide what to do with them.

With bulk user targeting, you can:

  • Paste a CSV list that contains thousands of user keys or e-mails
  • Create user segments locally, like a beta group, and then add them to a variation
  • Look up multiple users at once and see which users currently exist and which do not

You can trigger Bulk User Targeting from the Bulk Edit button, or by using Ctrl-V to paste a list of users from your clipboard directly into the Add Users field:
LaunchDarkly Bulk User Management for Feature Flag / Toggle Targeting
This will open a bulk targeting modal that will let you add, remove, or replace users.
LaunchDarkly Bulk User Targeting and Segments

Check out our documentation to learn more about bulk user targeting and how users are resolved.

We’re really excited to bring you this new feature, as many of our customers have requested it. If you have any questions or feedback, we would love to hear from you at support@launchdarkly.com.

01 Nov

Launched: Android Feature Flags SDK

LaunchDarkly’s mission is to be your complete solution for enterprise feature flag management. We wanted to provide SDKs for every major language and platform, both web and mobile — allowing our customers to manage features and synchronize rollouts across multiple platforms.

Now, we are excited to announce the launch of our Android SDK (beta). This SDK supports both boolean and multivariate feature flags, allowing you to take full control over any feature or configuration in your release.

LaunchDarkly Android Mobile SDK for Feature Flags / Feature Toggles

Additionally, we wanted to ensure that the SDK always served the latest stored flag rules for each user, even if the app was backgrounded or if the app had multiple users on the same device.

To do this, we integrated some neat features: (these features are also available in our iOS SDK)

Android SDK Features

  • Simple User Construction
    • Easily construct users by using a builder pattern.  This makes it easy to use our targeting rules to perform custom rollouts by user key or any attribute.
  • Multiple User Contexts on One Device
    • If your app is used by multiple users on a single device, you may want to change users and have separate flag settings for each user. To achieve this, the SDK will store the last 5 user contexts on a single device, with support for switching between different user contexts.
  • Real-Time Updates
    • You can immediately kill bad features and have granular control over the timing of flag updates.  LaunchDarkly manages all flags for a user context in real-time by polling flags based on a real-time event stream. When a flag is modified via the LaunchDarkly dashboard, the flag values for the current user will update almost immediately.
  • Offline Mode & Background Fetch
    • We wanted to make sure that developers had full control over the offline and backgrounded behavior of LaunchDarkly.  If a user’s device is in airplane/flight mode or if they are not connected to a network, LaunchDarkly will use the latest stored flag settings in memory.  Additionally, when the app is backgrounded, the Android SDK does not receive real-time events. However, a battery-conscious Android Alarm is set to poll for updates once every 5 minutes.

We’re really excited to see what our customers are able to do with the new Android SDK. If you have any questions or feedback, we would love to hear from you at support@launchdarkly.com.