Skip to content

Tags: samtalki/JuMP.jl

Tags

v1.0.0

Toggle v1.0.0's commit message
[Diff since v0.23.2](jump-dev/JuMP.jl@v0.23.2...v1.0.0)

**Closed issues:**
- Bug in vectorized constraints with `SparseAxisArrays` (jump-dev#2919)
- Consolidating logos and branding (jump-dev#2920)
- MOIPajarito (jump-dev#2927)
- Writing to NL file fails (jump-dev#2931)

**Merged pull requests:**
- Prep for v1.0 release (jump-dev#2925) (@odow)
- Add Penbmi in solver list (jump-dev#2926) (@blegat)
- [docs] remove previously supported solvers section (jump-dev#2928) (@odow)
- Fix bug in broadcasting SparseAxisArray (jump-dev#2929) (@odow)
- Fix write_to_file of NL files and bump MOI to v1.1.1 (jump-dev#2932) (@odow)

v0.23.2

Toggle v0.23.2's commit message
[Diff since v0.23.1](jump-dev/JuMP.jl@v0.23.1...v0.23.2)

**Closed issues:**
- It could be helpful to have the `MOI.RelativeGap(model)` reported in the `solution_summary` (jump-dev#2906)
- one NLP constraint has lower bound 0.0 and upper bound 0.0. (jump-dev#2909)
- NLP Interface Error Message with Registered Functions (jump-dev#2910)
- [docs] Update fixed solver compats (jump-dev#2913)

**Merged pull requests:**
- Check for ForwardDiff compatibility in register (jump-dev#2911) (@odow)
- [docs] Fix SCS compat (jump-dev#2912) (@odow)
- [docs] update to latest versions (jump-dev#2914) (@odow)
- Readd MAX-CUT rounding (jump-dev#2915) (@blegat)
- Fix scoping issue in user-defined Containers (jump-dev#2916) (@odow)
- Add checked autodiff for user-defined functions (jump-dev#2917) (@odow)
- Add RelativeGap to solution summary (jump-dev#2918) (@odow)
- [docs] tidy formatting of release notes (jump-dev#2921) (@odow)
- Convert test/nlp.jl to functional form (jump-dev#2922) (@odow)
- Prep for v0.23.2 (jump-dev#2923) (@odow)
- [docs] Add script to reproduce logos (jump-dev#2924) (@odow)

v0.23.1

Toggle v0.23.1's commit message
[Diff since v0.23.0](jump-dev/JuMP.jl@v0.23.0...v0.23.1)

**Closed issues:**
- Inconsistent Nonlinear Naming (jump-dev#2892)
- Rational infinite constraints do not work anymore (jump-dev#2894)

**Merged pull requests:**
- [docs] update roadmap for post v1.0 (jump-dev#2883) (@odow)
- Deprecate nl_expr_string and nl_constraint_string (jump-dev#2893) (@odow)
- Add complex and real affine expressions (jump-dev#2895) (@blegat)
- Fix variable bounds passed as Rational{Int}(Inf) (jump-dev#2896) (@odow)
- Fix printing of im coefficient (jump-dev#2897) (@blegat)
- Fix conj and implement real/imag (jump-dev#2899) (@blegat)
- Fix solution_summary with empty model (jump-dev#2900) (@odow)
- Fix jump_function with Complex coefficients (jump-dev#2901) (@blegat)
- Prep for v0.23.1 (jump-dev#2902) (@odow)
- Fixes for arithmetic with complex quadratic (jump-dev#2903) (@blegat)
- Add abs2 (jump-dev#2904) (@blegat)
- Fix Complex support in quadratic constraints (jump-dev#2905) (@blegat)

v0.23.0

Toggle v0.23.0's commit message
[Diff since v0.22.3](jump-dev/JuMP.jl@v0.22.3...v0.23.0)

**Closed issues:**
- Refactor print to using printing implemented for MOI backend (jump-dev#2814)
- Add function to set all start values for constraints and variables based on current solution (jump-dev#2836)
- [docs] Mention CasADi as an alternative to JuMP (jump-dev#2871)
- Expose NLPBlockDualStart (jump-dev#2875)
- [docs] update MILP examples to HiGHS (jump-dev#2878)
- Rename nl_ functions to nonlinear_ (jump-dev#2882)
- Symmetric vs SkewSymmetric Variables (jump-dev#2884)

**Merged pull requests:**
- Preliminary support for complex numbers (jump-dev#2391) (@blegat)
- [docs] improve section on constraint start values (jump-dev#2861) (@odow)
- [docs] fix typo in design patterns tutorial (jump-dev#2870) (@odow)
- [docs] add CasADi to Should I use JuMP? (jump-dev#2872) (@odow)
- Allow NaNMath 1.0 (jump-dev#2873) (@mlubin)
- [breaking] remove PrintMode instead of explicit MIME types (jump-dev#2874) (@odow)
- WIP: prep for v1.0 (jump-dev#2876) (@odow)
- Remove deprecated functionality (jump-dev#2877) (@odow)
- Add nl_dual_start_value (jump-dev#2879) (@odow)
- Fix bug in solution summary (jump-dev#2880) (@odow)
- [docs] switch from GLPK to HiGHS (jump-dev#2881) (@odow)
- [breaking] rename nl_ functions to nonlinear_ (jump-dev#2885) (@odow)
- [docs] clarify return type of SkewSymmetricMatrixSpace (jump-dev#2888) (@odow)
- [breaking] rename SymMatrixSpace to SymmetricMatrixSpace (jump-dev#2889) (@odow)
- Fix addition/substraction between variable and complex number (jump-dev#2890) (@blegat)
- Prep for v0.23 (jump-dev#2891) (@odow)

v0.22.3

Toggle v0.22.3's commit message
[Diff since v0.22.2](jump-dev/JuMP.jl@v0.22.2...v0.22.3)

**Closed issues:**
- Remove dirty flag (jump-dev#2797)
- User-defined (nonlinear) objective with vectorized variables (jump-dev#2854)
- Typo in RotatedSecondOrderCone docstring (jump-dev#2855)
- Debug TSP example on Julia 1.7 (jump-dev#2862)
- Benchmark (jump-dev#2864)
- Bug broadcasting an empty SparseAxisArray (jump-dev#2867)

**Merged pull requests:**
- [docs] Add introduction sections to tutorials (jump-dev#2850) (@odow)
- [docs] update cutting stock algorithm (jump-dev#2851) (@odow)
- [docs] Fix typo in TSP tutorial (jump-dev#2852) (@odow)
- [docs] Update Benders decomposition algorithm (jump-dev#2853) (@odow)
- Fix typo in docstring of `RotatedSecondOrderCone` (jump-dev#2856) (@sean-lo)
- [docs] fix start value in max_cut_sdp (jump-dev#2857) (@odow)
- Add warning and improve docs for modify-then-query (jump-dev#2858) (@odow)
- [docs] update to MOI v0.10.8 and bump SCS (jump-dev#2860) (@odow)
- Make Random seed more explicit (jump-dev#2863) (@jd-foster)
- Bump JuliaFormatter to v0.22.2 (jump-dev#2865) (@odow)
- Add Aqua.jl as a CI job (jump-dev#2866) (@odow)
- [Containers] fix broadcasting over empty SparseAxisArray (jump-dev#2868) (@odow)
- Prep for v0.22.3 (jump-dev#2869) (@odow)

v0.22.2

Toggle v0.22.2's commit message
[Diff since v0.22.1](jump-dev/JuMP.jl@v0.22.1...v0.22.2)

**Closed issues:**
- Problematic dirty flag change (jump-dev#2809)
- `operate!! not defined` error (jump-dev#2821)
- CartesianIndex as keys in a DenseAxisArray (jump-dev#2825)
- Error message copyin certain types with copy_model (jump-dev#2828)
- In: Contribute code to JuMP, talk about JuliaFormatter (jump-dev#2834)
- Implement set_start_value for constraint indices (jump-dev#2835)
- Make plural macros (e.g. @variables) return collections of the defined objects (jump-dev#2837)
- Unrecognized `min` and `max` NLP Functions  (jump-dev#2841)

**Merged pull requests:**
- Improve performance of GenericAffExpr (jump-dev#2750) (@odow)
- Update list of CI platforms (jump-dev#2816) (@odow)
- [docs] various style fixes (jump-dev#2818) (@odow)
- Move solution_summary to separate file (jump-dev#2819) (@odow)
- Refactor print.jl with no visible changes* (jump-dev#2820) (@odow)
- Rename printing of anonymous JuMP variables (jump-dev#2822) (@odow)
- [docs] add section on custom artifacts (jump-dev#2823) (@odow)
- [docs] explain how to use Preferences.jl for custom binaries (jump-dev#2824) (@odow)
- [docs] fix typo in custom solver binaries (jump-dev#2826) (@odow)
- [Containers] disallow CartesianIndex as a key for DenseAxisArray (jump-dev#2827) (@odow)
- Update compat for SpecialFunctions (jump-dev#2829) (@odow)
- [docs] add copy_extension_data in extensions.md (jump-dev#2830) (@odow)
- Add all_nl_constraints (jump-dev#2831) (@odow)
- [docs] Add a tutorial on querying the Hessian of a NLP (jump-dev#2832) (@odow)
- Create tsp_lazy_constraints (jump-dev#2833) (@danielschermer)
- Small change in Model documentation (jump-dev#2838) (@Ochibobo)
- Update diet.jl (jump-dev#2839) (@Ochibobo)
- Typo (jump-dev#2840) (@leotac)
- Fix min and max in NLP expressions (jump-dev#2842) (@odow)
- Documentation improvement: Some suggestions for making it, IMHO, somewhat more clear. (jump-dev#2843) (@ignace-computing)
- Pluralized macros return tuples (jump-dev#2844) (@MartinBonde)
- [docs] mention JuliaFormatter in contributing.md (jump-dev#2845) (@odow)
- [docs] Update docs to MOI v0.10.6 (jump-dev#2846) (@odow)
- Add start value for constraints (jump-dev#2847) (@odow)
- [docs] bump MathOptInterface to v0.10.7 (jump-dev#2848) (@odow)
- [docs] update release notes for v0.22.2 (jump-dev#2849) (@odow)

v0.22.1

Toggle v0.22.1's commit message
[Diff since v0.22.0](jump-dev/JuMP.jl@v0.22.0...v0.22.1)

**Closed issues:**
- LoadError after updating from version 0.21.10 to 0.22.0 (jump-dev#2799)
- Optimizer Attributes Not Standardized (jump-dev#2805)
- Export MOI.OptimizationSense (jump-dev#2807)
- define Base.isempty or is_empty for JuMP models (jump-dev#2810)

**Merged pull requests:**
- Remove release notes from PDF (jump-dev#2796) (@odow)
- Rewrite manual/variables.md (jump-dev#2798) (@odow)
- Fix bug in containers with tuple indices (jump-dev#2800) (@odow)
- Fix egregious typo in error message (jump-dev#2801) (@odow)
- [docs] rewrite manual/constraints.md (jump-dev#2802) (@odow)
- [docs] update Should I use JuMP (jump-dev#2803) (@odow)
- [docs] tidy and extend page on AMLs (jump-dev#2804) (@odow)
- Fix bug in set_time_limit_sec (jump-dev#2806) (@odow)
- Export OptimizationSense enum from MOI (jump-dev#2808) (@odow)
- adding Base.isempty(::Model) (jump-dev#2811) (@matbesancon)
- [docs] add design patterns tutorial (jump-dev#2812) (@odow)
- Prep for 0.22.1 release (jump-dev#2813) (@odow)

v0.22.0

Toggle v0.22.0's commit message
[Diff since v0.21.10](jump-dev/JuMP.jl@v0.21.10...v0.22.0)

**Closed issues:**
- Should we define zero(AffExpr) and one(AffExpr)? (jump-dev#1151)
- set constraint names from @constraint macro (jump-dev#1166)
- Precompile JuMP (jump-dev#1181)
- Performance regressions from v0.18 (jump-dev#1403)
- Bridges in Manual mode with solver not supporting default_copy_to (jump-dev#1627)
- Performance of small constraints (jump-dev#1654)
- Decide whether to export MOI. (jump-dev#1789)
- inequality syntax for set constraints (jump-dev#1798)
- Exported functions with no doc (jump-dev#1825)
- Generate a PDF version of the docs (jump-dev#1881)
- Cannot retrieve vector created with string name (jump-dev#1895)
- Optimize time to add constraints JuMP 0.19.0 (jump-dev#1905)
- provide function which composes names (jump-dev#1936)
- Error message for anonymous variables (jump-dev#1938)
- Macros should use add_variables & add_constraints rather than singular methods (jump-dev#1939)
- [Needs MOI 0.9.21] AffExpr in ZeroOne does not work (jump-dev#1943)
- Better error messages for vector variable bounds (jump-dev#2056)
- SparseAxisArray does not implement size (jump-dev#2117)
- Better error message for sparse RHS terms in vector constraints (jump-dev#2162)
- Print constraints/variables in set form instead of scalarized (jump-dev#2171)
- Remove variable_type (jump-dev#2174)
- Feature request: reuse a variable name in `@variable` on non-overlapping indices (jump-dev#2200)
- Clean up and document parse_constraint (jump-dev#2236)
- Custom attributes not queried correctly with caching optimizer (jump-dev#2587)
- `parse_one_operator_constraint`: clash with `parse_ternary_constraint` when there are four arguments (jump-dev#2246)
- Address invalidations to speed up compile time (jump-dev#2273)
- Sparse array addition with diagonal is dense (jump-dev#2309)
- Subtle trap with semicolon syntax (jump-dev#2318)
- [Feature Request] Error Function Keyword Argument for Macros (jump-dev#2333)
- Container with a dictionary as the dimension (jump-dev#2424)
- JuMP v0.18.6 doesn't compile in Julia v1.6 (jump-dev#2438)
- Fix TODOs in print.jl (jump-dev#2446)
- sum comparison parses wrongly without error (jump-dev#2461)
- Document extensions (jump-dev#2485)
- Support anonymous NL parameters (jump-dev#2510)
- Do not add infinite bounds (jump-dev#2634)
- Feasibility checker with function (jump-dev#2526)
- Ordering of function arguments (jump-dev#2539)
- Error on modify-then-query (jump-dev#2566)
- Improve error when singular macro used instead of plural (jump-dev#2582)
- Disallow multiple positional arguments in the `@variable` macro (jump-dev#2583)
- Improve error for Interval constraints with non-constant set (jump-dev#2599)
- Public API for Building Containers in Macros (jump-dev#2604)
- Auto-register is incorrect when splatting (jump-dev#2609)
- Unhelpful error message for `@NLparameter` (jump-dev#2620)
- Error message improvement for value(Array of NLexpression) (jump-dev#2635)
- Rename `.m` field of some structs (jump-dev#2636)
- Document callback gotchas (jump-dev#2642)
- Add `name` keyword to macros (jump-dev#2643)
- Constructor of Array with DenseAxisArray (jump-dev#2644)
- Names lost from model when read from file (jump-dev#2647)
- copy conflict fails when model has parameters (jump-dev#2649)
- Surprising argument ordering in macros (jump-dev#2651)
- Model that builds in v0.21.8 errors in v0.21.9 with "constraints are not supported" (jump-dev#2654)
- Do not set names if the solver does not support it (jump-dev#2655)
- Write a tutorial solving parametric problems (jump-dev#2663)
- Documentation improvements (jump-dev#2675)
- Stop returning MA.Zero() from expressions (jump-dev#2677)
- Implement owner_model for expressions (jump-dev#2678)
- set_dual_start_value() error (jump-dev#2679)
- Improve error message of unsupported constraints (jump-dev#2680)
- Large SparseAxisArrays get stuck on `show` (jump-dev#2683)
- Bug using "/" before the variable in @variable macro (jump-dev#2692)
- Error thrown when pushing a DenseAxisArray into a set (jump-dev#2696)
- erronerous output in solution_summary (Barrier/Simplex iterations) (jump-dev#2697)
- Usage Question (jump-dev#2715)
- gh-pages branch can get big with `push_preview=true` (jump-dev#2721)
- Size of `gh-pages` branch (jump-dev#2727)
- Copy in Array constructor from DenseAxisArray (jump-dev#2766)
- Follow bang convention (jump-dev#2767)
- Make delete, is_valid and set_objective_coefficient consistent with other methods (jump-dev#2769)
- Add get/set_variable/constraint_attribute (jump-dev#2770)
- Should SparseAxisArray <: AbstractArray? (jump-dev#2783)
- Fix DiffRules compat (jump-dev#2793)

**Merged pull requests:**
- Fix bug broadcasting constraints with sparse terms (jump-dev#2558) (@odow)
- [breaking] Ignore infinite variable bounds (jump-dev#2618) (@odow)
- Add vector of scalar variables with `in` syntax (jump-dev#2657) (@joaquimg)
- Style guide: `using Foo: Foo` is an acceptable substitute for `import Foo` (jump-dev#2682) (@DilumAluthge)
- Add MadNLP.jl to suppported solvers (jump-dev#2684) (@sshin23)
- Improve error message of unsupported constraints (jump-dev#2685) (@odow)
- Fix performance of show on SparseAxisArray (jump-dev#2686) (@odow)
- [docs] Clarify read_from_file does not register names (jump-dev#2687) (@odow)
- [docs] Clarify callback gotchas (jump-dev#2688) (@odow)
- [Containers] add Array constructor for DenseAxisArray (jump-dev#2689) (@odow)
- Make NonlinearExpression <: AbstractJuMPScalar (jump-dev#2690) (@odow)
- Move release notes to documentation (jump-dev#2691) (@odow)
- [docs] update build to Julia 1.6 (jump-dev#2693) (@odow)
- [breaking] remove deprecated LP sensitivity (jump-dev#2694) (@odow)
- [breaking] update to MOI v0.10 (jump-dev#2695) (@odow)
- Fix barrier/simplex iteration swap in summary (jump-dev#2698) (@blegat)
- [breaking] rename .m field of some structs to .model (jump-dev#2699) (@odow)
- [docs] Fix invalid local links (jump-dev#2700) (@odow)
- [breaking] make ::Function first argument of value (jump-dev#2701) (@odow)
- Remove variable_type and constraint_type (jump-dev#2702) (@odow)
- Fix deprecation of VectorQuadraticFunction (jump-dev#2703) (@odow)
- Do not set Name attributes if unsupported (jump-dev#2704) (@odow)
- Only shift constant if supported (jump-dev#2705) (@odow)
- Warn when copying unknown extension data (jump-dev#2706) (@odow)
- [Containers] Implement Base.hash (jump-dev#2707) (@odow)
- Throw better error for singular macros (jump-dev#2708) (@odow)
- [breaking] Reset model to OPTIMIZE_NOT_CALLED if model is modified after optimize (jump-dev#2709) (@odow)
- Add primal_feasibility_report(::Function (jump-dev#2710) (@odow)
- Improve error for non-constant Interval constraints (jump-dev#2712) (@odow)
- [Containers] convert axes to AbstractVector in DenseAxisArray (jump-dev#2713) (@odow)
- Clarify documentation of build_variable (jump-dev#2714) (@odow)
- [docs] Document zero and one gotchas for expressions (jump-dev#2716) (@odow)
- Clean up NLparameter macro and improve tests (jump-dev#2718) (@odow)
- [breaking] Add anonymous NLparameters and registered named parameters (jump-dev#2719) (@odow)
- [docs] Clarify user-defined containers (jump-dev#2720) (@odow)
- Refactor test/macros.jl into functional form (jump-dev#2722) (@odow)
- Add proper benchmarking scripts (jump-dev#2723) (@odow)
- Doc cleanup workflow (jump-dev#2724) (@guilhermebodin)
- Add better error messages for vectors passed as variable bounds (jump-dev#2725) (@odow)
- [docs] add examples to extension documentation (jump-dev#2726) (@odow)
- Improve error message for invalidly named containers (jump-dev#2728) (@odow)
- Add error message for variable comparison with number (jump-dev#2729) (@odow)
- Warn if DenseAxisArray is passed Number as axis (jump-dev#2730) (@odow)
- [breaking] Make moi_xxx functions private (jump-dev#2731) (@odow)
- [breaking] Deprecate SDconstraint and add new syntax for PSDCone constraints (jump-dev#2732) (@odow)
- Add set inequality syntax for any set (jump-dev#2733) (@odow)
- Don't return MA.Zero from expressions (jump-dev#2734) (@odow)
- [breaking] refactor the parse_constraint methods (jump-dev#2736) (@odow)
- Fixing a missed case in the OR logic in tips_and_tricks.jl (jump-dev#2737) (@jlwether)
- [docs] Improve documentation for name and set_name (jump-dev#2738) (@odow)
- Set names for anonymous constraints (jump-dev#2739) (@odow)
- Add a test for reordering kwargs in macros (jump-dev#2740) (@odow)
- Add fallbacks for == 0 of expressions (jump-dev#2741) (@odow)
- [docs] Clarify usage of set_optimizer and add docs for relax_integrality (jump-dev#2742) (@odow)
- [docs] move contributing guide to docs and expand (jump-dev#2743) (@odow)
- [breaking] remove unused Containers.generate_container (jump-dev#2744) (@odow)
- [docs] variety of minor changes (jump-dev#2745) (@odow)
- [Containers] cleanup and document the macro API (jump-dev#2746) (@odow)
- [docs] better clarify variable bound on LHS error (jump-dev#2747) (@odow)
- Style improvements to aff_expr.jl (jump-dev#2749) (@odow)
- [Containers] document nested and vectorized_product (jump-dev#2751) (@odow)
- Fix TODO items in print.jl (jump-dev#2752) (@odow)
- Fix incorrect auto register of splats (jump-dev#2753) (@odow)
- Relax type restriction in _parse_ref_sets (jump-dev#2754) (@odow)
- [docs] improve extensions.md (jump-dev#2755) (@odow)
- [breaking] Make moi_backend a concrete type and remove MANUAL mode (jump-dev#2756) (@odow)
- [docs] Various improvements to getting started tutorials (jump-dev#2757) (@odow)
- Work-around bug in MutableArithmetics (jump-dev#2758) (@odow)
- [docs] revise and improve power_systems tutorial (jump-dev#2759) (@odow)
- Build docs as a PDF (jump-dev#2760) (@odow)
- [docs] reorganization of tutorials (jump-dev#2761) (@odow)
- [Containers] maintenance of SparseAxisArray.jl (jump-dev#2762) (@odow)
- [docs] Various minor changes to the docs (jump-dev#2763) (@odow)
- Add release notes for 0.22 (jump-dev#2764) (@odow)
- Improve docstring links for xxx_status (jump-dev#2765) (@odow)
- [Containers] make Array copy the data (jump-dev#2768) (@odow)
- [docs] Use local image for space shuttle example (jump-dev#2771) (@odow)
- [docs] tweak intro docs and expand installation (jump-dev#2772) (@odow)
- [docs] edit the getting started tutorials (jump-dev#2773) (@odow)
- [Containers] throw nice error for size(::SparseAxisArray) (jump-dev#2774) (@odow)
- [docs] revise diet tutorial (jump-dev#2775) (@odow)
- [docs] revise cannery tutorial (jump-dev#2776) (@odow)
- [docs] revise diet tutorial II (jump-dev#2777) (@odow)
- [docs] add sets and indexing tutorial (jump-dev#2778) (@odow)
- [docs] update footer link to source files (jump-dev#2779) (@odow)
- Update to MOI 0.10.4 (jump-dev#2780) (@odow)
- [docs] fix admonition in callbacks.md (jump-dev#2781) (@odow)
- Export Result and Termination status codes (jump-dev#2782) (@odow)
- [docs] edit models.jl (jump-dev#2785) (@odow)
- [docs] Clarify MOI symbol imports (jump-dev#2787) (@odow)
- Update release_notes.md (jump-dev#2789) (@odow)
- Prep for v0.22 release (jump-dev#2790) (@odow)
- [docs] General edit for common tics (jump-dev#2791) (@odow)
- Temporarily limit DiffRules.jl compat (jump-dev#2792) (@odow)
- Revert PR2792 (jump-dev#2795) (@odow)

v0.21.10

Toggle v0.21.10's commit message
[Diff since v0.21.9](jump-dev/JuMP.jl@v0.21.9...v0.21.10)

**Closed issues:**
- Migrate JuMPTutorials (jump-dev#2483)
- Add add_NL_expression function (jump-dev#2506)
- Throw better error in lp_sensitivity_report (jump-dev#2569)
- Unhelpful error message for affine and quadratic expression combination (jump-dev#2622)
- Bugs in solution summary when results not available (jump-dev#2648)
- Errors when running JuMP examples from documentation (ERROR: LoadError: UndefVarError: optimize! not defined) (jump-dev#2656)
- Run JuliaFormatter on tutorials (jump-dev#2659)
- Defining a problem when an analytical expression exists for the Jacobian (jump-dev#2670)
- Extend Raw NLP Expr Input to Allow AffExprs and QuadExprs (jump-dev#2671)
- Format failing on master (jump-dev#2673)

**Merged pull requests:**
- [docs] clarify when to use Symbols and Strings (jump-dev#2646) (@odow)
- [docs] add example of how to evaluate objective function at a point (jump-dev#2650) (@jd-foster)
- Add facility location tutorial (jump-dev#2658) (@joaquimg)
- Format /docs folder (jump-dev#2660) (@odow)
- Add _get_try and fallbacks for some elements of solution summary (jump-dev#2661) (@AtsushiSakai)
- Add a fallback for getting constraint basis status in `lp_sensitivity_report` (jump-dev#2664) (@AtsushiSakai)
- nothing comparison improvement in DenseAxisArray.jl (jump-dev#2665) (@AtsushiSakai)
- Fix bug in relax_integrality (jump-dev#2666) (@odow)
- [docs] Some solvers do not support start values (jump-dev#2667) (@odow)
- README improvements (jump-dev#2668) (@joaquimg)
- Update readme - follow rename on Discourse post (jump-dev#2669) (@joaquimg)
- Improved Raw Expression NLP API (jump-dev#2672) (@pulsipher)
- Attempt to fix formatting CI (jump-dev#2674) (@odow)
- Revert Tokenize version fix (jump-dev#2676) (@odow)
- Prep for 0.21.10 (jump-dev#2681) (@odow)

v0.21.9

Toggle v0.21.9's commit message
[Diff since v0.21.8](jump-dev/JuMP.jl@v0.21.8...v0.21.9)

**Closed issues:**
- Should SparseAxisArray be an AbstractDict? (jump-dev#2176)
- Certain base functions on JuMP constraints not implemented for NLconstraints. (jump-dev#2355)
- Replace Containers with an external package (jump-dev#2523)
- Support Containers in `VectorConstraints` (jump-dev#2563)
- Add a function to get inner-most optimizer (jump-dev#2565)
- Discuss start-up latency in performance tips (jump-dev#2577)
- Logo thoughts (jump-dev#2581)
- Document solver-dependent callbacks (jump-dev#2588)
- Document that delete does not call unregister (jump-dev#2589)
- Better document SOS1 and SOS2 (jump-dev#2591)
- Pluralisation of @NLparameters (jump-dev#2593)
- Enhance Usability of Variable(s)ConstrainedOnCreation for Extensions (jump-dev#2594)
- Add an `@register` macro (jump-dev#2606)
- Documentation is broken (jump-dev#2607)
- Type-stability of add_constraint (jump-dev#2611)
- doctest failure on v1.7 (jump-dev#2623)
- stable printing for SparseAxisArray.jl (jump-dev#2624)
- Affine expressions are slow (jump-dev#2628)
- objective_value(model) returns the wrong objective function evaluation (jump-dev#2637)
- User-defined gradients need to accept AbstractVector (jump-dev#2638)
- Dual value computation / convention? (jump-dev#2640)

**Merged pull requests:**
- Allow overloading of container types (jump-dev#2570) (@odow)
- Add unsafe_backend (jump-dev#2572) (@odow)
- Update the JuMP logo to match modern Julia (jump-dev#2584) (@odow)
- Add support for Containers in VectorConstraints (jump-dev#2590) (@c-jg)
- added support for is_valid for nonlinear constraints (jump-dev#2592) (@hdavid16)
- Generalize build_variable for Variable(s)ConstrainedOnCreation (jump-dev#2595) (@pulsipher)
- Tweak logo (jump-dev#2596) (@cormullion)
- Update status reporting in rocket notebook (jump-dev#2597) (@blegat)
- Fix misplaced backstick in solution doc (jump-dev#2598) (@blegat)
- Simplify documentation for SOS (jump-dev#2600) (@odow)
- Clarify that delete does not call unregister (jump-dev#2601) (@odow)
- Mention solver-dependent callbacks (jump-dev#2602) (@odow)
- Mention latency in performance tips (jump-dev#2603) (@odow)
- Example: how to list conflicting constraints (jump-dev#2605) (@jd-foster)
- Fix documentation by adding ndims(::AbstractJuMPScalar) (jump-dev#2608) (@odow)
- Fix inference in add_constraint (jump-dev#2612) (@odow)
- [docs] Minor edit to index.md (jump-dev#2613) (@Carl-Ning-Yan)
- OptimizerWithAttributes direct model constructor (jump-dev#2614) (@jd-lara)
- Use unsafe_backend in various places (jump-dev#2615) (@odow)
- Rename backend variables to moi_backend (jump-dev#2616) (@odow)
- fix typo (jump-dev#2617) (@jiweiqi)
- Add Pluralization of @NLparameters (jump-dev#2593) (jump-dev#2619) (@Pramodh-G)
- Fix map for DenseAxisArray with OneTo axes (jump-dev#2621) (@blegat)
- Fix logo link in README (jump-dev#2625) (@odow)
- Fix printing on v.17 (jump-dev#2626) (@odow)
- Update printing of SparseAxisArray (jump-dev#2630) (@odow)
- Apply the OutdatedWarning from DocumenterTools (jump-dev#2631) (@odow)
- Update to documenter 0.27 (jump-dev#2632) (@odow)
- Revert 6a96210 for v0.21.8 (jump-dev#2633) (@odow)
- Clarify the documentation on user-defined gradients (jump-dev#2639) (@odow)
- [docs] suggest fix over a new constraint (jump-dev#2645) (@odow)
- Missing parenthesis in docs. (jump-dev#2652) (@dourouc05)
- Prep for 0.21.9 (jump-dev#2653) (@odow)