Nat! bio photo

Nat!

Senior Mull

Twitter Github Twitch

mulle-objc 0.16 Release

logo

Almost another half year has passed and here is the next release of mulle-objc. Its version is zero dot one six.

What’s new ?

At the time of the 0.15 release, there were basically only two projects that used mulle-objc: MulleScion and mulle-xcode-to-cmake. The number of projects has been doubled by porting UnitKit and MulleEOF (my proprietary EOF clone) to mulle-objc. The net-effect is that there are less bugs in the Foundation and more functionality!

Also quite some effort has been spent into getting more documentation out. There is new content for DeRe MulleObjC and there is a new MulleObjC CheatSheet.

Here are some other highlights:

  • Testing has been overhauled and uses shared libraries exclusively now.
  • There are three new @property attributes relationship, container and observable, which are convenient for EOF.
  • The tool-chain has been adapted to WSL compilation with native Visual Studio executables.
  • Dependency build information is now shareable via github.
  • Reliable shared library initialization has been added with mulle-atinit and mulle-atexit.

What’s next ?

Currently a UIKit is being developed (live before your naked steaming eyes), and its coming along quite well. It’s intended for mobile and desktop. Eventually its to become a cross-platform UI library for Linux, MacOS, IOS, Android and Windows.

The complete port of MulleEOF will need NSCalendar functionality, so a tie-in to libICU is somethings that’s bound to happen unless it’s completely C++ now.

I would hazard a guess that the next release will see mulle-objc branching out to android and Windows (WSL with native tools).

Compiler / Debugger

  • mulle-lldb is likely to fall by the wayside, to be replaced by mulle-gdb.

Foundation

  • Protocols will play an increasingly larger role in the Foundation.
  • Some obsolete or ill-designed classes like NSEnumerator or NSScanner might migrate out of MulleFoundation and into a “FoundationCompat” library.

mulle-c/mulle-concurrent/mulle-core

  • There will possibly be a resurrection of mulle_bigmap and mulle_bigset.
  • More small wrapper libraries to isolate platform differences a la mulle-dlfcn will appear.

mulle-sde

  • The way flags are passed around the various test stages may get an overhaul.

Releasenotes

Generally before upgrading any project it would be wise to clean system caches with mulle-sde clean cache, so you get the newest packages.

If you have an existing mulle-objc project, you will have to modify it to work with the new release. Assuming your project is based on Foundation, which it most likely is, say:

mulle-sde dependency add --startup --github MulleFoundation Foundation-startup
mulle-sde clean tidy

If your project is MulleObjC based say:

mulle-sde dependency add --startup --github MulleObjC MulleObjC-startup
mulle-sde clean tidy

The are also variants for mulle-objc-runtime (mulle-objc-runtime-startup) and MulleFoundation (mulle-objc-runtime-startup).

MulleFoundation

Version Project
0.16.0 Foundation
0.16.0 Foundation-startup
0.16.0 MulleFoundation
0.16.0 MulleFoundation-startup
0.16.0 MulleObjCExpatFoundation
0.16.0 MulleObjCInetFoundation
0.16.0 MulleObjCKVCFoundation
0.16.0 MulleObjCOSFoundation
0.16.0 MulleObjCStandardFoundation
0.16.0 MulleObjCStandardFoundation-startup
0.16.0 foundation-developer
0.16.0 mulle-foundation-developer
0.16.0 objc-compat
0.16.0 mulle-testgen

mulle-objc

Version Project
0.16.0 MulleObjC
0.16.0 MulleObjC-startup
0.16.0 mulle-objc-compat
0.16.0 mulle-objc-developer
0.16.0 mulle-objc-list
0.16.0 mulle-objc-runtime
0.16.0 mulle-objc-runtime-startup

mulle-core

Version Project
0.0.2 mulle-atinit
0.0.5 mulle-atexit
0.0.2 mulle-dlfcn
1.0.16 mulle-sprintf
0.1.3 mulle-stacktrace
4.1.0 mulle-testallocator

mulle-concurrent

Version Project
2.0.17 mulle-aba
2.2.6 mulle-concurrent
4.1.12 mulle-thread

mulle-c

mulle-container made a major version jump.

Version Project
4.1.2 mulle-allocator
1.2.1 mulle-buffer
0.11.0 mulle-c-developer
3.1.4 mulle-c11
2.0.0 mulle-container
2.1.0 mulle-utf
1.0.14 mulle-vararg

MulleSDE

mulle-test made a major version jump.

Version Project
1.12.0 mulle-bashfunctions
0.17.0 mulle-craft
1.2.0 mulle-dispense
2.5.1 mulle-env
1.7.0 mulle-fetch
0.11.0 mulle-make
0.5.0 mulle-match
0.8.0 mulle-monitor
0.2.0 mulle-platform
2.1.0 mulle-project
0.39.4 mulle-sde
0.17.0 mulle-sde-developer
0.20.1 mulle-sourcetree
5.0.2 mulle-test

Post a comment

All comments are held for moderation; basic HTML formatting accepted.

Name:
E-mail: (not published)
Website: