API Change Log

Version 1.300
  • No changes.
Version 1.290
  • No changes.
Version 1.280
  • Themes can override the select all/invert functions by defining theme_select_all_link and theme_select_invert_link.
  • Added a port parameter to ftp_download, and user-config option to foreign_config.
Version 1.270
  • Added the popup_error function.
  • The http_download and ftp_download functions can use a cache to speed up repeatedly downloaded files, if enabled in the Webmin Configuration module.
Version 1.260
  • Added the indexoflc and recursive_disk_usage functions.
  • Themes can override the redirect function by defining theme_redirect, and module information by defining theme_get_module_info.
Version 1.250
  • Added the split_quoted_string function.
  • Themes can now limit access to modules by defining the theme_foreign_available function, and make changes to global variables by defining theme_post_init_config.
Version 1.240
  • Added the unix_crypt function.
  • Added width and height parameters to the hlink function.
Version 1.230
  • Updated many functions to work on Windows.
  • Added the copy_source_dest, remote_multi_callback, create_missing_homedir, get_current_dir, supports_users, supports_symlinks, quote_path, get_windows_root and read_file_contents functions.
  • Added a default parameter to the guess_mime_type function.
Version 1.220
  • Added the popup_header, popup_footer, reload_miniserv, test_lock, rename_file, symlink_logged, symlink_file, link_file, make_dir, set_ownership_permissions, unlink_logged, unlink_file, list_categories, is_readonly_mode, command_as_user, list_osdn_mirrors and convert_osdn_url functions.
  • Added before and after title paramters to the generate_icon function.
  • Added an optional parameter to functions that call shell commands to indicate if they are safe for calling in readonly mode. Those modified are backquote_with_timeout, backquote_command, execute_command and open_execute_command.
Version 1.210
  • Added the running_in_zone, substitute_template, modules_chooser_button, capture_function_output, open_execute_command, open_readfile, execute_command, number_to_month, backquote_command and get_group_module_acl functions.
Version 1.200
  • Added the check_ip6address function.
Version 1.180
  • Added the transname, foreign_available, backquote_with_timeout, simplify_path, open_tempfile, close_tempfile, print_tempfile, open_lock_tempfile and month_to_number functions.
Version 1.180
  • Added the can_lock_file, module_root_directory, list_mime_types and guess_mime_type functions.
  • Updated a large amount of core Webmin code to use the module_root_directory to find a module's base directory, in order to better support multiple root directories.
Version 1.170
  • Added the get_mod_lib, check_pid_file, save_user_module_config, foreign_defined and ftp_upload functions.
  • Added additional parameters to the flush_file_lines and file_chooser_button functions.
Version 1.160
  • Added additional functionality to the read_file, write_file and nice_size functions.
  • Added the select_all_link and select_invert_link functions.
Version 1.150
  • Added the get_goto_module function.
Version 1.140
  • Added the functions get_perl_path, nice_size, save_module_config and get_visible_module_infos.
  • Added new parameters to the load_language and ReadParseMime functions.
  • Added support for a new visible option in module.info files, and a preload_functions option in theme.info.
Version 1.130
  • Added a new library called ui-lib.pl containing functions for generating Webmin-style user interface HTML. This is still under development, so the functions it contains may change.
  • Added the get_charset and get_display_hostname functions.
  • Modified the tempname function to respect the tempdir global configuration variable, instead of using /tmp/.webmin.
Version 1.120
  • Added username and password parameters to the http_download and ftp_download functions.
Version 1.110
  • Added the foreign_installed function.
  • Added the check_clicks_function function.
Version 1.090
  • Added the form parameter to the unix_user_input and unix_group_input functions.
  • Added support for group sychronization to the Users and Groups module, similar to the long-available user sychronization feature.
Version 1.030
  • Added the is_under_directory function.
Version 1.000
  • Added the get_available_module_infos and available_usermods functions, which are really for Usermin internal use only.
Version 0.990
  • Added support for pre and post install module scripts.
  • Added the noicons theme config option.
