Releases: xdslproject/xdsl
v0.55.1
Changes
Dialects
- dialects: (complex) add 'ConstantOp' helper constructors @radosavkrunic33 (#5452)
- dialects: (x86) add mask mov op @emmau678 (#5447)
- dialects: (linalg) add exp, log, and sqrt @superlopuh (#5445)
- dialects: (linalg) use properties in linalg named ops @superlopuh (#5443)
- dialects: (linalg) remove operand segments flag from reduce op @superlopuh (#5442)
- dialects: (linalg) add get_hidden_region class method to named ops @superlopuh (#5441)
Transformations
- transformations: (apply-eqsat-pdl-interp) add callback @superlopuh (#5453)
🗎 Documentation
- documentation: Changing function fused_multiply_add to multiply_add @Saderfing (#5446)
Testing
- testing: use MLIR roundtrip macros in linalg test @superlopuh (#5444)
Continuous Integration
- CI: update release drafter yaml @superlopuh (#5451)
Miscellaneous
- misc: add name hints to OpResult and BlockArgument reprs @superlopuh (#5449)
v0.55.0
Updates the version of LLVM and MLIR that xDSL is compatible with to 21.1.4.
Fixes the recursive repr in some IR data structures, please open issues if you'd like to suggest further changes to the way these are printed.
Changes
xDSL framework
- core: handle recursion in recursive IR classes @superlopuh (#5436)
- core: don't create tuple of uses for length calculation @superlopuh (#5431)
- core: handle graph regions when cloning @superlopuh (#5423)
Dialects
- dialects: (arith) add 'Pure' trait to 'BitcastOp' @radosavkrunic33 (#5439)
- dialects: (cf) Change msg to prop @JosseVanDelm (#5437)
- dialects: (stencil) don't print repr in error message @superlopuh (#5434)
- dialects: (x86) add fallthrough op @superlopuh (#5433)
- dialects: (x86) raise error when jumping to numeric labels @superlopuh (#5432)
- dialects : (riscv) add zext.b, zext.w, sext.w instructions @osmanyasar05 (#5429)
- dialects: (x86) add some more move operations @superlopuh (#5421)
Transformations
- transformations: (eqsat-add-costs) implement basic greedy extraction that works with cycles @jumerckx (#5417)
- transformations: (eqsat-extract) handle recursive e-graphs @superlopuh (#5438)
Backend
🐛 Bug Fixes
Continuous Integration
- CI: (mlir) re-enable python 3.14 testing @alexarice (#5415)
Installation
- dependencies: update ghcr.io/xdslproject/llvm docker tag to v21 @renovate[bot] (#5238)
v0.54.4
Fixes some regressions in the Marimo notebooks.
Note: this is the last release before the migration to LLVM 21.
Changes
xDSL framework
- core: only import TypeForm when TYPE_CHECKING below 3.14 @superlopuh (#5427)
- core: Improve verify error generation @ed741 (#5414)
- core: expose ScopedDict.local_scope as immutable Mapping @superlopuh (#5410)
Dialects
- dialects : (riscv) add seqz and snez pseudo-instructions @osmanyasar05 (#5422)
- dialects: (x86) infer destination register for RM, push, and pop ops @superlopuh (#5420)
- dialects: (x86) add single and double precision vector addition ops @superlopuh (#5419)
- dialects: (llvm) remove typed pointers @alexarice (#5393)
- dialects: (x86) add vfmadd with masking for RSS @emmau678 (#5406)
Backend
🗎 Documentation
- documentation: use "rs" for rust-like syntax in mlir introduction @superlopuh (#5413)
Installation
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.14.3 @renovate[bot] (#5425)
- dependencies: update dependency ruff to v0.14.3 @renovate[bot] (#5424)
- dependencies: lock file maintenance @renovate[bot] (#5412)
v0.54.3
Fixes 3.14 support.
Changes
Installation
- installation: enable python 3.14 @alexarice (#5332)
- dependencies: update dependency marimo to v0.17.2 @renovate[bot] (#5408)
- dependencies: update dependency pyright to v1.1.407 @renovate[bot] (#5409)
v0.54.2
Two important changes in this release: early stages of adding analyses from MLIR by @jumerckx, and removing JAX as an optional dependency.
This release also fixes Python 3.14 compatibility and adds it to our CI.
Changes
xDSL framework
- core: Check irdl_options only contains IRDLOptions @dk949 (#5343)
- core: add stubs for SymbolTable and SymbolTableCollection @superlopuh (#5384)
- core: add walk_symbol_table helper @superlopuh (#5383)
- core: split dialect interfaces into own files @superlopuh (#5381)
- core: add simplification of AffineExpr (no modulo or division) @superlopuh (#5353)
- core: (analysis) add
SparseForwardDataflowAnalysis@jumerckx (#5368) - core: (analysis) Allow ModuleOp in DCA visit method @jumerckx (#5369)
- core: (analysis ) add
Lattice@jumerckx (#5367) - core: (analysis) add
AbstractLatticeValueandSparseLatticeSubscriberBase@jumerckx (#5362) - core: (analysis) add
DeadCodeAnalysis@jumerckx (#5361) - core: (analysis) add
PredecessorStatefor dead code analysis @jumerckx (#5360) - core: (analysis) add
ExecutableAnalysisState for dead code analysis @jumerckx (#5359) - core: (analysis) add
DataFlowAnalysis@jumerckx (#5358) - core: (analysis) add
DataFlowSolver@jumerckx (#5357) - core: (analysis) add
AnalysisState@jumerckx (#5356) - core: (analysis) add
ProgramPoint@jumerckx (#5355) - core: (analysis) add
GenericLatticeAnchor@jumerckx (#5354) - core: (Analysis) add
ChangeResult@jumerckx (#5352) - core: ReturnLike OpTrait @jumerckx (#5350)
- core: (folder) check for
HasFoldertrait instead ofHasFolderInterface@jumerckx (#5349) - core: add AffineExpr.from_flat_form @superlopuh (#5338)
Dialects
- dialects: (x86) constraint rflags operand and result to rflags @superlopuh (#5398)
- dialects [x86]: add AVX512 mask register type @emmau678 (#5392)
- dialects: (llvm) Allow arithmetic operations to accept vector types @hpooja1599 (#5387)
- dialects: (builtin) Fix printer for FloatData @ed741 (#5389)
- dialects: (builtin) accept Iterable of Operation in ModuleOp init @superlopuh (#5382)
- dialects: (vector) Add
vector.BitcastOp@jakedves (#5366) - dialects: (x86) add fma ops with memory operand @emmau678 (#5363)
- dialects: (Vector) disallow 0d extraction/insertion @alexarice (#5364)
Transformations
- transformations: (apply-eqsat-pdl-interp) add
is_not_unsoundconstraint function @jumerckx (#5390) - transformations: (convert-x86-scf-to-x86) copy name hints in lowering @superlopuh (#5394)
- transformations: (convert_pdl_to_pdl_interp) add
_generate_rewriter_for_apply_native_rewriteand_generate_rewriter_for_attribute@jumerckx (#5385) - transformations: (convert-pdl-to-pdl-interp) add
generate_switch_node@jumerckx (#5375) - transformations: (convert-pdl-to-pdl-interp) add
generate_matcher@jumerckx (#5374) - transformations: (convert-pdl-to-pdl-interp) add
generate_bool_node@jumerckx (#5371) - transformations: (apply-eqsat-pdl-interp) Support folding @jumerckx (#5340)
- transformations: (convert-pdl-to-pdl-interp) add
get_value_at@jumerckx (#5346)
Interpreter
- interpreter: (pdl_interp) use interpreter state for PatternRewriter @superlopuh (#5400)
- interpreter: (pdl_interp) use interpreter state for Context @superlopuh (#5399)
🗎 Documentation
- documentation: (Toy) use CallableOpInterface when inlining @superlopuh (#5380)
- documentation: (Toy) use SymbolOpInterface in inliner @superlopuh (#5378)
🐛 Bug Fixes
Continuous Integration
- CI: collect code coverage for 3.13 instead of 3.10 @superlopuh (#5404)
Installation
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.14.2 @renovate[bot] (#5402)
- dependencies: update dependency ruff to v0.14.2 @renovate[bot] (#5401)
- dependencies: lock file maintenance @renovate[bot] (#5388)
- installation: Fix pylint compatibility @ed741 (#5379)
- dependencies: update dependency ruff to v0.14.1 @renovate[bot] (#5376)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.14.1 @renovate[bot] (#5377)
- dependencies: update dependency marimo to v0.17.0 @renovate[bot] (#5370)
- dependencies: (jax) remove jax optional dependency @superlopuh (#5334)
- dependencies: lock file maintenance @renovate[bot] (#5348)
Miscellaneous
v0.54.1
Changes
- transformations: (convert_pdl_to_pdl_interp) Ensure ConstraintQuestion is hashable @jumerckx (#5314)
xDSL framework
- core: don't initialize MLIRToken typealias @superlopuh (#5336)
- core: ignore
__type_params__field when creating attributes @dk949 (#5330) - core: add post-order traversal to AffineExpr @superlopuh (#5297)
Dialects
- dialects: (eqsat) ConstantEClassOp @jumerckx (#5339)
- dialects: (pdl) add
isNegatedproperty to ApplyNativeConstraintOp @jumerckx (#5308) - dialects: (pdl) make rewrite op body non-optional @superlopuh (#5328)
- dialects: (pdl) allow region directive to be used as anchor and first element of optional group @superlopuh (#5325)
- dialects: (mesh) Add
mesh.shardoperation @jakedves (#5313) - dialects: (tosa) Add
tosa.cond_if,tosa.yieldoperations @jakedves (#5316) - dialects: (eqsat) add ChooseOp @jumerckx (#5311)
- dialects: (tosa) add reciprocal, reduce operations @jakedves (#5306)
Transformations
- transformations: (convert-pdl-to-pdl-interp) add
build_predicate_tree@jumerckx (#5344) - transformations: (convert-pdl-to-pdl-interp) add
_stable_topological_sort@jumerckx (#5333) - transformations: (convert-pdl-to-pdl-interp) Add
_optimize_treeand_insert_exit@jumerckx (#5331) - transformations: (convert-pdl-to-pdl-interp)
_propagate_pattern@jumerckx (#5327) - transformations: (convert-pdl-to-pdl-interp) add
_create_ordered_predicates@jumerckx (#5326) - transformations: (convert-pdl-to-pdl-interp) add PredicateTreeBuilder's
_extract_pattern_predicates@jumerckx (#5324) - transformations: (convert-pdl-to-pdl-interp) Extract predicates from pattern @jumerckx (#5309)
- transformations: (convert_pdl_to_pdl_interp) _extract_type_predicates @jumerckx (#5318)
- transformations: (convert_pdl_to_pdl_interp) PatternAnalyzer
detect_roots@jumerckx (#5315)
Interpreter
- interpreter: (pdl_interp) use
impl_externalfor native constraints @superlopuh (#5341) - interpreter: (eqsat) ChooseOp interpreter @jumerckx (#5312)
🗎 Documentation
- documentation: (toy) Fix mistakes in comments in Toy examples @axelcool1234 (#5337)
Installation
- dependencies: update dependency textual-dev to v1.8.0 @renovate[bot] (#5345)
- dependencies: update dependency immutabledict to <4.2.3 @renovate[bot] (#5347)
- dependencies: update astral-sh/setup-uv action to v7 @renovate[bot] (#5329)
- dependencies: update dependency ruff to v0.14.0 @renovate[bot] (#5322)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.14.0 @renovate[bot] (#5323)
- dependencies: lock file maintenance @renovate[bot] (#5317)
Miscellaneous
v0.54.0
Thanks to the efforts of @jorendumoulin, we now support one abstract Attribute superclass in an AnyOf constraint.
Changes
- dialects: (builtin) MemReftype layout constraint is MemRefLayoutAttr | NoneAttr @jorendumoulin (#5025)
xDSL framework
- core: add is_pure_affine helper to AffineExpr @superlopuh (#5296)
- core: (AnyOf) allow for abstract classes without bases @jorendumoulin (#5240)
- core: (assembly-format) Add optional anchor support for
Custom<DynamicIndexList>@jakedves (#5287)
Dialects
- dialects: (pdl_interp) Fix ApplyConstraintOp constructor @jumerckx (#5307)
- dialects (mesh): Add Recv, Send, Shift ops @jakedves (#5302)
- dialects (tosa): Update test cases with MLIR-styling and ops (
tosa.mul,tosa.matmul) for MLIR 20.1.7 @jakedves (#5301) - dialects: (mesh) Broadcast , Gather, Scatter Collective ops @jakedves (#5300)
- dialects: (mesh) Implement
mesh.sharding@jakedves (#5292) - dialects: (builtin) remove abstract name from MemRefLayoutAttr @superlopuh (#5295)
- dialects: (mesh) implement
MeshAxesArrayAttr@jakedves (#5294) - dialects: remove stablehlo dialect @superlopuh (#5289)
Backend
- backend: (riscv) make RISC-V assembly printing accept any register type @superlopuh (#5261)
- backend: (JAX) remove jax backend @superlopuh (#5285)
Installation
- dependencies: update dependency ruff to v0.13.3 @renovate[bot] (#5304)
- dependencies: update dependency marimo to v0.16.5 @renovate[bot] (#5303)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.13.3 @renovate[bot] (#5305)
- dependencies: update dependency marimo to v0.16.4 @renovate[bot] (#5298)
- dependencies: update dependency pyright to v1.1.406 @renovate[bot] (#5299)
- dependencies: update dependency marimo to v0.16.3 @renovate[bot] (#5290)
- dependencies: lock file maintenance @renovate[bot] (#5288)
Miscellaneous
v0.53.0
Changes
xDSL framework
- core: add
Folderclass @jumerckx (#5254) - core: Add directive for
custom<DimensionList>in assembly format, initialisemeshdialect @jakedves (#5250) - frontend: remove Jaxpr frontend @superlopuh (#5272)
- core: add folding mechanism @jumerckx (#5232)
Dialects
- dialects: (memref) remove memref.SubviewOp.DYNAMIC_INDEX @superlopuh (#5283)
- dialects: (memref) add custom format for memref.extract_strided_metadata @superlopuh (#5282)
- core: Add directive for
custom<DimensionList>in assembly format, initialisemeshdialect @jakedves (#5250) - dialects: (x86_scf) ForRofOperation: RegisterAllocatableOperation @superlopuh (#5277)
- dialects: (builtin) Update
DYNAMIC_INDEXto match C++ MLIR @jakedves (#5273) - dialects: (x86_scf) add x86_scf.for, .rof, and .yield @superlopuh (#5275)
- dialects: (riscv) add canonicalization pattern x&x->x @khorcarol (#5259)
- dialects: (x86) make vmovapd not inout @superlopuh (#5266)
- dialects: (arm) remove AssemblyInstructionArg @superlopuh (#5264)
Transformations
- transformations: (convert-memref-to-ptr) lower memref.subview @superlopuh (#5284)
- transformations: (convert-memref-to-ptr) ignore offset when indexing @superlopuh (#4985)
- transformations: (convert-memref-to-ptr) split get_target_ptr into more helpers @superlopuh (#4984)
- transformations: (convert-x86-scf-to-x86) add lowering for x86_scf @superlopuh (#5278)
- transformations: (convert-scf-to-x86-scf) add lowering from scf to x86 @superlopuh (#5279)
- transformations: (scf-for-loop-unroll) implement full loop unrolling @superlopuh (#5271)
Backend
- backend: (x86) allocate avx512 registers @qaco (#5274)
- backend: (x86) handle pointer type conversion @superlopuh (#5268)
- backend: move
reghelper to assembly_printer.py @superlopuh (#5265) - backend: (x86) add helper to move values to unallocated registers @superlopuh (#5267)
Interpreter
- interpreter: (arith) Add support for arith.cmpf @positr0nium (#5258)
🐛 Bug Fixes
Continuous Integration
- ci: (Nix) add new workflow @alexarice (#5263)
Installation
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.13.2 @renovate[bot] (#5281)
- dependencies: update dependency ruff to v0.13.2 @renovate[bot] (#5280)
- dependencies: update dependency marimo to v0.16.2 @renovate[bot] (#5276)
- dependencies: update dependency marimo to v0.16.1 @renovate[bot] (#5269)
- dependencies: lock file maintenance @renovate[bot] (#5262)
Miscellaneous
- core: Add directive for
custom<DimensionList>in assembly format, initialisemeshdialect @jakedves (#5250) - misc: allow shadowing in ScopedDict @superlopuh (#5270)
- misc: fix cross-platform llvm-mca call @superlopuh (#5260)
v0.52.0
Adds two important mechanisms: ConstantLikeInterface, which specifies that an operation is a constant, and ConstantMaterializationInterface, which is a dialect interface to create a constant operation of a given value.
xDSL framework
- core: add
parse_dimension_list@jakedves (#5244) - core: use Lexer token in spec parser @superlopuh (#5231)
- core: add ConstantMaterializationInterface @jumerckx (#5234)
- core: add ConstantLikeInterface @jumerckx (#5233)
- core: Add a NotEqualIntConstraint @Jimmy2027 (#5215)
Dialects
- dialects: (fir) fir.result should take variadic, not optional arguments @dk949 (#5256)
- dialects: (csl) Add assembly_format for variables @dk949 (#5249)
- dialects: (riscv_snitch) use i3 and i4 for frep params @superlopuh (#5247)
- dialects: (tosa) Add ConcatOp @aniragil (#5236)
- dialects: (emitc) Add ApplyOp @Jimmy2027 (#5230)
- dialects: (vector) add vector.shuffle @superlopuh (#4888)
- dialects: (riscv) add basic canonicalization x | x == x @milasd (#5224)
- dialects: (emitc) Add AddOp @Jimmy2027 (#5026)
- dialects: (builtin) forward element constraint type in ArrayOfConstraint @superlopuh (#5220)
- dialects: (builtin) Add StaticShapeConstraint @Jimmy2027 (#5098)
Transformations
- transformations: RISCVRegisterAllocation -> RISCVAllocateRegisters @superlopuh (#5257)
- transformations: (convert-pdl-to-pdl-interp) add predicate and position utilities @jumerckx (#5242)
- transformations: add test-vectorize-matmul @superlopuh (#5000)
- transformations: (eqsat-add-costs) Support external costs from a JSON file @osmanyasar05 (#5223)
- transformations: (memref-stream-interleave) parametrize pass for command-line scheduling @superlopuh (#5100)
Backend
- backend: add cost model interface @adutilleul (#5216)
🗎 Documentation
- documentation: fix method signature doc in tutorial notebook @positr0nium (#5255)
- documentation: fix
__init__.pyhandling in docs generation @jumerckx (#5245) - docs: Refresh installation docs @georgebisbas (#5201)
- documentation: minor fixes of PDL notebook @superlopuh (#5228)
- documentation: show reference for class even if missing doc string @superlopuh (#5229)
- documentation: Few edits over passing the tutorials @georgebisbas (#5204)
Continuous Integration
- CI: run code formatting with Python 3.13 @superlopuh (#5219)
Installation
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.13.1 @renovate[bot] (#5252)
- dependencies: update dependency ruff to v0.13.1 @renovate[bot] (#5251)
- dependencies: update dependency marimo to v0.16.0 @renovate[bot] (#5253)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.13.0 @renovate[bot] (#5209)
- dependencies: update dependency marimo to v0.15.5 @renovate[bot] (#5237)
- dependencies: lock file maintenance @renovate[bot] (#5235)
- dependencies: lock file maintenance @renovate[bot] (#5187)
- dependencies: update dependency marimo to v0.15.3 @renovate[bot] (#5221)
- dependencies: update dependency pytest-asyncio to v1.2.0 @renovate[bot] (#5222)
Miscellaneous
- misc: move Generic to be last superclass of class definitions @superlopuh (#5227)
Interactive
- gui: fix empty line and alignment in gui input text box @dshaaban01 (#5226)
- gui: expand the root node to show all passes on initialization @dshaaban01 (#5225)
v0.51.0
Many changes in this release, most of which are to do with new tutorial notebooks we'll share in an upcoming release.
Some noteable other changes:
- We added a new API for interfaces, please take a look at
HasCanonicalizationPatternsInterfacefor the new recommended way of registering canonicalization patterns. - We made more progress on the
emitcdialect.
xDSL framework
- core: Fix usage of TypeVar with default values @math-fehr (#5146)
- core: add HasCanonicalizationPatternsInterface @superlopuh (#5030)
- core: allow Literal enum cases in irdl_to_attr_constraint @superlopuh (#5096)
Dialects
- dialects: (tensor) add assembly format to tensor.reshape @fnz (#5218)
- chore: Rename register.py -> registers.py @hpooja1599 (#5210)
- dialects: (tensor) add assembly format to tensor.dim @superlopuh (#5202)
- dialects: (builtin) Add test for
TensorType.constrwith no element type constraint @mudit2812 (#5138) - dialects: (emitc) Add OpaqueAttr @Jimmy2027 (#4882)
- dialects: (pdl_interp) Fix some small type errors. @jumerckx (#5117)
- dialects: (complex) Add complex dialect @jumerckx (#5077)
- dialects: (pdl) add results to
pdl.apply_native_constraint@jumerckx (#5110) - dialects: (emitc) Add EmitCTypeConstraint @Jimmy2027 (#5039)
- dialects: (emitc) refactor is_supported_emitc_type @Jimmy2027 (#5097)
- dialects: (printf) adjust print behavior so there is no automatic newline @Moxinilian (#5134)
Transformations
Interpreter
- interpreter: (arith) fix bitwidth issues @Moxinilian (#5179)
- interpreter: use builtin type constants for ptr xtype @superlopuh (#5149)
- interpreter: add support for i1 tensors @Moxinilian (#5141)
- interpreter: (arith, tensor) add support for more features @Moxinilian (#5133)
API
- API: add
ModulePass.apply_to_clonehelper @superlopuh (#5088)
🗎 Documentation
- documentation: Fix typo of x_times_zero op in x_plus_zero exercise @Rhetora (#5206)
- documentation: Fix pdl tutorial solution @Rhetora (#5208)
- documentation: tiny reword @superlopuh (#5198)
- documentation: add tensor functions to list lang notebook @superlopuh (#5197)
- documentation: copy over code from listlang @superlopuh (#5196)
- documentation: Last changes in marimo introduction @math-fehr (#5193)
- documentation: mlir_intro - fix expected values @tobiasgrosser (#5192)
- documentation: mlir_intro - fix section title @tobiasgrosser (#5191)
- docs: Add exercises on passes section @math-fehr (#5190)
- docs: Improve titles, and exercises of pass section @math-fehr (#5189)
- docs: Add exercise for
scf.ifsection of the MLIR IR introduction @math-fehr (#5188) - docs: Improve control flow introduction @math-fehr (#5186)
- documentation: check pass exercise outputs @superlopuh (#5185)
- docs: Move one cell @math-fehr (#5184)
- docs: Add exercises for Pass section in MLIR introduction @math-fehr (#5183)
- documentation: add sliders + tabs view in listlang notebook @superlopuh (#5182)
- docs: remove scf.if when printing bools in listlang @superlopuh (#5181)
- docs: Update pass section @math-fehr (#5180)
- docs: Improve SSA section @math-fehr (#5177)
- docs: Some small fixes and improvements @math-fehr (#5176)
- documentation: mlir intro - booleans - use single-digit numbers @tobiasgrosser (#5173)
- documentation: check boolean exercises with interpreter @superlopuh (#5170)
- documentation: check for arith interpretation output @superlopuh (#5169)
- documentation: mlir intro - booleans - structure @tobiasgrosser (#5168)
- documentation: mlir intro - interactive and arithmetic - use admoniti… @tobiasgrosser (#5165)
- documentation: mlir intro - interactive and arithmetic - improve form… @tobiasgrosser (#5163)
- documentation: build PDL notebook to readonly marimo app @superlopuh (#5161)
- documentation: build eqsat notebook to readonly marimo app @superlopuh (#5076)
- documentation: substitute xDSL wheel import when building marimo @superlopuh (#5158)
- documentation: mlir intro - interactivity - no ':' after heading @tobiasgrosser (#5160)
- documentation: mlir intro - interactivity - exercise @tobiasgrosser (#5159)
- documentation: disable marimo docs export @superlopuh (#5157)
- documentation: mlir intro - interactivity - shorten text @tobiasgrosser (#5156)
- documentation: mlir_intro - interactivity example @tobiasgrosser (#5155)
- documentation: shorten title @tobiasgrosser (#5154)
- documentation: update notebook references in notebooks page @superlopuh (#5153)
- documentation: update list-lang to support
_prefix @tobiasgrosser (#5151) - docs: Some improvement on the marimo SSA section @math-fehr (#5150)
- docs: Use
mo.mdinstead of code editor for MLIR @math-fehr (#5148) - documentation: enable no-code for mlir_introduction @tobiasgrosser (#5142)
- docs: Add an MLIR introduction notebook @math-fehr (#5135)
- documentation: update list-lang to include lowerings @tobiasgrosser (#5132)
- documentation: marimo-expressions - show pass output dynamically @tobiasgrosser (#5131)
- documentation: add slider choices to marimo expression notebook @tobiasgrosser (#5130)
- documentation: fix 'path not defined' error in marimo build @tobiasgrosser (#5127)
- documentation: load xdsl for marimo released builds @tobiasgrosser (#5126)
- documentation: create no-code page of marimo notebook @tobiasgrosser (#5125)
- documentation: marimo expressions - make pass pipeline work @tobiasgrosser (#5124)
- documentation: add basic method support to list-lang @tobiasgrosser (#5119)
- documentation: use text_area in expression example @tobiasgrosser (#5115)
- feat: add lists to marimo expression tutorial @tobiasgrosser (#5112)
- documentation: add expression parser @tobiasgrosser (#5103)
- documentation: make mkdocs-marimo work on 'latest' branch @tobiasgrosser (#5108)
- documentation: use marimo directory for micropip @tobiasgrosser (#5107)
- documentation: make marimo location detection more robust @tobiasgrosser (#5106)
- documentation: do not run micropip when not in emscripten @tobiasgrosser (#5105)
- documentation: fix link to GETTING_STARTED.md @superlopuh (#5104)
- documentation: enable islands to use local wheel @tobiasgrosser (#5102)
- documentation: add PDL tutorial notebook @superlopuh (#5093)
- docs : Update @math-fehr (#5200)
- documentation: add last exercise to listlang @superlopuh (#5199)
- Revert "documentation: mlir_intro - fix expected values" @tobiasgrosser (#5194)
- documentation: mlir intro - write-arith - write an mlir program @tobiasgrosser (#5175)
- documentation: mlir intro - write-arith - match a program @tobiasgrosser (#5174)
- documentation: mlir intro - booleans - improve formatting @tobiasgrosser (#5172)
- documentation: mlir intro - booleans - non-trivial solution @tobiasgrosser (#5171)
- documentation: mlir intro - arithmetic - add missing operand @tobiasgrosser (#5166)
- documentation: mlir intro - interactive and arithmetic - use admonitions @tobiasgrosser (#5164)
- documentation: mlir intro - arithmetic expressions @tobiasgrosser (#5162)
- docs: Improve notebook content for passes section @math-fehr (#5152)
- Add reset button, and fix printer @math-fehr (#5144)
- documentation: update list-lang to add more verification @tobiasgrosser (#5143)
- documentation: use marimo code_editor in expression notebook @tobiasgrosser (#5129)
- documentation: fix 'path not defined' error in marimo build @tobiasgrosser (#5128)
- documentation: marimo expressions - keep module in state @tobiasgrosser (#5123)
🐛 Bug Fixes
Testing
- testing: use MLIR_ROUNDTRIP to avoid "test" unregistered dialect @superlopuh (#5195)
Installation
- dependencies: update dependency ruff to v0.13.0 @renovate[bot] (#5207)
- dependencies: update dependency ruff to v0.12.12 @renovate[bot] (#5139)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.12.12 @renovate[bot] (#5140)
- dependencies: update dependency pyright to v1.1.405 @renovate[bot] (#5136)
- dependencies: update dependency marimo to v0.15.2 @renovate[bot] (#5116)
- dependencies: update actions/setup-python action to v6 @renovate[bot] (#5137)
- dependencies: update dependency ruff to v0.12.11 @renovate[bot] (#5113)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.12.11 @renovate[bot] (#5114)
- dependencies: lock file maintenance @renovate[bot] (#5120)
- dependencies: update dependency textual to v6 @renovate[bot] (#5118)
- dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.12.10 @renovate[bot] (#5092)
- dependencies: update dependency pyright to v1.1.404 @renovate[bot] (#5082)
- dependencies: update dependency ruff to v0.12.10 @renovate[bot] (#5091)
- dependencies: update dependency marimo to v0.15.0 @renovate[bot] (#5095)
- dependencies: lock file maintenance @renovate[bot] (#5109)
- dependencies: update actions/upload-pages-artifact action to v4 @renovate[bot] (#5099)
Miscellaneous
- misc: show pipeline pass spec as str @superlopuh (#5178)
- transformations: (lower-csl-wrapper) use...