flxbl docs
slackGitHub
  • flxbl
  • sfp
  • sfops
  • Overview
  • Getting Started
    • Pre-Requisites
    • Install sfp
    • Configure Your Project
    • Build & Install an Artifact
    • Congratulations!
    • Docker Images
      • sfp-pro
  • CONCEPTS
    • Overview
    • SF CLI vs. SFP
    • Domains
    • Packages
    • Supported package types
      • Unlocked Packages
      • Org-Dependent Unlocked Packages
      • Source Packages
      • Diff Package
      • Data Packages
    • Artifacts
    • Package vs Artifacts
    • Identifying types of a package
    • Dependency management
    • Transitive Dependency Resolution
    • Destructive Changes
  • configuring a project
    • Project structure
    • Setup Salesforce Org
    • Creating a package
    • Defining a domain
    • Release Config
  • BUILDING ARTIFACTS
    • Overview
    • Determining whether an artifact need to be built
    • Building a domain
    • Building an artifact for package individually
    • Limiting artifacts to be built
    • Controlling aspects of the build command
      • Ignoring packages from being built
      • Building a collection of packages together
      • Selective ignoring of components from being built
      • Use of multiple config file in build command
    • Configuring installation behaviour of a package
      • Always deploy a package
      • Skip Install on Certain Orgs
      • Optimized Installation
      • Pre/Post Deployment Script
      • Reconciling Profiles
      • PermissionSet Assignment
      • Updating Picklist
      • Entitlement Deployment Helper
      • Field History & Feed Tracking
      • Aliasfy Packages
        • Aliasfy Packages - Merge Mode
      • State management for Flows
  • Installing an artifact
    • Overview
    • Controlling Aspects of Installation
    • Applying attributes of an artifact
    • BuiltIn Deployment Helpers
      • PermissionSet Group Awaiter
  • publishing and fetching artifacts
    • Publish Artifact
    • Fetching Artifacts
  • Releasing artifacts
    • Overview
    • Release Definitions
    • Generating a release definition
    • Generating a changelog
  • Validating a change
    • Overview
    • Different types of validation
    • Limiting Validation by Domain
    • Controlling validation attributes of a package
      • Skip Testing
      • Skip Coverage Validation
      • Test Synchronously
  • Analysing a Project
    • Overview
    • Duplicate Check
  • Environment Management
    • Pools
      • Scratch Org Pools
        • Defining a pool
        • Setting up your Salesforce Org for Scratch Org Pools
        • Pool Operations
          • Preparing pools
            • Handling dependencies
          • List Scratch Orgs in a pool
          • Fetch a scratch org
          • Delete Pools
      • Sandbox Pools
        • Sandbox Pool Initialization
        • Fetch a Sandbox from Pool
        • Monitor Sandbox Pools
    • Review Environments
      • Commands
        • Fetch a Review Environment
        • Check Review Environment Status
        • Extend a Review Environment
        • Transition Review Environment Status
        • Unassign a Review Environment
      • Considerations
    • Sandbox
      • Create Sandbox
      • Delete Sandbox
      • List Sandbox
      • Login to Sandbox
      • Update Sandbox
  • Development
    • Development Environment
    • Pull Changes from your org
    • Push Changes to your org
    • Dependency Management
      • Expand Dependencies
      • Shrink Dependencies
      • Explain Dependencies
  • Running sfp as a server
    • Introduction
    • sfp-pro-server: Architecture Overview (Alpha)
      • Task Processing System
      • Authentication & Security Architecture
      • Authentication System: Deep Dive
      • Database Architecture
      • Network Architecture and Integration System
      • Integration Architecture: Building Extensions
    • Installing SFP Server
    • Initializing SFP server
  • API Reference
    • Health
    • Authentication
    • Token
    • Salesforce
    • Team
    • Users
    • Tasks
    • Key Value
    • Repository
    • WebHooks
  • Metrics
    • Available Metrics
    • Custom Metrics
    • Configuring Collectors
      • Datadog
      • Splunk
      • New Relic
      • StatsD
  • Helpers
    • Managing Shared Resources
  • Command Guide
    • Core
      • Build
      • Quickbuild
      • Publish
      • Install
      • Release
    • Advanced
      • Validate
      • Artifacts
      • Changelog
      • Impact
      • Pool
      • Metrics
      • Repo
    • Utilities
      • Apex Tests
      • Flow
      • Dependency
      • Profile
  • FAQs
    • Common Errors
      • Org Shapes
      • Troubleshooting Unlocked Packages Build Failure Due to Code Coverage
    • Common Questions
      • Email Templates Deployment: Classic vs Lightning
      • Dealing with Long Build Times in Salesforce
      • Standard ValueSets and unlocked packages
      • Common Issues encountered with aliasfied packages
      • API Version
      • Understanding alwaysDeploy and skipIfAlreadyInstalled in Deployment Pipelines
    • sfp versioning and upgrade Process
  • References
  • Legal
    • Terms of Service for sfp
    • Terms of Service for 'sfp-pro' Software
  • LLMs.txt
