Changelog

We ship product updates weekly. Follow us on 𝕏 for the latest.

Polish season: Week #3

It’s week 3 of polishing our UI, SDKs, and backend to keep Bucket as well-crafted as ever while continuing to ship new features and improvements. 

Here’s what we polished this week:

App improvements

  • Included a feature view selector on the individual company screen under the Features tab
  • Added a new profile menu to the bottom of the app sidebar
  • Improved load times and stopped spinners from blocking the feature UI
  • Updated the free trial indicator in the left sidebar for better clarity
  • Added a new environment activity indicator to the feature sidebar
  • Refactored some of the internal segment size estimation endpoints for increased simplicity 

SDKs

React SDK

Bug fixes

  • Fixed an ingest issue where remote contexts overrode the given context
  • Solved an occasional bug where users were prompted to create a new organization after receiving an invite link

Happy shipping!

Polish season: Week #2

We’re into week 2 of polishing our UI, SDKs, and backend to keep Bucket a high-quality product while shipping tons of improvements. 

Here’s what we polished this week:

App improvements

  • Drastically improved internal data processing service start up times (reduced by 98.4%!) by initializing from stored aggregated values
  • Simplified the app and environment picker in the sidebar
  • Polished the overall design of the feature sidebar
  • Redesigned the main content area as a card
  • Added a guide for feature entitlements

SDKs

Node SDK

  • Updated and expanded the SDK documentation
  • Introduced offline mode to improve the behavior of the SDK in tests and on localhost
  • Added options to set local feature overrides for localhost development
  • Improved logging
  • Made improvements to the installation and getting started process
  • Introduced file and environment variable-based configuration
  • Fixed a rate limiter issue where it would keep accumulating data

Bug fixes

  • Updated autocomplete selectors so they all work the same
  • Reduced loading flicker in autocomplete selectors when a user is typing
  • Changed how rules were stored to stop some flag rules from being misrepresented as OR instead of AND.

Happy shipping!

Signups automatically get a demo app

We’ve made it easier for new users to get a feel for Bucket by automatically creating a demo app full of realistic data when you sign up for the first time.

The “Slick” demo app is complete with features and demo data that lets you explore Bucket’s different features.

When you’re ready to integrate Bucket with your app, click “Switch to live app” in the sidebar to get started. The demo app will stick around until you delete it so you'll have a helpful reference when you start setting up your app.

Happy shipping!

Polish season: Week #1

Making a world-class product requires continuous care and attention to detail. We want Bucket to be a high-quality product that’s robust, reliable, and intuitive to use.

That’s why we’re spending the next five weeks polishing our UI, SDKs, and backend.

Here’s what we polished this week:

App improvements

  • Overhauled the code instructions block. It’s simpler and actively listens for real-time checks or usage tracking.
  • New card design for the Analyze widgets.
  • New card design for the Targeting environment rules.
  • Simplified headers across the app.
  • A rounded border-radius was added to buttons, inputs, and cards.

SDKs

Node SDK

  • Now, it automatically sends user and company details to Bucket when either bindClient or getFeature(s) calls are made. This ensures that up-to-date information is pushed to Bucket so companies can be used immediately. Previously, you had to call updateCompany and updateUser manually.
  • Introduced the enableTracking option to disable the sending of track, user, company, and flag events. This is useful when you’re impersonating other users, for example.

Browser/React SDK

  • Send feedback using the feature key instead of the feature ID.

Bug fixes

  • Streamlined the STARS funnel step icons.
  • Filters no longer show errors when you open the popover.

Happy shipping!

Gradually release features with Stages

We’ve just added release stages to make it simpler to gradually release features. Release stages let you configure your commonly used targeting rules so you can easily apply them to features as you roll them out. 

Feature Tab with Release Stages

New apps come with 4 default release stages: In development, Internal, Beta, and General availability

They support the common use case of taking a feature from development to internal testing to an optional beta testing phase then finally releasing to everyone.

Stages also make it easy for your team to see which rollout stage a feature has reached.

Editing Release Stages Editing under Settings

A stage consists of a name, color, set of targeting rules, and rollout percentage. 

Targeting rules in Bucket let you target:

  • A segment of companies
  • Individual companies
  • Individual users
  • Custom contexts

You can edit or delete release stages under Settings. 

To apply a stage to a feature, go to the Targeting tab and select a release stage. You have complete flexibility to add custom targeting rules for individual features. 

Happy shipping!

Introducing remote attributes

We’ve rolled out remote attributes to make Bucket faster and easier to implement. Company and user attributes stored on our servers can now be used when evaluating feature flags.

Bucket remote attributes

The introduction of remote attributes means that rather than having to fetch or compute all the required attributes each time a feature flag is evaluated, you only need to provide the Company ID and User ID when fetching features.

Attributes in Bucket are updated when they change, via the SDK, or periodically from your backend via the API.

Like so:

Remote attribute code comparison

With remote attributes you can:

  • Set the company plan attribute according to the customer subscription plan from your backend and then gate features access based on the plan from anywhere in your application.
  • Use an attribute called betaUser: true to gate who gets access to beta features. Then allow users to opt-in to beta features using a button in your application that simply sets the attribute in Bucket.
  • Integrate with your back office system to set a list of the add-ons that the customer has bought through an attribute in Bucket. For example: addOns: [‘copilot-addon’, ‘ sso’] which you can then use in feature targeting.

Company and user attributes stored in Bucket are automatically used when evaluating feature flags in the case of our browser-based SDKs and can optionally be used in the server-based SDKs. 

Setting remote attributes is a simple method call using our Node SDK. You can also set attributes through our Segment integration which allows you to continue using your existing setup.

By default, attributes are replicated to multiple locations across the globe in our global infrastructure to keep initial evaluation round-trip times low. 

However, you have the option to keep your data exclusively within the EU if you need to adhere to certain data protection regulations.

Happy shipping!

Making it easy to detect stale flags

We’ve made it easy to detect stale feature flags by adding the “Last check” column to feature views. 

The "Last check” column lets you confirm that you’ve properly removed the feature's key from your codebase and that checks are no longer firing. 

What's a check exactly? A check is fired from the Bucket SDK whenever a user reaches code that's gated by a Bucket feature key in your app. The "Last check" column shows checks across all of your environments and is fired regardless of the check result (access granted or not).

Last Check column in the Bucket feature tab

Happy shipping!

Adding feature descriptions

We’ve just added feature descriptions to Bucket. Document each feature’s functionalities with full markdown support.

All the common syntax is supported including *italics*, **bold**, [link](https://example.com), and 'code'.

Feature description in Bucket


Feature descriptions appear in a sidebar on the Feature tabs.

Happy shipping!

Faster data tables

We’ve finished a comprehensive refactoring of our data tables, mainly used on feature views and segments, to significantly improve performance. 

We’ve also improved the UX by making URLs shareable.

These updates have:

  • Drastically improved performance of the data tables (up to 2x)
  • Greatly improved data fetching
  • Resolved some data persistence issues
  • Shareable URLs

Happy shipping!

You can now sign up without a Google account

We’ve made it possible for non-Google SSO users to get started with Bucket. You can now sign up with Google or a regular email and password.

If you have a Google account, keep using the single sign-on option like before.

Thanks to Clerk for making it easy to add authentication methods! 

Happy shipping!