Integrations and Deprecations 2026.2.x #

This topic includes integrations and deprecations for Pragma Version 2026.2.0.

Per-game social configuration files #

Social configuration has moved from shared values in pragma-cli-common.ini to per-game social config files (pragma-cli-<game>-social.ini). The mvn_version_prefix has also moved from common config into each game config.

Dependency updates #

We have updated many of the third party libraries used by the engine. Intellij project may need to be refreshed to pick up the changes.

Integration steps: #

Run the update migration script #

The 2026-2 update command does the following:

  • Creates pragma-cli-<game>-social.ini for each game project, populated with social values from pragma-cli-common.ini
  • Sets social_mvn_version_prefix in each social config from the corresponding game’s mvn_version_prefix
  • Moves mvn_version_prefix from common config to any game config missing it
  • Removes migrated social values from common config
  • Copies the default game’s social config to pragma-cli-social.ini
  1. Run the automated migration:
    ./pragma update 2026-2
    
  2. Then switch to your current project to make sure pragma-cli.ini is up to date. See the project field in pragma-cli.ini if you are unsure what to use for <TARGET>:
    ./pragma project switch <TARGET>
    
  3. Note the new pragma-cli-<game>-social.ini file, populated with the fields moved from common-cli.ini
  4. Regenerate POMs:
    ./pragma project regenerate-poms
    
  5. Review changed pom.xml files and re-add any modifications or custom dependencies.
    1. Since these files are generated by the pragma cli but then maintained by the studio, consider adding “modified start/end” comments to pom changes to help the process of merging future updates.
  6. Verify the build:
    ./pragma build all
    

New GameInstanceDaoConfig #

  • Update your deployed shard configurations or update the common.yml config with new dao config.

Game Config

game:
    serviceConfigs:
        GameInstanceDaoConfig:
            databaseConfig:
                identifierSchemas:
                    1:
                        identifier: "defaultIdentifier"
                        schema: "game_gameInstance"

Will address:

* ConfigValueInvalid(path: PragmaConfig.serviceConfigs["GameInstanceDaoConfig"].databaseConfig.username, details: username must be set directly or by a generated database config via an identifier.)

Intellij Updates #

  • Install the latest version of Intellij (2026.1.X at time of release) and follow the engine README for increasing Intellij’s compiler memory.
  • Close Intellij and run ./pragma build all before launching the updated IDE to help Intellij pick up the latest changes.
  • Higan protobuff plugin is no longer required, users can revert back to the Intelij built-in protobuf plugin.

Jackson JsonProperty annotation update #

If com.fasterxml.jackson.annotation.JsonProperty is being used for any data classes the annotations will need to be updated to: @param:JsonProperty

Loadsimulator - Getters removed from SocialRpcClient and GameRpcClient #

playerId, socialId, displayName, getters were removed from SocialRpcClient and GameRpcClient but can be referenced directly from the ClientWrapper.

before:

val player: ClientWrapper = players.first()
println(player.game.playerId)

after:

val player: ClientWrapper = players.first()
println(player.playerId)