Adding the before-upgrade and after-upgrade callback types. To go along with the upgrade callbacks Lars added the excellent apm_upgrade_logic proc that lets you specify arbitrary pieces of Tcl code to be executed on upgrade from version X to version Y. The proc figures out which upgrade code chunks to source and in which order (with the same logic as with the traditional upgrade sql scripts). Making paths to sql files (create, drop, upgrade) and catalog files (I18N) be fetched directly from the filesystem rather than from the info file. The file listings in the info files and in the database are now AFAIK superfluous and have no influence on the system. Adding proc apm_watch_all_files for watching all files in a package. Bumping up version name from 4.5 to 4.7.2d
Lars added proc util_get_current_url. Removing updates of nsv apm_library_mtime that now happen in apm_source proc. Removing proc apm_mark_packages_for_bootstrap that was used to avoid server restart after package installation (we are now requiring server restart). Moving flushing of package_installed_p cache to happen at end of apm_package_install proc instead of the beginning. Adding parameter PermissionCacheTimeout that determines the lifetime of the permissions cache.