Skip to content

Commit 90c5e4d

Browse files
authored
Merge pull request #2464 from Kodiologist/release
Release Hy 0.27.0
2 parents 42c2185 + 53960b5 commit 90c5e4d

File tree

2 files changed

+63
-60
lines changed

2 files changed

+63
-60
lines changed

.github/workflows/tests.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,20 @@ jobs:
3636
uses: actions/setup-python@v4
3737
with:
3838
python-version: ${{ matrix.python }}
39+
- if: ${{ matrix.python == 'pyodide' }}
40+
uses: actions/setup-python@v4
41+
with:
42+
python-version: 3.11
3943
- if: ${{ matrix.python == 'pyodide' }}
4044
uses: actions/setup-node@v3
4145
- name: Install
4246
shell: bash
4347
run: |
4448
if [[ ${{ matrix.python }} = pyodide ]] ; then
45-
npm install pyodide@0.22.1
46-
# 0.23.0 has a regression: https://github.com/pyodide/pyodide/issues/3730
47-
pip install 'pip >= 22.3.1'
48-
# Older pips may fail to install `pyodide-build`.
49-
pip install 'pyodide-build == 0.22.1'
49+
pip install 'pydantic < 2'
50+
# https://github.com/pyodide/pyodide/pull/3971
51+
npm install pyodide
52+
pip install pyodide-build
5053
pyodide venv .venv-pyodide
5154
source .venv-pyodide/bin/activate
5255
fi

NEWS.rst

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.. default-role:: code
22

3-
Unreleased
3+
0.27.0 (released 2023-07-06)
44
=============================
55

66
Removals
@@ -9,17 +9,31 @@ Removals
99

1010
Breaking Changes
1111
------------------------------
12-
* Reader macros now always read a full identifier after the initial `#`,
13-
allowing for reader macros that start with characters such as `*`, `^`, `_`.
14-
Forms like `#*word` will attempt to dispatch a macro named `*word`;
15-
to unpack a symbol named `word`, write `#* word` (note the space).
16-
* Reader macro names are no longer mangled.
12+
* Reader macros now always read a full identifier after the initial
13+
`#`. Thus, `#*foo` is now parsed as a call to the reader macro named
14+
`*foo`; to unpack a variable named `foo`, say `#* foo`.
15+
* The names of reader macros names are no longer mangled.
1716
* Question marks (`?`) are no longer mangled specially, so `foo?` now
1817
mangles to `hyx_fooXquestion_markX` instead of `is_foo`.
1918
* `hy2py`'s recursive mode now expects a module name as input, not any
2019
old directory. You must be in the parent directory of the module
2120
directory.
2221

22+
New Features
23+
------------------------------
24+
* Python 3.12 is now supported.
25+
* New built-in object `hy.M` for easy imports in macros.
26+
* `cut` now has a function version in `hy.pyops`.
27+
* The `py` macro now implicitly parenthesizes the input code, so
28+
Python's indentation restrictions don't apply.
29+
* `try` no longer requires `except`, `except*`, or `finally`, and it
30+
allows `else` even without `except` or `except*`.
31+
* `nonlocal` and `global` can now be called with no arguments, in
32+
which case they're no-ops.
33+
* For easier reading, `hy --spy` now prints a delimiter after the
34+
Python equivalent of your code, before the result of evaluating the
35+
code.
36+
2337
Bug Fixes
2438
------------------------------
2539
* Fixed an installation failure in some situations when version lookup
@@ -32,20 +46,6 @@ Bug Fixes
3246
* `hy.models.Symbol` no longer allows constructing a symbol beginning
3347
with `#`.
3448

35-
New Features
36-
------------------------------
37-
* Python 3.12 is now supported.
38-
* `nonlocal` and `global` can now be called with no arguments, in which
39-
case they're no-ops.
40-
* `try` no longer requires `except`, `except*`, or `finally`, and it
41-
allows `else` even without `except` or `except*`.
42-
* The `py` macro now implicitly parenthesizes the input code, so Python's
43-
indentation restrictions don't apply.
44-
* `cut` now has a function version in `hy.pyops`.
45-
* New built-in object `hy.M` for easy imports in macros.
46-
* `hy --spy` now prints a delimiter between the Python equivalent of
47-
your code and the result of evaluating the code for easier reading.
48-
4949
0.26.0 (released 2023-02-08)
5050
=============================
5151

@@ -75,15 +75,6 @@ Breaking Changes
7575
* Redundant scripts named `hy3`, `hyc3`, and `hy2py3` are no longer
7676
installed. Use `hy`, `hyc`, and `hy2py` instead.
7777