Version 0.980
  • Added the flush_webmin_caches function.
Version 0.970
  • The remote_read and remote_write functions have been sped up to use direct TCP transfers when communicating with Webmin 0.970 or above servers.
  • The http_download function now has a new status code 5 that it can pass to the callback function when doing a redirect.
Version 0.960
  • Added the read_file_cached, get_all_module_infos resolve_links and same_file functions.
  • Foreign calls and requires are now faster, due to the elimination of unnecessary chdir calls. This should have no effect on module code that calls these functions however.
  • The foreign_call function does not have to be used. Instead, you can just use the normal Perl syntax for calling functions in other modules, like &module::function(args) instead of &foreign_call("module", "function", args).
  • All useradmin_update.pl, log_parser.pl and acl_security.pl scripts that want to use functions from their module's library must require it with the statement :
    do 'foo-lib.pl';
    This is a side-effect of the speedup in the foreign_call function.
  • The code that displays the webmin main menu and categories now caches all the module.info files, so that it does not have to read them all so often. However, this means that module developers who edit their own module.info file may not see the change take effect until they flush the cache by deleting /etc/webmin/module.infos.cache.
Version 0.93
  • Added the remote_error_setup function.
  • Added the progress_callback function, and an additional parameter to http_download to make use of it.
  • Added the Usermin-specific switch_to_remote_user and create_user_config_dirs functions.
  • Added the filter_javascript function.
Version 0.92
  • Added support for theme functions to override header, footer and error.
  • The footer function can now create multiple return links.
  • Added the get_theme_info function.
Version 0.91
  • Added the clean_environment and reset_environment functions.
  • Added the kill_byname_logged function.
Version 0.90
  • Added the remote_foreign_config, remote_write and remote_read functions.
  • Added the make_http_connection, read_http_connection, write_http_connection and close_http_connection functions.
Version 0.86
  • Added the disk_usage_kb and help_search_link functions.
  • Added support for several new options in theme config files.
Version 0.85
  • Added the seed_random function.
Version 0.83
  • Added the date_chooser_button function.
Version 0.82
  • Added the remote_ series of functions for calling code on other Webmin servers.
  • Added the other_groups function.
Version 0.81
  • Added locking functions lock_file, unlock_file and unlock_all_files as described in the File Locking section.
  • Added action logging functions webmin_log, system_logged, backquote_logged, kill_logged and rename_logged as described in the Action Logging section.
Version 0.77
  • The module.info file can now contain a category line. See above for more details.
Version 0.75
  • The header function can now generate a header image itself if the 2nd parameter is empty.
  • Added support for internationalisation, in particular the text function and the %text hash. See above for more details.
  • Added the encode_base64 function.
Version 0.74
  • The header function now accepts an additional parameter for adding extra HTML to the <head> section of the page.
  • Added link to a font used for creating Webmin headers.
Version 0.73
  • The init_config function no longer needs the module name to be passed as a parameter, in order to support the cloning of modules. Modules should no longer have their name hard-coded anywhere in CGI programs or perl scipts - instead, the $module_name variable should be used.
Version 0.72
  • Added the get_module_acl and save_module_acl functions for use with the per-module ACL feature. See above for more details.
  • Changed the way the Users and Groups module notifies other modules when users are added, updated and deleted. The API for notification is now documented above.
Version 0.70
  • Module library files should now include web-lib.pl with the statement do '../web-lib.pl'; instead of require '../web-lib.pl';. This is required to make foreign function calls to your module possible.
  • It is now possible to call functions from other modules' libraries, using the foreign_require and foreign_call functions. See the documentation above for more details.
  • The function get_system_hostname has been added, to return the hostname of the system Webmin is running on. The hostname function in Sys::Hostname was failing on some Linux systems.
  • Added the function get_webmin_version.
  • ACL checking is now automatic. The old acl_check function now does nothing, and so no longer needs to be called.
Version 0.63
  • Added the hlink function, which returns HTML for a pop-up window for some module help page.
  • Added the user_chooser_button and group_chooser_button functions, for more scalable selection of users and groups.