Version 0.1.0
What's Changed
- First Working Version by @felipepenha in #1
New Contributors
- @felipepenha made their first contribution in #1
Full Changelog: https://github.com/felipepenha/morphcards/commits/0.1.0
Description
We are thrilled to announce the first official release of MorphCards! This initial version brings to life
our vision of a smarter, more effective way to learn languages. By dynamically generating new sentences for
each review, MorphCards helps you move beyond rote memorization to true comprehension.
Highlights
- 🚀 Seamless, Uninterrupted Reviews: Say goodbye to waiting! Our AI sentence generation now runs in the
background, ensuring a smooth and uninterrupted learning experience. - 🧠 True Vocabulary Mastery: We've introduced a "mastery level" to more accurately track your progress and
ensure the AI uses words you've truly learned. - 🤖 Your AI, Your Choice: Easily configure your preferred AI model (OpenAI or Gemini) through a simple .env
file. - 🛠️ Robust and Resilient: With dynamic AI model selection and fallback mechanisms, MorphCards is more
robust than ever.
Features & Enhancements
- Asynchronous AI Sentence Generation: The AI sentence generation process now runs in a background thread,
preventing the UI from blocking during card reviews. - Configurable AI Models: AI model names for both OpenAI and Gemini can now be configured via .env
variables, providing greater flexibility. - Dynamic Model Selection: The system now dynamically selects available AI models and includes a fallback
mechanism to improve robustness. - Improved Review Logic: The AI-generated sentence is now used only after the first review of a card,
ensuring the user sees the original sentence first. - Vocabulary Mastery: A "mastery level" has been introduced to track learned words more effectively,
ensuring the AI uses truly mastered vocabulary to generate new sentences. - GitHub Actions for PyPI: A new workflow has been added to automate publishing the package to PyPI.
- Security & Best Practices: Addressed security audit findings, added type-hinting and docstrings, and
configured black and isort for code quality.
Bug Fixes
- Resolved an IndexError in the FSRS scheduler for cards in non-learning states.
- Fixed a bug where the AI sentence generation was not using the mastered words override.
- Addressed various mypy and circular import errors.