1GP (First-Generation Packaging)
Salesforce's original way to build packages, made by uploading straight from an org instead of code in Git.
Definition
1GP (first-generation packaging) is Salesforce's original packaging model, where a managed or unmanaged package is built directly inside a namespaced org by clicking "Upload" in Setup, rather than from source in version control. Metadata lives in the packaging org itself, not in Git, so tracking history, running CI, or reviewing a diff before release all require tooling layered on top.
1GP packages don't support formal dependency declarations between packages the way 2GP does, and each org can register and hold exactly one namespace, so scaling to multiple products means multiple packaging orgs.
Salesforce still supports 1GP for existing packages and continued releases, but recommends 2GP for all new development because it's source-driven, versioned properly, and CI-friendly. Most 1GP-to-2GP migrations happen once a team's release cadence outgrows what a single packaging org and manual uploads can support.
How it works in Serpent
Serpent supports native 1GP alongside 2GP so ISVs and PDOs with an existing namespaced packaging org aren't forced into a disruptive migration before adopting real DevOps practices. Metadata changes still flow through Serpent's task-based tracking and release pipeline, giving 1GP teams version history, preflight checks, and rollback they wouldn't otherwise have. See package development in Serpent for how both models are handled.

1GP, answered
Start free. No credit card, no install, no commitment.
Set up in under 15 minutes. No DevOps hire needed.
