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.
- 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
- Switch to LLVM?
- Drop stat_beos in favor of stat.
- Switch to a 64-bit time_t (bigtime_t -> time_t).
- Replace glibc (use parts of musl? it's MIT licensed).
- Multiuser! (some general things that need to be cleaned up at the same time: Tracker's ConfirmChangeIfWellKnownDirectory).
- Integrate the functionality of BInvoker::InvokeNotify() into BInvoker::Invoke().
- 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?)
- 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) style markup as input and as output (maybe HTML).
- 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 FreeDesktop's spec.
- Cleanup BTabView -- get rid of the non-layout version. (Terminal may need a rewrite...)
- The API uses add_on and AddOn, but also addon - the latter should be faded out.
- Get rid of R5 compatibility stuff (and R3 (!) compatibility stuff).
- FilePanel does not use layouts due to the Be Book's recommendation for developers to mess with the layout if they needed to.