liveBook · Manning

Feature flag

A feature flag is a configuration control that conditionally enables, disables, or selects a software feature or behavior.

How 8 Manning books explain it

Platform Engineering on Kubernetes

A feature flag is a runtime-controlled configuration mechanism that enables or disables application functionality without changing or restarting the application.

How it is used
Separates deployment of new service code from decisions about when its features become available to customers.
How deep it goes
Works through multi-service flag variants and an SDK evaluation call, while leaving storage and provider management to the platform capability.
Examples
Uses FEATURE_DEBUG_ENABLED, a Conference eventsEnabled flag with three variants, and an OpenFeature ObjectValue call.
What you can do after
Apply it via OpenFeature to evaluate a shared flag and change a running Conference application's behavior without restarting components.

Read how Platform Engineering on Kubernetes explains feature flag →

Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

A feature flag is a Boolean-controlled configuration mechanism that enables or disables a feature, resource, dependency, or attribute.

How it is used
Stages, tests, and hides infrastructure changes before applying them to production or exposing them to collaborators.
How deep it goes
Demonstrates definition, defaulting, conditional references, activation, and removal, but does not detail configuration-manager implementation.
Examples
Uses Python, JSON, Terraform, and CloudFormation examples to switch server modules and load-balancer membership.
What you can do after
Apply it via infrastructure as code to stage changes and limit their immediate impact on existing resources.

Read how Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform explains feature flag →

Django in Action

A feature flag is a conditional control that enables or disables application functionality according to configuration or runtime criteria.

How it is used
Limits production risk by exposing new functionality only to selected users.
How deep it goes
Explains conditional rollout, three Waffle control types, installation, configuration, migrations, and activation checks.
Examples
Uses Waffle switches for global rollout, samples for percentage rollout, and flags for role, account, language, or group targeting.
What you can do after
Apply feature rollouts via Django Waffle using switches, samples, and flags.

Read how Django in Action explains feature flag →

Learn Rust in a Month of Lunches

A feature flag is a configuration option that conditionally enables code, dependencies, or capabilities during compilation.

How it is used
Controls which optional crate code and capabilities compile, helping projects avoid compiling functionality they do not use.
How deep it goes
Explains defaults, Cargo.toml syntax, compiler visibility, and source-level cfg gating, but does not develop flag implementation beyond these examples.
Examples
Uses reqwest's blocking client, Cargo feature listings, cargo add, Cargo.toml entries, and compiler errors for unavailable APIs.
What you can do after
Operate/configure Cargo dependencies by inspecting feature lists and enabling required crate functionality explicitly.

Read how Learn Rust in a Month of Lunches explains feature flag →

The AI Pocket Book

A configuration mechanism that controls which users see a given version of a feature.

How it is used
Uses controlled user exposure to make trunk-based deployment safer.
How deep it goes
Explains staged exposure and final switchover, but does not detail flag implementation or management.
Examples
Uses old-versus-new code paths, developers, and quality-assurance staff as the staged rollout example.
What you can do after
Operate/configure staged releases that validate new features before exposing them to every user.

Read how The AI Pocket Book explains feature flag →

Think Like a Software Engineering Manager

A feature flag is a runtime control that enables or disables a software feature without requiring a new release.

How it is used
Controls production features during phased releases, experiments, and incident response.
How deep it goes
Explains uses, benefits, A/B testing, and cleanup responsibilities but does not describe implementation mechanics.
Examples
Uses hidden buttons, percentage-based user assignment, customer-use analysis, and emergency feature deactivation.
What you can do after
Operate controlled production launches, experiments, and feature deactivation with lower release risk.

Read how Think Like a Software Engineering Manager explains feature flag →

GitHub Actions in Action: Continuous integration and delivery for DevOps

A feature toggle is a runtime-controlled switch that selectively enables or disables a software capability independently of deployment.

How it is used
Separates deployment from release so capabilities can be exposed, validated, or withdrawn independently.
How deep it goes
Explains switch-based old/new code selection, production validation, rollback, and gradual exposure without prescribing a flagging system.
Examples
Uses old-versus-new code switching and a monitored canary rollout through successive user rings.
What you can do after
Operate/configure it to stage production exposure and restore prior behavior by disabling a switch.

Read how GitHub Actions in Action: Continuous integration and delivery for DevOps explains feature flag →

Code Like a Pro in Rust

A feature flag is a Cargo configuration option that enables or disables optional functionality, dependencies, or code.

How it is used
Configures optional crate capabilities, dependency features, conditional compilation, and stable-versus-nightly support.
How deep it goes
Explains Boolean feature definitions, dependency propagation, cfg integration, and trade-offs, but stops short of exhaustive Cargo semantics.
Examples
Uses serde, base64, SIMD, architecture backends, Cargo manifests, cfg-gated imports, and nightly compiler attributes.
What you can do after
Operate/configure Cargo features and conditional Rust code while evaluating compile-time, binary-size, compatibility, and maintenance trade-offs.

Read how Code Like a Pro in Rust explains feature flag →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.