Skip to content

Releases: oscar-system/GAP.jl

v0.6.1

19 Aug 21:47
Compare
Choose a tag to compare

GAP v0.6.1

Diff since v0.6.0

Closed issues:

  • julia_to_gap handles vectors of Ints differently (#315)
  • refactor gap_to_julia (#319)
  • problem to load GAP's Browse package (#456)
  • Suppress output of GAP.Packages.install if package is already installed? (#476)
  • Investigate failure to install (?) Pkg with Julia nightly in CI (#655)
  • Add tests for @gapattribute (#679)

Merged pull requests:

  • do not show messages in Packages.load ... (#676) (@ThomasBreuer)
  • regenerate_gaproot: remove Pkg.resolve (#677) (@benlorenz)
  • Move code generating gap.sh into its own function (#678) (@fingolfin)
  • Ensure @gapwrap / @gapattribute preserve line numbers, and some refactoring (#682) (@fingolfin)
  • Fix ImportJuliaModuleIntoGAP if there is no global GAP (#684) (@fingolfin)

v0.6.0

28 Jul 09:59
Compare
Choose a tag to compare

GAP v0.6.0

Diff since v0.5.2

Highlights:

  • Update from GAP 4.11.0 to a prerelease of 4.12, which brings many improvements
  • Add support for macOS on Apple M1
  • Add support for Julia 1.7
  • Add macros @gapattribute and @gapwrap
  • Revise handling of GAP errors, fixing many bugs related to that
  • Add support for using Julia's random sources in GAP, and vice versa

Closed issues:

  • Rename Julia function NewJuliaFunc (#330)
  • GAP.Globals.Display once a GAP error has occured (#516)
  • Automatically convert Julia strings into GAP strings (#523)
  • side-effect of error traceback (#528)
  • Idea: use Clang_jll to build GAP packages (#558)
  • Refactor GAP kernel initialization (#591)
  • Document how to override GAP_jll, provide a script (#592)
  • More GAP error handling issues (#597)
  • Document how to update GAP_jll etc. (#618)
  • How to get on the Julia side a GAP object wrapping a Julia function? (#629)
  • ConfluentMonoidPresentationForGroup (#639)
  • problem with error handling (and related current test failures with Julia nightly) (#641)
  • Broken on recent master (#646)
  • Find a way so that Julia prints GapObj as GAP.GapObj not as GAP_jll.MPtr (#660)
  • Error in 0.6.0-DEV when used with Oscar (#662)
  • Crash doing GAP.Globals.Display( GAP.evalstr( "10^150" ) ) (#663)
  • Crash when loading GAP_jll with Julia debug versions (#664)
  • Crash when running the test suite twice (#666)
  • Compile fail in Julia 1.7.0-beta3 Apple M1 (#673)

Merged pull requests:

v0.5.2

14 Feb 11:00
Compare
Choose a tag to compare

GAP v0.5.2

Diff since v0.5.1

Summary of changes

From the user's point of view, the main changes in this release are better documentation and better error handling.

Closed issues:

  • Document ForeignGAP.MPtr (#471)
  • Find a way to merge GapObj / MPtr after all, or at least mitigate the performance penalty introduced by their split (#488)
  • Feature request: add more Julia conversion constructors, e.g. for Set (#529)
  • problem with handling of GAP errors (#580)
  • Avoid .tar.bz2 artifact (#589)
  • Add error message for Windows users (#612)
  • Make things work if julia-config.jl is missing (#623)

Merged pull requests:

archive-tag

13 Feb 01:49
Compare
Choose a tag to compare
Create dummy 'archive' branch

v0.5.1

07 Jan 00:25
Compare
Choose a tag to compare

GAP v0.5.1

Diff since v0.5.0

Summary of changes

This release mainly improved the CI (doctests, code coverage).

Closed issues:

  • inconsistent handling of null characters in strings in GAP and Julia (#527)
  • Add force=true option to GAP.Packages.install and GAP.Packages.remove? (#567)
  • Release GAP.jl 0.5.0 (#578)
  • Fix Coveralls reporting (#581)
  • Compilation errors with JuliaInterface (#585)
  • Can't install io package (#587)
  • Calling GapObj on Tuples yields Arrays (#596)
  • Downloading gap artifact generates 404 (#598)
  • Fix doctests failures due to whitespace changes in Julia nightly (#601)

Merged pull requests:

v0.5.0

11 Dec 21:29
Compare
Choose a tag to compare

GAP v0.5.0

Diff since v0.4.4

Summary of changes

From the user's viewpoint, this release mainly provides better support for Julia's constructors (compared to the function gap_to_julia),
and iteration for GP lists.
From a technical viewpoint, the most important changes are that now GAP_jll is used, and that GitHub Actions are used instead of Travis.

Closed issues:

  • Naming conventions: JuliaGetGlobalVariable vs. JuliaFunction (#175)
  • Add support for converting Julia Byte Array Literals / Base.CodeUnits to/from GAP strings (#177)
  • Add possibility to add custom GAP packages (#246)
  • GAP crash when loading JuliaInterface in a Jupyter notebook with GAP 4 kernel (#282)
  • GAP's -r option and Julia's .julia/config/startup.jl (#284)
  • Feature request: Use BinaryBuilder for GAP.jl (#285)
  • Iteration protocol for GAP lists? (#345)
  • problem with JuliaBindCFunction in JuliaInterface (#349)
  • Optimization: reimplement C function call_gap_func in pure Julia (#360)
  • Idea: better handling of compiled packages (#407)
  • GAP.Packages.install now broken because of different build directory (#408)
  • problem with import statements in files loaded via JuliaIncludeFile (#419)
  • detect whether JuliaInterface (and GAP.jl) fit to a running GAP (#433)
  • installation problem for version 0.3.5 (#447)
  • a change due to GAP.prompt() (#461)
  • GAP.prompt() broken in ubuntu docker container (#465)
  • Better EvalString error (#474)
  • macros: bug or feature? (#517)
  • ordering of initialization steps (#518)
  • Error thrown by GAP: Error, DivideError: integer division error (#519)
  • Fix convert(GapObj, big(2)^100) (#531)
  • during build: LoadError: could not load library "libjulia" (#533)
  • Regression through commit fix conversion of strings containing null characters (#545)
  • Migrate from Travis to GitHub Actions (#552)
  • Assertion on upcoming 1.6 when running tests (#560)
  • Restore coverage reporting for GAP code (#571)

Merged pull requests:

v0.4.4

06 Sep 17:03
Compare
Choose a tag to compare

GAP v0.4.4

Diff since v0.4.3

Closed issues:

  • problem to load GAP.jl 0.4.3 in Julia 1.3.1 (#509)
  • InitError: ccall: could not find function GAP_EvalString (#511)

Merged pull requests:

v0.4.3

04 Aug 17:03
Compare
Choose a tag to compare

GAP v0.4.3

Diff since v0.4.1

Summary of changes

The main achievements of this release are performance improvements.

Closed issues:

  • Rename EvalString to something more Julia like (#473)
  • Allow julia_to_gap(x; recursive=true) (#475)
  • provide convert methods for GAP to Julia conversion, parallel to constructor methods (#482)
  • doctest fail with Julia 1.6? (#484)
  • Reduce the overhead for GAP symbol lookup via GAP.Globals.NAME (#485)
  • Reduce overhead for calls from Julia to GAP (#486)
  • Tab completion on GAP.Globals.FOOBAR could be faster (#489)
  • Error thrown by GAP: Error, PackageManager: InstallPackage: must be a string (#499)

Merged pull requests:

v0.4.1

21 May 01:01
Compare
Choose a tag to compare

GAP v0.4.1

Diff since v0.4.0

Closed issues:

  • REPL editing broken in $(julia -e 'import GAP; print(GAP.gap_exe())') (#415)
  • Release without LinearAlgebra dependency (#432)
  • Travis: compiling profiling package fails due to missing autoconf (#452)
  • GAP.Globals.Display vs GAP.Display (#457)
  • GAP.prompt() changes the behavior of julia even after quitting (#458)
  • building GAP.jl fails in a docker container running ubuntu:latest (#462)
  • GAP.Packages.install( "ferret" ) on GAP.jl#master displays an error message but succeeds to compile (#470)

Merged pull requests:

v0.4.0

13 May 13:02
Compare
Choose a tag to compare

GAP v0.4.0

The following changes are in GAP 0.4.0:

  • Add GAP.prompt() function which gives a GAP prompt inside Julia
  • Add support for Julia keyword arguments on the GAP side
  • Overload the Julia 'in' operator for GAP objects
  • Add conversion constructors for various Julia types, to allow for more
    idiomatic Julia code accessing GAP objects
  • Improve GAP <-> Julia conversion
  • Show the GAP banner again by default, unless we are being loaded from Oscar.jl
  • Switch to Julia "artifact" system for downloading the GAP sources,
    which can save time and disk space when rebuilding or reinstalling GAP.jl
  • Complete overhaul of the build process for GAP, making it more robust
  • Ensure that we link against the same GMP and readline as other components of
    OSCAR do
  • Remove the implicit dependency on LinearAlgebra.jl
  • Fix a bunch of minor bugs
  • Various janitorial changes

Diff since v0.3.5

Closed issues:

  • What are the rules for conversion when calling from GAP to Julia, and vice versa? And why are they this way? (#28)
  • Strings which are not stringreps are not handled by show method and probably others (#176)
  • Get GAP to use the same GMP as Julia, Nemo, ... (#254)
  • Add ~/.julia/gap.sh back or revise OSCAR install instructions (#335)
  • Installing GAP.jl simultaneously within multiple Julia versions may crash (#377)
  • Implement support for passing keyword arguments to Julia from the GAP side (#381)
  • JuliaExperimental depends (via zlattice.jl) on LinearAlgebra (#389)
  • access to Julia variables from GAP (#390)
  • Loading GAP.jl then Singular.jl causes ERROR: InitError: too many gmp (#392)
  • Move GAP compilation to a separate GAPBuilder.jl, even if it compiles from source (#394)
  • Update build.jl to guard for exceptions (#395)
  • Track hash of GAP tarball, avoid extra downloads (#396)
  • Acknowledge DFG funding in the package README & manual (#405)
  • autom4te: cannot open configure: Permission denied (#406)
  • Add constructors for conversion from GAP to Julia (#428)
  • Don't call Pkg.build("GAP") (#435)
  • Travis: figure out if caching Julia artifacts makes sense (i.e. provides a speedup), and how to do it safely (#437)
  • How to get sublists of a GAP list? (#438)
  • JuliaToGAP cannot convert Julia ranges to GAP lists (#439)

Merged pull requests: