We are pleased to announce the release of v0.4 of Trixi.jl, our Julia package providing adaptive highorder numerical simulations of hyperbolic PDEs. Compared to the initial release of v0.3, we have introduced a ton of new features. In particular, we added new mesh types enabling simulations on unstructured, curvilinear, nonconforming and adaptive meshes in multiple space dimensions. These new mesh types support all of our solver features, including shock capturing techniques for highorder methods. Additionally, we have introduced new physical models including multicomponent compressible Euler and magnetohydrodynamics equations. Moreover, Trixi.jl composes well with forward mode automatic differentiation and similar approaches. We presented most of these features already in our presentation of Trixi.jl at JuliaCon. Furthermore, we have some interactive visualizations with Makie.jl  kudos to @sdanisch, @jules, and all other developers of Makie!
As a teaser, here is the simulation of the shallow water equations with a bottom topography on a circular domain with slipwall boundaries using a discontinuous Galerkin method on a highorder curved unstructured quadrilateral mesh.
The next video shows an MHD rotor, a rapidly spinning dense cylinder embedded in a magnetized, homogeneous medium at rest. This simulation uses a discontinuous Galerkin method on a highorder, curvilinear mesh with adaptive refinement and shock capturing.
Many of these new features come with additional contributions to the Julia ecosystem. For example, we created P4est.jl as thin wrapper around the C library p4est
for adaptive meshes and HOHQMesh.jl as Julia wrapper of a highorder mesh generation library. You can find more information about these and further activities related to Trixi.jl on our summary website.
On top of these new features, we worked on the internals of Trixi.jl. In particular, we improved the performance quite a bit and were able to beat another open source code implementing the same numerical algorithms in Fortran by up to 2x. The details are available in our preprint.
Since this is a breaking release, some userfacing changes are of course necessary. However, they should not affect most codes and are summarized in our NEWS.md.
Kudos to all contributors for exciting developments  and thanks to all users encouraging us!
Here is our current list of main features (changes vs. v0.3.0 highlighted):
 1D, 2D, and 3D simulations on line/quad/hex/simplex meshes
 Highorder accuracy in space in time
 Discontinuous Galerkin methods
 Kinetic energypreserving and entropystable methods based on flux differencing
 Entropystable shock capturing
 Positivitypreserving limiting
 Compatible with the SciML ecosystem for ordinary differential equations
 Explicit lowstorage RungeKutta time integration
 Strong stability preserving methods
 CFLbased and errorbased time step control

Native support for differentiable programming
 Forward mode automatic differentiation via ForwardDiff.jl
 Periodic and weaklyenforced boundary conditions
 Multiple governing equations:
 Compressible Euler equations
 Magnetohydrodynamics (MHD) equations
 Multicomponent compressible Euler and MHD equations
 Acoustic perturbation equations
 Hyperbolic diffusion equations for elliptic problems
 LatticeBoltzmann equations (D2Q9 and D3Q27 schemes)
 Shallow water equations
 Several scalar conservation laws (e.g., linear advection, Burgersā equation)
 Multiphysics simulations
 Sharedmemory parallelization via multithreading
 Visualization and postprocessing of the results