Mogenerator v1.30 Release Notes

Release Date: 2016-03-22 // about 8 years ago
  • ๐Ÿš€ Thanks to lieutenant Justin Williams for helping with this release.

    • [NEW] Official bundled Swift 2 templates. (Justin Williams 1 2)
    • 0๏ธโƒฃ [NEW] "Modern" Objective-C and Swift is default. Apple has made it exceptionally difficult to target older versions of OS X and iOS, so we've given up. The grand --v2 experiment, which I loved, has been killed (the option will still be accepted to not break existing scripts but is now a no-op). From now on if you need to target an older OS, use an older mogenerator. Sorry. (Justin Williams)
    • [NEW] Generate Objective-C Lightweight Generics. (rentzsch)
    • [NEW] Generate instancetype. (Justin Williams)
    • [NEW] Generate nullability attributes for Objective-C machine templates (NS_ASSUME_NONNULL_BEGIN/nullable). (Justin Williams)
    • ๐Ÿ— [NEW] mogenerator project is now using Travis CI. Travis automatically builds and runs mogenerator's test suite on each commit, reporting the results, making it easier+faster to process Pull Requests. (rentzsch)
    • ๐Ÿšค [NEW] Change of branch philosophy: master used to be the "stable" branch. Now it's the branch we're going to land incoming Pull Requests. Pull Requests will be accepted onto master pretty freely, Travis will help catch breaking changes. I want to reduce latency and friction for folks to help out with mogenerator. Related reading: Drew Crawford's Conduct unbecoming of a hacker. (rentzsch)
    • [NEW] Specifying --template-var scalarsWhenNonOptional=true will have mogenerator generate only scalar properties for non-optional entity scalar attributes. For example, consider an age attribute. Without this option, mogenerator will generate two properties: @property (โ€ฆ) NSNumber *age and @property (โ€ฆ) uint16_t ageValue. With this option, only @property (โ€ฆ) uint16_t age would be generated, simplifying things since the age attribute can never be nil. (Mr Anonymous)
    • ๐Ÿ’… [CHANGE] Replace Mike Ash-style constant structures in favor of more ARC-friendly NSObject subclasses. Should be source-compatible with with Mike Ash-style. (Justin Williams)
    • ๐Ÿ›  [FIX] You can specify an entity's module in Xcode's Core Data Model editor. However, when specifying the current module, the entity class name is prefixed with a period, resulting in an invalid class name. This period is now suppressed. (Saul Mora)
    • [FIX] momcom: NSPropertyDescription's optional wasn't being set correctly. issue 286 (Matthias Bauch)
    • 0๏ธโƒฃ [FIX] override and explicitly include xcshareddata in .gitignore and add the default shared schemes. This fixes the problem where xcodebuild would fail with an The project 'mogenerator' does not contain a scheme named 'mogenerator' error until you first opened it in Xcode. (rentzsch)
    • [FIX] Generated indentation. (Markus Chmelar 1 2)
    • [FIX] Use DERIVED_FILE_DIR instead of TMPDIR. (Jonathan MacMillan)
    • ๐Ÿšš [CHANGE] Move the constant structures to the end of the machine header file. It's just uninteresting support code. (rentzsch)
    • [MODERNIZE] MiscMerge: switch to Objective-C Modules. (Justin Williams)
    • [MODERNIZE] Use instancetype internally. (Justin Williams)
    • [MODERNIZE] 64-bit only. (Justin Williams)
    • [MODERNIZE] Replace nsenumerate macro with for...in. (Justin Williams)
    • [MODERNIZE] MiscMerge: encode all source files as UTF8. (Justin Williams)
    • ๐Ÿš€ [MODERNIZE] Set minimum deployment target to 10.8. (Justin Williams)
    • [MODERNIZE] Replace RegexKitLite with NSRegularExpression. (Justin Williams)
    • [MODERNIZE] Replace arrayWithObjects and dictionaryWithObjectsAndKeys with literals. (Markus Chmelar 1 2)
    • [MODERNIZE] Replace objectAtIndex:0 with firstObject. (Markus Chmelar)
    • ๐Ÿšš [REMOVED] //validate machine comments. They were just guides on writing your own validation methods and aren't worth the code clutter. (Justin Williams)
    • ๐Ÿšš [REMOVED] Xmo'd. It hasn't worked for a very long time and I have no immediate plans on putting in the time to get working again. (Justin Williams)