See NEWS for a per-release summary, this is just the git log.

2019-05-21  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, Pipfile, Pipfile.lock, README.md,
	apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/handlers/list_language_names.py,
	apertium_apy/utils/__init__.py, setup.py, tests/test.py: Switch to
	xenial build, s/3.4/3.7 (#137) * Switch to xenial build * 3.4 => 3.7 * s/3.4/3.8 * Remove special casing for Py3.4 * Remove special casing for Py3.4 * Fix build failures * Rest of 3.4 refs

2019-04-21  Sushain Cherivirala <sushain@skc.name>

	* Pipfile.lock: Update dependencies (#136)

2019-03-29  Sushain Cherivirala <sushain@skc.name>

	* language_names/manual-fixes.tsv: Panjabi -> Punjabi

2019-03-29  Sushain Cherivirala <sushain@skc.name>

	* language_names/manual-fixes.tsv, language_names/variants.tsv: Add
	a couple more variant names

2019-03-29  Sushain Cherivirala <sushain@skc.name>

	* language_names/manual-fixes.tsv: Fixup some English names

2019-03-29  Sushain Cherivirala <sushain@skc.name>

	* language_names/manual-fixes.tsv, language_names/turkic.tsv:
	Cleanup turkic.tsv duplicate entries and move some into manual-fixes

2019-03-28  Sushain Cherivirala <sushain@skc.name>

	* Makefile, language_names/README.md, language_names/build_db.py,
	language_names/manual-additions.tsv,
	language_names/manual-fixes.tsv, language_names/manual.sql,
	language_names/scraped-cldr.tsv, language_names/scraped-sil.sql,
	language_names/scraped-sil.tsv, language_names/scraped.sql,
	language_names/scraper-cldr.py, language_names/scraper-sil.py,
	language_names/scraper.py, language_names/turkic.sql,
	language_names/turkic.tsv, language_names/variants.sql,
	language_names/variants.tsv: Issue 115 - TSV scraped files (#134) * Added TSV source files to be converted at the build time by
	manual.py * Support for python<3.6 added * Fixed formatting of strings * Added TSV source for larger sql files * Updated makefile for building langNames.db * Using command line arguements for filenames and makefile updated * Removed command line arguements and using IGNORE on conflict * Removed unused sys package * Renamed manual.py to build_db.py * Added langNames.db in makefile dependency * Fixed build_db to convert TSV file from source * Fixed issue with build_db and makefile , added scraped data from
	scraper.py and scraper-sil.py and fixed bug in scraper.py * Removed sql files and fixed slicing issue * Removed unnecessary databases and scraper.py modified * Fixed scraper-sil.py to output tsv and updated readme * Split manual.tsv into two and changed scraper files * Added script to sort files and updated makefile * Sorting added to scraper files * Fixed travis-ci check * Clean up build-db script and add some logging * Cleanup SIL scraper * Fix README filename mentions * Force sorted TSVs * Sort turkic.csv * Cleanup cldr scraping script * Update CLDR scraped TSV * Improve README * Fix type error * Satisfy bad typings in py3.5 * Remove/move fixes in manual-additions.tsv

2019-03-28  Sushain Cherivirala <sushain@skc.name>

	* Dockerfile: Fix dockerfile

2019-03-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/systemd/apy.service: Set LimitNOFILE for systemd

2019-03-25  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/base.py: Fix issue #60 (#133)

2019-03-05  Sushain Cherivirala <sushain@skc.name>

	* README.md, setup.py: Restore Tornado version ceiling (tornado 6
	does not support py3.4)

2019-03-05  Ayush Jain <ayushjainrksh@gmail.com>

	* apertium_apy/apy.py, index.html, tests/test.py: Nicer landing page
	#124 (#125) * Added a basic html page to be rendered on visiting localhost:2737/ * Index.html added * apertium-apy renders index.html page * Added a test for rootHandler * Testing if same html is received from the route * name changed from File to files * Changed file opening format * Testing the home route for header * Travis integration tested * Removed bad quotes * Searching for heading in contents * Finding heading using in * Update index.html

2019-02-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tests/sanity-test-apy.py: update tat-kaz test

2019-02-02  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* language_names/variants.sql: nno_e → nynorsk e-infinitiv for lack of a better term

2018-12-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* language_names/manual.sql: s/anársámegiella/anárašgiella/g

2018-11-18  Milan Andreew <Milan.Andreew@gmail.com>

	* .flake8, Pipfile, Pipfile.lock: Upgrading flake8 version whilst
	fixing style issues it's complaining about (#123) * Upgrading flake8 version * Fixing W504 issues Everything should be straight forward * Style update * Reverting to previous state * Revert "Reverting to previous state" This reverts commit 22eb5eacdec948d12686d4e399f7eb0e777c13fe.  * Revert "Style update" This reverts commit 4342d417a972de973b4b693e414e2a482e9b422b.  * flake8 * trying something * All clear * Remaining Issues fixed * W292?

2018-11-13  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #122 from bentley/master Fix typo in README.

2018-11-11  Sushain Cherivirala <sushain@skc.name>

	* Makefile, Pipfile, Pipfile.lock: Switch release process to twine

2018-11-11  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG, NEWS: Update NEWS and changelog

2018-11-11  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Bump version

2018-11-11  Anthony J. Bentley <anthony@anjbe.name>

	* MANIFEST.in: Add language_names/ to dist. (#121)

2018-11-08  milanandreew <43289010+milanandreew@users.noreply.github.com>

	* .travis.yml, Pipfile, Pipfile.lock, README.md,
	requirements-dev.txt, requirements.txt: Switch to pipenv (fixes
	#117) * Switch to pipenv * Problem solved All development packages added.  * removed python version restriction * adjusting travis ci workflow * Difficulties on travis ignoring pipfile lock * I don't know how that got in there * Pipfile lock updated, removing skip lock * Another small edit * Another edit * Deleted empty line Linter fix coming * transitive dependency * transitive dependency 2nd time * Transitive dependencies * Flake 8 errors * flake8 version? * Let's just hope some issues are resolved * read the docs is a fitting name
	https://pipenv.readthedocs.io/en/latest/advanced/#specifying-basically-anything* Ugh, i forgot a curly bracket * Yet again: I MUST READ THE DOCS * adjusting to style conventions * Some issues in ci, hope that this will fix them * deleting whitespace * Just trying something out * Problem with stupid lockfile * Update Pipfile * 3.5 pipfile.lock issue * fixing 3.4 build * coverage pin check * coveralls pin check * lint pin check #1 * Update Pipfile.lock deck the halls with boughs of holly, fa-la-la-la-la-la-la-la-la
	don't forget to update piplock, fa-la-la-la-la-la-la-la-la * lint pin check #2 * Update Pipfile * Hang on forgot pipfile.lock

2018-11-08  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #119 from kartikm/man Add apertium-apy manpage

2018-10-17  Xavi Ivars <xavi.ivars@gmail.com>

	* tests/sanity-test-apy.py: Update fra-cat tests

2018-10-05  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tests/sanity-test-apy.py: tests for new language pairs

2018-09-29  Sushain Cherivirala <sushain@skc.name>

	* NEWS: Update NEWS

2018-09-29  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG, apertium_apy/apy.py: Update changelog and bump version

2018-09-21  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* apertium_apy/apy.py: Redir of stderr/-out not enough, use
	logging.basicConfig(filename=…) (#116) * Redir of stderr/-out not enough, use
	logging.basicConfig(filename=…) Also, the basicConfig stuff needs to happen before any loggers are
	created, otherwise it has no effect (or you have to pass in the
	created loggers to basicConfig, which sounds like a drag).  Fixes #112 - apertium-apy doesn't honor -P / --log-path * appease the flake

2018-09-07  gkkulik <g.kulik@o2.pl>

	* language_names/manual.sql, language_names/variants.sql: Added
	Silesian related names (#114) * Added Silesian related names * Added missing Silesian names * ISO code fix

2018-08-09  Xavi Ivars <xavi.ivars@gmail.com>

	* .gitignore, README.md, apertium_apy/apy.py,
	apertium_apy/handlers/base.py, apertium_apy/handlers/translate.py,
	apertium_apy/keys.py, requirements.txt, setup.py: Allowing keys to
	be passed as a json file (#113) * Allowing keys to be passed as a json file * Small improvements

2018-07-26  Sushain Cherivirala <sushain@skc.name>

	* README.md: Show master build status in Travis badge

2018-05-17  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/translate_doc.py: Minor translateDoc
	refactoring (#110)

2018-05-15  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/translate.py,
	apertium_apy/handlers/translate_doc.py,
	apertium_apy/handlers/translate_webpage.py, tests/test.py: Improved
	doc translation and tests (#109) * Improved doc translation and add tests * Fix tests * Another test * some refactoring * Some refactoring and more tests

2018-04-27  Sushain Cherivirala <sushain@skc.name>

	* Dockerfile: Ensure cld2 compiles on stretch in Dockerfile

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* README.md: Reference Docker build

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* Dockerfile: Use apertium/base Docker image

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* Dockerfile: Simplify locales in Dockerfile

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* Dockerfile: Minor improvement to Dockerfile

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* .dockerignore, Dockerfile, README.md: Improvements to Dockerfile
	and related items

2018-04-26  Sushain Cherivirala <sushain@skc.name>

	* .dockerignore, Dockerfile, README.md: Add Dockerfile and expand
	README installation

2018-04-05  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG, NEWS: Update changelog

2018-04-05  Sushain Cherivirala <sushain@skc.name>

	* NEWS, apertium_apy/apy.py, setup.py: Install into share (#106) * Install into share * Add news entry and version

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG, NEWS: Update CHANGELOG

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* MANIFEST.in, NEWS, apertium_apy/apy.py, setup.py: Include proper
	files in bdist

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* README.md: Update cld2 reference in README

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* setup.py: Looks like someone did publish CLD2 to PyPi

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* setup.py: Minor style tweaks

2018-04-04  Sushain Cherivirala <sushain@skc.name>

	* setup.py: Some setup.py extra fixes

2018-04-04  Tino Didriksen <tino@didriksen.cc>

	* setup.py: How did Travis not catch this?

2018-04-04  Tino Didriksen <mail@tinodidriksen.com>

	* setup.py: Build and remove langNames.db during install (#103) Build and remove langNames.db during install (issue #84)

2018-04-03  Sushain Cherivirala <sushain@skc.name>

	* Makefile, setup.py: Revert "Run make inside setup.py" This reverts commit c2e6c14a1a55eb969a6b7b63434959757af83b1f.

2018-04-03  Sushain Cherivirala <sushain@skc.name>

	* Makefile, setup.py: Run make inside setup.py

2018-04-03  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/base.py, tests/__init__.py: Play well with
	Debian's Python packaging

2018-04-02  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG, NEWS: Update changelog

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* NEWS: Update NEWS

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Bump version

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Make it actually start

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* setup.py: Remove tornado version ceiling

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Fix PeriodicCallback for 5.0

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG: Fix encoding

2018-04-01  Sushain Cherivirala <sushain@skc.name>

	* CHANGELOG: Update changelog

2018-03-30  Sushain Cherivirala <sushain@skc.name>

	* NEWS: Update NEWS

2018-03-30  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Bump to v0.11.0

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Invalid calc coverage tests

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/coverage.py,
	apertium_apy/handlers/identify_lang.py,
	apertium_apy/utils/__init__.py: Switch to Tornado futures/subprocess
	wrapper from multiprocessing for coverage

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* .coveragerc, .travis.yml, Makefile, tests/test.py: More accurate
	coverage measurement

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Add two more basic tests

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, setup.py: Bump to v0.11.0.rc3 and fix
	packaging

2018-03-27  Sushain Cherivirala <sushain@skc.name>

	* requirements.txt, setup.py: Drop required Tornado version to 4.2.1
	(#99)

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: v0.11.0.rc2

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Less strict invalid webpage test

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, tests/test.py: Add invalid webpage test and
	up coverage req to 40%

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Attempt webpage translation test

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Add JSONP test

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Two more tests to get 100% coverage in
	analyze/generate + re-enable accidentally commented out ones

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Add a test that won't pass...

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/handlers/base.py,
	apertium_apy/handlers/list_language_names.py,
	apertium_apy/handlers/suggestion.py,
	apertium_apy/handlers/translate_webpage.py,
	apertium_apy/mode_search.py, apertium_apy/utils/translation.py,
	apertium_apy/utils/wiki.py, tests/test.py: Remove a bunch of
	unnecessary %s

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/handlers/per_word.py,
	apertium_apy/handlers/suggestion.py, apertium_apy/utils/__init__.py:
	Move more code out of global utils

2018-03-26  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/handlers/list_language_names.py,
	tests/test.py: Fix /listLanguageNames bug and add more tests

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile: Drop coverage req to 35

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, apertium_apy/__init__.py, tests/test.py:
	Run branch coverage and flake8 on tests dir

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Re-enable the tests I disabled locally

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, apertium_apy/__init__.py,
	apertium_apy/apy.py, apertium_apy/handlers/__init__.py,
	apertium_apy/handlers/analyze.py, apertium_apy/handlers/base.py,
	apertium_apy/handlers/coverage.py,
	apertium_apy/handlers/generate.py,
	apertium_apy/handlers/identify_lang.py,
	apertium_apy/handlers/list_language_names.py,
	apertium_apy/handlers/list_modes.py,
	apertium_apy/handlers/per_word.py,
	apertium_apy/handlers/pipe_debug.py,
	apertium_apy/handlers/speller.py, apertium_apy/handlers/stats.py,
	apertium_apy/handlers/suggestion.py,
	apertium_apy/handlers/translate.py,
	apertium_apy/handlers/translate_chain.py,
	apertium_apy/handlers/translate_doc.py,
	apertium_apy/handlers/translate_raw.py,
	apertium_apy/handlers/translate_webpage.py, apertium_apy/keys.py,
	apertium_apy/missingdb.py, apertium_apy/mode_search.py,
	apertium_apy/translation.py, apertium_apy/util.py,
	apertium_apy/utils/__init__.py, apertium_apy/utils/translation.py,
	apertium_apy/utils/wiki.py, apertium_apy/wiki_util.py,
	tests/test.py: Reorganize everything

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile: Lower expectations...

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, tests/test.py: Improve tests and bump
	coverage req

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, Makefile, tests/test.py: Actually measure coverage in
	subprocess

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* .gitattributes, README.md: Attempt to fix language stats and fix
	README verbs

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Bump version to 0.11.0.rc1

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/gateway.py: Tad bit of cleanup

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* MANIFEST.in, serverlist-example, tools/serverlist-example: Move
	the serverlist

2018-03-25  Sushain Cherivirala <sushain@skc.name>

	* Makefile: Add distclean make target

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* README.md: Fix typo

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Update notification token

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Cache /tmp/languages

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* Makefile: Improved make targets

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* README.md: PyPi badges

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* README.md, setup.py: Add to README and entry_scripts

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* Makefile: Add a helpful make test target

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* setup.py: Require Py3.4

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* requirements.txt: Tornado 4.4 -> 4.3

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* requirements.txt: Tornado 4.5 -> 4.4

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* MANIFEST.in: Whoops, forgot the manifest

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* Makefile, setup.py: Complete setup.py

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* Makefile, apertium_apy/apy.py, apertium_apy/mode_search.py,
	apertium_apy/util.py, servlet.py, setup.py, tests/test.py: Start on
	setup.py and fix some imports

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/keys.py, apertium_apy/missingdb.py,
	apertium_apy/mode_search.py, apertium_apy/translation.py: Hopefully
	actually support Python3.4

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, requirements-dev.txt: This should BREAK 3.4 compat

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Proper list handler test

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* README.md: Add badges

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* tests/README, tests/README.md, tests/run-tests, tests/test.py:
	Finish Python tests

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: More tests and verification

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* tests/test.py: Foiled by own linting...

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, tests/test.py: Another test and run them correctly
	this time

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Faster build

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/translation.py, tests/test.py: Satisfy
	mypy, more tests and some cleanup

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, requirements-dev.txt: Add coveralls

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, tests/test.py: Working Python tests

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/apy.py, tests/test.py: Start on python
	tests

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Some separation of concerns in prep for
	proper testing

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, requirements-dev.txt: Disable coverage report for now

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, requirements.txt: Split the requirements

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/apy.py, servlet.py, tests/run-tests: Fix
	mypy and servlet.py runnability

2018-03-24  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, language_names/scraper.py, requirements.txt,
	servlet.py: No more symlinks

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/translation.py: Unbork build

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* language_names/README.md: Improve language names README

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/missingdb.py, apertium_apy/mode_search.py,
	apertium_apy/systemd.py, apertium_apy/translation.py,
	apertium_apy/util.py, language_names/scraper-sil.py,
	language_names/scraper.py, requirements.txt,
	tests/sanity-test-apy.py: Quote normalization

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .flake8, .gitmodules, apertium_apy/apy.py,
	apertium_apy/gateway.py, language_names/scraper.py: Drop max line
	length to 140

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, apertium_apy/gateway.py: Add module level
	dunders

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/systemd.py, apertium_apy/translation.py: More pep8

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/apy.py, language_names/scraper.py,
	tests/run-tests: SVN -> Git

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py: Make streamparser optional

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .flake8, apertium_apy/apy.py, apertium_apy/gateway.py,
	apertium_apy/keys.py, apertium_apy/missingdb.py,
	apertium_apy/modeSearch.py, apertium_apy/mode_search.py,
	apertium_apy/translation.py, apertium_apy/util.py,
	apertium_apy/wiki_util.py, language_names/scraper.py,
	requirements.txt, tests/sanity-test-apy.py: Trailing commas and pep8
	naming

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* apertium_apy/apy.py, requirements.txt: Fix the imports and add
	chardet to requirements

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, apertium_apy/apy.py: Hopefully fix build

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Oops, proper install.

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .gitmodules, .travis.yml, mypy.ini, requirements.txt,
	streamparser: Progress

2018-03-23  Sushain Cherivirala <sushain@skc.name>

	* .flake8, .gitignore, .travis.yml, CHANGELOG, ChangeLog, Makefile,
	apertium_apy/__init__.py, apertium_apy/apy.py,
	apertium_apy/gateway.py, apertium_apy/keys.py,
	apertium_apy/missingdb.py, apertium_apy/modeSearch.py,
	apertium_apy/systemd.py, apertium_apy/translation.py,
	apertium_apy/util.py, apertium_apy/wiki_util.py, gateway.py,
	keys.py, language-names/manual.sql, language-names/scraped-sil.sql,
	language-names/scraped.sql, language-names/scraper-sil.py,
	language-names/scraper.py, language-names/turkic.sql,
	language-names/variants.sql, language_names/README.md,
	language_names/manual.sql, language_names/scraped-sil.sql,
	language_names/scraped.sql, language_names/scraper-sil.py,
	language_names/scraper.py, language_names/turkic.sql,
	language_names/variants.sql, missingdb.py, modeSearch.py,
	requirements.txt, servlet.py, systemd.py, t/README, t/run-tests,
	tests/README, tests/run-tests, tests/sanity-test-apy.py,
	tools/README, tools/sanity-test-apy.py,
	tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf, toro.py, translation.py, util.py,
	wiki_util.py: Initial set of changes

2018-03-22  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: Revert "refer to actual useCount in cleanable" This reverts commit 22c2995ff62a364727e2ba9f22d78a9e1e3cc266.  I think this fixes #88 - `Too many open files` on macos server or at
	least mitigates it (we might still be leaving files open on pipeline
	restart, but at least we're not restarting them all the time) But now we'll get back the missing useCount warning on some
	pipelines, need to figure out why that happens.

2018-03-21  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Attempt to fix build with --allow-unauthenticated

2018-03-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: ukr-rus turned off on server with
	~/tarballs/rm-bad-modes.sh for now

2018-03-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: Show usage on missing argument

2018-03-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: fix tests (rus/ukr was missing, tur-crh
	gives #e's all over the place)

2017-11-22  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: refer to actual useCount in cleanable

2018-03-14  Tino Didriksen <tino@didriksen.cc>

	* .gitmodules: goavki -> apertium

2018-03-12  Sushain Cherivirala <sushain@skc.name>

	* .gitattributes: Stop counting SQL in the language stats

2018-03-07  Sushain Cherivirala <sushain@skc.name>

	* language-names/scraper-sil.py: Fix build

2018-03-07  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Adjust python versions

2018-03-07  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, mypy.ini: Build fixes

2018-03-07  Sushain Cherivirala <sushain@skc.name>

	* README.md: Fix formatting for markdown

2018-03-07  Sushain Cherivirala <sushain@skc.name>

	* README.md, README.org: Update README for org shift and adjust
	extension

2018-01-18  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml, mypy.ini: Fix build

2018-01-18  Sushain Cherivirala <sushain@skc.name>

	* streamparser: Update streamparser submodule

2018-01-10  ryanachi <34379340+ryanachi@users.noreply.github.com>

	* language-names/variants.sql: added Gascon to variants.sql (#82)

2018-01-08  Jonathan Pan <jonpan4@gmail.com>

	* .flake8, .gitmodules, modeSearch.py, mypy.ini, servlet.py,
	streamparser: Spell Checker (#80) * Deconflicted files.  * Added submodule.  * Add submodule import.  * Fix lint errors.  * Removed some non-needed changes.  * Fix mypy errors.  * Style * Fix review comments.  * Fix logging.  * Changed error message.  * Add print statements.

2018-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* language-names/manual.sql: native names for khk and kmr

2018-01-08  ryanachi <34379340+ryanachi@users.noreply.github.com>

	* Makefile, language-names/variants.sql: added variants to
	languageNames (#78) * added variants to languageNames * added full name to Brazilian Portuguese * added more variants to variants.sql

2018-01-07  Sushain Cherivirala <sushain@skc.name>

	* util.py: Fix listLanguageNames

2018-01-07  Sushain Cherivirala <sushain@skc.name>

	* .flake8, .travis.yml, missingdb.py, servlet.py, translation.py:
	Cleanup and style fixes (#79)

2018-01-05  Sushain Cherivirala <sushain@skc.name>

	* translation.py: Style

2018-01-04  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #76 from Androbin/async Make /listLanguageNames non-blocking

2018-01-03  Sushain Cherivirala <sushain@skc.name>

	* util.py: Re-order imports

2017-12-31  Robin Richtsfeld <robin.richtsfeld@gmail.com>

	* servlet.py, util.py: Make /listLanguageNames non-blocking

2018-01-01  Sushain Cherivirala <sushain@skc.name>

	* NEWS: Fix commit hash for v0.10.0

2018-01-02  Robin Richtsfeld <robin.richtsfeld@gmail.com>

	* .travis.yml, ChangeLog, NEWS, gateway.py, keys.py, missingdb.py,
	modeSearch.py, servlet.py, toro.py, translation.py,
	translation_py32.py: Remove support for Python 3.2 (fixes #73) * Remove support for Python 3.2 * Fix mypy line count error * Update ChangeLog * Update NEWS

2018-01-01  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #72 from Androbin/patch-1 Type soft hypen explicitly

2017-12-31  Sushain Cherivirala <sushain@skc.name>

	* language-names/scraped-sil.sql, language-names/scraper-sil.py:
	Stop cutting off anything past first word of language names from SIL

2017-12-31  Sushain Cherivirala <sushain@skc.name>

	* Makefile, language-names/scraped-sil.sql,
	language-names/scraper-sil.py: Add SIL scraped language names

2017-12-31  Sushain Cherivirala <sushain@skc.name>

	* .flake8, language-names/manual.sql, language-names/scraped.sql,
	language-names/scraper.py: Rescrape language names

2017-12-30  Robin Richtsfeld <robin.richtsfeld@gmail.com>

	* .gitignore, .travis.yml, gateway.py, keys.py, missingdb.py,
	modeSearch.py, servlet.py, tools/sanity-test-apy.py, toro.py,
	translation.py, translation_py32.py: Check types with mypy (fixes
	#56) * Check types with mypy * Fix flake8 issues * Specify noqa -> F401 * Fix mypy below 3.3 * Refactor Travis commands

2017-12-30  Robin Richtsfeld <robin.richtsfeld@gmail.com>

	* servlet.py: Type soft hypen explicitly See comments on 0da34d9360cb7166ba2228e81e34527fa9467b0d The entity
	is covered by `unescape`.

2017-12-27  Sushain Cherivirala <sushain@skc.name>

	* language-names/manual.sql: Add a couple language names in English

2017-12-26  Sushain Cherivirala <sushain@skc.name>

	* language-names/manual.sql: Couple more language names

2017-12-25  Sushain Cherivirala <sushain@skc.name>

	* language-names/manual.sql: Fix language name typo

2017-12-25  Sushain Cherivirala <sushain@skc.name>

	* Makefile, language-names/manual.sql, language-names/scraped.sql,
	language-names/scraper.py, language-names/turkic.sql,
	tools/apertiumlangs.sql, tools/langNamesScraper.py,
	tools/turkic.sql: Language names cleanup and additions (#68) * Move around and split language names files * Add some new names * Whoops, actually use the manual language names * Couple more additions

2017-11-12  Jonathan North Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: case fixes

2017-11-12  Jonathan North Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: Gagauz in English

2017-11-12  Jonathan North Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: Gagauz in a few languages

2017-11-01  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: comment out flake8 for python3.2 for now

2017-10-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .gitignore, tools/langNamesScraper.py: more flake8

2017-10-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* gateway.py, servlet.py, translation.py, translation_py32.py:
	please flake8

2017-09-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: actual words in test

2017-09-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test srd-cat, crh-tur (but messed up on
	server still)

2017-08-23  Monish Godhia <monish1247@gmail.com>

	* servlet.py, translation.py, translation_py32.py: Add website
	translation handler (#58) * Website translation handler * Raise any exception that occurs on fetching the URL * Remove blank line * Attribute errors fixed * Remove comments * Add line, travis * Use startswith and not find

2017-08-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: doh

2017-08-05  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: bel-rus

2017-06-07  Tino Didriksen <mail@tinodidriksen.com>

	* tools/sanity-test-apy.py: Updated tests fra-cat spa-ita

2017-06-01  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: unindent main content a bit by using 'if
	should_fail:return' style

2017-05-22  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, toro.py, translation.py, translation_py32.py: minor
	mypy fixes (issue #56)

2017-02-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: flake8

2017-02-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: remove soft hyphen

2017-02-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* modeSearch.py: Revert "dgen is also a generator suffix" This reverts commit 8851ad5383fdce7416defbb84ad9c6c5956f65a8.

2017-02-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* modeSearch.py: dgen is also a generator suffix

2017-02-01  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation_py32.py: change in translation.py that was missing
	from py32

2017-01-18  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #43 from shardulc/chain-translations Initial support for translation chaining.

2017-01-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py, translation_py32.py: minor

2017-01-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py, translation_py32.py: translateDoc
	non-blocking, keep at most --max-doc-pipes concurrent closes #40 and #41; based on work by @jatinluthra14 of #45 and #46

2017-01-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: exc_info might not have log_message nor reason attrs

2017-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: translatePage: also fix url base for src=

2017-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: translatePage: only set url.netloc to base if it's
	unset

2016-11-23  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: doh, self

2016-11-23  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: doh, sub wants something to sub

2016-11-23  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: translatepage: better urlrebasing; do href→onclick
	in js

2016-11-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: don't strip input text – leads to wrong offsets

2017-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: cross-references in cli documentation so many options

2017-01-06  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py: Fix PEP8 formatting error

2017-01-06  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py: Merge pairs and chains in /list, using src as an
	optional argument to pairs. Make response format consistent.

2017-01-05  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py: Changes requested by sushain97.

2017-01-05  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py, translation.py, translation_py32.py: Use Dijkstra's
	algorithm to calculate shortest paths for all pairs at startup. Add
	function to listPairs to list possible chainings. Add better
	error-handling. Move the newer Python version-dependant code in
	coreduce to appropriate translation* file.

2017-01-04  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py: Make minor changes requested by Putti.

2017-01-04  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py: Initial support for translation chaining.
	https://wiki.apertium.org/wiki/User:Shardulc has documentation of
	this feature.

2016-12-20  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #37 from shardulc/master Improve translate/ formatting interface, add rtf formatting handler

2016-12-18  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* translation.py: Fix travis indentation error.

2016-12-18  Shardul Chiplunkar <shardul.chiplunkar@gmail.com>

	* servlet.py, translation.py: Improve translate/ formatting
	interface, add rtf formatting handler

2016-12-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: use built-in status_code→msg; use exception-specific
	info for 400's etc.  so if we raise MissingArgument('q') then the error msg actually says
	that

2016-12-02  Simon Narang <simonarang202@gmail.com>

	* servlet.py: Fixed https://github.com/goavki/apertium-apy/issues/15

2016-11-27  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py, translation_py32.py: sadly not a syntax error

2016-11-27  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 5b9335390d9d261ce71063996f245697b44164b4 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Sun Nov 27 20:02:10
	2016 +0100

2016-11-27  Jonathan North Washington <firespeaker@apertium.vm.bytemark.co.uk>

	* tools/apertiumlangs.sql: crh in ru

2016-11-26  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py, translation_py32.py: (ignored) reformat/deformat args for SimplePipeline etc.  I want a Python typechecker

2016-11-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/apertiumlangs.sql: smn langnames

2016-11-22  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/apertiumlangs.sql: sardu langnames

2016-11-22  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test for ita-srd

2016-11-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation_py32.py: thought I'd fixed this in b2fd8c93 …

2016-11-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py, translation_py32.py: raise fail if retcode bad
	after proc.communicate if deformat failed, we won't get final \0-byte into the stream,
	making the main translation hang (and locking that pipeline)

2016-11-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py, translation_py32.py: bytes need b''

2016-11-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .dir-locals.el, gateway.py, keys.py, servlet.py,
	tools/langNamesScraper.py, translation.py, translation_py32.py: new
	/translateRaw handler which expects pipeline to output as JSON also new url keywords deformat and reformat (see validateFormatters
	for valid values); avoid giving -z arguments to programs which don't
	use/need that for flushing; remove unused translateWithoutFlush fn;
	flake8 fixes

2016-10-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* util.py: flaky8

2016-10-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: require trusty, sudo

2016-10-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 15f0940fe9d0bcd802dfe610babb89bfdfe75b90 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Thu Oct 13 08:52:18
	2016 +0200

2016-08-24  Sushain Cherivirala <sushain@skc.name>

	* : Merge pull request #30 from goavki/travis-flake8 Add flake8 to Travis

2016-08-24  Sushain Cherivirala <sushain@skc.name>

	* : commit ebb54c4d18d4b921062bd6aa1dcf4f2021caeead Author: Sushain
	Cherivirala <sushain@skc.name> Date:   Tue Aug 23 09:46:15 2016
	-0500

2016-08-23  Sushain Cherivirala <sushain@skc.name>

	* .travis.yml: Add flake8 to Travis config

2016-08-24  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml, servlet.py, tools/apertium-recaptcha-test.html,
	util.py, wiki_util.py: travis: py3.2 doesn't seem to support
	tornado>4.3 so use tornado 4.3 when python 3.2, otherwise newest tornado

2016-06-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: oci_aran, not oct_aran

2016-06-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: kmr, scn fixes mostly

2016-06-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: nob-swe was missing

2016-06-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/systemd/apy.service: doh, package has /modes at the end

2016-06-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/systemd/apy.service: User=apertium and expect data in
	/usr/share/apertium like the debian version

2016-06-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* ChangeLog, NEWS: NEWS/ChangeLog for 0.9.0→0.9.1

2016-06-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test swe-nor

2016-05-31  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 72eb4dad68cb8d4a12f2d74a2395cafec3b7af96 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Tue May 31 15:37:53
	2016 +0200

2016-05-27  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #21 from Putti/variable Remove unused variable

2016-05-27  Joonas Kylmälä <j.kylmala@gmail.com>

	* modeSearch.py: Remove unused variable

2016-05-27  Joonas Kylmälä <j.kylmala@gmail.com>

	* modeSearch.py: Move mode logging to it's own function

2016-05-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: lint

2016-05-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: irc notify

2016-05-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .gitignore: ignores

2016-05-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .gitignore, servlet.py, systemd.py, tools/systemd/apy.service:
	systemd watchdog; only used if started by systemd and the .service file has e.g. WatchdogSec=10s

2016-05-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: don't try to close missingFreqsDb unless open

2016-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation_py32.py: rm arbitrary diff from translation.py

2016-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation_py32.py: merge 8f8ffda to py32 as well

2016-05-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: allow space around '|' in .mode files really, we should just make all language pairs install modes.xml
	though

2016-04-29  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #16 from wolfgangth/master Update apertiumlangs.sql

2016-04-29  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* missingdb.py: missingdb: close cursor each time as well

2016-04-29  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* missingdb.py, servlet.py, util.py: rewrote missingFreqs-handling
	to fix locking in its own class, all relevant variables kept there, only one
	function that commits, lock at the right spot

2016-04-03  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: getPairOrError callers expect None if error should close #14

2016-03-01  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: dan→swe in tests

2016-02-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* ChangeLog, NEWS: NEWS with readable summaries; git2cl > ChangeLog should close #13

2016-02-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: ANN: New APY release! New features include: - version number

2016-02-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: usecounts rather useless without uptime

2016-02-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: hopefully more readable, informative /stats

2016-02-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: send len(q), not q to logAfterTranslation the joy of dynamic typing

2016-02-03  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 57960f74a878d65cd1b500c79ac8f6da5b6a9c44 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Wed Feb 3 11:33:10 2016
	+0100

2016-02-02  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 0fe763d71eb00b6dd0c977c9813301d9fa621955 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Tue Feb 2 10:42:19 2016
	+0100

2016-02-01  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #11 from danielmartinez/master Add option for unknown marks in translateDoc

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: no 'yield from' in py32

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* : commit 77b2b1b1ff8923fef392d7bba0f53182a1a7cc09 Author: Kevin
	Brubeck Unhammer <unhammer@fsfe.org> Date:   Mon Jan 18 11:03:14
	2016 +0100

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: fix: /translatePage shouldn't block while fetching the
	page

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: let translatepagehandler use more of translatehandler

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, util.py: less redundant scalemt calls (get_status will
	DTRT if called after send_error)

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: test for 400's

2016-01-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: run_tests { run_test () }

2016-01-17  Sai Vineet <saivineet89@gmail.com>

	* : commit 5ffe1ce2a1fd5afe2825c31a6cb9357ff8b42ca3 Author: Sai
	Vineet <saivineet89@gmail.com> Date:   Sun Jan 17 16:05:30 2016
	+0530

2016-01-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: warnings consistency

2016-01-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: don't split if we're not going to use it

2016-01-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: arg-cat tests

2016-01-17  Sai Vineet <saivineet89@gmail.com>

	* servlet.py: Add more stats

2016-01-16  Kevin Brubeck Unhammer <unhammer+dill@mm.st>

	* : Merge pull request #9 from sabertooth-cat/master Add page translation capability :) (waiting a bit with the html-side
	of things)

2016-01-15  E <ethanchi@ethanchi.attlocal.net>

	* servlet.py, translation.py: Fix splitting error

2016-01-15  E <ethanchi@ethanchi.attlocal.net>

	* servlet.py, translation.py: Subclassed TranslateHandler

2016-01-15  E <ethanchi@ethanchi.attlocal.net>

	* servlet.py: Modified TranslatePageHandler to subclass
	TranslateHandler

2016-01-15  E <ethanchi@ethanchi.attlocal.net>

	* servlet.py, translation.py: Modified page translation feature to
	be asynchronous

2016-01-15  E <ethanchi@ethanchi.attlocal.net>

	* : Fix conflict in servlet.py

2016-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py, translation_py32.py: support both py32
	and py35+ by splitting translation.py into two modules (try-except won't work,
	since py32 calls return-from-gen a SyntaxError on _reading_ the
	file; StopIteration deprected in py35)

2016-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* README.org: travis: fix link

2016-01-13  E <ethanchi@ethanchi.attlocal.net>

	* servlet.py, translation.py: Add page translation capability

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: show logs on error; clear before run

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: try to stay in source dir

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: no --user

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* README, README.org: travis img

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis: lang python, pip install tornado

2016-01-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* .travis.yml: travis

2016-01-12  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test for ara-mlt_translit

2016-01-12  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test for dan-nno

2016-01-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: comment the return-from-generator, since it looks
	a bit weird

2016-01-05  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: Made compatible with Python <=3.3 Squashed from commit dd129f7ce3fe996566b97c3d90b5480e45c1fb8d Author:
	jatinluthra14 <jatinluthra14@gmail.com> Date:   Tue Jan 5 20:05:22
	2016 +0530 see http://stackoverflow.com/a/16780113/69663

2016-01-04  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/README: how to get data needed for t/run-tests

2016-01-04  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: better installed-check

2016-01-04  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: allow overriding data paths before running and better errors if data is simply not installed

2015-12-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/apertium-viewer.html: translates as you type, gci work by
	ethan a chi

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: eus→eu

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: more crh

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: a few more kaz fixes

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: agh, kazakh

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: more langs

2015-11-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql, tools/turkic.sql, util.py: some updates,
	including crh name in some Turkic languages

2015-10-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: flush lrx-proc

2015-10-04  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: don't keep pipes open for ca-oc@aran pair Seems this one keeps getting clogged, presumably transfer isn't
	outputting some <b pos=N/>

2015-09-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: allow passing port as first arg

2015-09-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: use flushing even if hfst-proc (lrx-proc still
	TODO)

2015-09-25  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: don't run tests if port taken

2015-08-21  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* t/run-tests: extremely simple regression tests

2015-08-21  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: -old debug output

2015-08-21  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, util.py: much simplified GenerateHandler as well using
	translateSimple +cleanup

2015-08-21  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: much simplified AnalyzeHandler using translateSimple

2015-08-21  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: some Turkic name defaults

2015-08-21  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: a few qaraqalpaq additions

2015-08-21  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: copy-pasta fix

2015-08-21  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: uzbek names for some Turkic languages

2015-08-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: some language names in Kyrgyz

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: tornado3: use gen.Task wrapper for translateSimple
	as well

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* toro.py: add a license header for toro

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: read_until requires a callback in tornado3,
	gen.Task wrapper turns callbacks into yieldables

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: use toro if no tornado.locks

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* toro.py: s/Queue/queue for py3

2015-08-13  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* toro.py: __init__.py from 524fbe5b8f of
	https://github.com/ajdavis/toro/

2015-08-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: doc more

2015-08-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: --restart-pipe-after it has had that
	many requests Pipelines to be shut down now put in a holding area until there are
	no more users of that object, so we can restart high-traffic
	pipelines

2015-08-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: --min-pipes-per-pair implemented e.g. to keep at least one pipeline per pair open

2015-08-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: implement --max-pipes-per-pair and
	--max-users-per-pipe Pipeline is now an object, subclasses: Simple~ and Flushing~ locks
	and use-count initialised in Pipeline FlushingPipeline opens pipes
	on init and closes on del translate is a method of a Pipeline http server has a list of pipelines per pair, default max-len 1, but
	e.g. -i3 does help with high loads even on my 3-core test machine

2015-08-11  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: use tornado 4.2 instead of toro so that was easy

2015-08-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: bump lastUsage _before_ translating, decrease chances
	of concurrent requests running shutdownPair on us --max-idle-secs is still a bit dangerous in the case where a long
	request takes more time to process than max_idle_secs, but that
	value should hopefully be larger than the time taken to translate
	the largest possible request … Or we can keep a semaphore for each pair counting how many requests
	are waiting for it, and only shutdown if none are (but should switch
	from toro to tornado.lock first)

2015-08-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: default to -j1 since we don't want to default to
	eating all your ram Use -j0 (or -j -- ) to run one http server per core, but note that
	for each http server you will have all available language pairs in
	memory (and each pair uses around 7 processes).

2015-08-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: put the dot/space found when splitting long
	strings at end of prev (not beginning of next) string

2015-08-01  Xavi Ivars <xavi.ivars@gmail.com>

	* translation.py: [apy] Fixing bug incorrectly splitting short
	strings

2015-08-01  Xavi Ivars <xavi.ivars@gmail.com>

	* translation.py: [apy] Fixing bug incorrectly splitting short
	strings

2015-07-11  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: some minor fixes to Turkic language names

2015-07-03  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: bail out if it doesn't seem we have a utf-8 locale

2015-04-27  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: skip some

2015-04-27  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: each arg gets quoted individually (did this ever
	work?)

2015-03-19  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py, tools/apertium-viewer.html, translation.py: [APY]
	Adding /pipedebug mode

2014-12-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/apertium-viewer.html: apertium-viewer.html by GCI student
	Rap /pipedebug not implemented in apy yet, so this is only using a fake
	hardcoded response
	http://www.google-melange.com/gci/task/view/google/gci2014/6466660768677888

2014-11-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: hardbreakFn now sends up to PIPE_BUF bytes;
	rush-hour test checks if lock.locked()

2014-11-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: / redirect to wiki/apy

2014-11-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: select/poll-style translation instead
	of threading We now yield a Future from a PipeIOStream in translate, using
	tornado.process.Subprocess instead of Popen.  Depends on toro for the locking, so do "pip3 install toro"
	(unfortunately not in Debian yet).  Much cleanup, e.g. startPipeline really belongs in translation.py;
	pipeline_cmds now contains the do_flush bool and commands string.  Shows vmsize increases if verbosity>1.

2014-11-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/README: deps for langNamesScraper

2014-11-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* README, servlet.py: servlet doesn't actually use lxml.etree

2014-11-05  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* COPYING: copying

2014-11-04  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py, util.py: [apy] Better handling DB

2014-11-04  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py: Only close de DB once

2014-10-21  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: let missingFreqs.db=None by default since it really
	shouldn't be required for apy to work

2014-10-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: test hin-urd, hbs-eng; timeout 15

2014-10-17  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py: [APY] New mode -M to keep unknown words in memory
	until a threshold is achieved (fix indent)

2014-10-15  Xavi Ivars <xavi.ivars@gmail.com>

	* util.py: [APY] New mode -M to keep unknown words in memory until a
	threshold is achieved (missing file)

2014-10-15  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py: [APY] New mode -M to keep unknown words in memory
	until a threshold is achieved

2014-10-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* Makefile: rm -f

2014-10-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* Makefile: a clean target

2014-10-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: https://sourceforge.net/p/apertium/tickets/45/
	don't flush with lrx-proc yet

2014-10-01  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: exit(1) if anything failed

2014-09-16  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: simply remove async_callback
	https://github.com/tornadoweb/tornado/blob/branch3.1/tornado/web.py#L1036says async_callback is Obsolete and unnecessary since Tornado 1.1

2014-09-07  Xavi Ivars <xavi.ivars@gmail.com>

	* util.py: [fix] Real IP behind a proxy

2014-08-18  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: odt support

2014-08-05  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: check extracted file list if detected as
	application/zip

2014-08-03  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: break

2014-08-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: mimetype > xdg-mime > file

2014-08-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, translation.py: fixes

2014-07-28  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Better file command parsing

2014-07-28  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Switch errors

2014-07-27  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add download headers to /translateDoc

2014-07-27  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, translation.py: Use file command to detect MIME type

2014-07-27  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, translation.py: Functional document translation --
	still needs threading and logging

2014-07-26  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, translation.py: cleanup

2014-07-26  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Start on document translation support

2014-07-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: better ʻ

2014-07-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: a couple kaa names

2014-07-24  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: '?mode' -> '?lang', '/coverage' -> '/calcCoverage' NOT
	BACKWARDS COMPATIBILITY

2014-07-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: possibly stop complaining about unicode chars in
	source code

2014-07-06  Xavi Ivars <xavi.ivars@gmail.com>

	* servlet.py, translation.py: Code review feedback

2014-07-06  Xavi Ivars <xavi.ivars@gmail.com>

	* keys.py, servlet.py, translation.py, util.py: [Softcatalà]
	Integrate ScaleMT-like logs into APY

2014-06-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: pretty sure a star before a space can't be an unknown
	word mark, that'd only work if spaces were in <alphabet> this should hopefully fix the overly greedy noteUnknownTokens

2014-06-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: some output while running so it doesn't
	seem like we've stalled

2014-06-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/langNamesScraper.py: s/unicode/langNames/

2014-06-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* Makefile: WARNING: unicode.db now called langNames.db (fix your
	apy startup scripts)

2014-06-27  Sushain Cherivirala <sushain@skc.name>

	* Makefile, servlet.py, util.py: Add missing freqs database (ticket
	#30)

2014-06-26  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, util.py: formatting/style changes

2014-06-19  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/systemd/README, tools/systemd/apy.service: systemd example
	service file

2014-06-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: use -f html-noent instead of -f html

2014-06-18  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: rename confusing fn name

2014-06-17  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make all modes accept ISO 639-1 codes

2014-06-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: /listPairs?include_deprecated_codes to include
	two-letter codes in output

2014-06-17  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: silently fail to fail if client passes two-letter
	codes to /translate

2014-06-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* translation.py: -unused fluff

2014-06-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: stripUnknownMarks in a fn

2014-06-09  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: sub-optimal implementation of markUnknown for
	/translate

2014-06-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: -چا to چە

2014-06-05  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: db updates

2014-06-04  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: uy>ug

2014-05-30  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: reversed

2014-05-30  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql, tools/turkic.sql: updated databases or
	something

2014-05-15  Sushain Cherivirala <sushain@skc.name>

	* Makefile: don't try deleting non-existent unicode.db

2014-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: def isFlushable in case other cmds are unflushable as
	well

2014-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: No flushing for hfst-proc pairs
	(restart on each translation) Still uses a lock, so should at least not spawn a several processes
	per pipeline at once.  Entries in BaseHandler.pipelines now have a third arg do_flush Closes https://sourceforge.net/p/apertium/tickets/22/

2014-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: start pipeline (if necessary) in the _worker, since
	this is the function that starts translation

2014-05-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: cleanPairs/notePairUsage only used by /translate,
	don't need to be in BaseHandler

2014-05-13  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: attempt to fix gen.coroutine import error

2014-05-13  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: python 3.3. doesn't like generators with return None

2014-05-09  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: 400 -> 408 HTTP errors

2014-05-09  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Enable CORS

2014-05-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: json error responses, closes
	https://sourceforge.net/p/apertium/tickets/19/

2014-05-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: fixed: /listPairs?q=adsf was treated as /listPairs

2014-05-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: enable_pretty_logging doesn't seem to work if
	logging's been used once already

2014-05-08  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make /analyze, /generate, /perWord and /coverage
	non-blocking

2014-05-08  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Use CLD for language detection and fallback to naive
	approach if CLD not installed

2014-05-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: /stats and -mN to shut down pipelines that haven't
	been used in the last N secs (not too useful, but was so easy to
	implement …)

2014-05-07  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: more tests

2014-05-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: output some stuff

2014-05-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: more tests, still just kaz-tat/sme-nob
	failing

2014-05-06  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* tools/sanity-test-apy.py: insanity-untest

2014-04-28  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* Makefile: rm unicode.db before running sqlite in case it already
	exists

2014-04-11  Francis Tyers <ftyers@users.noreply.github.com>

	* tools/apertiumlangs.sql: add some avar translations

2014-04-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: return 400 on modefile parse fail (better than
	nothing)

2014-04-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: per-pipeline locks! zomg.

2014-04-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: doh! use sendResponse, not just finish, got wrong
	headers etc

2014-04-09  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py, translation.py: Start translate() in a separate thread
	while still reusing pipelines, using ThreadableMixin Made it split on fairly short segments, might want to tweak
	"hardbreak" constants

2014-04-09  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Non-blocking requests

2014-04-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: wops :)

2014-04-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* modeSearch.py, servlet.py: Main arg to servlet.py now includes
	_all_ .mode files under that path.  This now finds all my 88 /usr/local/share/apertium/modes, vs only 14
	before … To specify a path for non-pair modes only, pass the
	-s/--nonpairs-path argument: ./servlet.py /path/to/include/all/modes/from -s
	/path/to/include/tagger/analyser/generator/modes/from Also has real symlink loop checking.  Pass -v2 to show the discovered modes on startup.

2014-04-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* Makefile: how to make unicode.db, rather important …

2014-04-07  Sushain Cherivirala <sushain@skc.name>

	* util.py: oops, precedence rules are weird

2014-04-07  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, util.py: Support variations in mode search

2014-04-07  Francis Tyers <ftyers@users.noreply.github.com>

	* modeSearch.py: add support for finding variants

2014-04-05  selimcan <selimcan@72bbbca6-d526-0410-a7d9-f06f51895060>

	* tools/apertiumlangs.sql: add tatar words for 'english' and
	'spanish'

2014-04-05  Francis Tyers <ftyers@users.noreply.github.com>

	* tools/apertiumlangs.sql: add new langs in aragonese

2014-04-04  Sushain Cherivirala <sushain@skc.name>

	* tools/apertiumlangs.sql: Regenerate language name DB

2014-04-04  Sushain Cherivirala <sushain@skc.name>

	* tools/langNamesScraper.py: Fix bug with language list generation,
	add some languages to list manually

2014-04-04  Francis Tyers <ftyers@users.noreply.github.com>

	* tools/apertiumlangs.sql: new langs

2014-02-02  Jonathan Washington <jonathan.north.washington@gmail.com>

	* modeSearch.py, translation.py: linux line breaks on all py files

2014-02-02  Jonathan Washington <jonathan.north.washington@gmail.com>

	* util.py: vim modeline

2014-02-02  Sushain Cherivirala <sushain@skc.name>

	* util.py: Fix indentation and add error message

2014-02-02  Jonathan Washington <jonathan.north.washington@gmail.com>

	* util.py: keep global track of dbConn

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: fixes: az in tt, ky in ru

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: Tatar names for languages

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/sysvinit/apy.sh: updated script, points to new db

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: line to update languageNames table with
	fixes table

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: fixes table

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/apertiumlangs.sql: apertium languages, gonna fuċ more later

2014-02-01  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: two tables

2014-01-26  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: a few names for Chuvash

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py: Follow symlinks when searching for modes Impose
	limit on search depth

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, servlet.py, tools.py, tools/langNamesScraper.py,
	util.py: Add a few ISO code mappings Make lang name scraper depend
	on util for ISO code conversion Rename tools.py to util.py

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, translation.py: Optimize mode search performance
	(even more)

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py: Optimize mode search performance (more)

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py: Optimize mode search performance (hopefully)

2014-01-25  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, servlet.py: Improve mode searching functionality
	(walk through all dirs recursively)

2014-01-24  Sushain Cherivirala <sushain@skc.name>

	* tools/langNamesScraper.py: Make usage appear only when no
	arguments provided

2014-01-23  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, servlet.py, tools.py: Regularize all APY language
	listings to 3 alpha language codes

2014-01-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: use ша/ше, not тілі :\

2014-01-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* translation.py: extra DEBUG lines, but all commented out

2014-01-15  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: removed unused constant

2014-01-14  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/sysvinit/apy.sh: init script

2014-01-14  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: logging

2014-01-14  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: well ioloop, if you're too spineless to kill them I'll
	have to do it myself

2014-01-13  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: Kyrgyz and Karakalpak spelling in English

2014-01-12  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: signal stuff

2014-01-12  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: bak in bak

2014-01-11  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Prevent APY 500 on empty text for /identifyLang and
	/coverage

2014-01-11  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: bak = ba

2014-01-11  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: bak, kum

2014-01-09  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/turkic.sql: some fixes that shouldn't've been necessary.
	native speakers need to go through and clean this stuff up :(

2014-01-09  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/langNamesScraper.py, tools/turkic.sql: Apertium language
	names in Turkic languages, English, and Russian Proper header for
	langNamesScraper.py

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-apy.conf: fixed logging

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-all.conf,
	tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf,
	tools/upstart/apertium-html-tools.conf: updated so apertium-all
	controls stuff

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-all.conf: oh, and this too

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf,
	tools/upstart/apertium-html-tools.conf: new scripts

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-all.conf,
	tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf,
	tools/upstart/apertium-html-tools.conf: logging added

2014-01-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium, tools/upstart/apertium-all.conf,
	tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf,
	tools/upstart/apertium-html-tools.conf: all apertium upstart configs

2014-01-07  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools/upstart/apertium-apy-gateway.conf,
	tools/upstart/apertium-apy.conf: upstart scripts

2014-01-04  Jonathan Washington <jonathan.north.washington@gmail.com>

	* langNamesScraper.py, tools/langNamesScraper.py: here's the right
	one

2014-01-04  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools.py, tools/lgNameScraper.py: GAAH

2014-01-04  Jonathan Washington <jonathan.north.washington@gmail.com>

	* tools.py, tools/lgNameScraper.py: hmm

2014-01-04  Sushain Cherivirala <sushain@skc.name>

	* tools.py: Fix bug in /getLocalizedLanguages in APY when both two
	and three character code for same language are requested

2014-01-04  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Simplify APY gateway routing and fix bug with
	/getLocale

2014-01-03  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Switch APY Gateway load balancer

2014-01-02  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Fix bug with translation request routing in APY
	gateway

2014-01-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Restore compatibility with Python 3.2

2013-12-31  Ng Wei En <wei2912@users.noreply.github.com>

	* servlet.py, tools.py: Fix high memory usage issue.

2013-12-30  Sushain Cherivirala <sushain@skc.name>

	* gateway.py, tools.py: Make Fastest paradigm balancer work with all
	APY modes Fix minor bugs in gateway request handling (evident on
	304s) Fix minor bugs in APY coverage mode

2013-12-28  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py, serverlist-example: Added example serverlist,
	commented what needs to be done for gateway-scaleMT compatibility

2013-12-28  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Beginning support for scaleMT

2013-12-28  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Fixed /perWord

2013-12-27  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Improve Fastest paradigm load balancer in APY gateway

2013-12-27  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Make some APY gateway balancers compatible with
	changes to get_server call

2013-12-27  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Fixed JS bug

2013-12-27  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Changed structure of capabilities dictionary, more
	documentation

2013-12-27  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Smarter balancing -- going for servers with the
	correct langpairs

2013-12-26  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, tools.py: Add coverage mode to APY Add preliminary
	language identification mode to APY

2013-12-25  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: Resolved the conflict, moved things around

2013-12-25  Sushain Cherivirala <sushain@skc.name>

	* gateway.py, servlet.py: Add Fastest paradigm load balancer for APY
	Make pool terminate properly to prevent blocking

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* servlet.py, translation.py: Modularize translation functionality
	in APY Make translation calls asynchronous with timeout Handle
	invalid translation pair errors properly (not in translateSplitting
	and with 400)

2013-12-23  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: now dropping dead servers, checking against empty
	serverlists

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Fix bug in APY translate mode from port to Tornado

2013-12-23  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: forwarding request headers

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Reject /getLocale requests without proper headers in
	APY Send back proper HTTP 408 response for timed out requests

2013-12-23  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: should keep going now

2013-12-23  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: if our port's being used, use the next

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Change server list file format and add debug mode to
	APY gateway Remove empty folder

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* langNamesScraper.py: Move language name scraper

2013-12-23  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Generalize balancer class in APY gateway Use generator
	for Round Robin balancer Add Least Connections balancer (incomplete)
	Add Random balancer Improve logging Add testing interval support

2013-12-22  Sushain Cherivirala <sushain@skc.name>

	* gateway.py: Add a few preliminary tests to APY Gateway

2013-12-22  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* servlet.py: Compatibility with python3.2 and earlier by not using
	with statements

2013-12-22  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py, servlet.py: including support for tornado 3.1.1, a bit
	for python3.2

2013-12-22  Sushain Cherivirala <sushain@skc.name>

	* gateway.py, servlet.py: Modify APY gateway arguments Add
	preliminary testing functionality to gateway Remove unnecessary
	self.finish() in post handlers

2013-12-21  Sushain Cherivirala <sushain@skc.name>

	* modeSearch.py, servlet.py, tools.py: Make more parts of APY
	asynchronous Make APY arguments more user-friendly Allow APY to run
	with multiple request serving threads Start modularizing APY

2013-12-21  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add alternative approaches to /perWord output in APY
	Fix response headers Improve logging

2013-12-21  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: With headers now

2013-12-21  ericye16 <ericye16@72bbbca6-d526-0410-a7d9-f06f51895060>

	* gateway.py: a very unintelligent round-robin gateway

2013-12-21  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make analyzation and generation in APY non-blocking

2013-12-20  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Clean up BaseHandler in APY Add pos argument to
	/perWords in APY

2013-12-20  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Improve /perWord functionality in APY

2013-12-20  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make it clearer when APY launches Prevent extra token
	in /perWord requests Fix SSL support bug

2013-12-19  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Fix bugs in APY

2013-12-19  Francis Tyers <ftyers@users.noreply.github.com>

	* servlet.py: updates

2013-12-19  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Port Apertium APY to Tornado web framework

2013-12-19  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Simplify output of list analyzers/generators/taggers
	in APY Fix bug with POST to APY

2013-12-18  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add alias for /list?q=taggers and fix input value in
	/perWords outputs

2013-12-18  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Condense list URL mappings Add perWord URL mapping
	with functionality General cleanup Search for taggers in Apertium
	path

2013-12-17  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add translation by word support to APY

2013-12-15  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make html-tools translation interface auto-detect
	locale correctly

2013-12-14  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make localized language names database optional
	argument Allow ISO 639-2 codes in localized language name requests

2013-12-12  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add HTTP access to APY localized language names
	functionality

2013-12-10  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Improve Unicode.org language name scraper and APY
	localized language function

2013-12-10  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add localized languages function to APY Add
	Unicode.org localized language name scraper

2013-12-08  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: support en_APERTIUM

2013-12-07  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add SSL support to Apertium APY

2013-12-04  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Fix morphological analyzer mode detection regexp in
	APY

2013-12-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Make morphological generator work for single input
	without ^...$

2013-12-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add preliminary morphological analyzer and generator
	support to simple-html interface

2013-12-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add list generators/analyzers functions to APY

2013-12-01  Sushain Cherivirala <sushain@skc.name>

	* servlet.py: Add morphological analysis and generation support to
	APY

2013-10-10  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: Threading request handler, to handle multiple users Uses TCPServer inheriting ThreadingMixIn. A lock on translateMode
	(which has to have at most one thread per pipeline) ensures that
	part stays single-threaded (to avoid Alice getting Bob's text).  http://stackoverflow.com/a/487281/69663 recommends select/polling
	over threading (http://docs.python.org/3.3/library/socketserver.html
	for diffs) but requires either lots of manually written dispatching
	code (http://pymotw.com/2/select/) or a framework like Twisted.  Try testing with e.g.  python3 servlet "$APERTIUMPATH" 2737 & curl -s --data-urlencode 'langpair=nb|nn' --data-urlencode \
	'q@/tmp/reallybigfile' 'http://localhost:2737/translate'
	>/tmp/output & curl 'http://localhost:2737/translate?langpair=nb|nn&q=men+ikke+den'
	curl 'http://localhost:2737/translate?langpair=nb|nn&q=men+ikke+den'
	curl 'http://localhost:2737/translate?langpair=nb|nn&q=men+ikke+den' And see how the last three (after a slight wait) start outputting
	before the first request is done.

2013-09-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: doh, typo in do_GET

2013-09-20  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: split up big requests before sending to pipeline so we
	don't fill up buffers This doesn't handle parallel requests, simply to avoid deadlocking
	on read/write. Also, support POST, e.g. curl --data-urlencode
	'langpair=nb|nn' --data-urlencode 'q@file' localhost:2737/translate

2013-09-20  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: a little debugging

2013-09-19  Kevin Brubeck Unhammer <unhammer@fsfe.org>

	* servlet.py: fflush after writing the NUL (instead of writing it
	twice); use deformat; read apertiumpath/port from command line
	arguments

2013-09-14  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: proper handling of apertium-pretransfer

2013-09-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: a small bug fix and some more debugs

2013-09-08  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: skip pretransfer

2013-09-04  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: apertium-transfer -z fails.  also, script needs to be
	async / threaded

2013-09-03  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: another test to prevent failure

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: return False stack could be collapsed to a single line

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: getting stuck at procOut.stdout.read(1)

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: now requires r46823 for lrx-proc

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: three different ways to translate: modes file direct,
	modes file deep, and apertium direct

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: uses .mode files

2013-08-25  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: programming fail

2013-08-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: now with callback support, I think

2013-08-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* servlet.py: some cleaning up of commented-out code

2013-08-24  Jonathan Washington <jonathan.north.washington@gmail.com>

	* apertium-apy, where apy=APy, and stands for API in Python

