PCC2ng NEWS FILE - Technical Version
====================================

  This file contains changes relevant for people building things with
  PCC2ng. User-related changes are in NEWS.txt. Script-related changes
  (e.g. new properties or commands) can be found in the scripting
  manual.


2.41.5
------

## c2dbexport

  The c2dbexport utility has been removed. The functionality has been
  integrated into c2console.

  Replace `c2dbexport ...` by `c2console export ...`.


## c2file-server

  The content-addressable backend now supports snapshots (tags) and
  packfiles.

  The snapshot feature is intended to address a problem with backing
  up a live instance: if the filespace is modified while being backed
  up, the "refs/heads/master" file might be archived at a different
  time than the commit it points to; at that time, the commit might
  already have been deleted. By creating a snapshot (SNAPSHOTADD
  command), a commit is pinpointed and will be guaranteed to be valid
  after unpacking.

  The packfile feature is intended to provide more efficient storage.
  The default loose-objects format requires many inodes on the host
  file system. Packfiles can be created by running "git gc" or "git
  repack". c2file-server should support v2 packfile format with all
  its variations, including deltified objects. git will also create a
  "packed-refs" file. c2file-server cannot natively deal with that,
  and will unpack and delete it.

  The file server now supports telling users about incoming file
  shares. To enable, configure FILE.SHAREABLE as a semicolon-separated
  list of directories for which this feature shall be active. The
  server will then track permissions (SETPERM), and allow receivers to
  retrieve them (SHARELS).



2.41.4
------

### all servers

  All servers now support the "--instance" option and can therefore be
  run in multiple parallel instances.



2.41.2
------

### all programs: testsuite

  Testsuite has been converted to a small built-in test framework, so
  we can drop the dependency to the old `cxxtest`.



2.40.13
-------

### c2host-server: game/XXXX/in/new

  The `in/new` directory is no longer used or maintained. Therefore,
  downgrading from 2.40.13 to a previous version may cause errors if
  games have been created/joined in the new version.



2.40.11
-------

### all programs: source code

  The detailed revision history is now on Github.

  Whereas previous releases often added/rewrote/removed entire files
  being ported from PCC2, the structure is now resonably stable and
  allows meaningful commits to be made.

  If you have anything to add, pull requests are welcome.



2.40.10
-------


### all programs: testsuite

  Restructured the testsuite into a number of smaller programs instead
  of a single big one to work around toolchains that cannot handle the
  big one (namely: MinGW).

  An incremental build from a previous version to 2.40.10 may fail with

    make: *** No rule to make target '../c2ng/u/t_interpreter.cpp', needed by 'tmp/u/t_interpreter.o'.  Stop.

  If this happens, just retry the build; the error (stale dependency
  file) fixes itself.



2.40.9
------

### c2play-server: STORAGE.LAUNCHERS

  STORAGE.LAUNCHERS was reporting incorrect value (off-by-one
  indexes); this has been fixed to match the CCScript
  STORAGE.LAUNCHERS property.


### all servers, c2console: command line

  The `-D` command-line option to override a configuration option now
  works as it should. Some programs (prominently, c2console) were
  requiring `--D` instead. This has been fixed, the correct syntax is
  `-DKEY=VALUE`.

  As a side effect, the options `nocron` (host) and `notx` (mailout)
  options now need to be written with two dashes (`--nocron`); they
  have always been documented this way, but were previously accepted
  with a single dash as well.


### all programs: source code

  The `main()` functions are now all under `main/`.

  The game proxies have been moved from `client/` to `game/` and no
  longer have hard dependencies to UI code. They can therefore now (in
  theory) be used to build a UI using a different toolkit.



2.40.8
------

### c2play-server: messages

  A bug preventing access to the last message has been fixed.

