Skip to content

Register v47.1.4 #16

Description

@AdamFDC

@JuliaRegistrator register
Release notes:

  • Added MOI.SolverVersion to the JuMP / MOI interface. It reports the version
    of the Xpress library actually loaded at runtime (via
    XPRSgetversionnumbers), which may differ from the version the bindings were
    built against, as a major.minor.build string.
  • Added MOI.ListOfConstraintTypesPresent to the JuMP / MOI interface. It
    reports each (F, S) constraint-type tuple currently present in the model
    exactly once.
  • Added MOI.ObjectiveFunctionType to the JuMP / MOI interface. It reports the
    type of the objective function currently set (MOI.VariableIndex,
    MOI.ScalarAffineFunction, MOI.ScalarQuadraticFunction, or
    MOI.VectorOfVariables), defaulting to MOI.ScalarAffineFunction when no
    objective has been set.
  • Fixed the low-level wrapper for deferred-reference (dref) output-array
    functions such as XPRSgetqrowqmatrixtriplets when called with
    pre-allocated arrays (or nothing). The generated code previously skipped
    the C call on that path, returning the untouched input arrays and a size of
    0; it now issues the call and returns the correct data and size.
  • Hardened the generated bindings against a garbage-collection use-after-free
    that could corrupt the heap (observed as intermittent access violations on
    Windows). String output buffers are now kept alive with GC.@preserve
    across the unsafe_string(pointer(...)) conversion, and callbacks are rooted
    in the problem's callback list before being registered with the C library.
  • Reported callback support accurately: MOI.supports now returns true only
    for MOI.UserCutCallback (the one implemented callback) and false for
    MOI.LazyConstraintCallback and MOI.HeuristicCallback, instead of a
    blanket true that made JuMP offer callbacks that then failed at runtime.
    The feature docs were corrected to match.
  • Cleaned up the generated low-level wrapper following upstream review
    feedback: module globals are now const or concretely typed (avoiding the
    untyped-global performance penalty); Libdl/SparseArrays are brought in
    with import and referenced qualified; the broken default argument on
    Base.showerror was removed; and redundant global/export statements
    were dropped (all XPRS-prefixed symbols are exported by a single loop).
  • Fixed the SparseMatrixCSC overload of XPRSaddcols, which passed a
    malformed map.nzval instead of the matrix's non-zero values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions