diff --git a/_multibuild b/_multibuild
index 6d8cafe..1530886 100644
--- a/_multibuild
+++ b/_multibuild
@@ -1,5 +1,5 @@
- test-py310
test-py311
test-py312
+ test-py313
diff --git a/python-pythran.changes b/python-pythran.changes
index 819dd77..a4374f3 100644
--- a/python-pythran.changes
+++ b/python-pythran.changes
@@ -1,3 +1,86 @@
+-------------------------------------------------------------------
+Thu May 29 19:47:43 UTC 2025 - Ben Greiner
+
+- Update to 0.18.0 - balafenn
+ * no upstream changelog.
+ ## git commits (a few non-relevant filtered)
+ * Fix uninitialized iexpr assignment
+ * Fix folding of comparison operators
+ * Take augassign into account when removing nested functions
+ * Fix local processing in presence of else: clause in for loop
+ * Fix detection of c++ compiler
+ * Traverse augassign when computing scopes
+ * Reproducible ContainerOf iteration
+ * Fix overload handling for NoneType
+ * Fix type inference in presence of augassign
+ * Improve forward substitution in presence of augassign
+ * Remove dead code in tests
+ * Faster (and common!) implementation of make_integer_sequence
+ * Only register a node in name_to_nodes if the combiner was
+ succesful
+ * Reproducible aliasing ordering
+ * Reproducible nested functions removal
+ * Reproducible topological order
+ * Verify reproducibility of c++ output
+ * Reproducible (because sortable) alias order
+ * Stateless PType
+ * Reproducible local declaration order
+ * Reproducible identifiers generation
+ * Reproducible include order
+ * More flexible implementation of default list
+ * Fix typing issue under complex slice combination
+ * Add support for nonlocal keyword
+ * Fix bug in nested function remover
+ * Cope with numpy.bool deprecation
+ * Be more informative about UnboundIdentifierError
+ * Optimize generation of cxx types
+ * Use inheritance instead of member type for __combined
+ specialization
+ * Remove redundant extra combiner for Assigned Subscript
+ * Improve nested functions support
+ * Harden error reporting: Do not trap when no lineno is available
+ * Handle folding of static_if
+ * Fix constness of std::get on an array_base r-value
+ * Make none_type hashable
+ * Get rid of clang workaround for containers of one element
+ * Simplify backend type cache & fix handling of LTypes
+ * Fix constness of dict's bool operator
+ * Specialize dict for None Key
+ * Drop support for builtins.None in favor of None
+ * Add handling of numpy.bool in tog
+ * replace quansight-labs/setup-python with actions/setup-python
+ * [ci] Dump more info when compiling system dep
+ * [test] Fix sign comparison code
+ * [ci] Test unvendoring of xsimd and boost
+ * Disable inlining in while test
+ * Python 3.13 compat: detect removed find_exe
+ * Fix test portability issue for ipython magic
+ * Adjust --cflags-pythran-only implementation
+ * ENH: improvements to pythran-config for build system
+ integration
+ * Have FastGExpr load its dependency in a lazy manner
+ * Move GIL manipulation right after module creation
+ * Better modeling of analyse and transformations
+ * Fix pythran support for numpy.float128
+ * Defer initialisation of global variables until the module is
+ actually created
+ * Fix interaction between static if and nested loop / function
+ * Allow tuple with combinable items as array initializer
+ * Have pythran generate freethreading compatible code
+ * Remove legacy logic that handled py2/py3 compatibility
+ * Remove any usage of __PYTHRAN__ macro
+ * Make sure blas function argument actually have an associated
+ buffer
+ * Provide user hint when trying to use c-style type names in
+ pythran spec
+ * [typing] Support union type in annotation
+ * Restore type qualifiers dropped by
+ b8cd84b5a5ab5222d65781a0194916ad555bf70c
+ * Add basic support for type annotation
+ * [constant folding] Correctly model restrict_assign in constant
+ folding
+- Update test flavors
+
-------------------------------------------------------------------
Mon Nov 18 18:01:06 UTC 2024 - Ben Greiner
diff --git a/python-pythran.spec b/python-pythran.spec
index d343301..5ee29fb 100644
--- a/python-pythran.spec
+++ b/python-pythran.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-pythran
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,9 +25,6 @@
%else
%define psuffix -%{flavor}
%bcond_without test
-%if "%{flavor}" != "test-py310"
-%define skip_python310 1
-%endif
%if "%{flavor}" != "test-py311"
%define skip_python311 1
%endif
@@ -47,7 +44,7 @@ ExclusiveArch: x86_64
%endif
Name: python-pythran%{psuffix}
-Version: 0.17.0
+Version: 0.18.0
Release: 0
Summary: Ahead of Time compiler for numeric kernels
License: BSD-3-Clause
@@ -134,8 +131,10 @@ libs=openblas
EOF
export PYTHRANRC=$PWD/config.pythranrc
%endif
+# gh#serge-sans-paille/pythran#2317 -- changed AST in Py3.13
+python313_skip_tests=("-k" "not test_tutorial")
# pytest_extra_args is for debug builds with local defines on command line
-%pytest %{?jobs:-n %jobs} %{?pytest_extra_args}
+%pytest %{?jobs:-n %jobs} %{?pytest_extra_args} "${$python_skip_tests[@]}"
%endif
%if !%{with test}
diff --git a/pythran-0.17.0-gh.tar.gz b/pythran-0.17.0-gh.tar.gz
deleted file mode 100644
index 17a3a54..0000000
--- a/pythran-0.17.0-gh.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b1f13ca239625579a92bc915bd0abae3747d96063ce55790eead2a072667fcb3
-size 3697173
diff --git a/pythran-0.18.0-gh.tar.gz b/pythran-0.18.0-gh.tar.gz
new file mode 100644
index 0000000..bdf908b
--- /dev/null
+++ b/pythran-0.18.0-gh.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3f879f86fde1c0eb62e02e52fbe30e2468fb59d8751b951b7cc6faf16e7df3e
+size 3707538