Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

Changelog

Guillaume Piolat edited this page Mar 12, 2021 · 28 revisions

What's new in GFM in 2021:

GFM will not receive updates anymore. You are welcome to fork it, use version 8, use dplug:math or gfmv7 package instead.

What's new in GFM version 8:

GFM has been broken down to its more popular components.

Very breaking changes:

  • Removed gfm:sdl2
  • Removed gfm:assimp
  • Removed gfm:freeimage
  • Removed gfm:core
  • Removed gfm:opengl
  • Remove vector types which are rarely used and were deprecated at v7. This speed-up build times of gfm:math a lot

The only surviving subpackages are gfm:math and gfm:integers. You will probably find something equivalent in the D ecosystem. I don't have the time to maintain that code anymore. You can maintain it yourself, or stay at GFM v7.

What's new in GFM version 7:

Breaking changes:

  • Every wrapper updated to latest derelict-util v3. This restablish compatibility with other Derelict wrapper which may have switched.
  • Not possible anymore to setup OpenGL versions: the default of DerelictGL3 is used. No deprecated OpenGL functions are used or made available anymore. The requirements of the latest DerelictGL3 with regards to OpenGL versions are unknown. gfm.opengl.OpenGL.reload() changed signature to signal this lack of choice.

Please reevaluate if you really want to use gfm:opengl.

What's new in GFM version 6:

Breaking changes:

  • the package gfm:image has been removed and merged into dplug:gui package. You can use imageformats directly or copy/paste stb_truetype.d in your project if this is a problem.

  • gfm.integers.rational module is gone. Use this package instead: http://code.dlang.org/packages/rationald

  • LockedQueue has moved to the package dplug:core to become @nogc.

GFM continues to be less and less useful and serve fewer use cases ;)

What's new in GFM version 5:

Breaking changes:

  • gfm:net and gfm:enet subpackages have been removed. It turns out nobody was using them. If you need them, stay at ~>4.0.

What's new in GFM version 4:

Breaking changes:

  • dropped support for compilers with < 2.067 frontend. GDC is unsupported until it reaches 2.067.
  • gfm:math has been split in two packages. All things rather useless were put into a gfm:integers package which contains:
    • half floating-point numbers in gfm.integers.half
    • wide integers in gfm.integers.wideint
    • fixed-point numbers in gfm.integers.fixedpoint
    • rational numbers in gfm.integers.rational
  • gfm:image now depends on imageformats version 5. This shouldn't affect your code at all.
  • all deprecated aliases and functions gone. The close() function are gone for real.
  • no more dependency on the logger package. From now on only std.experimental.logger is used.
  • no more predefined aliases for matrices of unsigned integers.

What's new in GFM version 3:

Breaking changes:

  • gfm:image now uses the imageformats package as a dependency (https://github.com/lgvz/imageformats). The function for image loading is still loadImage and should work identically. This unbreaks JPEG loading. gfm.image.stb_imageis gone. No more GIF loading but I don't know if it even worked and you get TGA loading instead.
  • gfm.math.funcs.min and gfm.math.funcs.max were removed since they already exist in std.algorithm.
  • The close()functions are all gone! The new behaviour of destructors is to assert if an actual resource release happen while called by the GC (this assert does not trigger in release mode). So relying on the GC for accidental resource release is now a bug. You can use .destroy instead to call the destructor for a class object in replacement for calling close().
  • gfm:mathis not compatible anymore with front-ends prior 2.066

Features:

  • Derelict loaders aren't unloaded anymore when the library object disappear. Should allow eg. other OpenGL libraries to work with GFM.