Releases: ilius/pyglossary
5.2.1
What's Changed
-
Add command
pyglossary-view -
Glossary: write: avoid removing trailing slash from filename
Allow converting to a directory with StarDict, #694 -
StarDict writer:
-
Fix BGL no-CRC-check support (for odd BGL files) for Python 3.14
-
Add test workflow for Python 3.14
-
Refactor and cleanup scripts and workflows
-
Drop MacOS-13 build (because the Github image is no longer available)
-
ui: avoid normalizing paths from command line
-
ui_gtk4: a few improvements and cleanup
-
ui_tk: fix inconsistency of "Output Format" row on top of "Output File"
-
view_glossary.py: prevent multiple --format flags
Full Changelog: 5.2.0...5.2.1
5.2.0
What's Changed
-
Fix exception on command line progress bar when
tqdmis not installed -
Fix a few packaging details (PEP 639) (#684)
-
Fix potential error in library compatibility:
Entry: add backword=keyword argument as deprecated, also makedefiarg optional
-
Add command
pyglossary-diff, #686 -
Add/update type annotations, update documentation and sample codes
-
FreeDict: set
auto_rtl=Trueby default, drop support forauto_rtl=None -
CSV writer: show error for bad encoding value
-
StarDict:
-
Reader" replace
sametypesequence=Nonewithsametypesequence="-"
Nowsametypesequence=Noneis the same assametypesequence=""
which means auto-set based on contents -
Writer: replace
sqlite=Noneoption withautosqlite=True
-
-
Zim reader: fix quoting of href= value
-
Edict2
-
Tkinter UI: Lots of improvements and new options
- Re-design Read/Write Options Dialog without Treeview
- Move Read/Write Options into "Options" MenuButton, like ui_gtk3
- Add Options -> Info / Metedata
- Add Options -> General Options
- Fix Format Dialog's Treeview row height and fast scrolling
- Fix not validating inputFormat and outputFormat given by command line
-
Gtk3 UI: Lots of improvements and new options
- Re-design Read/Write Options Dialog without Treeview
- Gerenal Options: Sort: use RadioButton and some fixes
- Fix dialog for showing dependencies
- Fix not validating inputFormat and outputFormat given by command line
-
Gtk4 UI: Lots of improvements and new options
- Re-design Read/Write Options Dialog without Treeview
- Replace read/write/general options buttons with a single "Options" MenuButton
- Gerenal Options: Sort: add Locale and fix updateWidgets
- Fix not validating inputFormat and outputFormat given by command line
New Contributors
- @benfl made their first contribution in #678
- @doronbehar made their first contribution in #684
Full Changelog: 5.1.1...5.2.0
5.1.1
What's Changed
Bug fixes:
- 7268524
ui/main.py: exit with status 2 on invalid arguments/options - 72efa1c pyproject.toml: fix build-system still accepting Python 3.10, also remove fixit
- 6785bbc fix
scripts/diff-glossaryandscripts/view-glossary
Features / Improvements
- 5f0989a add
requirements.txtgenerated byscripts/gen.sh - d676af5 add
relatedFormatsvariable to plugins, use it to link formats in docs - d7b4518 DSL: add support for .webp images, #670
- 0b07293 DSL: support .dsl.files.zip file, #670
- e560697 DSL: support .ico and .svg images
- 74d0fa4 add some optional or language-specific dependencies for appledict, jmdict and mdx plugins
- 02e07e9 update
langs.json: add Baoulé, fix script for Dyula, fix #665 - 8773814 slob: support
.icoimages - f6b84ae StarDict: disable dictzip by default
- Github workflow for building binaries for windows-x86, macos-x86, macos-arm64; resolves #608 by @glowinthedark in #668
Update documentation
Refactoring, better linting and typing
Full Changelog: 5.1.0...5.1.1
5.1.0
What's Changed
Switch to Python 3.11 (drop Python 3.10)
Bug fixes
- Fix bug in
DataEntrycausing exception for empty resource files - Wiktextract: fix #653 (
TypeError) and some refactoring
Features / improvements
glossary_v2: auto-sort onglos.writeif format hassortOnWrite=ALWAYS, #656- Add Yomichan reader (#655) by @Electro98
- Mobipocket writer: save res files / data entries
- StarDict reader: support directories inside
resdir - TextGlossaryReader: support directories inside
*_resdir. Applies to these formats:- Tabfile (.txt)
- Lingoes LDF
- Dictfile (.df)
- cc_kedict
- dictunformat
Type annotations, refactoring, documentation
- ae26e45 migrate to modern logger interface (#659)
- f5ffed4 mobi writer: only use kindlegen verbose mode on log debug mode
- a0b431f add ConfigType with TypedDict
- fec5a4d switch to ruff 0.11.12, fix PLC0207 errors
- 6653153 typing: fix UIType
- 804c6b8 typing: fix pyright errors in glossary_v2.py
- 60a86ab typing fixes / improvements
- c084fe7 typing: fixes in glossary_types.py
- 74497ff ui: move some code from base.py to config.py
- c774a07 ui: remove UIBase.configDefDict
- c768688 ui_tk: #654: fix formatting, update comment
- cb1ffd6 ui_tk: typing fixes and cleanup
- 0b234ec update all in text_utils.py, update pyproject.toml
- e65aa50 update doc/internals.md
- b68e7c8 Update ui_tk.py (make app DPI-aware, remove blurry fonts on Windows) by @sklart
- d93a990 use relative imports in pyglossary/*.py
New Contributors
- @sklart made their first contribution in #654
- @Electro98 made their first contribution in #655
- @emmanuel-ferdman made their first contribution in #659
Full Changelog: 5.0.10...5.1.0
5.0.10
What's Changed
-
Glossary: fix not ignoring disabled plugins by default and respectskipDisabledPluginsargument toGlossary.init -
Fix
setup.py: listres/*files by extension, ignoringres/hicolor, #645- Add
.github/workflows/pip-mac.ymlto prevent such bugs in future
- Add
-
Improvements in FreeDict reader
- Put grammer text inside
<div>, instead of adding<br>afrer it Fixes extra newline in Qt'sQTextBrowser - Add support for
sense.sense.sense, fix some warnings, add dummy support for idioms
- Put grammer text inside
-
Improvements in Wiktextract reader
- rudimentary handler for Chinese phonology section. by @pannxe in #638
- rudimentary ruby text handler for example sense by @pannxe in #639
- a more comprehesive list-style pronunciation section for Chinese entries by @pannxe in #640
- Wiktionary: add handling for non-Unicode character by @pannxe in #641
- Fix examples section of Chinese entries by @pannxe in #642
- Use
""instead of"_"for fallback key inzh_utils.py/processSoundby @pannxe in #643
-
Fixes and improvements in user interfaces:
- ui_tk: set
classNameto show in Cinnamon panel instead of "Tk" - ui_tk: show log level names in verbosity
OptionMenu, also add "6 - All" - ui_gtk3: UI improvements, refactoring
- ui_gtk4: fixes, UI improvements, refactoring
- ui_tk: set
-
Fix type annotations and lint errors
-
Dictfile: remove
mistuneversion locking -
Remove broken sym link
pyglossary/plugins/check-style
New Contributors
Full Changelog: 5.0.9...5.0.10
5.0.9
What's Changed
- Glossary: fix #633 bad DeprecationWarning in read and write
- Glossary: do not catch LookupError in
Glossary.write - FreeDict: fix adding inflections as keywords (#632)
- DSL: fix IndexError in parseEntryBlock, #623
TextGlossaryReader: optimize progress bar, and add envNO_READ_MULTI_PART- StarDict reader: support type 'r'
- Mobi: add 2 kindlgen flags (#629) by @BoboTiG
- Mobi: print error logs if source/target lang is not set, #624
- Add --gtk3 and --ui=gtk3, make --gtk and --ui=gtk an alias for gtk3 rename ui_gtk.py to ui_gtk3.py
- ui_tk: About: combine 3 tabs into 1 (like before removing tix)
- ui_tk: improve layout: hide status bar when switch to About tab
- Github actions: move all inline bash scripts into script files, switch to ruff 0.11.0
scripts/plugin-doc.py: switch to tomllib, requires Python >= 3.11 nowscripts/diff-glossary: add a ZWNJ between deleted(red) and added(green) words
New Contributors
Full Changelog: 5.0.8...5.0.9
5.0.8
What's Changed
-
Fix critical bug when reading multi-part text files
text_reader.py: infinite loop whenfile_countinfo is-1
-
Tkinter: add config params to customize progress bar appearances
-
Prefer Tkinter over Gtk on Mac
-
Update
doc/tkinter.md -
text_writer.py: change glossary name/title when splitting glossary, add log -
Optimizations in text reader and text writer:
text_reader.py: avoid reading res dir with --skip-resourcestext_reader.py: avoid calculating file size if progressbar is disabledtext_writer.py: avoid creating res dir with --skip-resources
Full Changelog: 5.0.7...5.0.8
5.0.7
What's Changed
Plugins
- Aard2 slob writer: add opus, oga extensions (#618) by @glowinthedark
- Aard2 slob writer: change "already exists" exception to
WriteErrorto avoid showing stacktrace - AppleDict writer: Russian index: switch to
pymorphy3, #620 - Refactoring in many plugins
User interface
- Respect
NO_COLORenvironment variable in command line - Interactive command line interface: fixes / improvements
- Fix 2 bugs: bad formatting (missing colon+space) and extra colon+space
- Add colors to checkbox prompt
- Avoid skipping empty string as config / rw option value
- Gtk4 UI: fix "Browse" buttons not working
- Web UI: get rid of a warning
- Tkinter UI: improvements:
- Layout improvements for About, Authors, License tabs
- Update progress bar text position on window resize
- Optimize progress bar
- Add missing type annotations
- Refactoring in gtk4, tkinter and interactive cmd interface
Full Changelog: 5.0.6...5.0.7
5.0.6
What's Changed since 5.0.4
Skipping 5.0.5 because of a packaging bug
- Fix bug in
ui/main.pyinterpretingsys.argv[0]as input filename - Fix
UnicodeEncodeErrorwith non-utf8 stdout in frozen envs by @glowinthedark in #617 - Epub and Kobo: fix unclosed
<br>tags in.xhtmlfiles - Make
.epuband.zipfiles reproducable for testing (WIP) - Move tools
.tomlfiles (used to generate docs) into plugin directories - Update docs
- Fix ruff 0.9.0 errors and re-format
- Add
useByteProgressattribute to all Reader classes - Some refactoring in code base and UI
Full Changelog: 5.0.4...5.0.6
5.0.4
What's Changed
- Fix regression in
glossary_v2.pyeffecting deprecatedGlossaryusage - Fix docstring for
glossary_v2.Glossary.writemethod - Fix broken script
scripts/view-glossary-plaintext - Feature: include
write_optionsin.infofile with--infoflag - Testing: fix
scripts/test.shnot testing deprecated stuff - Testing: fix deprecated tests
- Testing: add
SKIP_MISSINGenv var to skip testing plugins with missing dependencies - Fix / update automation scripts
- Add recent releases' doc
- Improve and refactor type annotations
- Break up all plugins into directories (with
reader.pyand/orwriter.py) - Fix ruff 0.8.5 errors
- Some refactoring (as usual)
Full Changelog: 5.0.3...5.0.4