Eggmonster Change Notes ======================= 4.4 --- Eggmonster runner now allows initializing the environment without actually running any application (if not entry point application name is provided). Eggmonster internal logging now will log to the host `eggmonster-log` if that name resolves in DNS and no environment variable is present. 4.3.1 ----- Added the `env.as_obscured_dict` method for obscuring sensitive information before logging or other output of the configuration. 4.3 --- Fixed error when parsing namespace package names in RunningState._pkg_info. 4.2 --- The eggmonster environment `eggmonster.env` is now also a valid dict so one can do things like iterate over the keys/values. Added Python 3 build support. If monster_launchd has problems spawning emi processes, eggmonster will log some debug information to help diagnose it. 4.1.31 ------ Fixed issue in eggmonster.concurrency where file locks would not be released if the process was terminated unexpectedly. 4.1.30 ------ Added support for namespace packages. 4.1.29 ------ A new entry point is supported. Third-party libraries may supply an entry point `eggmonster_config_updates` which will be called with two parameters (the old and new config yaml as strings) when the config is updated by "em edit". A new parameter 'host-id' may be provided to monster_launchd to override the default identity of platform.name. 4.1.27 ------ Previously to 4.1.27, the eggmonster launchd clients would by default attempt to setuid to the user by the name "monster" and would always require being started as root. Beginning with 4.1.27, the eggmonster launchd clients no longer require that the process be started by root. Instead, the process will run in the user context under which it was started unless the `--user` option is supplied. If `--user` is supplied and is not the same user as the user that started the process, the process must have been started by root. When upgrading to 4.1.27, add `-u monster` or `--user monster` when starting monster_launchd to maintain compatibility. 4.1.26 ------ Beginning with 4.1.26, the eggmonster install lock mechanism (which prevents other eggmonster instances on the same system from upgrading packages simultaneously) was changed to be more platform friendly and work as a context manager. This change also tweaked the semantic meaning of the lockfile (`/tmp/eggmonster-install-lock`). In previous versions, the lock file was kept around, and locks were acquired by setting the EXCLUSIVE flag on the file. Beginning with 4.1.26, the file is removed after the lock is released. Thus when upgrading to 4.1.26, one must be careful to remove the lockfile or subsequent package install operations will fail.