f950116 | Antoine R. Dumont (@ardumont) | 21 February 2019, 14:39:23 UTC | d/control: Add postgresql-contrib dependency Not really needed for unstable, needed for stretch-swh | 21 February 2019, 14:39:23 UTC |
3efa515 | Jenkins for Software Heritage | 21 February 2019, 09:14:45 UTC | Updated backport on stretch-swh from debian/0.0.47-1_swh1 (unstable-swh) | 21 February 2019, 09:14:45 UTC |
57884cb | Jenkins for Software Heritage | 21 February 2019, 09:14:44 UTC | Merge tag 'debian/0.0.47-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.47-1~swh1 # Conflicts: # debian/changelog | 21 February 2019, 09:14:44 UTC |
46248bd | Jenkins for Software Heritage | 21 February 2019, 09:13:07 UTC | Updated debian changelog for version 0.0.47 | 21 February 2019, 09:13:07 UTC |
0aa9d50 | Jenkins for Software Heritage | 21 February 2019, 09:13:06 UTC | Updated version 0.0.47 from 'debian/upstream/0.0.47' with Debian dir 1997c93daa313854868e0f4d2efd3d2dd3f808fb | 21 February 2019, 09:13:06 UTC |
759824f | Jenkins for Software Heritage | 21 February 2019, 09:13:06 UTC | New upstream version 0.0.47 | 21 February 2019, 09:13:06 UTC |
981d3f9 | Valentin Lorentz | 20 February 2019, 15:53:20 UTC | Fix crash of SchedulerBackend.search_tasks when no argument is given. | 20 February 2019, 16:16:47 UTC |
058f120 | David Douard | 15 February 2019, 16:03:11 UTC | cli: add a --runs option to 'swh-scheduler task list' tool this options allws to list task runs for selected tasks. | 20 February 2019, 09:23:20 UTC |
7f951d3 | David Douard | 15 February 2019, 15:56:48 UTC | Keep the main loaded configuration as swh.scheduler.CONFIG so that it can be used in tasks instead of reloading config files on each task execution. | 20 February 2019, 09:23:20 UTC |
73bca41 | David Douard | 15 February 2019, 15:58:36 UTC | celery_backend: remove debug statements and reduce info level verbosity by lowering the logging statement in catchall_event to DEBUG. | 20 February 2019, 08:17:36 UTC |
68edb6e | Antoine R. Dumont (@ardumont) | 19 February 2019, 12:36:38 UTC | Remove debian packaging from master branch Related T1532 | 19 February 2019, 12:36:38 UTC |
9534859 | Valentin Lorentz | 15 February 2019, 10:24:44 UTC | Fix documentation of CLI option --verbose. | 18 February 2019, 13:38:16 UTC |
8dd3d11 | Jenkins for Software Heritage | 15 February 2019, 14:17:09 UTC | Updated backport on stretch-swh from debian/0.0.46-1_swh1 (unstable-swh) | 15 February 2019, 14:17:09 UTC |
4a30288 | Jenkins for Software Heritage | 15 February 2019, 14:17:08 UTC | Merge tag 'debian/0.0.46-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.46-1~swh1 # Conflicts: # debian/changelog | 15 February 2019, 14:17:08 UTC |
4f968cb | Jenkins for Software Heritage | 15 February 2019, 14:15:26 UTC | Updated debian changelog for version 0.0.46 | 15 February 2019, 14:15:26 UTC |
240ac74 | Jenkins for Software Heritage | 15 February 2019, 14:15:26 UTC | Updated version 0.0.46 from 'debian/upstream/0.0.46' with Debian dir 303d76a0a55d623e545578a3c87e6cc7b259685f | 15 February 2019, 14:15:26 UTC |
349fc1c | Jenkins for Software Heritage | 15 February 2019, 14:15:25 UTC | New upstream version 0.0.46 | 15 February 2019, 14:15:25 UTC |
3c41cef | Antoine R. Dumont (@ardumont) | 15 February 2019, 13:56:04 UTC | scheduler.task: Remove no longer used Task class All scheduler tasks have been rewritten to avoid using the inheritance paradigm. The post worker startup initialization no longer creates automatically queues for registered tasks. Queues creation is managed through explicit configuration entries: celery: task_queues: ... task_modules: ... | 15 February 2019, 13:59:14 UTC |
1c855ba | Jenkins for Software Heritage | 15 February 2019, 09:50:09 UTC | Updated backport on stretch-swh from debian/0.0.45-1_swh1 (unstable-swh) | 15 February 2019, 09:50:09 UTC |
6f717df | Jenkins for Software Heritage | 15 February 2019, 09:50:08 UTC | Merge tag 'debian/0.0.45-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.45-1~swh1 # Conflicts: # debian/changelog | 15 February 2019, 09:50:08 UTC |
d611b5b | Jenkins for Software Heritage | 15 February 2019, 09:48:25 UTC | Updated debian changelog for version 0.0.45 | 15 February 2019, 09:48:25 UTC |
2d02485 | Jenkins for Software Heritage | 15 February 2019, 09:48:24 UTC | New upstream version 0.0.45 | 15 February 2019, 09:48:24 UTC |
f42405a | Jenkins for Software Heritage | 15 February 2019, 09:48:24 UTC | Updated version 0.0.45 from 'debian/upstream/0.0.45' with Debian dir 4a6c99e168ef4182e4433ce3f2e38459be3cbae9 | 15 February 2019, 09:48:24 UTC |
65d0f73 | Antoine R. Dumont (@ardumont) | 15 February 2019, 09:41:00 UTC | celery_backend/config: Fix loglevel for amqp module | 15 February 2019, 09:43:00 UTC |
283cb7c | Antoine R. Dumont (@ardumont) | 14 February 2019, 08:42:26 UTC | tests: Use hypothesis profile to configure sample generation sizes | 14 February 2019, 08:42:26 UTC |
5ad3ef9 | Jenkins for Software Heritage | 13 February 2019, 15:36:13 UTC | Updated backport on stretch-swh from debian/0.0.44-1_swh1 (unstable-swh) | 13 February 2019, 15:36:13 UTC |
f11153e | Jenkins for Software Heritage | 13 February 2019, 15:36:12 UTC | Merge tag 'debian/0.0.44-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.44-1~swh1 # Conflicts: # debian/changelog | 13 February 2019, 15:36:12 UTC |
35b9979 | Jenkins for Software Heritage | 13 February 2019, 15:34:34 UTC | Updated debian changelog for version 0.0.44 | 13 February 2019, 15:34:34 UTC |
cb7e2a4 | Jenkins for Software Heritage | 13 February 2019, 15:34:33 UTC | Updated version 0.0.44 from 'debian/upstream/0.0.44' with Debian dir 2ab2c749236a6007df63d225909cc2d4d92f1521 | 13 February 2019, 15:34:33 UTC |
e152042 | Jenkins for Software Heritage | 13 February 2019, 15:34:33 UTC | New upstream version 0.0.44 | 13 February 2019, 15:34:33 UTC |
c701c88 | Antoine R. Dumont (@ardumont) | 13 February 2019, 14:57:08 UTC | api/server: Do not read configuration at each request | 13 February 2019, 15:19:59 UTC |
cf31728 | Jenkins for Software Heritage | 13 February 2019, 14:48:40 UTC | Updated backport on stretch-swh from debian/0.0.43-1_swh1 (unstable-swh) | 13 February 2019, 14:48:40 UTC |
35b5ea3 | Jenkins for Software Heritage | 13 February 2019, 14:48:40 UTC | Merge tag 'debian/0.0.43-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.43-1~swh1 # Conflicts: # debian/changelog | 13 February 2019, 14:48:40 UTC |
cf550ce | Jenkins for Software Heritage | 13 February 2019, 14:47:00 UTC | Updated debian changelog for version 0.0.43 | 13 February 2019, 14:47:00 UTC |
a158f4c | Jenkins for Software Heritage | 13 February 2019, 14:46:59 UTC | Updated version 0.0.43 from 'debian/upstream/0.0.43' with Debian dir c95521bb0b3f7b9ebaa20f79ce5a175de0bb10b6 | 13 February 2019, 14:46:59 UTC |
ac3f36a | Jenkins for Software Heritage | 13 February 2019, 14:46:58 UTC | New upstream version 0.0.43 | 13 February 2019, 14:46:58 UTC |
f0a8c43 | David Douard | 13 February 2019, 13:37:18 UTC | listener: make the listener's queue name independent from the hostname the queue being durable and not auto deleted (auto_delete=False), we do not want a new queue to be spawned for each listener instance (eg. in a docker environment). | 13 February 2019, 13:37:18 UTC |
b423c0b | David Douard | 13 February 2019, 13:28:37 UTC | runner: fix task_run configuration bootstrap ensure the task_run is created before sending the celery task; this later task could be executed before the db commit. As a result, the task_run may not have its 'started' field properly set; even the 'ended' and 'status'. | 13 February 2019, 13:28:37 UTC |
3d761f1 | David Douard | 13 February 2019, 13:25:58 UTC | sql: add the swh-lister-bitbucket-* task types | 13 February 2019, 13:25:58 UTC |
7e3f2fc | David Douard | 13 February 2019, 13:23:19 UTC | task: do not send the task-result-exception event in Task.on_failure() since it is unused; the task-failed event being already sent by celery and handled by the listener. | 13 February 2019, 13:23:19 UTC |
15bc20e | Jenkins for Software Heritage | 11 February 2019, 13:35:30 UTC | Updated backport on stretch-swh from debian/0.0.42-1_swh1 (unstable-swh) | 11 February 2019, 13:35:30 UTC |
71748b4 | Jenkins for Software Heritage | 11 February 2019, 13:35:30 UTC | Merge tag 'debian/0.0.42-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.42-1~swh1 # Conflicts: # debian/changelog | 11 February 2019, 13:35:30 UTC |
66518be | Jenkins for Software Heritage | 11 February 2019, 13:33:48 UTC | Updated debian changelog for version 0.0.42 | 11 February 2019, 13:33:48 UTC |
35898cb | Jenkins for Software Heritage | 11 February 2019, 13:33:47 UTC | New upstream version 0.0.42 | 11 February 2019, 13:33:47 UTC |
bf3c8df | Jenkins for Software Heritage | 11 February 2019, 13:33:47 UTC | Updated version 0.0.42 from 'debian/upstream/0.0.42' with Debian dir c9c59b2c60063a71531e63afa4712a04985920de | 11 February 2019, 13:33:47 UTC |
84c12fd | Antoine R. Dumont (@ardumont) | 11 February 2019, 09:11:30 UTC | d/control: Update dependency to postgres-10 That means we need to activate the backports during the build. Local build: gbp buildpackage --git-builder=sbuild \ -As --force-orig-source \ --extra-repository='deb [trusted=yes] https://debian.softwareheritage.org/ stretch-swh main' \ --extra-repository='deb http://ftp.debian.org/debian stretch-backports main' \ --extra-repository='deb [trusted=yes] http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' | 11 February 2019, 12:29:03 UTC |
d870001 | Antoine R. Dumont (@ardumont) | 11 February 2019, 11:34:21 UTC | d/control: Enforce superior version for hypothesis Same as other swh modules (swh-web, swh-storage, swh-indexer). Inferior version do not follow test specifications. Related P356 | 11 February 2019, 11:34:21 UTC |
3488c26 | Antoine R. Dumont (@ardumont) | 11 February 2019, 10:44:40 UTC | requirements-test: Enforce a version for hypothesis Same as other swh modules (swh-web, swh-storage, swh-indexer) Inferior version do not follow the specifications Related P356 | 11 February 2019, 11:26:24 UTC |
6a8fbe1 | Jenkins for Software Heritage | 09 February 2019, 20:49:52 UTC | Updated backport on stretch-swh from 2b0008981f4cab0f6b1a92c52abf16bc7751e060 (unstable-swh) | 09 February 2019, 20:49:52 UTC |
495a172 | Jenkins for Software Heritage | 09 February 2019, 20:49:51 UTC | Merge commit '2b0008981f4cab0f6b1a92c52abf16bc7751e060' into debian/stretch-swh # Conflicts: # debian/changelog | 09 February 2019, 20:49:51 UTC |
2b00089 | Antoine R. Dumont (@ardumont) | 09 February 2019, 09:01:38 UTC | d/control: Add build dependency | 09 February 2019, 19:07:45 UTC |
a66897a | Jenkins for Software Heritage | 06 February 2019, 15:33:04 UTC | Updated debian changelog for version 0.0.41 | 06 February 2019, 15:33:04 UTC |
59f50d0 | Jenkins for Software Heritage | 06 February 2019, 15:33:03 UTC | New upstream version 0.0.41 | 06 February 2019, 15:33:03 UTC |
e6533ed | Jenkins for Software Heritage | 06 February 2019, 15:33:03 UTC | Updated version 0.0.41 from 'debian/upstream/0.0.41' with Debian dir db3eefcae33791c5d593a0e3ffba4c0359b678f9 | 06 February 2019, 15:33:03 UTC |
db25694 | David Douard | 06 February 2019, 13:18:18 UTC | Fix a bug in the listener: commit() is not defined in the backend but on its connection. | 06 February 2019, 13:18:18 UTC |
c29d383 | Nicolas Dandrimont | 19 December 2018, 14:59:38 UTC | Add basic stats to tasks This just increments a counter for started tasks, ended tasks, tasks that failed with an exception. It also registers a timer for every task run. Close T1460. | 06 February 2019, 12:06:39 UTC |
abfe3db | David Douard | 01 February 2019, 15:57:29 UTC | Allow to override celery config file name via the SWH_CONFIG_FILENAME env var this will take precedence over the implicit config file scheme. The expected config file given via the environment variable is expected to have a [celery] section which will be used as config for the Celery app created in swh.scheduler.celery_backend.config. Related to T1410 and T826. | 06 February 2019, 09:25:07 UTC |
0f2f3ff | David Douard | 01 February 2019, 14:32:21 UTC | Make (celery) tests immune to environment variables especially CELERY_BROKER_URL... | 01 February 2019, 14:32:21 UTC |
e2a91fb | Valentin Lorentz | 01 February 2019, 12:47:47 UTC | Remove call to tobytes(), BaseDB now handles conversion. | 01 February 2019, 14:03:48 UTC |
0c3306b | David Douard | 31 January 2019, 14:27:52 UTC | Fix the task_queues Celery config setting in build_app() ensure the config entry contains Queue objects. | 31 January 2019, 14:52:41 UTC |
f188343 | David Douard | 31 January 2019, 14:26:57 UTC | cli: display a sorted list of task-types | 31 January 2019, 14:52:41 UTC |
b0e6dd8 | David Douard | 31 January 2019, 12:37:38 UTC | Fix the listener: accessing the db cnx from the backend has changed | 31 January 2019, 14:52:41 UTC |
5d40529 | David Douard | 31 January 2019, 12:35:56 UTC | Make cli tools output logs on the console by default for other log levels than DEBUG, and add a --no-stdout option flag to disable this. | 31 January 2019, 14:52:41 UTC |
a8bc684 | David Douard | 31 January 2019, 11:14:54 UTC | cli: build the celery app from a celery section of the given configuration file for runner and listener commands. related to T1410 | 31 January 2019, 14:52:32 UTC |
4246286 | David Douard | 31 January 2019, 11:13:44 UTC | Add a build_app() function to instantiate a Celery app with controlled config ie. being able to give the celery config dict as parameter. related to T1410 | 31 January 2019, 14:45:37 UTC |
70581b6 | David Douard | 30 January 2019, 09:43:40 UTC | Add a /site-map endpoint that lists published routes for this server | 31 January 2019, 10:15:50 UTC |
5880c52 | David Douard | 31 January 2019, 09:22:41 UTC | Activate the support for options from environment variables for swh-scheduler tool so that one can type (typically in a venv, with services running in dockers): (venv) swh-environment$ export SWH_SCHEDULER_URL=http://127.0.0.1:5008 (venv) swh-environment$ swh-scheduler task-type list | 31 January 2019, 09:29:43 UTC |
9bc5640 | David Douard | 31 January 2019, 09:21:13 UTC | Fix 'swh-scheduler runner' command: rollback() has beed removed from the SchedulerBackend and is not needed any more there. | 31 January 2019, 09:29:43 UTC |
174d89b | David Douard | 31 January 2019, 09:18:33 UTC | Fix get_scheduler's cls value when using 'swh-scheduler --url' cli option also ensure args dict does not have default db settings (unsupported by the RemoteScheduler class). | 31 January 2019, 09:29:43 UTC |
6da09a1 | David Douard | 30 January 2019, 15:55:31 UTC | Fix a regression introduced in 61c91b82 when deleting a click.option, one would better delete the function argument as well... | 30 January 2019, 15:58:11 UTC |
b25c7cd | Valentin Lorentz | 30 January 2019, 10:27:00 UTC | Drop 'except Exception', it catches too many errors. eg. ImportErrors when negotiate is not installed. | 30 January 2019, 12:55:58 UTC |
84cded2 | David Douard | 30 January 2019, 11:21:28 UTC | BaseDb.copy_to's default_columns has been renamed as default_values | 30 January 2019, 11:22:51 UTC |
4fc7a89 | David Douard | 30 January 2019, 09:19:11 UTC | Make the prepare_event helper function pre-aggregate the events with same url and strip these urls as well. It makes no sense to register 2 different URLs when they are equal to a trailing ws detail. As a result, we must preaggregate them because the swh_cache_put() sql function won't allow several 'on conflict' for the same id. | 30 January 2019, 10:51:22 UTC |
4117d5a | David Douard | 29 January 2019, 14:34:04 UTC | Rewrite updater/test_backend.py with pytest and use the postgresql fixture also implement the test with more precise expected behavior, especially the content pre-aggregation of events and the url stripping. As is, this test will fail, the pre-aggregation and url stripping being implemented in the following revision. | 30 January 2019, 09:57:11 UTC |
ebee014 | David Douard | 30 January 2019, 09:14:19 UTC | Kill DbBackend class we can now use directly the implementation of the copy_to() method from swh.core's BaseDb, so we just have to extract the format_query as a simple function (which it should have been since the beginning). Adapt updater/backend.py acordingly. | 30 January 2019, 09:57:11 UTC |
f338b75 | David Douard | 29 January 2019, 13:29:22 UTC | Refactor swh/scheduler/updater as well - use the same config system as the main backend, with the same conventions, - do not make SchedulerUpdaterBackend inherit from DbBackend, use a simple association, similar to the SchedulerBackend class, - refactor the ghtorrent the same (explicit config), - same for the updater writer - move their main functions in cli.py - adapt tests accordingly | 30 January 2019, 09:49:59 UTC |
48e5372 | David Douard | 29 January 2019, 13:24:17 UTC | Fix tests for the scheduler and the API adapt the configuration to latest refactorings (especially the 'scheduling_db' config entry which is now just 'db'). Also refactor the scheduler tests to simplify the test class a bit: constants used in the test do not need to be in the setUp of the test class, making this setUp method useless. Doing so, ensure to use simple dicts as test constants instead of copy-the-modify them. This is (unit)test file, the dumbest, the better. | 30 January 2019, 09:49:59 UTC |
61c91b8 | David Douard | 29 January 2019, 13:11:07 UTC | Refactor config handling in cli.py Move the config file loading in the main cli group so that every command in this group have a consistent config loading behavior. This means that some cli commands "signatures" have changed: - every command now accepts a -C/--config-file option - the --cls has been dropped: either you give a config file, or passing a --database or --url option determine the 'class' of backend to use, - the api-server command 'config-path' argument has been dropped (use --config-file instead), | 30 January 2019, 09:49:59 UTC |
63af874 | David Douard | 29 January 2019, 12:50:14 UTC | Move sheduler's default conf in swh.scheduler | 30 January 2019, 09:49:59 UTC |
a840ec4 | David Douard | 29 January 2019, 13:07:35 UTC | Make configuration of SWHElasticSearchClient use an explicit and consistent behavior instead of looking the config file for this entity in a hard to find dedicated file, expect a config object (dict) as constructor kwargs and look for its config under the 'elasticsearch' section. | 30 January 2019, 09:49:59 UTC |
488b154 | David Douard | 29 January 2019, 12:53:56 UTC | Remove the main function from listener.py it's now in cli.py | 30 January 2019, 09:49:59 UTC |
cebc11d | David Douard | 24 January 2019, 15:33:45 UTC | Refactor the scheduler's backend to use swh.core.db.BaseDb (part 2) so it uses a proper connection pool to access the database. | 30 January 2019, 09:46:29 UTC |
94258bd | David Douard | 24 January 2019, 15:33:45 UTC | Refactor the scheduler's backend to use swh.core.db.BaseDb so it uses a proper connection pool to access the database. | 30 January 2019, 09:33:54 UTC |
35c285f | David Douard | 24 January 2019, 15:28:59 UTC | Add debug statements in the runner | 30 January 2019, 09:33:54 UTC |
7f51159 | David Douard | 24 January 2019, 15:19:37 UTC | Make the 'runner' cli command a bit less verbose do only report the number of scheduled tasks at info level, if any, and lower the 'Run ready tasks' log message at debug level. | 30 January 2019, 09:33:54 UTC |
63e750a | David Douard | 24 January 2019, 15:18:32 UTC | Small fix in the 'task respawn' cli command when respawning several tasks at once. | 30 January 2019, 09:33:54 UTC |
1203544 | David Douard | 24 January 2019, 15:13:31 UTC | Do not crash the listener if a message has already been ack'ed Note sure whether we should be concerned by the fact this sometimes occurs (under heavy load in the docker env). | 30 January 2019, 09:33:54 UTC |
0252051 | David Douard | 24 January 2019, 15:01:04 UTC | prevent pytest from displaying gazillions of warnings especially the infamous psycopg2 one. | 30 January 2019, 09:33:54 UTC |
7b81304 | Valentin Lorentz | 29 January 2019, 15:28:40 UTC | Increase the max queue size of the origin_metadata indexer. It's going very fast now, enough to empty its queue between two scheduler-runner runs. | 29 January 2019, 16:12:25 UTC |
3c680c1 | Jenkins for Software Heritage | 28 January 2019, 15:32:14 UTC | Updated backport on stretch-swh from debian/0.0.40-1_swh1 (unstable-swh) | 28 January 2019, 15:32:14 UTC |
920a003 | Jenkins for Software Heritage | 28 January 2019, 15:32:13 UTC | Merge tag 'debian/0.0.40-1_swh1' into debian/stretch-swh swh-scheduler Debian release 0.0.40-1~swh1 # Conflicts: # debian/changelog | 28 January 2019, 15:32:13 UTC |
2f019b5 | Jenkins for Software Heritage | 28 January 2019, 15:30:41 UTC | Updated debian changelog for version 0.0.40 | 28 January 2019, 15:30:41 UTC |
7137135 | Jenkins for Software Heritage | 28 January 2019, 15:30:40 UTC | New upstream version 0.0.40 | 28 January 2019, 15:30:40 UTC |
96eccb2 | Jenkins for Software Heritage | 28 January 2019, 15:30:40 UTC | Updated version 0.0.40 from 'debian/upstream/0.0.40' with Debian dir a02987f29d4557014dce169b0685002ab3aa4913 | 28 January 2019, 15:30:40 UTC |
53136b7 | Antoine R. Dumont (@ardumont) | 28 January 2019, 15:22:53 UTC | swh.scheduler.tests: Mark db tests as such This will work around the current debian package build failure Related T1498 | 28 January 2019, 15:22:53 UTC |
e26aec7 | Nicolas Dandrimont | 18 January 2019, 16:45:02 UTC | Force tox environment to C.UTF-8 locale Works around https://github.com/ClearcodeHQ/pytest-postgresql/issues/16 | 18 January 2019, 16:45:02 UTC |
df1cca3 | David Douard | 17 January 2019, 10:22:13 UTC | Add debug logging in the SWHTask class instead of replicating the same logging code everywhere. | 17 January 2019, 10:24:47 UTC |
c3d21c0 | Jenkins for Software Heritage | 16 January 2019, 12:42:37 UTC | Updated debian changelog for version 0.0.39 | 16 January 2019, 12:42:37 UTC |
1255ce0 | Jenkins for Software Heritage | 16 January 2019, 12:42:37 UTC | Updated version 0.0.39 from 'debian/upstream/0.0.39' with Debian dir ecd14dd31eec5fe18a922c83999d3cebd6bae0fd | 16 January 2019, 12:42:37 UTC |
3a4f062 | Jenkins for Software Heritage | 16 January 2019, 12:42:36 UTC | New upstream version 0.0.39 | 16 January 2019, 12:42:36 UTC |