Version 1.8, 11 August 2003

  • MoreIsBetter now requires CodeWarrior Pro 8.3 or Project Builder 2.1 (Dec 2002 developer tools). Mach-O builds require the interfaces and libraries from Mac OS X 10.2.
  • MoreIsBetter, as a whole, is no longer dependent on the Carbon framework; rather individual modules are dependent on specific umbrella frameworks. This allows MIB modules to choose their level of dependency (for example, MoreSCF does not want to depend on Carbon because then it can't be used by non-GUI programs). MIB is, however, dependent on CoreServices as its minimum level of service.
  • A serious rework of "MoreSetup.h" to rationalise the compiler directives, the Mach-O support, the assert definitions, and so on.
  • More file extension rationalisation.
  • Various code cleanups.
    • nil replaced with NULL
    • OSErr replaced with OSStatus
    • MoreAssertQ replaced by standard assert
    • MoreAssert is now MoreAssertPCG (and deprecated)
    • Implementation files now include their headers first, which flushes out any missing dependencies in the headers.
    • Eliminated bogus uses of pragma import and export.
    • Eliminated arithmetic conversion warnings.
  • MoreAppleEvents: A new sub-module, MoreAEDataModel. Various other updates. See the checkin comments for more details.
  • MoreDebugging: A new sub-module, MoreBackTrace.
  • MoreCarbonEvents: A new module with Carbon event utilities.
  • MoreCFQ: A new module with Core Foundation utilities.
  • MoreControls: Added CFString accessors for text controls and key/value filters for text controls.
  • MoreDevices: In the InterruptSafeDebug sub-module, require Colour QuickDraw by default, which makes linking easier in weird environments.
  • MoreDialogs: Added StandardAlertCFStringCompat.
  • MoreErrors: This module now explicitly documents the error ranges used by MIB modules.
  • MoreOSL: Fixed bug 3263387 by initialising err in ClassAccessorByName.
  • MoreOSUtils: Moved low-level Gestalt tests here from MoreToolbox.
  • MoreNetworkSetup: By default MoreNetworkSetup no longer uses Network Setup, but instead accesses the preference files directly. This makes things go a lot faster and, given that traditional Mac OS is end-of-life, is not a compatibility concern.
  • MoreSCF: A new module System Configuration framework utilities, which forms the basis of the MoreSCF sample.
  • MoreSecurity: A new module with security utilities, including the basis of MoreAuthSample.
  • MoreToolbox: Added some new Gestalt tests, then moved them all to MoreOSUtils.
  • MoreUNIX: A new module with various Posix-level utilities.

Version 1.7, 14 January 2003

  • Rationalised the file extensions for CVS support and eliminated files that are no longer necessary because we no longer build 68K.
  • All files now how the standard DTS header and CVS change history.
  • MoreAppleEvents: Various minor updates. See the checkin comments for more details.
  • MoreOSUtils: Added routines to get the user and machine name on all Carbon platforms (MoreCSCopyUserName and MoreCSCopyMachineName).

Version 1.5, 24 September 2001

  • MoreIsBetter now requires CodeWarrior Pro 7 and Universal Interfaces 3.4 or higher, or the Project Builder from Mac OS X 10.1.
  • Numerous changes to build Mach-O under both CodeWarrior Pro 7 and Project Builder without FlatCarbon headers
  • The core MoreIsBetter code now compiles with the C++ activated. This required minor changes to many files.
  • Eliminated the 68K targets from all the projects because CodeWarrior Pro 7 no longer supports building 68K code. Most of MoreIsBetter will continue to compile for 68K, but I no longer have a way to test it.
  • Moved the Pascal interfaces to a separate folder because the Project Builder compiler tries to interpret "MoreSetup.p" as a pre-compiled header for "MoreSetup.h" [2631604].
  • MoreAppleEvents: Various minor updates. See the checkin comments for more details.
  • MoreCDs: A new module with various traditional Mac OS CD-ROM utility routines.
  • MoreCodeFragments: In MoreCFMLateImport I fixed some bugs, added support for some previously unsupported relocation instructions, changed the API to eliminate the need for a dummy exported symbol, and integrated support for packed data sections. Add the source to my CallMachOFramework sample to the MIB source tree.
  • MoreMultiprocessing: In MoreMPLog I removed MPLogPrintfSlow because it was having problems with Mac OS 9.1.
  • MoreOpenTransport: Fixed a nasty synchronisation bug inside OTMP. Also made the sample code's listen/accept loop more reliable.

Version 1.4, 15 February 2001

  • MoreIsBetter now requires Universal Interfaces 3.4 or higher. I built with the latest pre-release at the time of writing, 3.4b4.
  • All relevant components of MoreIsBetter now compile under Project Builder. All modules (except those, like MoreNetworkSetup, which can't be Carbonized) now compile under Project Builder. A master Project Builder project, MoreIsBetterLib.pbproj, is included with the distribution. This project file is for Mac OS X 1.0; your mileage may vary on early and later releases.
  • Made many minor changes to many modules to get them to build without warnings under Project Builder. These changes are mostly to eliminate warnings, but some modules required more complex surgery (for example, MoreTextUtils and MoreMPLog).
  • MoreAppleEvents: MoreAECreateAppleEventTargetID is no longer available under Carbon because UI 3.4 has made data structures on which it depends not part of Carbon.
  • MoreCodeFragments: MoreCFMLateImport now complains if you try to include it in a Mach-O build. Removed redundant assignment in CFMLateImportCore.
  • MoreDialogs: Added a whole bunch of dialog utilities, largely derived from similar utility routines that I use in my Freeware projects.
  • MoreErrors: New module with error handling utilities.
  • MoreEvents: New module with Event Manager utilities.
  • MoreInterfaceLib: Added support for some Mac OS 8.5 toolbox routines.
  • MoreLists: A new module with List Manager utilities.
  • MoreMenus: Module now has a C file, which implements MoreSetMenuItemEnable.
  • MoreMultiprocessing: Extensive additions to "MoreMPLog.c" to support Project Builder.
  • MoreNetworkSetup: Disabled some debugging code that was accidentally left enabled in NSHHaveMultipleBelowIPSupport [2617463]. Support the ability to read and write the "launch status application" Remote Access preference.
  • MoreOpenTransport: By popular request, added OTMPGetMessage and OTMPPutMessage routines to OTMP. The fix for the Carbon MP incompatibility described in the OTMP module is in CarbonLib 1.2.5, not CarbonLib 1.3 as previously described [2619462]. Also fixed a bug in OTMPSndUData.
  • MoreQuickDraw: HaveColorQuickDraw now auto-initialises.Added GetPortVisibleRegion and MoreSetMagicHiliteMode.
  • MoreTextUtils: Major rework of GetNewStringList to get it to build under Project Builder. Deprecated GetPascalStringFromLongDouble because long double is a very weird data type.

Version 1.3, 24 November 2000

  • Updated documentation to explicitly described which modules support which environments (68K, PowerPC, Carbon). Also updated source files to explicitly document (and enforce by #error) the environments in which they build.
  • Documentation is now managed in version control system.
  • Updated everything to CodeWarrior Pro 6.
  • MoreAppearance: The various "have this feature" routines now auto-initialise so that other MIB modules can use them without calling the initialisation routine.
  • MoreAppleEvents: Lots of new work by George Warner.
  • MoreCodeFragments: Updated CFMLateImport to support importing from CFBundles, and hence from Mac OS X frameworks.
  • MoreControls: Updated GetControlDefProcResID to at least work in Carbon builds on Mac OS 9.
  • MoreDevices: Updated InterruptSafeDebug to build for Carbon. Fixed a missed MemError bug in TradDriverLoaderLib.
  • MoreDialogs: Made SetDialogItemString work with embedding turned on.
  • MoreInterfaceLib: Added new Time Manager interfaces.
  • MoreMemory: Added MoreBlockCompare.
  • MoreMultiprocessing: New module.
  • MoreNavigation: New module.
  • MoreOpenAndSave: Some tricky work to Carbonise.
  • MoreOpenTransport: New module. OTMP allows synchronous blocking access to networking from preemptive (MP) tasks. OTClassicContext lets you call OT "InContext" routines from InterfaceLib-based applications. MoreAutoPush is a convenience API for the STREAMS autopush facility.
  • MoreOSL: New module. A C library for implementing scripting in your application.
  • MorePreferences: A number of minor updates.
  • MoreProcesses: A number of minor updates. Also added the MoreScheduledExec module, which lets you quit your application and schedule a time for it to be relaunched.
  • MoreQuickDraw: Added some Carbon-style accessors for non-Carbon builds.
  • MoreTextUtils: Added more 'STR#' support. Added MoreReplaceText and MoreStrLen.
  • MoreNetworkSetup: Lots of minor updates.

Version 1.2, 18 October 1999

22 Apr 1999

  • Release notes begin