Powered by GitBook
On this page
  • Versioning Strategy
  • Release Channels and Frequency
  • Upgrading sfp
  • Upgrade Considerations
  • Changelog and Notifications
  • Long-Term Support (LTS)
  • Rollback Procedure
  1. FAQs

sfp versioning and upgrade Process

Versioning Strategy

sfp follows Semantic Versioning 2.0.0 (SemVer) for version numbering. This means version numbers follow the format MAJOR.MINOR.PATCH, where:

  • MAJOR version changes indicate incompatible API changes

  • MINOR version changes add functionality in a backwards-compatible manner

  • PATCH version changes make backwards-compatible bug fixes

sfp uses release-please to manage releases, ensuring consistent and automated version management.

Release Channels and Frequency

sfp is available in two editions:

  1. sfp Community Edition: Released quarterly

  2. sfp Pro: Released monthly (for licensed users only)

Both editions will receive immediate releases for critical issues such as security vulnerabilities or blockers due to Salesforce upgrades.

sfp offers three release channels:

  1. alpha: Early access to new features, may contain bugs

  2. beta: More stable than alpha, but still in testing

  3. latest: The stable release channel

Upgrading sfp

Recommended Upgrade Method

The recommended method for using and upgrading sfp is through Docker images. This approach ensures consistency across different environments and simplifies the upgrade process.

For CI/CD workflows:

# Example Docker image reference in a CI/CD configuration
image: ghcr.io/flxbl-io/sfp:X.Y.Z  # Replace X.Y.Z with the specific version number

If using npm (not recommended for production environments):

npm install -g @flxbl-io/sfp@X.Y.Z  # Replace X.Y.Z with the specific version number

Always use specific version numbers rather than tags like "latest" to ensure reproducibility.

Upgrade Considerations

  1. Review Release Notes: Before upgrading, always review the release notes for any breaking changes or new features. These can be found in the GitHub repository.

  2. Test Before Deployment: For large projects, it's recommended to test the new version in a separate test project before rolling it out to your main development environment.

  3. CI/CD Environments: When upgrading in CI/CD environments, update the Docker image reference to the new version number. Ensure all jobs and pipelines are updated simultaneously to maintain consistency.

  4. Backup: While not strictly necessary due to the nature of sfp as a CLI tool, it's always a good practice to ensure your project files are backed up before performing any significant upgrades.

  5. Compatibility: There are no automated tools to check for compatibility issues. Refer to the release notes for any known compatibility concerns.

Changelog and Notifications

  • Changelogs are published on the sfp GitHub repository for each release.

  • Users will be notified of new releases and important changes in the Flxbl Slack community.

Long-Term Support (LTS)

Currently, sfp does not have a formal Long-Term Support policy. Users are encouraged to stay up-to-date with the latest stable release.

Rollback Procedure

If issues are encountered after an upgrade:

  1. Revert to the previous version by specifying the old version number in your Docker image reference or npm install command.

  2. Report the issue on the sfp GitHub repository or Flxbl Slack community.

Remember, using Docker images with specific version numbers makes it easy to switch between versions if needed.

Last updated 8 months ago