Added
- 1645 : Handle deprecated `ast` classes.
- 1649 : Add support for `np.min` in C code.
- 1621 : Add support for `np.max` in C code.
- 1571 : Add support for the function `tuple`.
- 1493 : Add preliminary support for importing classes.
- 1578 : Allow classes to avoid type annotations for the self argument of a method.
- 1597 : Handle class docstrings.
- 1494 : Add support for functions returning class instances.
- 1495 : Add support for functions with class instance arguments.
- 1684 : Add support for classes without `__init__` functions.
- 1685 : Add support for `type()` function with class instance argument.
- 1605 : Add support for methods and interfaces in classes (including `__init__` and `__del__`).
- 1618 : Add support for class instance attributes.
- 1680 : Add support for `typing.Final`.
- Add a `--time_execution` flag to allow detailed investigation of critical sections of code.
- 1659 : Add multi-file support for classes.
- 1708 : Allow returning pointers to arguments from functions.
- \[INTERNALS\] Add `class_type` attribute to `TypedAstNode`.
- \[INTERNALS\] Add `PyccelPyArrayObject` datatype.
Fixed
- 1587 : Fix unnecessarily long file names generated by `epyccel`.
- 1576 : Correct destructor invocation for proper cleanup.
- 1576 : Remove inline class method definition.
- Ensure an error is raised when if conditions are used in comprehension statements.
- 1553 : Fix `np.sign` when using the `ifort` compiler.
- 1582 : Allow homogeneous tuples in classes.
- 1619 : Give priority to imported functions over builtin functions.
- 1614 : Allow relative paths for custom compilation file.
- 1615 : Fixed infinite loop when passing slices while copying arrays.
- 1628 : Fixed segmentation fault when writing to optional scalars.
- 1554 : Fix exit statement in Fortran with Intel compiler.
- 1564 : Fixed installation problems on Python 3.12.
- 1259 : Fix bug causing problems with user editable installation.
- 1651 : Fix name collision resolution to include parent scopes.
- 1156 : Raise an error for variable name collisions with non-variable objects.
- 1507 : Fix problems with name collisions in class functions.
- Ensure `pyccel-init` calls the related function.
- Stop unnecessarily importing deprecated NumPy classes `int`, `bool`, `float`, `complex` in Python translation.
- 1712 : Fix library path and OpenMP support for recent Apple chips by getting Homebrew directory with `brew --prefix`.
- 1687 : Pointers in tuples are deallocated.
- 1586 : Raise an error for targets of class instances which go out of scope too early.
- 1717 : Fix a bug when handling paths with dots.
Changed
- 1672 : Make `icx` and `ifx` the default Intel compilers (Found in Intel oneAPI).
- 1644 : Stop printing the step of a range if that step is 1.
- 1638 : Migrate from `setuptools` to `hatch` for installation scripts.
- Don't raise a warning for an unnecessary specification of the order.
- \[INTERNALS\] 1593 : Rename `PyccelAstNode.fst` to the `PyccelAstNode.ast`.
- \[INTERNALS\] 1593 : Use a setter instead of a method to update `PyccelAstNode.ast`.
- \[INTERNALS\] 1593 : Rename `BasicParser._current_fst_node` to the `BasicParser._current_ast_node`.
- \[INTERNALS\] 1390 : Remove dead code handling a `CodeBlock` in an assignment.
- \[INTERNALS\] 1582 : Remove the `HomogeneousTupleVariable` type.
- \[INTERNALS\] 1581 : Unify handling of string and Python annotations.
Deprecated
- 1593 : Remove undocumented, broken `lambdify` method.
- \[INTERNALS\] 1584 : Remove unused functions from `pyccel.ast.core` : `inline`, `subs`, `get_iterable_ranges`.
- \[INTERNALS\] 1584 : Remove unused functions from `pyccel.ast.datatypes` : `is_iterable_datatype`, `is_with_construct_datatype`, `is_pyccel_datatype`.
- \[INTERNALS\] 1584 : Remove unused class from `pyccel.ast.core`: `ForIterator`.
- \[INTERNALS\] 1584 : Remove unused method from `pyccel.ast.core`: `ClassDef.get_attribute`.
- \[INTERNALS\] 1676 : Remove `DottedFunctionCall` from `pyccel.ast.core` (use `bound_argument` instead).
- \[INTERNALS\] 1683 : Remove unused redundant class from `pyccel.ast.datatypes`: `UnionType`.