Skip to content

Releases: Z3Prover/z3

Nightly

16 Feb 04:00

Choose a tag to compare

Nightly Pre-release
Pre-release

Automated nightly build from commit a96a4f5

z3-4.15.8

12 Feb 21:14

Choose a tag to compare

4.15.8 release

z3-4.15.7

09 Feb 01:38

Choose a tag to compare

4.15.7 release

z3-4.15.6

08 Feb 20:43
1799e6b

Choose a tag to compare

4.15.6 release

z3-4.15.5

07 Feb 19:35
013172d

Choose a tag to compare

4.15.5 release

z3-4.15.4

29 Oct 19:47

Choose a tag to compare

Changes:

  • 745087e update release notes
  • c88295a fix C++ example and add polymorphic interface for C++
  • 6efffa0 renemable Centos AMD nightly
  • 1b9a636 fix build break introduced when adding support for polymorphic datatypes
  • 88fcc05 Bump actions/upload-artifact from 4 to 5 (#7998)
  • 488c712 Bump actions/download-artifact from 5 to 6 (#7999)
  • 3570073 Add missing mkLastIndexOf method and CharSort case to Java API (#8002)
  • b6e3a68 update centos version
  • 766eaa3 disable centos build until resolved
  • efd5d04 enable always add all coeffs in nlsat
See More
  • 887ecc0 throttle grobner method more actively
  • 58e64ea try exponential delay in grobner
  • 2bf1cc7 Enabling Control Flow Guard (CFG) by default for MSVC on Windows, with options to disable CFG. (#7988)
  • 68a7d1e Bump actions/setup-node from 5 to 6 (#7994)
  • 9a2867a Add a fast-path to _coerce_exprs. (#7995)
  • 06ed96d add the "noexcept" keyword to value_score=(value_score&&) declaration
  • f2e7abb disable manylinux until segfault is resolved
  • aaaa32b build fixes
  • d65c0fb add explicit constructors for nightly mac build failure
  • fcc7e02 Update arith_rewriter.cpp
  • 62ee7cc Revert "Add finite_set_value_factory for creating finite set values in model …" (#7985)
  • 05ffc0a Add finite_set_value_factory for creating finite set values in model generation (#7981)
  • a179286 restore the method behavior
  • 1921260 restore single cell
  • 3b565bb trim parametric datatype test
  • 5163411 Update Z3_mk_datatype_sort API to accept array of sort parameters and add Z3_mk_polymorphic_datatype (#7966)
  • e669fbe Bump github/codeql-action from 3 to 4 (#7971)
  • 641741f parameter eval order
  • 8af9a20 parameter eval order
  • 6a9520b parameter eval order
  • 8ccf4cd parameter eval order
  • 40b9800 parameter eval order
  • a41549e parameter eval order
  • 2b3068d parameter eval order
  • 3a2bbf4 param eval order
  • 6e52b95 param eval
  • 93ff8c7 parameter evaluation order
  • 00f1e6a parameter eval order
  • c154b9d param order evaluation
  • 77c70bf param order
  • 63bb367 param order
  • e9a2766 remove AI slop
  • 5a96632 fix the order of parameter evaluation
  • 5ae858f fixing the order
  • aa5645b fixing the order
  • 542e015 Remove unused variable 'first' in mpz.cpp
  • cd1ceb6 [WIP] Add a mutex to warning.cpp to ensure that warning messages from different threads don't interfere (#7963)
  • 3ce8aca Bump actions/checkout from 4 to 5 (#7954)
  • c8bdbd2 remove directory
  • e137aaa add user propagators to opt_solver
  • 0e6b3a9 Add commands for forcing preferences during search
  • 5d8fcaa update clang format
  • 72c89e1 fix #7952 - make auto-selector detect large bit-vectors so it does't use the datalog engine for hopelessly large tables
  • 0881a71 update format
  • 65c9a18 fix #7956
  • 339f0cd Correctly distinguish between Lambda and Quantifier in Z3 Java API (#7955)
  • 253a724 add analysis
  • b5f79da add analysis
  • ae55b6f add analysis
  • bda98d8 fix #7948
  • b7eb21e fix #7948
  • 391880b Add missing ::z3::sdiv to z3++.h (#7947)
  • 6173a0d propagate value initialization to atoms
  • eae4de0 fix latent bug in factorization
  • 04ddade remove stale comment
  • f5c28a0 household cleanup
  • e26f7b9 fix unsound axiom for lower-bounding
  • dcdae5a add smt debug output for nla_core
  • ce53e06 Par (#7945)
  • 2b5b985 fix divergence regression
  • 9876e85 turn on max of sums transformation
  • 3256d1c fix bug in unit test
  • 0e8648c fix compile of lp.cpp
  • a8ae52b fix missing call change to cross-nested. Prepare for lower-bound and upper-bound cardinality constraints
  • 2517b5a port improvements from ilana branch to master regarding nla
  • 5d91294 update workflows
  • 59bd1cf updated clang format
  • b17df98 Daily Test Coverage Improver: Add comprehensive API special relations tests (#7925)
  • 3fa3495 Daily Backlog Burner: Fix bad .dylib versioning in pip packages (#7914) [ #6651 ]
  • c43cb18 better rewriting
  • 37904b9 fix the parameter evaluation order
  • cda0a92 Daily Test Coverage Improver: Add comprehensive API polynomial tests (#7905)
  • 82ab674 Daily Test Coverage Improver: Add comprehensive API pseudo-boolean constraint tests (#7898)
  • 222c64f Remove Windows-only guard from hashtable unit tests (#7901) [ #1163 ]
  • 635d3b7 Add .clang-format file for C++ code formatting (#7904) [ #1441 ]
  • 1b058f2 Daily Backlog Burner: Add include directory for easier Z3 integration (#7907) [ #1664 ]
  • 4e1a9d1 Daily Test Coverage Improver: Add comprehensive API Datalog tests (#7921)
  • 7cb491d update compiled workflows
  • d989bca update compiled workflows
  • f300dfc recompile improvers
  • 2d0b9e6 recompile improvers
  • aabdb40 latest improvers
  • 2364ea4 update improvers
  • 7268136 update workflows
  • db8206d improve improvers
  • 5b70f75 allow burner to create PRs
  • 81da4be backlog burner
  • ba4c923 add daily backlog burner
  • ee083a2 Daily Test Coverage Improver: Add comprehensive API AST map tests (#7890)
  • 9b88aaf determine parameter evaluation order
  • 05ba67f Merge branch 'master' of https://github.com/Z3Prover/z3
  • 647c8cc add roles
  • 44d2bba Add comprehensive tests for API algebraic number functions (#7888)
  • 6d3daa5 add ask and pr-fix
  • 75a6e7a update improvers
  • ce81aa9 Merge pull request #7886 from Z3Prover/fix-coverage-merge-mode-3c3ea7b0579fb998
  • 9069a35 Update wip.yml
  • 6926a4e Fix coverage report generation with merge-mode-functions=separate
  • 40a60f1 update token
  • 1aeef3b update agentics
  • 96996bf Bump actions/github-script from 7 to 8 (#7882)
  • 7d6ff3f Bump anthropics/claude-code-base-action from 0.0.56 to 0.0.63 (#7881)
  • c4675cb Bump actions/checkout from 3 to 5 (#7880)
  • 6752be7 Remove unused variable in polynomial.cpp
  • b0bc414 Update polynomial.cpp
  • 58bab09 Change MSVC build trigger to scheduled cron job
  • 9a91ba1 Change MSVC Clang-CL build trigger to scheduled
  • 01da267 Update Pyodide workflow to use scheduled builds
  • 93333ec Change GitHub Actions trigger to scheduled
  • c496787 Change coverage schedule to run every ...
Read more

z3-4.15.3

16 Aug 09:54

Choose a tag to compare

Changes:

  • a121e6c enable pypi public
  • 7b8482a Remove NugetPublishNightly stage from nightly.yaml (#7787)
  • a467d8c Fix compilation warning: add missing is_passive_eq case to switch statement (#7785)
  • 7422d81 remove upload artifact for azure-pipeline
  • e24a5b6 Revert "Parallel solving (#7775)" (#7777)
  • 1e7832a Use solver factory translate method in Z3_solver_translate (#7782)
  • 174d64c fix releaseNotesSource to inline
  • 6df8b39 Update seq_rewriter.cpp
  • eb7fd9e Add virtual translate method to solver_factory class (#7780)
  • 237891c updates to euf completion
See More
  • 57a60c8 add > operator as shorthand for Array
  • 3abb091 fix #7776
  • c8e866f Parallel solving (#7775) [ #7741, #7752, #7743, #7745, #7739, #7748, #7750, #7756, #7758, #7734, #7759, #7769, #7771, #7603, #7755, #7774 ]
  • d375d97 Bump actions/checkout from 4 to 5 (#7773)
  • 6486d92 Add .github/copilot-instructions.md with comprehensive Z3 development guide (#7766)
  • cf8a17a restore the square-free check
  • e33dc47 remove unused square-free check
  • b7d5add Update RELEASE_NOTES.md
  • 8598a74 rename add_lcs to add_lc
  • 88293bf get the finest factorizations before project
  • efb0bda remove ref to theory_str
  • baa0588 remove automata from python build
  • fcd3a70 remove theory_str and classes that are only used by it
  • 2ac1b24 avoid interferring side-effects in function calls
  • 7ba967e fix java build for java bindings
  • 0cefc92 register on_binding attribute
  • d57dd6e use jboolean in Native interface
  • fa3d341 add on_binding callbacks across APIs
  • 30830aa rename a Python file
  • f5016b4 remove a printout
  • 3eda386 precalc parameters to define the eval order
  • eeb1c18 more untangle params
  • efa63db debug under defined calls
  • d218e87 add python file
  • 31a3037 add Z3_solver_propagate_on_binding to ml callback declarations
  • aad511d missing new closure
  • b33f444 add an option to register callback on quantifier instantiation
  • d4a4dd6 add arithemtic saturation
  • b1ab695 fix #7603: race condition in Ctrl-C handling (#7755)
  • 7a8ba4b Add support for Algebraic Datatypes in JavaScript/TypeScript bindings (#7734)
  • d66fabe Update smt_parallel.cpp
  • b9b3e0d Update euf_completion.cpp
  • d8fafd8 Update euf_ac_plugin.cpp
  • f23b053 remove a bunch of string copies
  • 97aa46a remove default constructor
  • 89cc9bd disable pre-processing during cubing
  • 2d876d5 allow for internalize implies
  • f77123c enable passive, add check for bloom up-to-date
  • 67695b4 updates to ac-plugin
  • 0761394 Add parameter validation for selected API functions
  • e3139d4 #7750
  • eb24488 FreshConst is_sort (#7748)
  • ad2934f fix unsound len(substr) axiom
  • 1f8b081 #7739 optimization
  • 8e1a528 ensure atomic constraints are processed by arithmetic solver
  • 0528c86 fix #7745
  • 95be0cf remove verbose output
  • e549286 add option to selectively disable variable solving for only ground expressions
  • 1a488bb indentation
  • 01633f7 respect smt configuration parameter in elim_unconstrained simplifier
  • a6c51df ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743
  • a2f1742 moving to active/passive division
  • 44cd38c Update msvc-static-build.yml
  • fc51067 compile warnings
  • 1d1a01c update logging
  • dbcbc6c revamp ac plugin and plugin propagation
  • b983524 add diagnostics instrumentation to mam
  • 383f4db update pretty printer to show lambdas
  • 47a2376 bugfix to ac-plugin
  • fd54554 fix #7725 - proofs are only possible if context was created with proofs enabled
  • e575919 debug : Add support for selecting LLDB via invoke on macOS (#7726)
  • 0995928 wip - throttle AC completion, enable congruences over bound bodies
  • 35b1d09 working on ho-matcher
  • 195f3c9 update build dependencies
  • 0c5b0c3 turn on ho-matcher for completion
  • 1b3c3c2 initial pattern abstraction and move matching to src
  • 2d1a42d fixes to ho-matcher
  • 3ccf7a6 make concurrent collect_statistics in a timeout thread safe
  • 951554e ho matcher draft
  • 0ee1ee5 Update azure-pipelines.yml for Azure Pipelines
  • d2990e2 use usize to suppress the data loss warnings
  • f544dd4 deal with warnings
  • bb100a4 c is non-null
  • 75678fc Fix O(n²) performance issue in CLI datatype declaration processing (#7712)
  • 53c48f7 trace : Sort and reorder trace tags by tag_class and tag_name (#7714)
  • 0218fb7 fixup pipleline to support testing packaging
  • 0928a1f trace : Classify tag_names unique to smt_internalize.cpp (#7713)
  • 8de80e6 #7710
  • 97193b4 call into collect_statistics in case of -T interrupt
  • a28f55a log scope level of lemma
  • bfed237 expose scope level
  • bc96e9e Add python packaging to main pipeline to check updates to sdist
  • 725c093 use usize to work around mess with static_cast insertions when looping over small vectors
  • a73e244 nits
  • 661ccb3 Revert "Fix source installation to create dist-info directory for package dis…" (#7704)
  • b1259fb Update nightly.yaml for Azure Pipelines
  • ad0afbb Fix source installation to create dist-info directory for package discovery (#7695)
  • 28d0b47 following the review comments
  • 84a6e4d Fix pydoc doctest failures by updating expected output format for string operations (#7703)
  • c2efd3d Update on building OCaml binding with CMake (#7698)
  • 2de40ff Improve Extract function documentation to clarify bit-vector vs sequence usage (#7701)
  • d717dae remove the parameter for throttling nla lemmas
  • 2b6c73a add stats for throttling
  • 899677e fix a warning
  • 9e52a38 add throttling to generate_plane1/2
  • ac34dbd consolidate throttling
  • 727dfd2 use the new throttle in order lemmas
  • 832cfb3 consolidate throttling
  • f320667 remove debug_location parameter
  • 5caa7f1 throttle lemmas in nla_solver untested
  • 4631915 a version of key
  • 20fb830 filter out empty lemmas from nla_solver on consumption
  • 4e33b44 add lemma.is_empty()
  • 5bda42e rename new_lemma to lemma_builder
  • 2f2289e update minor version number

This list of changes was auto generated.

z3-4.15.2

25 Jun 15:54

Choose a tag to compare

Changes:

See More
  • f81d973 Update prd.yml
  • 8f88bf9 use is_square_free_at_sample instead of is_well_oriented
  • f2912b2 remove debug output
  • 126e06b fix the test-z3 build
  • 0e71a9d comment and restore
  • 84c8a93 renaming
  • 945eef7 work on well-orientedness
  • b2f0170 euf_completion with AC: add first cut of AC matching for top-level, add plugins and fix shared expression rewriting in ac-plugin
  • bc31276 remove dependency on pattern inference
  • cb22cdc remove dependency on pattern inference
  • 20ddfc7 sketch possible AC functionality
  • f932d48 use propagation queues and hash-tables to schedule bindings
  • 7b432ae Rename labeler.yml to labeller.yml
  • 6389214 Create dedup.yml
  • 8d1e954 introduce notion of auxiliary constraints created by nla_solver lemmas
  • 93d5e3f use mk_ite utility instead of custom local function
  • a2ad90c Update bit_blaster_tpl_def.h
  • a15e4ad #7673
  • e018b02 adding proofs to euf-completion
  • bba10c7 dampen order lemmas
  • 3927fdb enable debug logging on labeler workflow (#7681)
  • 4584d1d Create labeler.yml
  • 423930d missing files
  • e166175 update version to 4.15.2

This list of changes was auto generated.

z3-4.15.1

10 Jun 21:22

Choose a tag to compare


Changes:

  • b665c99 add missing dependencies
  • c387b20 move smt params to params directory, update release.yml
  • dc42033 use userSpecifiedTag instead of gitTag
  • 81f4125 update to @1 for githubpublish action
  • 602cfaf update version number of github release
  • e8f627c disable pypi publishing
  • d37336e remove trace by default from tests
  • 98d86c6 disable tracing in test code
  • 4bd999c update release notes
  • befbd8d add parameter
See More

This list of changes was auto generated.

z3-4.15.0

10 May 03:04

Choose a tag to compare

4.15.0 release

Changes:

See More
  • 4bedb5f fix #7638
  • dd211ba filter out terms that are not solved
  • f89e133 revert the behavior of add_zero_assumption (#7631)
  • 6af61fa remove experiment
  • b502126 fix #7634
  • 24090fc move flush smc to first use
  • a626cd0 flush smc before use in model construction
  • 71b5e44 #7596 - flush smc before copy
  • 7a30223 fix #7630
  • d581dc1 #7630 propagate parameters on lazy tactics
  • 322e444 Fix conversion of signed 1-bit BV to FP
  • 792ffee fix latent sign bug
  • fe1fff3 add scaffolding for experiments with slack
  • 12ccf59 rename fields to compile on c++ platforms
  • e41acd7 convert m_r_upper and m_r_lower bounds to plain vectors
  • fae6094 consolidate some bounds references
  • f6fbeda fix #7629
  • 7641393 use inlined functions
  • 5cc57b8 coalesce updates to bounds
  • 579ba8b add power axioms to arith_solver
  • d73d104 remove overwriting x,y,rval
  • ff920ba handle root expressions, and checking exponentiation with nlsat
  • 2fe2735 Replace _DEBUG with Z3DEBUG (#7628)
  • a1673f2 fallback to Gomory cuts and gcd conflicts if dio fails
  • cc1bb0a remove superfluous makefile
  • 17cac7d provide shortcut to command-line version to retrieve parameters
  • 6e88d91 add badge for ocaml cmake
  • 3761dd8 address build warning with overloaded virtual operators
  • f7aec02 WIP: Migrating OCaml binding to CMake (#7254)
  • ab9f330 change the default of running dio to true, and running gcd to false, remove branching in dio
  • dbde713 remove testing code in is_big_term_on_no_term
  • 1131d52 fix a bug in tracking the changes in dio
  • d289495 allow gcd when dio ignores some terms
  • 17af18f make gcd call in dio optional
  • 436eefb always remove the tightened term
  • dc7185d change the name of m_changed_columns to m_changed_f_columns
  • 32e77d8 typo
  • cb1818f reject more terms with big numbers
  • 1cde40b dio_calls_period=4
  • 87e2ce8 Update lp_settings.h - m_dio_calls_period = 4
  • 59edb81 Update lp_settings.cpp
  • 8db9f52 add parameter m_dio_calls_period
  • ae97ee0 throttle dio
  • 972f801 throttle dio for big numbers
  • 3e49d9f reuse dio branch
  • e31e981 Add an option "ctrl_c" that can be used to disable Ctrl-C signal handling (#7619)
  • ed5dd26 remove non-working ts mcp server, settle with python variant
  • 741cb5c minimal z3 MCP server
  • f63c9e3 disable assignment for param_descrs
  • 3f73c8b stab at SMTLIB REL mcp server
  • 755f579 fix #7622
  • 81f1091 remove unused bdd based variable elimination
  • e41090d fix #7602
  • 8035edb remove lp_assert
  • 1510b31 fix build warnings
  • 5ad79f2 Add Iterators as acceptable arguments to functions (#7620)
  • 6ecc7a2 Fix a race condition in scoped_timer::finalize (#7618)
  • a83efa6 spacing
  • 8138829 fix #7616
  • d792840 Add Z3_is_recursive_datatype_sort to the API (#7615)
  • 14e2aad include LICENSE.txt in wheels (#7614) [ #7604 ]
  • 0b7a81b list[ExprRef] doesn't build for python
  • 2b60550 update agentz3 sample based on hugging face training/test data
  • e7ff600 #7605
  • a39efbb fix #7607
  • 9d8291a remove type annotation Context | None to ensure Centos ARM Build pass
  • f607331 type annotations across Python versions
  • bd2c7aa remove downlevel version incompatible elements of typing
  • 305f1e8 remove references to TypeGuard
  • a5048e4 add initial sample agent use case
  • 0a37194 fix #7609
  • 5e10fd3 add selected type annotations to python API
  • 26ab0de rename function
  • eb4e28d [z3.py] Fix incorrect call to _get_ctx in SeqMapI (#7610)
  • 8d81a2d Note that Z3_get_numeral_small is essentially redundant (#7599)
  • 63ad283 Add Z3_get_array_arity (#7598)
  • 934455a Remove vestiges of old ml api (#7597)
  • e4897ff replace Exists by ForAll in the mathematica lemmas
  • 39df899 enable shorterter mathematica printouts in nlsat
  • e86a918 turn on ite simplification by default
  • 8368094 fix indentation
  • 4fd6ba4 replace costly ite reduction by disjointnes check
  • 392bc16 optimize bool rewriter
  • 2971250 add option to rewrite ite value trees
  • e92ccdd change line breaks
  • 17bd02d change a comment
  • 8bbe752 remove dead code
  • 7e4a1f2 fix crash in elim_constr2
  • 93cf989 household chores - move to iterators
  • dee3cf8 remove an unused field
  • 9302a02 reintroduce m_var_register, and avoid modulo gcd in normalize conflicts
  • 9a62ed5 added some comments
  • c634701 formatting
  • f073da9 cleaning up the inner tightening code
  • 8c96178 avoid the variable mapping to m_ematrix and suppressing redundand constraints
  • 29c5c20 use more descriptive functions than casting comparisons
  • 7fb40e8 tidy
  • a41bd38 use pattern of matching with undef instead of matching with conflict to reduce assumptions on procedure contracts
  • 676a536 fix a print out
  • d507d0f attempt to use the gcd of fixed vars
  • f181e3a add comment on derivation of bound
  • dd19b38 detect more m_terms_to_tighten
  • 307af0f remove an unused field
  • fc1c8c4 add public access to bijection key_val iterator
  • 8b5510b nit
  • 7577f6f neatify loops
  • f091b6f remove 'unsat' move, we already have 'conflict'. Add display for cancelled
  • 1af2474 code review updates, tidy pretty printer for column info
  • 3202808 fix bug introduced while absstracting m_conflict_index
  • f3b34fd isolate m_conflict_index functionality
  • ff5ae4d add systematic way to combine lia_move results
  • 00277ba nits
  • 488c74d print also column values
  • 22cfab3 remove term sorting by the span
  • 12203fc sort terms by weight for tightening
  • 0a3c118...
Read more