Public bug reported: Hello. I'd like to request a Feature Freeze Exception for 20.10 per the instructions at https://wiki.ubuntu.com/FreezeExceptionProcess#FeatureFreeze_for_new_upstream_versions.
Ubuntu 20.10 currently has notcurses 1.7.0, imported directly from Debian (where I'm the maintainer, as well as the upstream author). This is a kinda unfortunate pick; it has two annoying (though not grave/serious) bugs, but more importantly lacks the recent 1.7.x API changes, pursuant to 2.0 (to be released next month). All year, I've claimed that Notcurses would commit to backwards compatibility and API stability starting with the 2.0 release, and retained free right to mutate the API until then. 1.7.4 (currently available in Debian/Fedora/Arch) is the last expected release prior to 2.0. Its API is thus expected to be equal to the final, stable 2.0 API. By importing 1.7.4 to 20.10, 20.10 will ship with the same API other distros (and newer versions of Ubuntu) will be implementing. Given that 20.10 is the first Ubuntu to contain Notcurses, this means a sweetly unified surface across all distros. I have prepared a 1.7.4 for Ubuntu 20.10, and can upload it under the Sponsorship Process. The 1.7.4 packages are available via https://www.dsscaw.com/repos/apt/ubuntu/. Testing: install the notcurses-bin package and run `notcurses-demo`. It works fine. There's also an `autopkgtest` file in the `debian/` folder. I'll attach the pbuilder output shortly. Diff of upstream NEWS.md: * 1.7.4 (2020-09-20) * All `_rgb_clipped()` functions have been renamed `_rgb8_clipped()`, to match the changes made in 1.7.2. Sorry, I ought have done this before. * `ncplane_create()` has been introduced, taking a `struct ncplane_options` parameter. This replaces `ncplane_aligned()`, and will replace `ncplane_new()`. The latter ought be considered deprecated, and will be removed in the future. To align a place as previously done with `ncplane_aligned()`, use the `NCPLANE_OPTION_HORALIGNED` flag. * The `ncplane_options` struct includes a function pointer member, `resizecb`. If not `NULL`, this function will be called after the parent plane is resized. See `notcurses_plane.3` for more information. * `ncplane_resize_realign()` has been added, suitable for use as a `resizecb`. It realigns the plane against its parent. * `NCCHANNEL_ALPHA_MASK` has been renamed `CHANNEL_ALPHA_MASK`, to match the other declarations. * 1.7.3 (2020-09-19) * API changes pursuant to 2.0 API finalization: * `mbswidth()` has been renamed `ncstrwidth()`. * The long-promised/dreaded Great Widget Review, normalizing behavior across all widgets, has been effected. Sorry, there was no getting around this one. Pretty much all widgets have slightly changed, because pretty much all widgets previously behaved slightly differently: * `ncselector_create()` and `ncmultiselector_create()` now take ownership of the provided `ncplane`. On an error in these functions, the `ncplane` will be destroyed. Otherwise, the `ncplane` is destroyed by `ncselector_destroy()` or `ncmultiselector_destroy()`. * `ncselector_create()`, `ncmultiselector_create()`, and `ncreader_create()` no longer accept `int y, int x` placement parameters. Just place the `ncplane`. * `ncselector_options`, `ncmultiselector_options`, and `ncreel_options` have lost their `bgchannels` members. Just set the base character for the `ncplane`. * `ncreader_options` has lost its `echannels`, `eattrword`, `egc`, `physrows`, and `physcols` fields. Just set the base character and size for the `ncplane`. * Functions which set a 24-bit RGB value have had the suffix `g` replaced with `g_rgb`. Functions which set three 8-bit RGB components have had the suffix `rgb` replaced with `rgb8`. This was done because e.g. `channels_set_fg()` and `channels_set_fchannel()` were indistinguishable on sight. Failure to make the necessary conversions will result in compiler errors. See https://github.com/dankamongmen/notcurses/issues/985. * Functions ending in `_stainable()` now end in `_stained()`. * `ncplane_putwc_stained()` and `ncplane_putwstr_stained()` have been added in the interest of orthogonality. * `ncplane_new_named()` has been eliminated. `ncplane_new()` now takes a `const char* name` argument. `ncplane_bound()` and `ncplane_bound_named()` have both been eliminated. `ncplane_new()` now accepts an `ncplane*` instead of a `notcurses*`. All functionality exposed by the removed functions is thus now present in `ncplane_new()`. * `ncplane_aligned_named()` has been removed. `ncplane_aligned()` now accepts a `const char* name` argument. * 1.7.2 (2020-09-09) * Exported `ncvisual_default_blitter()`, so that the effective value of `NCBLIT_DEFAULT` can be determined. * Added `NCREADER_OPTION_CURSOR`, instructing the `ncreader` to make the terminal cursor visible, and manage the cursor's placement. * 1.7.1 (2020-08-31) * Renamed `CELL_SIMPLE_INITIALIZER` to `CELL_CHAR_INITIALIZER`, and `cell_load_simple()` to `cell_load_char()`. * Renamed `ncplane_putsimple()` to `ncplane_putchar()`, `ncplane_putsimple_stainable()` to `ncplane_putchar_stainable()`, and `ncplane_putsimple_yx()` to `ncplane_putchar_yx()`. ** Affects: notcurses (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1896717 Title: [FFE] notcurses 1.7.4 for ubuntu 20.10 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/notcurses/+bug/1896717/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs