diff --git a/source/blog/2017-05-30-cappuccino-0-9-10.markdown b/source/blog/2017-05-30-cappuccino-0-9-10.markdown new file mode 100644 index 0000000..b3fbdd2 --- /dev/null +++ b/source/blog/2017-05-30-cappuccino-0-9-10.markdown @@ -0,0 +1,45 @@ +--- +title: Cappuccino 0.9.10 +author: Alexandre Wilhelm +date: '2017-05-30' +tags: +- Cappuccino +- release +- update +- releases +--- + +We are very proud to release this new version of Cappuccino 0.9.10! This release follows a bit more than a year from 0.9.10 and as usual we were quite busy. We are pretty sure that you will be as excited as us when reading the new improvements added in Cappuccino. + +#### Notable Improvements + +##### CPTextView + +The new `CPTextView` brings a rich control component in Cappuccino. + +[![](/img/cpo-uploads/2017/05/CPTextView.png)](/img/cpo-uploads/2017/05/CPTextView.png) + +##### CPViewAnimator and CPAnimationContext + +Cappuccino now provides an easy way to create smooth animations. Don't hesitate to take a look to the example under `Tests/Manual/CPAnimationPropertyContainerTest`. + +##### Node as Javascript Engine + +You can now use `node` as your javascript engine when using/building Cappuccino. +More informations can be found [here](http://www.cappuccino-project.org/blog/2017/04/cappuccino-on-node-js.html) + +Cappuccino 0.9.10 will still use the javascript engine `jsc` by default. However, `node` will be the default engine from now in the master branch of Cappuccino, feel free to play with it and help to contribute to it. + +--- + +Thanks to all the [Cappuccino contributors](https://github.com/cappuccino/cappuccino/graphs/contributors). We'd also like to call out Frank Rehwinkel who did the node integration with narwhal and Daniel Boehringer for his work on the CPTextView. Keep doing a good work like this! Thanks! + +As always the full change log and release notes are available [here](/cappuccino-release-notes.html). + +We hope you are as excited about Cappuccino 0.9.10 as we are and that you will help us spread the word, and that you will create some fantastic applications with it! + +_- The Cappuccino Core Developer Team_ + +[Download Cappuccino 0.9.10](/downloads.html) + +[Full Release Notes](/cappuccino-release-notes.html) diff --git a/source/cappuccino-release-notes.markdown b/source/cappuccino-release-notes.markdown index f8b9b45..5712087 100644 --- a/source/cappuccino-release-notes.markdown +++ b/source/cappuccino-release-notes.markdown @@ -3,6 +3,159 @@ title: Cappuccino Release Notes layout: markdown --- +## What's New in Cappuccino 0.9.10 + +*Release date: 2017-05-30* + +Cappuccino 0.9.10 introduces CPTextView, CPViewAnimator, CGContextText, support of node as a narwhal engine and over 100 other changes and improvements. + +Highlights in this release: + +* New: node can be now set as a narwhal engine. +* New: `CPTextView` in AppKit. +* New: `CGContextText` in AppKit. +* New: `CPAnimationContext` and `CPViewAnimator` in AppKit. + +Foundation and Core +------------------- + +* (a10dfa4) New: `CPNumber -integerValue` and `CPString -integerValue`. +* (41a7417) New: Sweden / Swedish as a possible locale. +* (5da8728) New: `CPObject +instancesImplementSelector:(SEL)aSelector` + +*Bug fixes:* + +* (a995f3a) Fixed: no exception thrown if a plist was not valid in `CPKeyedUnarchiver`. +* (e13f5ed) Fixed: `CPNumber` intValue did not return an integer. +* (42d7e43) Fixed: formatting `CPCache`. +* (5c60819) Fixed: cache control was not set properly in `CPURLRequest`. +* (ae5d317) Fixed: when dependent key paths use a relationship, only the first added observer would observe the attribute for the relationship object. +* (a192698) Fixed: `CPObject +implementsSelector:` did not work with proxies and KVO swizzled classes. +* (12ed42e) Fixed: regular expression were not compatible for `gcc` > 4.9 + +AppKit +------ + +* (b12d149) New: added method `CPViewController -loadViewAsynchronously:`. +* (598a6eb) New: `CPAnimationContext` and `CPViewAnimator`. +* (fedc721) New: `CPViewController -viewWill/DidAppear` and `CPViewController viewWill/didDisappear`. +* (abb0799) New: enable autoscrolling for table view columns. +* (0aeccb) (bea03d) (65f701) New: `CPTextView` in AppKit. +* (315a7b9) New: `CGContextText` in CoreGraphics. +* (606132) New: manual test for `CPSegmentedControl`. +* (5059028) New: documentation for autoscroll of `CPView`. +* (0eb196e) New: `CPTabView` loads the views asynchronously when possible. +* (6652a27) New: allow a text based control to stay on a single line when text wraps +* (6c9c135) New: bindings support for `CPTextView` + dragging improvements +* (3f64b74) New: `CPSetPlatformFeature` function in `CPCompatibility`. +* (f18074b) New: Optional declarative layout for use in `CoreAnimation` (css animations). + +*Bug fixes:* + +* (8f11917) Fixed: race condition when editing a `CPTextField` in a `CPTableView` with a double click, focus was lost in some conditions. +* (6d1a094) Fixed: `CPSearchField` did not support `CPMenuItem -setIndentationLevel:`. +* (c24c386) Fixed: crash when having a `CPTableViewHeader` without a `CPTableView`. +* (43a2480) Fixed: cursor key binding methods did not fire in IE 11. +* (5c58552) Fixed: first `CPPopUpItem` is always selected if selected binding value is set before content binding value. +* (cd92ebd) Fixed: `CPObjectController -setEntityName` did not work. +* (571891) Fixed: 'Unknown function getPropertyCSSValue' error in Chrome in `CPAnimationContext`. +* (1575c2b) Fixed: `CPTableView` `viewBasedCib` manual test was broken due to `CPBox`. +* (ffcac67) Fixed: manual test `SmartFoldersDemo`. +* (f67faf) Fixed: `CPCollectionView` content binding. +* (3e6e5f9) Fixed: `CPViewController -isViewLoaded` property was always set to NO in async mode. +* (818d5d5) Fixed: date comparisons in `CPPredicateEditor`. +* (c38daac) Fixed: unit tests for `CPPredicateEditor`. +* (333e112) Fixed: `CPPredicateEditor` predicate when the template has a `CPFloatAttributeType`. +* (9273c9e) Fixed: `CPColorPanel` always opened in main platform window. +* (1927bb4) Fixed: `CPTextField` didn't optimize tracking areas management. +* (a28f9ce) Fixed: right mouse clicking during a drag operation canceled it. +* (a84a7bb) Fixed: the background of the brightness slider had a uniform color in `CPColorPicker`. +* (5f1229) Fixed: missing import in `CPCollectionView`. +* (12dde51) Fixed: `CPView` received multiple `-viewDidHide/Unhide` messages. +* (a2960a7) Fixed: `CPPasteBoard` dead code. +* (e4fce08) Fixed: scrolling events were not dispatched to the `CPApp` on slower system under Chrome 52. +* (4395c07) Fixed: iOS virtual keyboard "done" button not working and tapping other text fields while editing (often) not working. +* (1360caa) Fixed: editing in a cell-based `CPTableView` was broken in an editing session. +* (2f82fb8) Fixed: typo in the documentation of `CPControl`. +* (c2b7cc7) Fixed: formatting of `CPView`. +* (969d1d) Fixed: optimization of the tracking areas feature in `CPView`. +* (4b55a69) Fixed: issues in `CPAnimationContext` and `CPView` animator. Added cucumber tests for `CPAnimationContext`. +* (62e5d8d) Fixed: incorrect type declaration in `CPCache`. +* (037bc4e) Fixed: added test to demonstrate the new `wantsPeriodicFrameUpdates` animator property. +* (cfbef14) Fixed: Inhibit DOM updates during size animation in `CPAnimationContext`. +* (410ad0d) Fixed: print debug logs in debug mode only in `CPAnimationContext`. +* (3d9b42f) Fixed: `CSSAnimation` linting. +* (8d403f5) Fixed: IB connections in CPTabViewNibTest. +* (eeea21c) Fixed: `CPViewAnimator` was not giving correct frame information. +* (249ebeb) Fixed: caret did not blink in empty `CPTextView`. +* (60b2f7d) Fixed: legacy scrollers were not clickable under some circumstances. +* (51b9b40) Fixed: native paste on chrome was not working as robustly as it should. +* (6aea016) Fixed: text-sizing by canvas and via DOM sizing differed by 1px. +* (1a299d8) Fixed: `CPBox` drawing artifacts when used in `CPSeparator` mode. +* (f00a5fb) Fixed: delegate `-tableView:didDragTableColumn:` was never sent. + +Objective-J +----------- + +* (f24c4b0) New: node can be used as a narwhal engine +* (e134f91) New: merged in the parser and compiler that is used in the node objj-runtime. + +*Bug fixes:* + +* (3ba2158) Fixed: outdated sourcemap syntax prevented showing the right sources when debugging in the browser. `//@ sourceURL=...` has now been replaced by `//# sourceURL=...` when compiling Objective-J code. + +XcodeCapp +--------- + +*Bug fixes:* + +* (087e811) Fixed: bump `XcodeCapp` copyright year. +* (b09cb24) Fixed: XcodeCapp 'Preferences' menu item not in the standard place. +* (dd62c0) Fixed: `xCodeCapp` was broken under macOS Sierra. + +Misc +---- + +* (5bc3609) New: removed Native Host. + +*Bug fixes:* + +* (584aebf) Fixed : `capp_env` did not use the master version of cappuccino. +* (80bfeb1) Fixed: removed rakefile. + +Nib2Cib +------- + +* (edbc1ba) New: `nib2cib` support for `CPButton -imageScaling`. + +*Bug fixes:* + +* (dde8059) New: show successfully loaded `NSClasses` in `nib2cib` verbose. +* (f4c11d1) Fixed: `nib2cib`'ed files different with jake release and jake deploy. +* (3e56c8e) Fixed: XcodeCapp `nib2cib` incorrect vs jake release. +* (c4bf67d) Fixed: selection in `CPTabView` when defined through `nib2cib`. + +Cucapp +--------- + +*Bug fixes:* + +* (67c767c) Fixed: accidental Nuage Networks specific code related to text fields made it into the general release. +* (a924fcf) Fixed: wrong default path for loading Cucapp in the CLI. +* (2fe795f) Fixed: private API `_mainDOMWindow` did not actually return the main DOM window but the key DOM window. +* (732d77e) Fixed: the function `dumpGuiObject` was called two times for the class `CPScrollView` + +Other changes +------------- + +* (598a482) New: added gitter badge in the README. + +*Bug fixes:* + +* (fa07bc1) Fixed: missed some version number bumps in the 0.9.9 release. +* (f9cc773) Fixed: missing requirements in the README. + + ## What's New in Cappuccino 0.9.9 *Release date : 2016-03-31* @@ -148,7 +301,7 @@ AppKit Objective-J ----------- -(8c2f0ba) Optimization: runtime methods `objj_msgSend`, `objj_msgSendSuper` and `objj_method` are now faster. Arrays and dictionaries use more efficient code. This improves app speed by up to 20%. +(8c2f0ba) Optimization: runtime methods `objj_msgSend`, `objj_msgSendSuper` and `objj_method` are now faster. Arrays and dictionaries use more efficient code. This improves app speed by up to 20%. New: ability to inline functions when compiling with the option `-O2` or the compiler flag `InlineMsgSend`. * (751e76b) New: include type signatures by default when compiling an Objective-J file. This can be disabled by removing the compiler flag `IncludeTypeSignatures` or compiling with the `-T` option. * (751e76b) New: runtime methods `method_copyReturnType`, `method_copyArgumentType` and `method_getNumberOfArguments`. diff --git a/source/img/cpo-uploads/2017/05/CPTextView.png b/source/img/cpo-uploads/2017/05/CPTextView.png new file mode 100644 index 0000000..0db5c53 Binary files /dev/null and b/source/img/cpo-uploads/2017/05/CPTextView.png differ