FPM (Fantom Pod Manager)Release Notes



  • New: extraPods config option to add libraries to the final resolved pod list.
  • Chg: Deleting a pod when no version is supplied, now auto-selects the latest version.


  • Chg: Updates the list of core pods to include new ones from Fantom 1.0.77.
  • Bug: Fixed error when a transitive dependency was deleted in newer solutions.
  • Bug: When building, don't install pods to the FAN_HOME dir (cos its already there!)


  • Bug: Fix for tracking shifting transitive dependency trees during dependency resolution. (Phew!)


  • Chg: Relative repositories are now relative to the fpm.props that defines it (and not the current dir).
  • Chg: The file delimiter in fpm.props is always ;, independent of platform.
  • Chg: FPM now uses podName/version NOT podName@version - it's more standardised with HTTP meta.
  • Bug: FPM external processes now work on Linux.
  • Bug: Could not copy transitive dependencies to a local dir.
  • Bug: Run cmd could throw a read only err when using launch pods.


A re-write of the original code base with directed goals and a dependency resolution algorithm that's x12 faster!


  • Bug: Updating pods from a build.fan could cause an Err as it tried to overwrite existing pods in use. Thanks to DonkLord for reporting.


  • New: Added numPods option to InstallCmd.
  • Chg: Removed obvious non-dependencies at the start of the pod resolving algorithm.
  • Chg: Optimised resolving code so it runs faster.
  • Bug: Unresolved Pod list could show too many unsatisfied pod versions.
  • Bug: Corrected resolve time estimates.


  • New: macro config lets you define absolute paths in machine local config.
  • New: clear config lets you be specific about what existing config to clear.


  • Chg: All relative paths in fpm.props are now resolved against the current dir, not FAN_HOME.
  • Chg: The FPM config property configCmd = clearExisting now clears ALL prior config, letting you reset exactly what you need.
  • Bug: FpmConfig did not always indicate when a dir did not exist.


  • New: First release.


Although never officially released for production use, this code base would have been v1.


  • Chg: Better Process handling for keyboard input (works for more cases).
  • Chg: Relative URLs in config (for repos, workDirs, etc...) are now relative to FAN_HOME, not the current dir.
  • Chg: Build cmd now runs all build scripts.


  • New: Install cmd may also install directories of pods.
  • Chg: Bespoke Process implementation for launching fan cmds that need keyboard input.
  • Chg: FpmEnv now extends Env.cur for a prompt() and password() implementation.
  • Chg: Install cmd may now install to a local repo.
  • Chg: Env var FPM_ALL_PODS doesn't overwrite resolved pods.


  • Bug: Run and Test commands needed 2 arguments to be valid, should have just been 1; the name of the pod / class.


  • New: Query command.
  • Chg: Added domkit to list of core pods.
  • Chg: Groomed cmd logging.
  • Bug: Resolving all latest pods didn't always pick the latest between multiple repositories.
  • Bug: Pod dirs were being resolved against homeDir, not baseDir.
  • Bug: Update command no longer reports Done if errors are encountered.


  • Bug: Help cmd wasn't printing out cmd list.
  • Bug: Setup cmd wouldn't always execute.
  • Bug: Resolved multiple issues with the fpm .nix file.


  • Chg: Slightly better unsatisfied pod error reporting.
  • Chg: Killing an FPM run or test cmd didn't kill the running Java process.
  • Bug: Fixed NPE when referencing scripts.


  • New: Preview release.