# GS Release Notes (Old)

## GS 1.4.0

### Improvements and new features

- Code has been cleared up to get rid of compiler warnings.
  Own Id: OTP-3803
- Some internal modules and processes in GS were prefixed with `gtk`. This prefix has been changed to `gstk` not to clash with modules that interface to the graphical toolkit GTk.
  Own Id: OTP-4065

### Fixed errors and malfunctions

- A reference to a function in toolbar_lib (in the Toolbar application) has been removed.
  Own Id: OTP-3967

## Gs 1.3.8

### Fixed errors and malfunctions

- A timing problem sometimes caused a crash when a window was destroyed.
  Own Id: OTP-3789
  Aux Id: Seq 4985

## GS 1.3.7

### Improvements and New Features

- Added an option `showvalue` to the scale object, which makes it possible to turn off showing the value of the scale.
  Own Id: OTP-3456
  Aux Id: Seq 4324

## GS 1.3.6

### Fixed Errors and Malfunctions

- If the backend crashed, and then the process that had started GS, GS could not be restarted. This is now fixed.
  Own Id: OTP-2773

## GS 1.3.5

### Fixed Errors and Malfunctions

- The algorithm used to place graphic elements when using the GS packer looped infinitely if it was given a negative size. This made the system crawl. It is now fixed.
  Own Id: OTP-2558, OTP-2551
  Aux Id: OTP-2551
- Required fonts for X-servers is now documented in the User's Guide.
  Own Id: OTP-2559
- The gstk_grid module previously created an ETS table without deleting it when is should have been. This is now fixed.
  Own Id: OTP-2580
- GS now accepts hexadecimal return values with capital letters.
  Own Id: OTP-2622
  Aux Id: seq 967

### Improvements and New Features

- GS used to leave a process runing after gs:stop(). This has been fixed.
  Own Id: OTP-2531, OTP-2570

## GS 1.3.4

### Improvements and New Features

- The possibility to specify the icon bitmap of a GS Window has never been implemented. The documentation is now corrected to reflect this.
  Own Id: OTP-1980
- Minor internal changes.
  Own Id: OTP-2479

## GS 1.3.3

### Fixed Errors and Malfunctions

- Using Alt-shortcuts on Windows NT no longer causes Tk to report an internal error.
  Own Id: OTP-1352
- `gs:start()` now returns `{error, Reason}` if the backend dies, instead of always returning successful result.
  Own Id: OTP-1383
- The description of how the listbox object events `click` and `doubleclick` work has been improved.
  Own Id: OTP-1470
- Alt-shortcuts now works even on Windows NT.
  Own Id: OTP-1477
- The outline of the polygon object is now black by default, instead of having the background colour.
  Own Id: OTP-1563
- A grid handling bug, that caused the debugger to crash on Windows NT, has been corrected.
  Own Id: OTP-1820
- `gs:config` now returns `{error, Reason}` if the option specified has bad format (i.e., isn't a two-element tuple), instead of causing GS to crash.
  Own Id: OTP-1976
- Internal undocumented, unsupported function `tool_utils:open_help/2` used by some tools, has been fixed so that it also works for Netscape 4.x.
  Own Id: OTP-1975

### Known Problems

- Mixed architectures (SunOS + Solaris) installations are currently not allowed.
  Own Id: OTP-1316
- Some sub-headers in the User's Guide are not clickable (when using Netscape) as they ought to be.
  Own Id: OTP-1381
- The inheritance of default values doesn't work on Windows when it comes to font objects.
  Own Id: OTP-1597
- GS (i.e., Tcl/Tk) may hang if the Erlang shell is abruptly killed.
  Own Id: OTP-1599
- The GS Packer may misplace components having a borderwidth greater than zero.
  Own Id: OTP-1627
- Due to a Tcl/Tk problem, transparent GIF's aren't shown that way when loaded in the image object.
  Own Id: OTP-1942
- The `anchor` option some GS object use is poorly documented.
  The listing of the options available for the image object is confusing; all options available when loading bitmaps are not available when loading GIF's.
  Own Id: OTP-1943
- On some windows managers it is very hard, if not impossible, to specify the icon bitmap when creating/configuring a window.
  Own Id: OTP-1980

## GS 1.3.2

### Improvements and New Features

- GS now works on Windows 95.
  Own Id: OTP-1416

### Known Problems

Same as in version 1.2.1.

## GS 1.3.1

### Improvements and New Features

- New linked-in driver for GS backend towards tcl/tk for better performance (Windows NT only).

### Known Problems

Same as in version 1.2.1.

## GS 1.3

### Improvements and New Features

- GS has got a packer. See the frame object.

### Fixed Errors and Malfunctions

- Reading text containing special characters from a listbox item works.
  Own Id: OTP-1255

### Known Problems

Same as in version 1.2.1.

## GS 1.2.1

### Improvements and New Features

- GS now also runs on Windows NT.

### Fixed Errors and Malfunctions

- Font problem during start-up on some platforms.
  Own Id: OTP-1105
- `gs:read(Obj, parent)` and `gs:read(Obj, children)` now return correct `ObjId`s.
  Own Id: OTP-1119
- Reading the text from the label option works better.
  Own Id: OTP-1125
- GS detects name collitions when objects are created.
- Internal synchronisation error that caused non-deterministic crashes is corrected.

### Known Problems

- The editor options char_height, char_width returns dummy values.
- Travering menues using the keyboard (Alt+Key) doesn't work (a bug in tcl/tk).

## GS 1.2

### Improvements and New Features

- Initialisation. Color and font settings from .Xdefaults don't mess up each GS application.
- Font model. A platform independent font model including fall-back handling.
- Default value model. Container objects can propagate properties to all its children.
- Erlang cache. Data for x,y,width,height,coords are stored in Erlang for efficient read operations.
- The Editor object has got a lot of new features.
- The Grid object is replaces with a new faster (and easier to use) row oriented object.
- Support for distribution.
- Different mouse cursors can be used.
- A beep command for audio feedback.
- Popup menues.
- GS is quiet when an error occurs. This solves synchronisation-like problems when handling for example destroy events from the window manager.
- New and more convenient interface functions.

### Incompatibilities

- The Grid object is changed. Rewrite should not be difficult.
- The canvas option `find` is replaced with `hit`.
- The editor option `file` is replaced with `load` (and `save` is added).
- Return value when a gs function detects an error.
- gs:read(Obj,id) returns `{error,Reason}` instead of `undefined` if the object doesn't exist.

### Fixed Errors and Malfunctions

- The coordinates for window events are now correct even if an object is overlapping the window.
- Menuitems can be destroyed.
- Naming a grid works.
- Multi-select mode has been fixed for the listbox.
- Reading the data field for canvas objects now works fine.
- {fill,none} now works fine for canvas objects.
- x,y for windows are correct even if the window is located outside screen.

### Known Problems

- `gs:stop()` stops the graphics server, deleting all windows within it. This is not the opposite of `gs:start/0` since it will affect all applications using gs. The correct way to finish an application is to use `gs:destroy/1` or let the process terminate.