Version 1.8.0 (Jackie) (??? from http://code.elgg.org/branches/1.8/) User-visible changes: * New default theme. * Separated admin interface. Generic API changes: * Added elgg_instanceof(). * Added remove_subtype() and update_subtype(). * Added elgg_format_url(). * ElggDiskFilestore supports non-user owners. Deprecated APIs: * ElggAccess::get_ignore_access() by ElggAccess::getIgnoreAccess(). * ElggAccess::set_ignore_access() by ElggAccess::setIgnoreAccess(). * ElggCache::set_variable() by ElggCache::setVariable(). * ElggCache::get_variable() by ElggCache::getVariable(). * ElggDiskFilestore::make_directory_root() by ElggDiskFilestore::makeDirectoryRoot(). * ElggDiskFilestore::make_file_matrix() and ElggDiskFilestore::user_file_matrix() by ElggDiskFilestore::makeFileMatrix(). * ElggDiskFilestore::mb_string_split() removed. * ElggEntity::initialise_attriutes() by ElggEntity::initializeAttributes(). Same for all sub classes of ElggEntity. * ElggFileCache::create_file() by ::createFile(). * ElggFileCache::sanitise_filename() by ::sanitizeFilename(). * ElggMemcache::make_memcache_key() by ::_makeMemcacheKey(). * ElggGroup::initialise_attributes() by ::initializeAttributes(). * ElggPlugin::initialise_attributes() by ::initializeAttributes(). * XMLRPCCall::parse() by XMLRPCCALL::_parse(). * __get_annotations_calculate_x() by get_annotations_calculate_x(). * __get_entities_from_annotations_calculate_x() by get_entities_from_annotations_calculate_x(). * __php_api_error_handler() by _php_api_error_handler(). * __php_api_exception_handler() by _php_api_exception_handler(). * __elgg_php_error_handler() by _elgg_php_error_handler(). * __elgg_php_exception_handler() by _elgg_php_exception_handler(). * __process_element() by _process_element(). * All __elgg_session_*() by _elgg_session_*(). UI/UX API changes: * Added elgg_push_breadcrumb(), elgg_pop_breadcrumb(), and elgg_get_breadcrumbs(). * Added navigation/breadcrumbs. * Added sticky form support with elgg_make_sticky_form(), elgg_clear_sticky_form(), elgg_is_sticky_form(), and elgg_get_sticky_value(). Version 1.7.2 (August 18, 2010 from http://code.elgg.org/elgg/branches/1.7) UI Changes: * Group "widgets" have been standardized with new blog and bookmark widgets. * New group member listing page. * Group forum topics can be edited including title and status. * Added a group creation river entry. Bugfixes: * Fixed preview and draft saving for blog plugin. * Page titles are now editable. * Fixed several bugs with the new elgg_get* and elgg_list* functions. * Groups do not show up as personal friend collections anymore. * Fixed an upgrade issue with utf8 usernames. * Encoding of & in group forums is fixed. API changes: * Added elgg_list_entities_from_metadata(). * Added elgg_send_email(). * Added remove_from_river_by_id(). * Added remove_from_register() for removing menu items. * Added elgg_get_excerpt(). * Added elgg_get_friendly_title() and elgg_get_friendly_time(). Version 1.7.1 (April 21, 2010 from http://code.elgg.org/elgg/branches/1.7) UI changes: * (Unused) tags field removed from external pages. * Languages fixes in groups. * Installation checks database settings before writing settings.php. * Made the widgets more consistent in their UI. Bugfixes: * Pagination fixed. * Profile icons fixed for PHP-CGI users who were seeing incorrect avatars. * Tag search works in groups and members. * Tag clouds correctly link to tag search. * RSS views added to search. * Wrapper function for get_entities() correctly rewrites container_guid to owner_guid. * output/url correctly appends http:// again. * full_url() urlencode()'s ' and " to avoid a security problem in IE. API changes: * Moved admin flag to users_entity table and added ElggUser->isAdmin(), ->makeAdmin(), and ->removeAdmin() to replace the metadata. * Plugin hook for reported content includes the report object. * UTF8 upgrade checks server defaults before running to avoid corrupted strings. * Tags lib updated to elgg_get_*() interface. * Can get entities based upon annotation/metadata owner_guid. * Moved friendly time and friendly title into overridable views. * Added unregister_notification_handler(). * Added remove_widget_type(). * Search supports container_guid. Version 1.7.0 (March 2, 2010 from http://code.elgg.org/elgg/trunk/) User-visible changes: * UTF8 now saved correctly in database. #1151 * Unit tests added to System diagnostics. * Debug values output to screen when enabled in admin settings. * Users can now log in from multiple computers or browsers concurrently. * Misconfigured plugins no longer break the site. #1454 * User display names cannot have HTML or be longer than 50 characters. * New search system. Bugfixes: * Searching by tag with extended characters now works. #1151, #1231 * Searching for entities works properly with case-insensitive metadata. #1326 * Invalid views now default to 'default' view. #1161. * Metadata cache now handles a 0 string. #1227 * ElggPlugin get() now works with 0. #1286 * Metadata __isset() now works for falsy values (except NULL). #1414 * clear_plugin_setting() now only clears a single setting. * Submenu entries are correctly calculated after a simplecache refresh. API changes: * New plugin hook system:unit_test for adding files to unit tests. * $is_admin global deprecated; use elgg_set_ignore_access() instead. * Deprecated get_entities(). Use elgg_get_entities(). * Deprecated get_entities_from_metadata(). Use elgg_get_entities_from_metadata(). * Deprecated get_entities_from_relationship() and g_e_f_relationships_and_meta(). Use elgg_get_entities_from_relationship(). * Deprecated get_entities_from_access_id(). Use elgg_get_entities_from_access_id(). * Deprecated get_entities_from_annotations(). Use elgg_get_entities_from_annotations(). * Reorganized directory file path to rely on GUID instead of username. * annotation_id column added to the river database table. * remove_from_river_by_annotation() added. * unregister_elgg_event_handler() and unregister_plugin_hook() added. #1465 * clear_all_plugin_settings() added. * get_entity_relationships() supports inverse relationships. #1472. * can_write_to_container() can be overridden with the container_permissions_check hook. #1164 (part 2). * Deprecated search_for_*(). * Deprecated search_list*(). * Added elgg_deprecated_notice(). * ElggEntity::countEntitiesFromRelationship() supports inverse relationships. #1325 * delete_relationship() triggers the hook delete:relationship and passes the relationship object. #1213 * added ElggEntity::removeRelationship(). #1376. * get_entity_dates() supports order by. #1406. * Added elgg_http_add_url_query_elements(). * Added elgg_register_tag_metadata_name() and elgg_get_registered_tag_metadata_names(); * Added ElggEntity::getTags(). * Added elgg_add_action_tokens_to_url(). Services API: * Separated user and api authenticate processing * hmac signature encoding now compatible with OAuth * New plugin hook api_key:use for keeping stats on key usage * New plugin hook rest:init so plugins can configure authentication modules * Moved auth.gettoken to POST for increased security * Fixed REST POST bug #1114 * Fixed #881, #1214, #1215, #1216, #1217, #1218, #1219, #1220, #1298, #1364