Listen to this article. Also available on Spotify. Subscribe to PolyAPI Squawk.
In PolyAPI, functions serve as the atomic unit of management. These functions come in various types, including APIs, Server, Client, Webhook, and Variable. Despite their differences, they share common characteristics: they are managed within generated SDKs, follow a shared taxonomy, expose interfaces, perform actions, and are accessible to our AI Assistant. With the latest release, we are introducing lifecycle states to enhance function management, making their consumption safer and more efficient.
Enhancements in Release 20
With Release 20, we have introduced five function lifecycle states: ALPHA, BETA, STABLE, DEPRECATED, and DISABLED.
At this stage, only two states carry direct significance:
- DEPRECATED – Functions marked as deprecated will appear in TypeScript-generated clients with deprecation annotations. This ensures developers are aware that they should avoid dependencies on these functions. Integrated Development Environments (IDEs) will natively reflect this status to bring it to the developer’s attention.
- DISABLED – Functions in this state are non-executable and are excluded from SDK generation.
In this release, lifecycle state management is available via the API and applies to primitive function types.
Looking ahead to Release 21, we plan to introduce UI support for these lifecycle management capabilities.
Future Vision
The introduction of lifecycle states lays the groundwork for a series of future enhancements aimed at improving function management and consumption.
Evolving State Significance
- ALPHA & BETA – These states will likely evolve to warn users about potential removal or modification risks. Future conditions may include restricting Alpha/Beta functions from being used in Server Functions deployed to specific environments.
- STABLE – The Stable state will evolve to permit breaking changes and reversion to Alpha/Beta. Some environments may be marked as “stable only,” restricting which functions can be deployed and used.
Deprecation and Disabling Enhancements
- Mandatory Deprecation Period – Functions may need to be in the deprecated state for a set period before they can be disabled. Similarly, disabled functions may need to remain in that state before deletion (if deletion is allowed at all).
- User Notifications – When a function becomes deprecated, an intelligent notification system will alert users via client subscriptions and runtime traffic observation. This will allow seamless communication between the server and client developers.
- Disabled Function Alerts – If clients are actively using a function at the time it is set to disabled, function managers will receive warnings, multi-factor authentication (MFA) may be required, and alerts will be sent to client owners.
Migration Assistance
- Migration Pointers – Functions will be able to reference their successors, providing developers with clear guidance on migration paths.
- AI-Powered Migration Tools – AI will analyze current functions, recommended replacements, and dependent code to suggest optimal migration strategies for developers.
We anticipate further innovations to enhance function lifecycle management over time.
See for Yourself
To explore the new lifecycle stages, simply perform a GET request on a function record via our Management API, where you will find a new state field. You can update a function’s lifecycle stage using a PATCH operation.
Have questions about our roadmap or platform? We’d love to hear from you! Reach out to us at hello@polyapi.io, fill out a contact form, or book an intro meeting.