Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 23 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Removed
- **Dropped support for Python 3.9** (end-of-life since October 2025).
Minimum supported version is now Python 3.10. This unblocks dev-tool
upgrades (pytest 9, build 1.5+) that no longer support 3.9. Closes #44.
## [0.4.0] — 2026-07-23

### Fixed
- Augmented assignments no longer produce invalid-variable-name linter errors.
First release published to PyPI since 0.2.0 (0.3.0 was an internal
release that was never pushed to the index). This release bundles the
0.3.0 hardening work plus the fixes and tooling below.

### Added
- **PyPI publish pipeline** (`.github/workflows/publish.yml`) using
Expand All @@ -28,15 +26,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
release flow, version-bump convention, and recovery procedure for
bad releases.
- **`build` and `twine`** added to `requirements-dev.txt`.
- **`examples/README.md`** documenting every bundled example program,
the keywords each demonstrates, and expected output. Closes #41.
- **Enforced coverage gate.** `fail_under = 85` in `pyproject.toml`'s
`[tool.coverage.report]` so a coverage regression fails CI. Closes #42.

### Fixed
- **Unused-function checks accepted identifier substrings as calls.** Function
names now require a real Devanagari-aware call site outside strings and
comments. Closes #31.
- Known trade-off: because a call now requires `name(`, passing a function as
a value (`x = जोड़`, `map(जोड़, …)`) counts as *unused* and warns. This is a
deliberate choice favoring clarity for learner-oriented code over
higher-order usage.
- **Augmented assignments flagged as invalid variable names.** `+=`,
`-=`, `*=`, `/=`, `//=`, `%=`, `**=` no longer produce a spurious
"invalid variable name" linter error. Closes #29.
- **Unused-function checks accepted identifier substrings as calls.**
Function names now require a real Devanagari-aware call site outside
strings and comments. Closes #31.
- Known trade-off: because a call now requires `name(`, passing a
function as a value (`x = जोड़`, `map(जोड़, …)`) counts as *unused*
and warns. This is a deliberate choice favoring clarity for
learner-oriented code over higher-order usage.

### Removed
- **Dropped support for Python 3.9** (end-of-life since October 2025).
Minimum supported version is now Python 3.10. This unblocks dev-tool
upgrades (pytest 9, build 1.5+) that no longer support 3.9. Closes #44.

## [0.3.0] — 2026-04-17

Expand Down
2 changes: 1 addition & 1 deletion maithili_dsl/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from maithili_dsl.transpiler.linter import lint_maithili_code, translate_exception_to_maithili
from maithili_dsl.transpiler.numeral import convert_devanagari_numerals

__version__ = "0.3.0"
__version__ = "0.4.0"

__all__ = [
"__version__",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "python_maithili"
version = "0.3.0"
version = "0.4.0"
description = "Run Python code written in Maithili using Devanagari script"
readme = "README.md"
license = { file = "LICENSE" }
Expand Down