Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v8.0.0 #100

Open
wants to merge 82 commits into
base: master
Choose a base branch
from
Open

v8.0.0 #100

wants to merge 82 commits into from

Conversation

groue
Copy link
Owner

@groue groue commented Sep 26, 2015

GRMustache v8.0.0 (follow up to PR #97)

  • Update documentation
  • Make sure we have Core Data tests.
  • More common tests between GRMustache and GRMustache.swift.

New

  • Frameworks for iOS.
  • Frameworks for OSX.
  • Frameworks for tvOS (in tvOS branch).
  • Carthage support.

Fixed

Breaking Changes

  • GRMustacheOSX.framework targets OSX 10.9.
  • GRMustacheiOS.framework targets iOS 8.0.
  • Improved compatibility with GRMustache.swift.
    • Shared tests suite with GRMustache.swift.
    • Common behavior for standard types
      • NSArray only recognizes the first, last and count keys.
      • NSOrderedSet only recognizes the first, last and count keys.
      • NSSet only recognizes the first and count keys.
      • NSString only recognizes the length key.
    • Standard Library
      • The standard library is no longer loaded by default.
      • New zip standard library filter.
    • Explicit support for Mustache lambdas.
    • {{#partial}}...{{/partial}} provides dynamic template inheritance.
    • Drop support for {{#x}}...{{^x}}...{{/x}} short syntax.
    • +[GRMustacheTemplate templateFromString:error:] does no longer look for partials in main bundle's resources.
  • The new protocol GRMustacheKeyValueCoding replaces GRMustacheSafeKeyAccess (fixes Avoidance of KV-Exceptions #66 for good).
    • No more support for "unsafe" contexts.
    • GRMustache no longer uses objectForKeyedSubscript: for objects that respond to this protocol. This behavior now requires explicit conformance to GRMustacheKeyValueCoding.

FIXME:
- @import GRMustache does not work in both test targets.
- tests for private APIs in iOS tests won't compile.
…e that links against the framework, another one that tests private APIs).
GRMustache now uses valueForKey: for safe keys (properties and
Core Data attributes). objectForKeyedSubscript: is no longer
tried first.

Classes can override this behavior by implementing the
valueForMustacheKey: of the GRMustacheKeyValueCoding protocol.

In all cases, NSUndefinedKeyException is caught and swallowed.

This commit provides a definitive answer to issue #66.
Ignore the "The empty string should be used when the named partial is not found." test, because in GRMustache, missing templates are an error.
@groue groue mentioned this pull request Sep 26, 2015
Conflicts:
	src/classes/Shared/GRMustacheError.h
@groue groue added this to the v8.0.0 milestone Sep 26, 2015
@groue groue mentioned this pull request Oct 7, 2015
… main bundle. Remove support for current template repository (flawed), and current content type (leave it to the user).
@danielphillips
Copy link

Using the framework branch currently. Any idea when the 8.0.0 release will be done?

@groue
Copy link
Owner Author

groue commented Nov 10, 2015

I've been lazy recently, i'm sorry. I'll try to make it this week-end. The longest remaining part is actually updating the documentation.

@danielphillips
Copy link

Anything I can do to help get v8 out the door? I just noticed I'm still pointing to the framework branch which is undesirable.

@groue
Copy link
Owner Author

groue commented Sep 8, 2016

Thanks for your help proposal, @danielphillips. Let me gather my thoughts.

@yvbeek
Copy link

yvbeek commented May 27, 2017

Hi @groue, can I do anything to help? 8.0.0 looks great

Small question:

Drop support for {{#x}}...{{^x}}...{{/x}} short syntax.

Is there a specific reason that you are thinking of dropping the short syntax?
I'm using it in my project at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Avoidance of KV-Exceptions
3 participants