GAP.jl 0.7.0 released
08 Oct 2021We are pleased to announce the release of GAP.jl 0.7.0, a major update to the GAP.jl package which provides full bidirectional access to the GAP computer algebra system from the Julia language and vice-versa.
It contains the following breaking changes compared to the 0.6.x release:
- Require Julia 1.6 or later.
- Remove
LoadPackageAndExposeGlobals. If you are using this, see https://github.com/oscar-system/GAP.jl/pull/696 for alternatives. - Remove all
convertmethods. If you were usingconvert(GapObj, val), you can useGapObj(val)orjulia_to_gap(val)instead. If you were usingconvert(T,gapobj), useT(gapobj)orjulia_to_gap(gapobj)instead. - Remove
GAP.gap_exe(). Instead please useGAP.create_gap_sh(path). - Remove GAP function
IsArgumentForJuliaFunction. No replacement should be necessary. - Remove GAP function
ImportJuliaModuleIntoGAP. As a replacement, useJuliaEvalString("import MODULENAME"). - Restrict
GapObjconstructor by adding a return type annotation that ensures only values of typeGapObjare returned. If you relied on this also returningInt,BoolorFFE, please use theGAP.Objconstructor instead. If you relied on also Julia objects being returned, you should probably revise your code; but if you determine that you still really really have to do this, you can by usingjulia_to_gap.
Other changes:
- Add
GapInttype union - Patch the GAP package manager to perform downloads via Julia’s
Downloads.downloadto avoid certain failure scenarios - Add
@wrapmacro as an alternative to@gapwrapfor certain use cases. - Don’t show the GAP banner if Julia is started with the
--quietflag - Call the GAP AtExit handler when exiting Julia, so that e.g. the command line history is saved (if the user enabled this in their preferences) or temporary directories are removed.
- Many internal changes and refactoring
For more details, please consult the GAP.jl 0.7.0 release page.