Salesforcetutorial.com provides in-depth, step-by-step tutorials on key Salesforce concepts, including What are Salesforce Packages? With clear explanations, practical examples, and expert guidance, the site makes complex topics accessible.
This tutorial will cover the essentials of Salesforce packages and their benefits, starting with an overview of unmanaged and managed packages.
What are Salesforce Packages?
In Salesforce, a package is a container that bundles a set of related components or applications, facilitating their distribution to other Salesforce organizations and users. As of 2024, Salesforce offers two primary types of packages:
- Unmanaged Packages
- Managed Packages
Unmanaged Packages
Unmanaged packages are typically used for distributing open-source projects or templates. Once installed, the components become part of the recipient’s organization, and the original creator has no control over them. Recipients can modify these components as needed, but updates from the original creator are not automatically applied. To receive updates, recipients must manually reinstall the package.
- Unmanaged package is used to distribute open source applications to provide developers with with basic functionality.
- We can edit unmanged package components after installing the unmanaged package in a salesforce organization.
- The developer who created unmanged package has no control on installed components, can’t edit & can’t upgrade.
Managed Packages
Managed packages are intended for distributing applications to multiple customers, often through the Salesforce AppExchange. They offer versioning, licensing, and the ability to push updates directly to subscribers. Managed packages can be either first-generation (1GP) or second-generation (2GP).
- Managed package is used to distribute and sell application to customers. By using the App exchange developers can sell and mange user baser based licences to the managed package application.
- Managed packages are fully upgradable.
- To ensure seamless upgrades, certain destructive changes, like removing objects or fields, can not be performed.
Recent Updates in Salesforce Packaging (2024)
Salesforce has introduced several enhancements to its packaging framework in 2024:
- Automatic Upgrades for Managed Packages Starting with the Spring ’24 release, Salesforce has implemented automatic upgrades for certain managed packages, including Insurance, Communications, Media, Energy, and OmniStudio. This process aligns with Salesforce’s seasonal release cycle, ensuring that new features, critical security updates, and enhancements are delivered three times a year (Summer, Winter, and Spring). Automatic upgrades keep sandboxes and production environments current with the latest features and provide regular patch updates for performance, stability, and security improvements.
- Second-Generation Managed Packages (2GP) Salesforce continues to enhance second-generation managed packaging (2GP), offering a more flexible and source-driven approach to package development. 2GP allows developers to organize source code, build modular packages, integrate with version control systems, and better utilize custom Apex code. All packaging operations can be executed via Salesforce CLI or automated using scripts. Developers can submit 2GP packages for security review and list them on AppExchange.
- Accelerated Package Builds In August 2024, Salesforce introduced different build types to accelerate package builds for managed 2GP and unlocked packages. This enhancement aims to optimize the DevOps process for release managers, enabling more efficient build pipelines.
- Enhanced Support for Data Cloud Metadata The Winter ’25 release includes updates that allow managed packages to contain Data Cloud metadata. While a managed package can’t contain a mix of Data Cloud and other metadata in a single package, developers can now create separate packages with dependencies in their organizations. This enhancement facilitates better integration and management of Data Cloud components within managed packages.
These updates reflect Salesforce’s commitment to improving the packaging experience, providing developers and organizations with more robust tools for application development and distribution.