Releases: mortii/anki-morphs
v3.0.0
AnkiMorphs v3.0.0
Note: you should create a backup of your card collection before you start using v3
This release has several breaking changes, see the transitioning section for how to handle these.
You will likely experience a crash If you are upgrading from a v3 test builds, which you can fix by doing this.
This startup warning:
should stop showing up after you click the "Apply" or "OK" buttons in the settings.
New ✨
- Algorithm (by @xofm31, @mortii, and @Vilhelm-Ian)
- Progression (by @wolearyc)
- Morphemizers
Simple Space Splitter
SSS + Punctuation
(previouslyLanguages w/ spaces
)
- Evaluate morphs based on their lemma or inflection
- Extra fields
am-all-morphs
am-all-morphs-count
am-unknown-morphs
am-unknown-morphs-count
am-score-terms
am-study-morphs
- Tags
am-fresh-morphs
- Reset Tags
- Settings
- UX
- Unsaved changes warning
- Apply button
- New tabs
- Disable shortcuts
- UX
Improvements 🙌
- Toolbar
- U and A -> L and I
- Reduced the size of
ankimorphs.db
Breaking Changes 💥
- Frequency files -> Priority files
Languages w/ spaces
->SSS + punctuation
am-unknowns
->am-study-morphs
am-unknown-morphs
am-unknowns-count
->am-unknown-morphs-count
Transitioning from v2 to v3
Frequency Files -> Priority Files
The frequency file format has been updated to support evaluating morphs by their lemma or inflection. To make things clearer, we now call them "priority files."
The old frequency files won't work anymore, so you'll need to generate new priority files or download pre-made ones. Make sure to place them in the priority-files/
folder.
Languages w/ spaces
-> SSS + punctuation
The Languages w/ spaces
morphemizer was modified to prevent splitting words at hyphens and apostrophes. However, this change led to incorrect splitting of many Arabic words (and likely words in other languages as well). To address this, we introduced a new "true" white-space morphemizer, and renamed Languages w/ spaces
to signal that it has been modified beyond being a basic white-space morphemizer.
am-unknowns
-> am-study-morphs
The am-unknowns
field tried to serve two contradictory purposes, so we split it into two new fields:
am-study-morphs
: the unknown morphs the card had when you first studied itam-unknown-morphs
how many unknown morphs the card currently has
The am-study-morphs
field has the exact same properties as the old am-unknowns
, so if you used am-unknowns
on your card templates as a "focus morph" cue, you can replace it with the new am-study-morphs
field. Transitioning to this new field without losing information from am-unknowns
can be a bit awkward, but thankfully Anki has a conditional replacement feature which makes it doable.
If you have this field on your card template:
{{am-unknowns}}
replace it with:
{{am-study-morphs}}
{{^am-study-morphs}}
{{am-unknowns}}
{{/am-study-morphs}}
In the snipped above, the am-unknowns
field will be shown if am-study-morphs
is empty (which it will be on cards studied before the v3 update).
To ensure this transition works:
- Make sure the
am-study-morphs
field exists on your cards, i.e., select in the extra fields settings and recalc. - If you used the
am-unknowns
field on both sides of your card template then you need to replace it both places.
am-unknowns-count
-> am-unknown-morphs-count
The am-unknowns-count
field is completely obsolete and can safely be removed from your cards.
Documentation 📖
Almost every page in the user guide has been updated.
Contributors 👥
@xofm31, @wolearyc, @iwouldrathernotusegithub, @Vilhelm-Ian, @fuquasteve, @aleksejrs, @Gardengul, @syfgk, @BobvanSchendel, @khanguyenwk, @Pedrubik2000, @RyanMcEntire, @buqamura, @Rct567, @rwmpelstilzchen.
v2.2.5
What's Changed
- Fixed spaCy not importing correctly for python versions other than 3.9.
In other news:
We are currently working on AnkiMorphs V3, which will have very significant changes, including, but not limited to:
- A completely new and more customizable algorithm
- An option to assign scores to morphs based solely on their lemma
- "The man walked" and "The man walks" will have the same score. This option will hopefully make inflection heavy languages like Korean more viable to learn with AnkiMorphs.
AnkiMorphs V3 will probably be released sometime within the next 1-4 months. Pre-release testing versions will be made available in the v3 megathread if you want to try them out--any and all feedback is welcome!
v2.2.4
What's New
- Fixed a bug in the jieba morphemizer where non-cjk charaters were filtered out too early (thank you to @xofm31 for the feedback!)
- Renamed the recalc settings option:
Move new cards that only have known morphs to the end of the due queue
->Move new cards without unknown morphs to the end of the due queue
(thank you to @iwouldrathernotusegithub for the feedback!)
Docs Updated
v2.2.3
What's New
Added (none)
option to the settings
This addition will hopefully reduce the likelihood of accidentally choosing the wrong options.
Additional Recalc kill switches
Recalc now aborts in any of these scenarios:
- A
(none)
option is used in a note filter - A selected
note type
,field
,morphemizer
, orfrequency file
is no longer is valid.
Thank you to @fuquasteve for the feedback!
v2.2.2
What's New
- Fixed
am-known-automatically
not being applied to cards that contained morphs that were loaded from theknown-morphs
folder (thank you to @schiozzone for fixing it!) - Fixed generator input files not being sorted by their entire path (thank you to @aleksejrs for the feedback!)
- The generator progress pop-up windows now stay on top of the generator window
- The study plan files now uses the relative path to the input file instead of just the file name
v2.2.1
v2.2.0
What's New
Thank you to @MichaelPetre, @xofm31, @quietmansoath, @Vilhelm-Ian, and @aleksejrs for all the help and feedback related to this!
Added "Study Plan Generator" and combined all generators
The generators are now all combined into a single window, and files have to be loaded before the Generate [...]
buttons can be used.
Study Plan
A study plan frequency file makes it easier to study source materials in a specific sequence. More info here: study plan generator.
Added "Occurrence" column to frequency files
New frequency files will have an "occurrence" column. This column is completely optional and can be deleted.
Docs Updated
v2.1.1
What's New
- Fixed a bug where cards were not given the correct due value with the
shift new cards [...]
option in the settings. Thank you to @xofm31 for the feedback! - Increased the max and default value of the due offset to 500K, this emulates an additional unknown morph.
- Fixed Recalc crashing when using default settings.
Docs Updated
- Added a warning in the spaCy installation guide concerning the installation of Python 3.9. Thank you to @syfgk and @jahnke for the feedback!
v2.1.0
What's New
The Chinese Jieba morphemizer can now be added by installing the companion add-on ankimorphs-chinese-jieba (installation code: 1857311956
).
Docs Updated
v2.0.0
What's New
This update breaks backwards compatibility in three ways:
- The Japanese MeCab morphemizer is no longer bundled with AnkiMorphs.
- The extra field
am-difficulty
has been renamed toam-score
. - The
skip cards with only known morphs
no longer moves cards to the end of the due queue.
These changes will be annoying to deal with in the short-term, but in the long-term it will make the project much better for both users and developers.
Japanese MeCab Morphemizer
By not including the Japanese Mecab morphemizer in the add-on, we manage to reduce the size of updates by 95% (20 MB -> 90 KB).
To get the morphemizer back, install the ankimorphs-japanese-mecab add-on (code: 1974309724
) and restart Anki.
am-difficulty
-> am-score
The algorithm never only considered the difficulty of morphs, but also their frequency, so this name was misleading. If you previously had activated the am-difficulty
field, you will have to re-activate am-score
in the settings to see the same results. You should delete the am-difficulty
field from your cards while you are at it.
Confirmation On Full Upload
When you run Recalc
after having selected one or more new extra-fields
, you will see this this confirmation dialog as a heads up.
Move new cards that only have known morphs to the end of the due queue
This is now a new option in the Recalc Settings
instead of being a hidden side effect of the skip cards with only known morphs
option.