Skip to content

Release v3.2.0#880

Merged
evhub merged 50 commits into
masterfrom
develop
Dec 31, 2025
Merged

Release v3.2.0#880
evhub merged 50 commits into
masterfrom
develop

Conversation

@evhub

@evhub evhub commented Dec 30, 2025

Copy link
Copy Markdown
Owner

See the documentation for more information on all of the features listed below.

Language Features

Add t-string support #866: Coconut now supports Python 3.14 template strings (t"..." syntax). On Python 3.14+, native t-string syntax is used. On Python 3.10-3.13, Coconut compiles t-strings to use the tstr backport library.

Add memoize.RECURSIVE #858: Added memoize.RECURSIVE option that allows unbounded cache growth during recursive calls but automatically clears the cache after the outermost call completes. This prevents memory leaks while still supporting recursive functions effectively.

Compiler Features

Support Python 3.14 #873: Full support for Python 3.14, including compatibility with the new interpreter changes and native t-string support.

Make all strict errors/warnings disableable by noqa comments #860: All strict mode errors and warnings can now be suppressed using # NOQA comments, giving users more control over which checks to enforce.

Remove warnings for new Coconut v3 syntax #857: Removed v2 compatibility warnings and made v3 syntax warnings strict-only. Users will no longer see warnings about v2/v3 syntax differences during normal compilation.

Bugfixes

Cannot use Coconut 3.1.2 as Jupyter kernel with default installation #865: Fixed Jupyter kernel installation and registration issues.

IsADirectoryError while importing module #861: Fixed package import hook to properly handle directory imports.

Semicolon for suppress the output in jupyterlab raises CoconutSyntaxWarning #859: Trailing semicolons to suppress output in Jupyter no longer trigger syntax warnings.

CoconutInternalException: no array literal separators #867, None-coalescing does not recognise unicode operator #868: Fixed parsing issues with array literals and unicode none-coalescing operator (??).

evhub and others added 14 commits December 29, 2025 13:38
Fixes #335. Appended a rule to .gitattributes to force GitHub Linguist
to treat `*.coco` files as Python.
Resolves #873.
Resolves #866.

- Add native t-string (template string) support for Python 3.14+
- Backport t-strings to Python 3.10+ using tstr library
- T-strings compile to native syntax on 3.14+, _coconut.tstr.t() on older versions
- Add py310_spec_test and py314_test for template string verification
- Update grammar to recognize t"..." and rt"..." string prefixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Resolves #857.

- Comment out Coconut v2 dict pattern warning (extra keys behavior)
- Make v3 power in impl call warning strict-only (f x ** y)
- Make v3 set pattern warning strict-only (extra items behavior)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove deprecated pypy-3.6, pypy-3.7, pypy-3.8 (no longer supported)
- Add pypy-3.11 (current main PyPy version)
- Keep pypy-2.7, pypy-3.9, pypy-3.10 for compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Resolves #878.

- Replace ambiguous "in-between X and Y" wording with explicit
  "directly below X and above Y" language
- Add links to precedence table and related operator sections
- Updated sections: Pipes, Function Composition, None Coalescing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@evhub evhub added this to the v3.2.0 milestone Dec 30, 2025
@evhub evhub added the release label Dec 30, 2025
This was referenced Dec 30, 2025
evhub and others added 6 commits December 30, 2025 13:14
MyPy was taking ~5 hours to type-check the coconut-prelude package,
causing Python 3.9/3.10/3.11 CI jobs to timeout or run extremely long.
Without --mypy, the test completes in under a minute.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@evhub evhub added the resolved label Dec 31, 2025
@evhub evhub merged commit bdf64a9 into master Dec 31, 2025
15 checks passed
@NeveIsa

NeveIsa commented Jan 1, 2026

Copy link
Copy Markdown

Thank you thank you very much. I am so elated and excited for this release and the effort from the coconut contributors.
I love coconut and is one of the few things in a decade that has made me excited about programming just like the time when I first started python. Happy New Year everyone and what a wonderful new year gift.

@evhub evhub changed the title Release v3.2.0 Add partial __get__ descriptor, final variables, and --pure mode Jan 26, 2026
@evhub evhub changed the title Add partial __get__ descriptor, final variables, and --pure mode Release v3.2.0 Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants