PDCurses v3.7 Release Notes

Release Date: 2019-01-01 // about 4 years ago
  • ๐Ÿ†• New features

    Avoid conflict with ncurses by having apps define PDC_NCMOUSE before
    ๐Ÿ’… including curses.h to invoke the ncurses-style mouse interface,
    instead of NCURSES_MOUSE_VERSION. (The old way will also still work.)
    ๐Ÿ‘€ After Simon Sobisch (see PR #33).

    In SDL, the box-drawing and block ACS characters are now rendered in a
    font-independent way, to ensure their correct alignment across cells.
    Underlining is now handled in a similar way.

    TTF fonts in SDL are now rendered in Blended mode instead of Solid.
    Partly after Joachim de Groot.

    ๐Ÿ†• New default fonts and font sizes for SDL/TTF.

    ๐Ÿ— SDL2 now builds under MSVC. Partly due to Alexandru Afrasinei.

    ๐Ÿ“š Documentation re-org -- more Markdown internal links; moved to man/
    ๐Ÿ“„ dir (the doc/ dir name was too similar to docs/, which is needed for
    GitHub Pages hosting); concatenated man page document now made
    ๐Ÿ— permanent, under the name MANUAL.md; new man build utils; merged
    sdl.md and x11.md into their respective READMEs; changed some
    redundant and unclear comments.

    Directory re-org -- in addition to the above, created common/, to
    unclutter the root, and eliminate a few more redundant files from
    platform directories. (We already had "pdcurses", but that's for the
    portable core; "common" is for files that are more platform-specific,
    though shared by more than one platform.)

    ๐Ÿšš Broke out the redundant ACS tables and moved them to common/.

    PDcurses' "bool" type is now based on stdbool.h, when available. There
    should be no conflicts when including stdbool.h either before or after
    curses.h.

    0๏ธโƒฃ The demos are no longer built by default, since they add a lot of time
    ๐Ÿ— to the build, and often aren't wanted. But you can still build them via
    "make demos" (tweak as needed).

    ๐Ÿ‘‰ Makefile tweaks for cross-compiling by Simon Sobisch.

    ๐Ÿ› Bug fixes and such

    ๐Ÿ‘Œ Improved Windows console resizing, when reducing the vertical size.
    ๐Ÿ‘€ After Ulf Magnusson. (See GitHub issue #26.)

    Bring back ifdef'd CONSOLE_SCREEN_BUFFER_INFOEX, for the benefit of
    older compile environments. (Not automatic -- must specify INFOEX=N on
    ๐Ÿ’ป the command line.) After Simon Sobisch.

    Replaced COMMON_LVB_* with numbers to appease some old compilers.
    After Simon Sobisch.

    KEY_RESIZE should be key_code = TRUE. Reported by Ulf Magnusson.

    ๐Ÿ›  SDL2 resize fixes to prevent crashes, by Tim Hentenarr.

    ๐Ÿ›  SDL2 fixes for handling of SDL_TEXTINPUT, keys with modifiers, and
    modifier keystrokes, by Tim Hentenarr.

    ๐Ÿ›  Fixed cursor rendering in SDL/TTF.

    ๐ŸŽ SDL1 support is now dropped for Windows and macOS, and deprecated for
    ๐Ÿง Linux. Use SDL2. The SDL1 port is likely to be dropped in the future.

    The setsyx() function is now void, after ncurses, and simplified.

    โš  Warning fixes by Patrick Georgi and Stefan Reinauer.

    X11 used SP->resized in a non-boolean way, so it's now a short.

    ๐Ÿ‘€ Under some conditions (see issue #47), the X11 port could "free" colors
    that it hadn't allocated. Reported by rin-kinokocan.

    ๐Ÿ†• New scroller for ozdemo -- no memory allocation, less copying -- to
    resolve issue #46.

    Various minor Makefile tweaks.

    ๐Ÿšš Eliminated term.h and terminfo.c, and moved mvcur() to move.c. These
    stub functions, done on request (with others then requesting that I
    take them away -- can't win), were a misguided attempt to facilitate
    using PDCurses with certain non-C languages -- which, apparently, they
    didn't end up actually doing. They're also, regrettably, specified as
    part of the X/Open curses standard, even though they in effect
    describe an entirely different interface layer (one on which
    traditional curses, but not PDCurses, is built).

    โฌ‡๏ธ Dropped support for short (16-bit) chtypes.

    ๐Ÿšš Finally removed deprec.c, as it promised.

    โฌ‡๏ธ Dropped the XOPEN, SYSVcurses and BSDcurses defines from curses.h, as
    well as NULL (which is defined in stdio.h, included). TRUE, FALSE, ERR
    and OK are now defined unconditionally.

    ๐Ÿšš Moved pdcurses.org hosting to GitHub -- as a result, the site is now
    ๐Ÿ“„ part of the repo, in the docs/ directory. (Also, it has SSL again.)

    ๐Ÿ‘€ See the git log for more details.