Dan Winship [Tue, 18 Dec 2012 01:29:26 +0000 (20:29 -0500)]
2.41.3
Dan Winship [Thu, 13 Dec 2012 15:07:57 +0000 (16:07 +0100)]
Rename all remaining "SoupMessage *req"s to "msg"
Originally (ie, 12 years ago last week) the HTTP message type in soup
was called SoupRequest, and most SoupRequest variables were called
"req". Shortly after, SoupRequest was renamed to SoupMessage, but none
of the existing "req"s were renamed, and in fact, new ones kept
getting added. Eventually, "msg" became the standard name for a
SoupMessage variable, but a handful of "req"s have managed to survive
to this day. With the increasing integration of the modern-day
SoupRequest, this has gone from "inconsistent" to "confusing", so fix
all the remaining stray "SoupMessage *req"s.
Dan Winship [Thu, 13 Dec 2012 15:02:30 +0000 (16:02 +0100)]
soup-message: update docs to mention SoupRequest where appropriate
Dan Winship [Thu, 13 Dec 2012 14:58:28 +0000 (15:58 +0100)]
soup-message: deprecate soup_message_set_chunk_allocator()
This was added as a hacky way to avoid extra memcpy()s in certain use
cases by reading data directly into a caller-provided buffer. However,
SoupRequest now provides a vastly simpler way of doing this.
Dan Winship [Thu, 13 Dec 2012 14:55:27 +0000 (15:55 +0100)]
soup-message: fix up add_header_handler()/add_status_handler() docs
soup_message_add_header_handler() and
soup_message_add_status_handler() used to have the semantics that the
handlers they added wouldn't be called if the message was cancelled by
a preceding signal handler. This feature accidentally got lost in
2.32, but no one appears to have noticed. Fix up the docs to
correspond to the current reality.
Also, fix part of the add_header_handler() docs that *never*
corresponded to reality.
Dan Winship [Thu, 13 Dec 2012 14:52:59 +0000 (15:52 +0100)]
soup-message: remove gtk-docs on internal methods
Daniel Mustieles [Sun, 16 Dec 2012 19:48:53 +0000 (20:48 +0100)]
Updated Spanish translation
Piotr Drąg [Sun, 16 Dec 2012 02:29:05 +0000 (03:29 +0100)]
Updated Polish translation
Fran Diéguez [Fri, 14 Dec 2012 23:16:29 +0000 (00:16 +0100)]
Updated Galician translations
Colin Walters [Fri, 14 Dec 2012 21:02:48 +0000 (16:02 -0500)]
SoupConnection: Quiet a (mistaken) compiler warning
gcc claims 'event_id' might be uninitialized; it's wrong, but it's
hard for the optimizer to know that. Placate it in the name of
reducing warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=690224
Dan Winship [Wed, 12 Dec 2012 16:16:40 +0000 (17:16 +0100)]
soup-filter-input-stream: fix non-blocking behavior to not spin
Just having a non-empty internal buffer isn't enough to guarantee we
can do a non-blocking read; if the caller is doing a read_until, we
might have some data in the buffer but still be waiting to find the
boundary. So track that. Based on a patch from Gustavo Noronha Silva.
Dan Winship [Wed, 12 Dec 2012 10:16:47 +0000 (11:16 +0100)]
docs: remove libsoup-gnome references from the build
Since everything in libsoup-gnome is now deprecated and undocumented,
don't depend on it when building docs.
https://bugzilla.gnome.org/show_bug.cgi?id=573685
Dan Winship [Mon, 26 Nov 2012 22:24:36 +0000 (17:24 -0500)]
soup-body-output-stream: fix non-blocking writing
Since soup_body_output_stream_write_chunked() sometimes loops and does
multiple writes, it's not enough to just check is_writable() first and
then do a blocking write. Implement write_nonblocking() to fix this.
Noticed by Milan Plzik.
https://bugzilla.gnome.org/show_bug.cgi?id=688974
Nilamdyuti Goswami [Wed, 12 Dec 2012 08:20:53 +0000 (13:50 +0530)]
Assamese translation updated
Dan Winship [Tue, 11 Dec 2012 18:03:36 +0000 (19:03 +0100)]
soup-gnome: belatedly deprecate SoupProxyResolverGNOME
There's no real reason to use SoupProxyResolverGNOME rather than
SoupProxyResolverDefault, so deprecate that too.
libsoup-gnome now consists entirely of deprecated functions.
Dan Winship [Tue, 11 Dec 2012 17:43:42 +0000 (18:43 +0100)]
Add SoupCookieJarDB to replace SoupCookieJarSqlite
Move SoupCookieJarSqlite (and its sqlite3 dependency) into libsoup
from libsoup-gnome, but rename it to SoupCookieJarDB so libsoup-gnome
can keep using the old name. SoupCookieJarSqlite is now just a
wrapper around SoupCookieJarDB.
Dan Winship [Tue, 11 Dec 2012 16:34:06 +0000 (17:34 +0100)]
tests: fix memory leaks
Dan Winship [Tue, 11 Dec 2012 16:33:14 +0000 (17:33 +0100)]
soup-session: fix a possible crash
Calling soup_session_unqueue_item() will unref the item, so we need to
add an extra ref if we want to ensure that it's still valid afterward.
Dan Winship [Wed, 22 Aug 2012 15:40:04 +0000 (11:40 -0400)]
SoupPasswordManager: kill
Deprecate and remove support for SoupPasswordManager;
SoupPasswordManagerGNOME is now a dummy class, and the related
SoupAuth methods are all no-ops. SoupSession also no longer has any
special support for SoupPasswordManager.
To avoid breaking old builds, the functions/types are still around,
but are now marked as having always been deprecated (which, really,
they were).
https://bugzilla.gnome.org/show_bug.cgi?id=594377
https://bugzilla.gnome.org/show_bug.cgi?id=679866
Dan Winship [Tue, 11 Dec 2012 14:34:52 +0000 (15:34 +0100)]
SoupRequester: compatibility fix
Epiphany was registering its "ephy-about" handler by directly calling
soup_session_feature_add_feature() on the SoupRequester, rather than
calling soup_session_add_feature_by_type() on the session. Fix it so
that will still work.
Dan Winship [Tue, 11 Dec 2012 09:52:00 +0000 (10:52 +0100)]
soup-message-io: fix crash when doing unpause+cancel
soup_message_io_stop() was unreffing unpause_source (if it was set),
but it didn't actually own a ref on it, so this would crash.
Fortunately this would only happen if you unpaused a message and then
immediately cancelled it, which isn't very common. Fixes a sporadic
chunk-test crash though.
Dan Winship [Mon, 10 Dec 2012 21:20:59 +0000 (22:20 +0100)]
soup-uri: don't decode %00 in URIs
We were accidentally decoding %00 to '\0' in URIs, causing a few
WebKit tests to fail. Leave it undecoded instead.
Dan Winship [Mon, 10 Dec 2012 16:30:21 +0000 (17:30 +0100)]
tests: fix SoupRequester deprecation warnings
Fix multipart-test and resource-test to use the new SoupSession APIs
rather than SoupRequester. Fix requester-test (which intentionally
tests that SoupRequester still works too) to not show deprecation
warnings.
Dan Winship [Wed, 25 Jul 2012 13:35:58 +0000 (09:35 -0400)]
SoupSession: add soup_session_request_http() and _request_http_uri()
Add SoupSession helpers to return SoupRequestHTTP directly and allow
overriding the request method.
Dan Winship [Wed, 25 Jul 2012 13:20:32 +0000 (09:20 -0400)]
SoupRequest: add soup_request_disable_feature()
Add soup_request_disable_feature(), which proxies to
soup_message_disable_feature() for SoupRequestHTTP and is a no-op
otherwise.
Add SoupRequest tests to sniffing-test, which also tests
soup_request_disable_feature() now.
Dan Winship [Wed, 25 Jul 2012 12:44:02 +0000 (08:44 -0400)]
SoupMessage: add soup_message_get_soup_request()
When dealing with SoupMessage-related signals in SoupRequest-using
code, it's useful to be able to get the message's associated
SoupRequest.
Dan Winship [Sun, 15 Jul 2012 22:21:37 +0000 (18:21 -0400)]
SoupRequestHTTP: mirror SoupMessage fields/API
Mirror various SoupMessage-related API onto SoupRequestHTTP so that
you don't need to resort to soup_request_http_get_message().
Dan Winship [Sat, 14 Jul 2012 13:24:29 +0000 (09:24 -0400)]
SoupRequest: Return better GErrors on parsing failures
In cases where the SoupMessage API would return SOUP_STATUS_MALFORMED,
return a clearer GError in the SoupRequest API.
Dan Winship [Mon, 5 Dec 2011 21:00:40 +0000 (16:00 -0500)]
Move SoupRequester API into SoupSession, declare SoupRequest stable
Add soup_session_request() and soup_session_request_uri(),
implementing basically the same behavior as soup_requester_request()
and soup_requester_request_uri() (but without requiring a separate
SoupSessionFeature), and remove the unstable-api ifdefs from
soup-request*.h.
SoupRequester still exists, but it is still guarded by the
unstable-api ifdefs, and is just a dummy wrapper around the
functionality that is now in SoupSession.
Dan Winship [Thu, 6 Oct 2011 14:26:57 +0000 (10:26 -0400)]
Make default property values/features more sane on plain SoupSession
(can't do this for SoupSessionAsync/SoupSessionSync because of
backward compatibility)
Also, make it illegal to set certain deprecated properties on a plain
SoupSession.
Dan Winship [Sun, 27 May 2012 15:42:45 +0000 (11:42 -0400)]
SoupSession: allow creating a "plain" SoupSession for use with new APIs
In gio-based APIs, async vs sync is a function-level distinction, not
a class-level distinction. Merge most of the existing SoupSessionAsync
and SoupSessionSync code up into SoupSession, and make SoupSession
non-abstract, so that you can create a SoupSession and then use either
sync or async SoupRequest-based APIs on it. (The traditional APIs
still require one of the traditional subclasses, although the code
reorg does affect them in some ways, such as making SoupSessionAsync
more thread-safe.)
Dan Winship [Fri, 8 Jun 2012 07:31:14 +0000 (03:31 -0400)]
SoupSessionAsync: don't allow restart-from-FINISHED in new_api
Shankar Prasad [Mon, 10 Dec 2012 10:20:11 +0000 (15:50 +0530)]
Added and Updated Kannada Translations
Dan Winship [Sun, 9 Dec 2012 09:31:08 +0000 (10:31 +0100)]
tests/uri-parsing: check empty username/password
Make sure that zero-length username/password are recognized as
different from no username/password.
Martin Robinson [Wed, 5 Dec 2012 01:48:45 +0000 (17:48 -0800)]
Better handle the failure of URI embedded credentials
When using credentials embedded in the URI, clear them so that a failure
will trigger the authentication signal and the use of previously
remembered credentials.
Dan Winship [Tue, 4 Dec 2012 16:44:53 +0000 (11:44 -0500)]
soup-tld: fix a return-if-fail check
Dan Winship [Tue, 4 Dec 2012 16:44:02 +0000 (11:44 -0500)]
tests: fix a few bugs
Fix a few places where the test might crash rather than reporting an
error when something went wrong.
Dan Winship [Tue, 4 Dec 2012 16:41:29 +0000 (11:41 -0500)]
tests/simple-httpd: use GMappedFile rather than mmap
(fixing a fd leak in the process)
ManojKumar Giri [Mon, 3 Dec 2012 11:31:39 +0000 (17:01 +0530)]
Added Odia Language into the List.
ManojKumar Giri [Mon, 3 Dec 2012 11:30:20 +0000 (17:00 +0530)]
Updated Odia Translation with FUEL implementation.
Takayuki KUSANO [Wed, 28 Nov 2012 12:31:19 +0000 (21:31 +0900)]
[l10n] Update Japanese translation
Dan Winship [Mon, 19 Nov 2012 22:12:45 +0000 (17:12 -0500)]
2.41.2
Gheyret Kenji [Sun, 11 Nov 2012 10:57:22 +0000 (19:57 +0900)]
Uyghur translation added.
Dan Winship [Sat, 17 Nov 2012 16:36:00 +0000 (11:36 -0500)]
SoupLogger: fix printing of Host header with IPv6 literal
SoupLogger was misprinting Host headers with IPv6 literals (even
though soup-message-client-io was sending them correctly). Fix that.
Also includes an addition to misc-test to verify that the Host header
received by the server is correct (which it already was, but the
SoupLogger bug made me think it wasn't.)
Dan Winship [Sat, 17 Nov 2012 16:35:24 +0000 (11:35 -0500)]
soup-message-client-io: add a Host header to HTTP/1.0 messages too
per recommendation of the httpbis spec
Milan Crha [Thu, 15 Nov 2012 07:58:15 +0000 (08:58 +0100)]
Crash in lookup_resolved(), g_error_free()
The problem is that g_task_return_error() "eats" the error,
it doesn't create its own copy, thus, in this case, copy the error.
https://bugzilla.gnome.org/show_bug.cgi?id=688330
Dan Winship [Sun, 11 Nov 2012 00:36:04 +0000 (19:36 -0500)]
configure.ac: add some missing quotes
to fix error messages when apache wasn't installed
Dan Winship [Sat, 10 Nov 2012 18:46:53 +0000 (13:46 -0500)]
build: distcheck fixes, including one generic srcdir!=builddir fix
Dan Winship [Sat, 10 Nov 2012 17:13:42 +0000 (12:13 -0500)]
build: fix
I'd previously applied a fix to soup-version.h rather than
soup-version.h.in, causing it to compile fine for me, but not from a
clean checkout.
Dan Winship [Thu, 8 Nov 2012 16:28:39 +0000 (11:28 -0500)]
Add per-version deprecation/availability warnings
Add SOUP_VERSION_X_XX, SOUP_VERSION_MIN_REQUIRED, and
SOUP_VERSION_MAX_ALLOWED, to enable version-based warnings.
Tag all functions with appropriate SOUP_AVAILABLE_IN_ and
SOUP_DEPRECATED_IN_ macros.
Also, fix up some "Since" tags to not refer to unstable releases or
non-.0 point releases.
Dan Winship [Tue, 6 Nov 2012 14:14:55 +0000 (09:14 -0500)]
libsoup-2.4.sym: temporarily export soup_message_io_cleanup
Temporarily export soup_message_io_cleanup() to unbreak gvfs. Will be
reverted once gvfs is fixed.
Dan Winship [Mon, 5 Nov 2012 17:55:48 +0000 (12:55 -0500)]
SoupProxyResolver: remove evil hack
Back when I deprecated SoupProxyResolver in favor of
SoupProxyURIResolver, I added an evil hack so that if anyone created a
SoupProxyResolver implementation, we'd automatically add a
SoupProxyURIResolver implementation on top of it (so that SoupSession
only needed to worry about SoupProxyURIResolver).
Anyway, (a) it's evil, (b) I'm pretty sure no one else ever
implemented a SoupProxyResolver anyway, and (c) if they did, they
really ought to have migrated to SoupProxyURIResolver by now.
So, remove the evil hack so that desrt can drop support for adding
interfaces after class_init.
https://bugzilla.gnome.org/show_bug.cgi?id=687659
Pavol Klačanský [Sun, 4 Nov 2012 20:41:09 +0000 (21:41 +0100)]
Updated slovak translation
Pavol Klačanský [Sun, 4 Nov 2012 19:36:44 +0000 (20:36 +0100)]
Updated slovak translation
Dan Winship [Thu, 25 Oct 2012 09:19:37 +0000 (11:19 +0200)]
SoupSession: don't disconnect connections outside of conn_lock
Always acquire conn_lock before disconnecting IDLE connections, to
avoid race conditions.
Dan Winship [Wed, 24 Oct 2012 12:04:48 +0000 (14:04 +0200)]
SoupConnection: disconnect on failed connections/tunnels
Rather than relying on SoupSession to call
soup_connection_disconnect() after a connection or tunnel attempt
fails, have SoupConnection do it itself.
Dan Winship [Sat, 29 Sep 2012 12:56:48 +0000 (08:56 -0400)]
SoupSession: move some code from SoupMessageQueue here
Move soup_message_queue_item_set_connection() into SoupSession, since
connection management is the session's job, not the queue's. Likewise,
move the non-queue-item-specific parts of queue_message_restarted()
into SoupSession.
Dan Winship [Fri, 28 Sep 2012 21:44:54 +0000 (17:44 -0400)]
SoupConnection: hide a special case
Previously SoupConnection required SoupSession to request that the
connection's state be changed from IN_USE to IDLE after a CONNECT,
even though this would not actually result in the connection's state
changing, and even though SoupSession would have broken if the state
had changed. Fix this up so that SoupSession can just leave the
connection IN_USE in this case, and SoupConnection deals with fixing
up its internal state accordingly.
Dan Winship [Fri, 28 Sep 2012 21:17:11 +0000 (17:17 -0400)]
SoupConnection: track reusability internally
Rather than relying on soup-message-io to tell us when a connection
can be reused, track it directly within SoupConnection.
Dan Winship [Wed, 24 Oct 2012 11:12:12 +0000 (13:12 +0200)]
SoupConnection: track current message, not current item
SoupConnection doesn't need to care about anything
SoupMessageQueueItem-specific (the one place where it did was
redundant with other code), so go back to only tracking the current
SoupMessage.
Dan Winship [Wed, 24 Oct 2012 11:08:33 +0000 (13:08 +0200)]
SoupConnection: drop "message" property
epiphany-extensions is dead, so there's no reason to support the
undocumented SoupConnection:message property for soup-fly any more.
Dan Winship [Fri, 28 Sep 2012 01:39:43 +0000 (21:39 -0400)]
SoupConnection: don't listen to SoupSocket::disconnected
No one except SoupConnection ever calls soup_socket_disconnect() any
more, so we don't need to listen to SoupSocket::disconnected to know
when it happens.
Sergio Villar Senin [Tue, 21 Aug 2012 14:44:43 +0000 (16:44 +0200)]
Added SoupContentProcessor support to SoupMessage, SoupContentDecoder & SoupContentSniffer
soup-message-io uses the content processors registered for each SoupMessage
to properly setup the stack of streams used to read a particular resource
either downloaded from the network or read from a local cached file. Note
that server-side messages do not have content processor support yet.
SoupContentDecoder becomes a content processor and wraps the given base
stream with a list of decoders when required.
SoupContentSniffer becomes a content processor working at the
SOUP_STAGE_BODY_DATA stage.
https://bugzilla.gnome.org/show_bug.cgi?id=682112
Sergio Villar Senin [Mon, 30 Jul 2012 11:31:05 +0000 (13:31 +0200)]
SoupContentProcessor: new interface
New SoupContentProcessor interface. It defines a _wrap_input() function which
implementors will use to add their own stream on top of the given base
stream.
https://bugzilla.gnome.org/show_bug.cgi?id=682112
Dan Winship [Fri, 2 Nov 2012 16:07:58 +0000 (12:07 -0400)]
build: don't export private symbols in the libraries
Add libsoup-2.4.sym and libsoup-gnome-2.4.sym, and use them to
restrict the exported symbols in the libraries to what it's supposed
to be.
https://bugzilla.gnome.org/show_bug.cgi?id=595176
Dan Winship [Fri, 2 Nov 2012 16:07:30 +0000 (12:07 -0400)]
connection-test: make it not require access to private SoupConnection symbols
Dan Winship [Fri, 2 Nov 2012 16:07:03 +0000 (12:07 -0400)]
soup-multipart-input-stream: belatedly add .h file to soup.h
Dan Winship [Fri, 2 Nov 2012 15:53:00 +0000 (11:53 -0400)]
SoupSession: mark a static function static (and clarify why it's there)
Dan Winship [Fri, 2 Nov 2012 15:48:08 +0000 (11:48 -0400)]
soup-version: minor style fixes
Dan Winship [Wed, 31 Oct 2012 15:08:06 +0000 (11:08 -0400)]
tests: fix some race conditions
A few tests were written such that they could fail/crash if the machine
was too slow. Fix.
Dan Winship [Mon, 29 Oct 2012 12:05:01 +0000 (08:05 -0400)]
soup_header_parse_param_list: return empty GHashTable instead of NULL
Special-casing the "no parameters" case here complicates other code
(eg, currently it causes warnings in SoupCache if you get an empty
Cache-Control header).
Dan Winship [Mon, 22 Oct 2012 18:38:20 +0000 (20:38 +0200)]
2.41.1
Dan Winship [Mon, 22 Oct 2012 18:16:24 +0000 (20:16 +0200)]
.gitignore: add tests/soup-tests.gresource
Dan Winship [Mon, 22 Oct 2012 18:15:49 +0000 (20:15 +0200)]
tests: add support for Apache 2.4
Dan Winship [Mon, 22 Oct 2012 17:00:13 +0000 (19:00 +0200)]
Remove now-unnecessary g_type_init() calls
Dan Winship [Mon, 18 Jun 2012 13:54:41 +0000 (09:54 -0400)]
port to GTask
Martin Robinson [Fri, 21 Sep 2012 00:02:40 +0000 (17:02 -0700)]
Add API to get version information
Expose API to get information about the soup version. This is useful
because it allows applications to use API without actually depending on
it completely.
https://bugzilla.gnome.org/show_bug.cgi?id=684514
Carlos Garcia Campos [Sun, 26 Aug 2012 13:20:34 +0000 (15:20 +0200)]
soup-request: Add support to handle gresource URI requests
GFile already supports gresource when using g_file_new_for_uri() with a
resource:// URI. We can add "resource" as a valid scheme for
SoupRequestFile and make sure the GFile is created with the gresource
URI for gresource requests.
https://bugzilla.gnome.org/show_bug.cgi?id=682721
Dan Winship [Tue, 2 Oct 2012 12:57:52 +0000 (08:57 -0400)]
SoupConnection: fix a race condition with non-keepalive messages
When a SoupSession sets a connection back to IDLE on a non-keepalive
message, the connection then disconnects itself. However, it had been
briefly setting its state to IDLE before disconnecting. Although this
wasn't supposed to be observable (it doesn't emit a notification), in
a SoupSessionSync, it could be observed by another thread, which might
then try to claim the connection to send another request on, causing
problems when the first thread then disconnected it.
Fix this by inlining clear_current_item() into
soup_connection_set_state() and reordering the code to not change
priv->state until after deciding whether or not it's going to
disconnect.
https://bugzilla.gnome.org/show_bug.cgi?id=684238
Bahodir Mansurov [Tue, 16 Oct 2012 18:51:54 +0000 (14:51 -0400)]
adding uz@cyrillic to LINGUAS
Bahodir Mansurov [Tue, 16 Oct 2012 18:48:57 +0000 (14:48 -0400)]
updating Uzbek@cyrillic translation
Dan Winship [Tue, 16 Oct 2012 14:55:18 +0000 (10:55 -0400)]
soup-auth-manager-ntlm.c: don't include the default domain in the response
If the user didn't specify a domain in their username, then send ""
for the domain in the response, rather than echoing back the default
domain. This is apparently more compatible with what other apps do.
https://bugzilla.gnome.org/show_bug.cgi?id=624613
Dan Winship [Tue, 16 Oct 2012 11:39:40 +0000 (07:39 -0400)]
Post-branch release bump
Dan Winship [Tue, 16 Oct 2012 11:35:03 +0000 (07:35 -0400)]
2.40.1
Gustavo Noronha Silva [Mon, 8 Oct 2012 20:10:19 +0000 (17:10 -0300)]
Be more aggressive when looking for the termination boundary
Turns out some servers may send line feeds and carriage return after the final
boundary. That's the case for the following WebKit LayoutTest:
http/tests/multipart/load-last-non-html-frame.php
https://bugzilla.gnome.org/show_bug.cgi?id=685752
Kjartan Maraas [Sat, 13 Oct 2012 10:50:38 +0000 (12:50 +0200)]
Updated Norwegian bokmål translation
Dan Winship [Sun, 7 Oct 2012 22:24:12 +0000 (18:24 -0400)]
SoupAddress: fix handling of IPv6 literals
When generating a URI to pass to GProxyResolver, escape IPv6 literals properly.
https://bugzilla.gnome.org/show_bug.cgi?id=684990
Carles Ferrando [Tue, 25 Sep 2012 23:23:44 +0000 (01:23 +0200)]
[l10n] Added Catalan (Valencian) translation
Gil Forcada [Tue, 25 Sep 2012 23:23:25 +0000 (01:23 +0200)]
[l10n] Added Catalan translation
Dan Winship [Mon, 24 Sep 2012 17:22:55 +0000 (13:22 -0400)]
2.40.0
Rūdolfs Mazurs [Mon, 24 Sep 2012 13:54:35 +0000 (16:54 +0300)]
Updated Latvian translation
Priit Laes [Mon, 24 Sep 2012 08:08:25 +0000 (11:08 +0300)]
[l10n] Added Estonian (et) to LINGUAS
Mattias Põldaru [Mon, 24 Sep 2012 08:03:32 +0000 (11:03 +0300)]
[l10n] Updated Estonian translation
Rūdolfs Mazurs [Sun, 23 Sep 2012 13:00:02 +0000 (16:00 +0300)]
Updated Latvian translation
YunQiang Su [Sat, 22 Sep 2012 21:01:18 +0000 (05:01 +0800)]
update Simplified Chinese (zh_CN) translation
Yaron Shahrabani [Sat, 22 Sep 2012 12:17:16 +0000 (15:17 +0300)]
Updated Hebrew translation.
Krishnababu Krothapalli [Fri, 21 Sep 2012 16:45:49 +0000 (22:15 +0530)]
Updated Telugu Translations
Akom Chotiphantawanon [Fri, 21 Sep 2012 11:53:21 +0000 (18:53 +0700)]
Added Thai translation
Daniel Korostil [Fri, 21 Sep 2012 07:09:11 +0000 (10:09 +0300)]
Uploaded Ukranian
Sayak Sarkar [Fri, 21 Sep 2012 04:44:35 +0000 (10:14 +0530)]
Updated Bengali India Translations