1.30
Thanks to lieutenant Justin Williams for helping with this release.
- [NEW] Official bundled Swift 2 templates. (Justin Williams 1 2)
- [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 anage
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 benil
. (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
'soptional
wasn't being set correctly. issue 286 (Matthias Bauch) - [FIX] override and explicitly include
xcshareddata
in.gitignore
and add the default shared schemes. This fixes the problem wherexcodebuild
would fail with anThe 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 ofTMPDIR
. (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 withfor...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
anddictionaryWithObjectsAndKeys
with literals. (Markus Chmelar 1 2) - [MODERNIZE] Replace
objectAtIndex:0
withfirstObject
. (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)