78-
Bug Fixes
79-
------------------------------
80-
* `hy.REPL` now restores the global values it changes (such as
81-
`sys.ps1`) after `hy.REPL.run` terminates.
82-
* `hy.REPL` no longer mixes up Hy's and Python's Readline histories
83-
when run inside Python's REPL.
84-
* Fixed `hy.repr` of non-compilable uses of sugared macros, such as
85-
`(quote)` and `(quote 1 2)`.
86-
8778
New Features
8879
------------------------------
8980
* Pyodide is now officially supported.
@@ -94,6 +85,15 @@ New Features
9485
* `hy2py` has a new command-line option `--output`.
9586
* `hy2py` can now operate recursively on a directory.
9687

88+
Bug Fixes
89+
------------------------------
90+
* `hy.REPL` now restores the global values it changes (such as
91+
`sys.ps1`) after `hy.REPL.run` terminates.
92+
* `hy.REPL` no longer mixes up Hy's and Python's Readline histories
93+
when run inside Python's REPL.
94+
* Fixed `hy.repr` of non-compilable uses of sugared macros, such as
95+
`(quote)` and `(quote 1 2)`.
96+
9797
.. _zipimport: https://docs.python.org/3.11/library/zipimport.html
9898

9999
0.25.0 (released 2022-11-08)
@@ -180,24 +180,6 @@ Other Breaking Changes
180180
* `hy.cmdline.run_repl` has been replaced with
181181
`hy.cmdline.HyREPL.run`.
182182

183-
Bug Fixes
184-
------------------------------
185-
* Fixed a crash when using keyword objects in `match`.
186-
* Fixed a scoping bug in comprehensions in `let` bodies.
187-
* Literal newlines (of all three styles) are now recognized properly
188-
in string and bytes literals.
189-
* `defmacro` no longer allows further arguments after `#* args`.
190-
* `!=` with model objects is now consistent with `=`.
191-
* Tracebacks from code parsed with `hy.read` now show source
192-
positions.
193-
* Elements of `builtins` such as `help` are no longer overridden until
194-
the REPL actually starts.
195-
* Readline is now imported only when necessary, to avoid triggering a
196-
CPython bug regarding the standard module `curses`
197-
(`cpython#46927`_).
198-
* Module names supplied to `hy -m` are now mangled.
199-
* Hy now precompiles its own Hy code during installation.
200-
201183
New Features
202184
------------------------------
203185
* Added user-defined reader macros, defined with `defreader`.
@@ -220,6 +202,24 @@ New Features
220202
* Added a command-line option `-u` (or `--unbuffered`) per CPython.
221203
* Tab-completion in the REPL now attempts to unmangle names.
222204

205+
Bug Fixes
206+
------------------------------
207+
* Fixed a crash when using keyword objects in `match`.
208+
* Fixed a scoping bug in comprehensions in `let` bodies.
209+
* Literal newlines (of all three styles) are now recognized properly
210+
in string and bytes literals.
211+
* `defmacro` no longer allows further arguments after `#* args`.
212+
* `!=` with model objects is now consistent with `=`.
213+
* Tracebacks from code parsed with `hy.read` now show source
214+
positions.
215+
* Elements of `builtins` such as `help` are no longer overridden until
216+
the REPL actually starts.
217+
* Readline is now imported only when necessary, to avoid triggering a
218+
CPython bug regarding the standard module `curses`
219+
(`cpython#46927`_).
220+
* Module names supplied to `hy -m` are now mangled.
221+
* Hy now precompiles its own Hy code during installation.
222+
223223
.. _cpython#46927: https://github.com/python/cpython/issues/46927#issuecomment-1093418916
224224
.. _cpython#90678: https://github.com/python/cpython/issues/90678
225225

@@ -258,6 +258,14 @@ Other Breaking Changes
258258
would be syntactically legal as a literal.
259259
* `hy.extra.reserved` has been renamed to `hy.reserved`.
260260

261+
New Features
262+
------------------------------
263+
* `hy.repr` now supports several more standard types.
264+
* The attribute access macro `.` now allows method calls. For example,
265+
`(. x (f a))` is equivalent to `(x.f a)`.
266+
* `hy.as-model` checks for self-references in its argument.
267+
* New function `hy.model_patterns.keepsym`.
268+
261269
Bug Fixes
262270
------------------------------
263271
* In comprehension forms other than `for`, assignments (other than
@@ -274,14 +282,6 @@ Bug Fixes
274282
* Fixed a bug with self-requiring files on Windows.
275283
* Improved error messages for illegal uses of `finally` and `else`.
276284

277-
New Features
278-
------------------------------
279-
* `hy.repr` now supports several more standard types.
280-
* The attribute access macro `.` now allows method calls. For example,
281-
`(. x (f a))` is equivalent to `(x.f a)`.
282-
* `hy.as-model` checks for self-references in its argument.
283-
* New function `hy.model_patterns.keepsym`.
284-
285285
.. _Hyrule: https://github.com/hylang/hyrule
286286

287287
1.0a3 (released 2021-07-09)

0 commit comments

Comments
 (0)