This page is a collection of API changes we intend to make as soon as we drop BeOS backward compatibility. Feel free to add comments concerning any API removal/change/addition to be done. ---- '''General:''' * Redo shared libraries: there should be one library per kit and corresponding names for each. (possible conventions are "libsupport.so", "libSupport.so", "libSupportKit.so") * Stop supporting the GCC2 ABI '''POSIX:''' * Drop stat_beos in favor of stat. * Switch to a 64-bit time_t (bigtime_t). * Switch to musl over glibc. * Maybe implement some non-standard POSIX pieces that Linux/BSDs have? e.g. ptrace (would be nice for GDB/QtCreator porting) * Multiuser! (some general things that need to be cleaned up at the same time: [http://cgit.haiku-os.org/haiku/tree/src/kits/tracker/FSUtils.cpp#n629 Tracker's ConfirmChangeIfWellKnownDirectory]). '''Application Kit:''' * Integrate the functionality of BInvoker::InvokeNotify() into BInvoker::Invoke() and make BInvoker::InvokeNotify() available for gcc2 apps only. '''Support Kit:''' * Replace BAutolock with a proper template based AutoLocker, like the one we have in shared already. * convert_encoding_open() convert_encoding_close() with respect to UTF-8, #976 (or perhaps drop textencoding altogether and create a ByteArray class in the Support Kit that can handle encodings?) '''Interface Kit:''' * Derive BView from BLayoutItem and drop BViewLayoutItem. * Create a model/view infrastructure for the column list view and OutlineListView. (maybe look at Qt's [rejected] Model/Views 2.0?) * BAlerts should be layout-aware along with all other rich text views. * All rich text views should accept (simple) HTML as input and as output. * Add a BToolbar API (the currently-shared BToolBar should be a good basis, it needs support to add arbitrary BViews) * Also need standard icons resources, probably following [http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html FreeDesktop's spec]. '''Media Kit:''' * The API uses add_on and AddOn, but also addon - the latter should be faded out. '''Tracker:''' * FilePanel does not use layouts due to [https://www.haiku-os.org/legacy-docs/bebook/BFilePanel_Overview.html the Be Book]'s recommendation for developers to mess with the layout if they needed to.