Changelog
We're introducing Deployment Previews, which are ephemeral, fully isolated deployments that let you spin up temporary environments tied to your existing deployment configurations.
Whether you're validating a feature branch or sharing a working demo, previews give you a real, production-like environment without long-term infrastructure overhead.
Check out our Deployment Preview Guide to get started right away.
What you can do
- Add a preview to any existing deployment configuration
- Assign a unique subdomain for each preview
- Access that subdomain inside the running container via an environment variable
- Trigger a deployment run for a specific preview
- Delete a preview when it's no longer needed
- Automatically clean up infrastructure when a preview is deleted
- Create and run previews from both the CLI and the UI
How it works
Previews inherit the base configuration of your deployment but run as isolated, ephemeral instances. Each preview:
- Gets its own subdomain (e.g. feature-x-subdomain.yourapprul.com)
- Receives that subdomain as an environment variable inside the container
- Provisions its own infrastructure
- Can be independently deployed, re-deployed, or removed
When a preview is deleted, all associated infrastructure is automatically cleaned up by the Hyphen Agent, no manual teardown required.
What this means for you
- Safe testing without touching staging or production
- Branch-based workflows with real infrastructure
- Faster iteration cycles
- No lingering preview environments
- No paying for infrastructure you forgot to delete
Things to know
- Previews are tied to an existing deployment configuration.
- At least one app in the deployment must have a hostname and DNS zone configured to create a preview deployment
- Each preview must use a unique subdomain within that configuration.
- Infrastructure is fully torn down upon deletion.
- Previews can be created, deployed, and deleted from both the Hyphen UI and CLI.
Finding the right deployment policy is now faster and easier. You can now filter your list of deployment policies to quickly narrow results based on the project, app that gets deployed, or a search query. This makes it much easier to locate the exact policy you need, especially in organizations with many deployments.
What's new
- Filter deployment policies by project
- Filter policies by application
- Use search to quickly locate a specific policy
- Faster navigation through large policy lists
Why this matters
As your organization grows, deployment policies can accumulate across multiple projects and applications. These new filtering options help you quickly find and manage the policies that matter most.
Things to know
- Filters can be combined to narrow results further
- Search works across policy names for quick discovery
- Available anywhere deployment policies are listed
We've upgraded the editing and viewing experience for JSON-based feature flag return values in Toggle, making it easier to work with complex objects confidently and efficiently. Whether you're returning structured configuration, multi-variant payloads, or nested objects, the new editor experience is designed to reduce mistakes and improve clarity.
What's new
- Syntax highlighting for improved readability
- Line numbers for easier debugging and collaboration
- Collapsible sections for navigating large or deeply nested JSON objects
- Improved formatting and validation feedback
What this means for you
Feature flags are increasingly used to return structured data, not just booleans. With enhanced JSON editing:
- Large payloads are easier to understand
- Nested structures are easier to navigate
- Debugging is faster with line references
- Syntax errors are easier to spot before saving
- Teams can collaborate more effectively with consistent formatting
Things to know
- Applies to all JSON-based feature flag return values
- Existing flags automatically benefit from the new experience
- No configuration changes required
This update makes working with advanced feature flags feel less like editing raw text, and more like working in a modern development environment.
Keeping your infrastructure tidy shouldn't require a weekly calendar reminder. We're introducing Automated Deployment Resource Cleanup, a new Hyphen Agent capability that detects and safely removes unused or stale cloud resources created during deployments.
Over time, environments accumulate:
- Orphaned containers
- Unused load balancers
- Detached volumes
- Expired preview environments
- Outdated build artifacts
These resources quietly increase cloud spend, clutter your infrastructure, and add operational risk. Hyphen now automatically identifies deployment-created resources that are no longer in use and cleans them up according to your organizational, project, or deployment-level retention policies.
How it works
Hyphen tracks resources created during each deployment. When a deployment is archived or re-deployed, associated resources are evaluated. Resources that are no longer referenced by active services are automatically removed. Cleanup actions are logged and visible in the Agent Inbox for full transparency.
What this means for you
- Reduced cloud spend from unused infrastructure
- Lower operational risk from forgotten resources
- Cleaner deployment environments
- Zero manual cleanup scripts required
Things to know
- Cleanup only applies to resources provisioned through Hyphen-managed deployments.
- Active environments are never impacted.
- Retention policies can be configured at the organization, project, or individual deployment level.
- The feature is enabled automatically.
Today we're introducing the first of many Hyphen Agent capabilities: automated stale feature flag detection and removal.
Feature flags are powerful — but over time, unused and long-running flags accumulate, adding technical debt and increase release risk. Hyphen Agent analyzes flag activity and identifies flags with no recent usage or unchanged return values over a 90-day period. Once identified, the Agent marks them as stale.
If your apps' GitHub repository is connected, Hyphen Agent automatically generates a pull request to safely remove the flag from your codebase — keeping your system clean, maintainable, and production-ready.
This is the beginning of a broader vision: autonomous infrastructure and code hygiene that improves continuously in the background.
Things to know
- Only apps with connected Github repos will be analyzed for stale feature flags
- Feature flags that have been marked as perpetual are excluded from becoming stale
- The service is enabled by default — no configuration required
- All changes are delivered via pull request for review before merge
- When the agent issues a new pull request for stale feature flags, the previous pull request will be closed
- Stale feature flags highlighted in the Hyphen app, as well as the pull request opened by Hyphen Agent to remove those stale feature flags from a connected Github repository
While creating a deployment policy, we validate that the parent project has a container registry available for your target cloud, or that a new one will be created. Previously deployment policies could be created without a container registry connected to the parent project, which would result in an error when trying to run the deployment.
Added clearer messaging for failed payment and subscription cancellation emails.
The Hyphen Python SDK is now feature complete and stable, providing full programmatic access to:
- Toggle – evaluate feature toggles with targeting
- NetInfo – look up IP geolocation data
- Link – create branded short URLs and QR codes
Installation
pip install hyphen
Use it in your Python applications to power feature flags, geolocation lookups, and branded link generation. The code is available in our GitHub repository and pull requests are welcome!
Hyphen Deploy now features seamless restarts and enhanced workflow tracking, making deployments more reliable and observable.
Better walkthrough experience for users on mobile devices. Users are now required to confirm project or app deletion by entering its name.
The React SDK no longer depends on the browser SDK, improving SSR compatibility. Added CommonJS support to the React SDK to avoid requiring Next.js package transpilation.
Big updates / fixes with our CLI today.
- Fix: return non-zero error code when there are errors
- Feat: allow custom docker file path when building
- Fix: an issue where refresh tokens were not used and thus needing to log in frequently
- Fix: pull and push of env with deleted environments
- Fix: added documentation to enpty env files
- Fix: made hx init respect the global project parameter
- Feat: handle CI environments better by not using TUI when CI is detected
- Fix: switched to better websocket service for more reliability
To update to the latest version just do: hx update
Every December we focus on bug fixes and improvements to make it easier for our customers to get things done! This week released the following:
- Hyphen CLI (hx) - We have been doing some big updates on hx to make it more robust with deploy and how it interacts with the core system via socket updates.
- AWS Integration - A massive amount of bug / resiliency fixes are being done this month to make it much more reliable deploying to AWS infrastructure.
- Billing - New billing features are coming live in January to bill on the same day every month!
You now can set a user at the organization level to Project Collaborator giving them the ability to interact with all projects at the organization level.
Deploy uses messaging between your cloud provider and Hx (CLI) or Hyphen App to update you on how your deployment is going. With this latest update we have added better socket support for that messaging to make it more resilient.
Toggle now supports perpetual feature flags so you can specify if this feature flag will most likely evaluate the same all the time. This is great for circuit-breaker type flags where only occasionally would you change it.
The react sdk for using Toggle is now v1.0.0 and available for download: https://www.npmjs.com/package/@hyphen/react-sdk
Installation
npm install @hyphen/react-sdk
Higher-Order Component (HOC) Pattern
import { withToggleProvider } from '@hyphen/react-sdk';
import App from './App';
export default withToggleProvider({
publicApiKey: 'public_...',
applicationId: 'my-app',
environment: 'production',
defaultContext: {
user: { id: 'user-123', email: '[email protected]' }
}
})(App);
Provider Component Pattern
import { ToggleProvider } from '@hyphen/react-sdk';
import App from './App';
function Root() {
return (
<ToggleProvider
publicApiKey="public_..."
applicationId="my-app"
environment="production"
defaultContext={{
user: { id: 'user-123', email: 'user@example.com' }
}}
>
<App />
ToggleProvider>
);
}
Using the useToggle Hook
import { useToggle } from '@hyphen/react-sdk';
function MyComponent() {
const toggle = useToggle();
// Get boolean feature flag
const isNewFeatureEnabled = toggle.getBoolean('new-feature', false);
// Get string feature flag
const theme = toggle.getString('theme', 'light');
// Get number feature flag
const maxItems = toggle.getNumber('max-items', 10);
// Get object feature flag
const config = toggle.getObject('ui-config', { layout: 'grid' });
return (
<div>
{isNewFeatureEnabled && <NewFeature />}
<p>Theme: {theme}p>
<p>Max Items: {maxItems}p>
div>
);
}
Hyphen Deploy has been updated with two more stabilization features to make building to cloud even more resilient:
- We now have built in more socket streaming support to make live updating easier.
- Our system now handles when you retry it understands how to re-apply the naming of systems.
You can now access your usage by billing cycle for active users, seats, env, toggle, and more. Simply go to https://app.hyphen.ai and then Settings > Billing.
We now support cleaning up any unused resources in AWS when using Hyphen Deploy! Simply go to integrations from Hyphen AI and click "Connect to Amazon Web Services". Yes, cleanup is that easy.
Forget YAML files, Docker configs, Terraform, and Helm charts. With Hyphen Deploy, you define your target SLA, scale, and performance, and Deploy AI generates your cloud infrastructure automatically.
Our Nodejs SDK has been released with better Toggle capabilities and enhanced caching!
Breaking Changes (v2.0)
The Toggle API has been simplified in v2.0. Please review the changes below:
setContext(context)- Use property setter instead:toggle.defaultContext = contextsetPublicApiKey(key)- Use property setter instead:toggle.publicApiKey = keygetClient()- No longer needed, use the Toggle instance directlythrowErrors- Errors are now always emitted via events and default values are returned- Hooks removed from convenience methods (getBoolean, getString, etc.)
- Hooks now only available via event system (
toggle.on('error', ...)) - All toggle methods now return default values on error instead of throwing
To learn more about these changes go to: https://www.npmjs.com/package/@hyphen/sdk#toggle---feature-flag-service
Docker Hub integration is now live! With this new integration Hyphen will automatically manage your teams access management! To set this up go to https://app.hyphen.ai and go to integrations.
We have released a number of fixes today:
- We saw issues with ipv6 and ipv4 compatibility on firewall rules. This has been updated to make it easier
- Logout now works much better across all of our systems.
- Update to Azure to make it more stable when working with it.
- We also added some performance improvements on the ENV homepage in Hyphen App.
New segments documentation is live here: https://docs.hyphen.ai/docs/segments#/
A segment is a reusable set of targeting rules. Segments are useful because they let you define a common audience once and then reuse that audience across many feature flags without duplicating logic. For example, "beta testers," "premium customers," or "users in Mexico".
A segment is scoped to the project it is created in. Segment rules are based on context properties and can be used across the environments within a project.
We now provide a javascript framework for frameworks such as react, svelte, and more. This new sdk is now downloadable from the web. You can read more about it here: https://www.jsdelivr.com/package/npm/@hyphen/browser-sdk
Here is an example on how it works:
import { Toggle } from '@hyphen/browser-sdk';
// Initialize the Toggle client
const toggle = new Toggle({
publicApiKey: 'public_your-api-key-here',
applicationId: 'your-app-id',
environment: 'production', // or 'development'
defaultContext: {
targetingKey: 'user-123',
user: {
id: 'user-123',
email: '[email protected]',
name: 'John Doe'
}
}
});
const welcomeMessage = await toggle.getString('welcome-message', 'Hello World');
document.getElementById('welcome').textContent = welcomeMessage;
- View ENV access events for a project environment, filtering by project or event type
- View ENV access events for default secrets, filtering by project or event type
- Navigate to these views by clicking the project environment or "default secrets" links on the project overview view
We now support Toggle and ENV read requests to build resiliency and performance for your production environments when using the Horizon self-hosted option. In addition, we have drastically improved the caching capabilities for horizon.
You can create a QR code via the SDK from a short code easily:
import { Link } from '@hyphen/sdk';
const link = new Link({
organizationId: 'your_organization_id',
apiKey: 'your_api_key',
});
const code = 'code_1234567890'; // It is the code identifier for the short code you want to create a QR code for
const response = await link.createQrCode(code);
console.log('Create QR Code Response:', response);
We have now reduced the steps down dramatically so that you can get your connection to AWS setup in minutes!
You now in the Hyphen App can look at your events on net.info and keep on scrolling. Just making it a bit easier for all of us...
There are some amazing updates to make it easier to use:
- Now in the dashboard you can see your ENV access locations
- There is a + button at the top that allow you to create a project, feature flag, segment, short link, team, and even invite a new team member!
- Finally, the dashboard side navigation collapses to make it easier to view!
Our Node.js SDK @hyphen/sdk has been updated with the ability to generate short codes via Link. Here is how easy it is:
import { Hyphen } from '@hyphen/sdk';
const hyphen = new Hyphen({
apiKey: 'your_api_key',
});
const longUrl = 'https://hyphen.ai';
const domain = 'test.h4n.link';
const options = {
tags: ['sdk-test', 'unit-test'],
};
const response = await hyphen.link.createShortCode(longUrl, domain, options);
console.log('Short Code Response:', response);
Now you can log into Hyphen and see where your secrets are being access!
We have been working hard to make Google Cloud integration secure and easy to use. With this latest update our integration will set the Domain Restriction Policy to enable the users we grant access too.
We added in some more error handling and also the access permissions you need to complete the task.
Horizon is what we run at the edge of our global network to enable high availability and uptime for accessing Toggle evaluations at scale. Now with self hosting you can build more resiliency and performance by adding Horizon to your local clusters. That means that your local horizon instances are your primary lookup for Toggles and we become the secondary layer.
You can read more about it here: https://docs.hyphen.ai/docs/horizon#/
The new events view shows you where the event took place and also the details in an easy to read view.
@hyphen/sdk has been released (v1.8.0) with the ability to do bulk geo ip address lookups. Here is an example:
import { NetInfo } from '@hyphen/sdk';
const netInfo = new NetInfo({
apiKey: 'your_api_key',
});
const ips = ['8.8.8.8', '1.1.1.1'];
const ipInfos = await netInfo.getIpInfos(ips);
console.log('IP Infos:', ipInfos);
We've enhanced our edge nodes to respond more intelligently to Toggle configuration updates. Previously, we cached configurations at the edge for performance. While that remains true, our edge nodes are now instantly notified when a toggle changes—ensuring they update only what's needed in near real time.