Updated the Portuguese translations.
Updated the Old English translation.
Fix incorrect image path function name in ~CROP() diagnostics

The error messages generated by using ~CROP() with negative coordinates
referred to the function's original name, ~SECTION().
Use the correct index for filter_textbox::delete_item().

This fixes the issues when dismissing recallable units as reported:
http://forum.wesnoth.org/viewtopic.php?f=4&t=38479
(Backported from trunk.)
Prevent unchecked memory access in cut_surface()

The result of create_compatible_surface() may be encapsulating a null
pointer whenever the underlying call to SDL_CreateRGBSurface() fails --
in particular, if the width or height specified are negative and not
equal to -1, which is handled specially.

Without this check, using the ~CROP(x,y,w,h) image function with
negative width or height not equal to -1 resulted in a SIGSEGV as soon
as the create_compatible_surface() result was used.
Add .travis.yml with boost::thread reenabled
display: Fix broken conditionals in display::scroll_to_tyles()

(Backport note: yes, I typoed that; it should be
display::scroll_to_tiles() in the commit message.)

This purportedly fixes bug #18793.
(Candidate for 1.10, PLEASE TEST!)

The conditionals in question:

> if (scroll_type == ONSCREEN || ONSCREEN_WARP) {

This *always* evaluates to true when scroll_type != ONSCREEN, because
ONSCREEN_WARP is an enum member with a non-zero value. The bogus code is
effectively the same as:

> if ((scroll_type == ONSCREEN) || true) {

Which was most likely not the author's intention (fendrin in r49988).
Therefore, I've replaced the conditionals with what should be the
correct way to do what I suspect was meant above:

> if (scroll_type == ONSCREEN || scroll_type == ONSCREEN_WARP) {

This seems to fix the viewport centering issues for me, but it would be
nice if people reported their own experience with the fix before
backporting it to 1.10.
Update Git repository web link in players_changelog
Fix Git repository reference to point to the right branch

Whoops.
Report to #wesnoth-dev, not #wesnoth
addon/validation: Rename addon_name_legal() to addon_filename_legal()

Conflicts:
	src/tests/test_addons.cpp
campaignd: Restrict possible add-on name chars to a whitelist

The check is intentionally separate from the filenames check now.

The new whitelist includes all alphanumerical characters,
hyphen-minuses -, and underlines _ ([A-Za-z0-9_-]).

Conflicts:
	src/addon/validation.cpp
	src/tests/test_addons.cpp
campaignd: Allow existing add-ons with invalid names to be reuploaded

This change is for backwards compatibility purposes only in order to
allow authors to continue uploading new versions of add-ons with
previously valid names that have been rendered invalid by the whitelist
addon_name_legal() method. This commit should be reverted next time an
add-ons server instance is deployed (hopefully for 1.12 first instead of
1.13.x).

A warning is provided in the logs for admins whenever an add-on with an
invalid name is reuploaded.
Handle boost::iostreams::gzip_error in the SDL_net-based network layer

(part of bug #20205)

The exception in question originated from the read_gz() call and caused
the entire process to abort because of a non-fatal issue occurring in a
secondary thread.

First spotted in campaignd. See the bug report for details.

Conflicts:
	changelog
Fix bug #20205

Malformed data caused config::error exception to be thrown.

Unfortunately campaignd on catching such an exception had no way to
close the right connection, instead all connections were closed because
the local variable that was supposed to contain connection number wasn't
updated. This is fixed by using boost.exception to attach the necessary
data to config::error objects so it can be used at the catch site.
Brainfart fix
updated French translation
Make travis a bit less verbose
campaignd: Mention name rule changes in the changelog
fixed broken about.cfg entry spottet by wmlling (thanks shadowmaster)