1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
|
Version 1.8.0 (Jackie)
(September 5th, 2011 from git://github.com/Elgg/Elgg.git)
Notes:
Elgg 1.8 contains the most changes in Elgg since the transition from Elgg
0.9 to Elgg 1.0. The core team tried to make the transition as smooth as
possible, but in the interest of following standards and simplifying the
development process for core and third party developers, we have made
changes that will require updating plugins. We believe these changes
will help Elgg development be easier for everyone.
It is unreasonable and unhelpful to list the full details of all changes in
this file. Instead, we will list the high level, overarching changes to
systems. If you are interested in the specifics, Elgg 1.8's source code is
highly documented and serves as a good guide and the git commit log can
provide excruciating details of what has changed between 1.7 and 1.8.
Please post your feedback, questions, and comments to the community site
at http://community.elgg.org. As always, thank you for using Elgg!
--The Elgg Core Development Team
A tip about updating plugins:
It's not difficult to update 1.7 plugins for 1.8. There is a detailed
document outlining this process on the wiki:
http://docs.elgg.org/wiki/Updating_plugins_for_Elgg_1.8
The basic process is:
1. Clean up the plugin to make sure it conforms to coding standards,
official structure, and best practices.
2. Update any uses of deprecated functions. Functions deprecated in 1.7 will
produce visible notices in 1.8!
3. Use the new manifest format.
4. Use the new menu functions.
5. Use the new JS features.
6. Update the views to use core CSS helper functions and classes instead of
writing your own.
The documentation directory and the wiki has more information.
User-visible changes:
* New default theme.
* New installation.
* Separate and updated admin interface.
* Updated plugin themes.
Generic API changes:
* Improved the markup and CSS.
* Restructured and simplified the views layouts.
* Added a new menu system.
* Added new CSS and JS file registration functions.
* Added a JS engine.
* Added a breadcrumb system.
* Added a sticky forms system.
New plugins:
* Dashboard - The activity stream is now the default index page. A 1.7-style
dashboard is provided through the dashboard plugin.
* Developers Plugins - Developer tools.
* Likes - Allows users to "like" other users' content.
* oAuth API - A generic, reusable oAuth library.
* Tag Cloud - A widget-based tag cloud generator.
* Twitter API - A generic Twitter library that allows signin with Twitter
and pushing content to tweets. Replaces twitter_service.
Deprecated plugins:
* captcha - Captchas have long since stopped being useful as a deterrent
against spam.
* crontrigger - Real cron should be used.
* default_widgets - This functionality is now part of core.
* friends - This functionality is now part of core.
* riverdashboard - Displaying the river (activity stream) is default in
core. The original dashboard can be restored by the new Dashboard plugin.
* twitter_service - Replaced by Twitter API.
Previous and Merged Changes:
Version 1.7.11
(August 15, 2011 from http://github.com/Elgg/elgg)
Security Enhancements:
* Fixed possible XSS vector in the embed plugin. Thanks to Aung Khant from YEHG for the report.
* Fixed possible SQL exposure exploit in the search plugin. Thanks again to Aung Khant.
* Fixed possible SQL injection vector in the search plugin. Thanks to Lostmon Lords for the report.
Bugfixes:
* Filtering by content works in the dashboard again.
* Dragging widgets works in IE9.
API Changes:
* Deleting a container will delete all contained objects regardless of access_id.
* setLocation() and setLatLong() no longer double escapes strings.
* Calling elgg_list_entities() with count set no longer breaks the display.
Version 1.7.10
(June 14, 2011 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Changes to prevent numerous reflected cross site scripting vectors. Thanks to Aung Khant for
the reports!
Enhancements:
* Banned users are more apparent in user lists and profiles.
Bugfixes:
* TinyMCE: Using Elgg's default font to prevent small font sizes.
* Files: Optimizations to allow uploading and downloading larger files.
* Fixed bugs preventing users from adding and removing friends in Friends Collections.
* $CONFIG->lastcache is correctly set for pages that regenerate the cache.
API Changes:
* Added unit tests for access collections.
* Added can_edit_access_collection().
* Access collection functions no longer check permissions. Do this in actions instead.
Version 1.7.9
(June 1, 2011 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Blocking possible access to restricted pages if headers are output too early. Thanks to Vazco
for reporting!
Bugfixes:
* Admins can delete Pages again.
* TinyMCE upgraded to 3.4.2 to fix IE support.
* Autocomplete input works correctly.
* Fixed Message Board "all" posts.
* Fixed deleting internal messages on some non-English sites.
* Better feedback if an error occurs when saving widgets.
* Messages from deleted users no longer show the recipient's avatar.
* Https logins on fully https sites work correctly.
API Changes:
* Added "creating", "river" plugin hook.
* User metadata is registered as independent higher in the boot sequence.
* Group ACLs are updated correctly when joining a non-logged in user to a group.
* Can return 0 for plugin hook 'comments', 'count'.
Version 1.7.8
(April 4, 2011 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Properly encoding search queries (Thanks to lord epsylon (of Lorea) for the report!)
Bugfixes:
* Blogs - Fixed disappearing blog draft issue.
* Groups - Editing a topic from discussion list page works now.
* Search - Group names used in titles.
* InviteFriends - Invitation link no longer shows up when logged out.
* Messages - Denormalized the message calculation for better performance.
* Sorting by time_created in relationship functions supported.
* Metadata and annotation names can now be updated.
* Fixed error with deleting a user with disabled entities.
* Removed unnecessary executable permissions on a number of files. (Thanks to
pauloortiz for the report!)
API Changes:
* Added delete_submenu_item() for removing sidebar menu items.
Version 1.7.7
(January 31, 2011 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Only admins can view the unvalidated users page (Thanks to Manacim
Medriano for the report!)
Bugfixes:
* Fixed deprecation notices for locales that use comma as radix point.
* Groups - Files can be completely disabled per group.
* Pages - Deleting and creating subpages is restricted to owner or group member.
* Groups - group icons deleted when group is deleted.
* Pagination will not display when all content id displayed.
* Fixed issue with get_context() when trailing slash is missing.
API Changes:
* Added $CONFIG->action_token_timeout.
* Added callback option to elgg_get_entities().
Version 1.7.6
(December 23, 2010 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Fixed a possible SQL injection attack when using a crafted
URL. Thanks to Gerrit Venema from Gol Gol (golgol.nl) for
the report.
Bugfixes:
* Pages - Fixed "All Pages" link on "All Site Pages" page.
* Messages - Fixed invalid URLs when using old-style
pg/messages/<username> links.
* Messages - Fixed redirect after deleting a message.
API Changes:
* Added get_entities_from_access_collection() and deprecated it.
* is_registered_entity_type() returns correctly when requesting
just a type and not a subtype.
Version 1.7.5
(November 26, 2010 from http://code.elgg.org/branches/1.7)
Security Enhancements:
* Fixed a security flaw in the Bookmarks plugin that could
allow an XSS attack using crafted URLs. Thanks to Akhilesh
Gupta for the bug report.
* Fixed a security flaw in the widgets system that could allow
an XSS attack using crafted URLs.
Bugfixes:
* Checking for mismatched passwords before creating user when
manually adding users.
* 'large' size profile icons created when cropped.
* Fixed menu entry for user's files link.
* Fixed caching issues with plugin-added view types.
* Fixed XFN links on profile page and user lists.
* Fixed PHP warnings about invalid foreaches in plugins.php
* Fixed problems in elgg_get_entities_*() when using an array
for owner_guid.
* Group profile edit action correctly encodes and saves array input.
* Language string corrections.
UI/UX Changes:
* Users must verify their current password before they can changing
passwords.
* Using pagehandlers instead of mod/mod_name/ calls in Blogs,
Bookmarks, Members, Pages, The Wire, Groups, Invite Friends,
and Messages.
* Added a page to view Wire posts by user.
API Changes:
* Added remove_group_tool_option().
* Wrapped Twitter Service's vendor's oAuth lib in class_exists().
* Added elgg_list_entities_from_relationship().
* Exposed order_by param in list_entities_from_relationship().
* Added a default annotation view.
Version 1.7.4
(October 14, 2010 from http://code.elgg.org/branches/1.7)
Bugfixes:
* Upgrade Twitter Services to use oAuth so The Wire can post
to Twitter. See http://el.gg/twitteroauth for instructions.
* WSOD fixed when viewing an invalid profile page.
* Checking for mismatched passwords earlier in registration to avoid
creating a user who can never log in and wasting a username/email.
* POST data in the web services API is correctly quoted on servers
with magic quotes enabled.
* WSOD fixed when trying to update an invalid entity.
* Group file widget only shows when Files are enabled for the group.
* Fixed misformatting of some group forum posts in the River.
* Fixed resizing tall non-square images.
* Non-English languages work when using memcache.
* User avatar menus work when switching filters on River Dashboard page.
* CSS is correctly cached for newly enabled plugins.
* Can no longer add bookmarks without a title. Previous bookmarks with
out titles can now be deleted.
UI/UX Changes:
* Pages: Admin users can edit user-defined "Welcome page."
* Pages: Group "Welcome page" can be edited.
* User Validation: Added an admin section for unvalidated users. An
admin user can resend validation request, validate, or delete
unvalidated users.
API Changes:
* test_ip() removed.
* is_ip_in_range() removed.
* Read/write DB connections can use different credentials.
* Twitter services plugin allows other plugins to tweet
if the user authorizes them. See twitterservice/README.txt
Version 1.7.3
(September 2, 2010 from http://code.elgg.org/branches/1.7)
Security enhancements:
* Fixed a security flaw that allowed an SQL injection attack
using crafted POSTs. Thanks to Georg-Christian Pranschke of
www.sensepost.com for the bug report.
UI/UX Changes:
* Entering an invalid captcha now forwards to referring page.
Bugfixes:
* Multiple owners support fixed for legacy get_entity*() functions.
* "Edit details" and "Edit profile icon" only show up for user's own
profile.
* get_objects_in_group() works correctly.
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
|