# Changes since [3.0.4](./3.0.4.md) #

- Refactor StarDict plugin, and improve the performance
- Detect HTML definitions when reading, and mark them as HTML when converting to StarDict 
- Fix [#135](https://github.com/ilius/pyglossary/issues/135) in StarDict writer:
	- Alternates were pointing at a wrong word in case there are resource/image files
- Refactor AppleDict plugin
- Refactor and improve BGL plugin
- Style fixes including pep-8 fixes
- Change indentations to tabs, and single quote to double quotes
- Allow `--ui=none` flag
- Allow `--skip-resources` flag
- SQL plugin: add `encoding` write option
- Octopus MDict Source plugin: add `encoding` read option
- Drop sqlite3 support, xFarDic support, and read support for Omnidic
- Improvement and cleaning in the code base and different plugins
- Introduce DataEntry
	- Allowing to access resource files when iterating over entries (words) of Glossary
- Glossary: `write` and `convert` methods return absolute path of output file, or None
- Changes in master branch since [3.0.4](./3.0.4.md):
	- Update README.md
	- Update pyglossary.spec
	- Fixes in setup.py
	- BGL: add `gzip_no_crc.py` for Python 36 (required for some non-standard BGL files)
	- AppleDict: give `encoding='utf8'` while opening xml file, fix for [#84](https://github.com/ilius/pyglossary/issues/84)
	- Avoid lines that require trailing backslash, to avoid bugs like [#67](https://github.com/ilius/pyglossary/issues/67)
	- babylon_source.py: remove extra %s, fix [#92](https://github.com/ilius/pyglossary/issues/92)
	- AppleDict: force encoding="utf-8" for plist file, fix [#94](https://github.com/ilius/pyglossary/issues/94)
	- Fix str/bytes bug in stardict.py (fix [#98](https://github.com/ilius/pyglossary/issues/98)) and some renames for clarification
	- Fix [#102](https://github.com/ilius/pyglossary/issues/102): exception in dict_org.py
	- Fix wrong path of static files when running from dist-packages
	- readmdict.py: change by Xiaoqiang Wang: no encryption if Encrypted is not in header
	- Fix [#118](https://github.com/ilius/pyglossary/issues/118), SyntaxError (`return` with argument inside generator) in Glossary.reverse with Python 3.6
