-
Notifications
You must be signed in to change notification settings - Fork 333
Cappuccino Changelog 0.9.8.md
Alexander Ljungberg edited this page Mar 29, 2015
·
5 revisions
Release date : 2015-03-29
Cappuccino 0.9.8 introduces multiline support for CPTextField, Cucapp, XcodeCapp 3.2 and over 300 other changes and improvements.
Highlights in this release:
- New:
@typdef
support. - New: multi-line support for
CPTextField
. - New:
CFError
,CPURLErrors
andCFError
. - New:
CPControl -setControlSize:
. - Redesigned 'CPPredicateEditor' and 'CPRuleEditor'.
- New: all
@protocols
in Foundation and AppKit. - New: support for
capp_lint
andobjj
to XcodeCapp (now version 3.2). - Added Cucapp as part of the Cappuccino Project (https://github.com/cappuccino/cucapp)
- New: support for more than 32 theme states in the theming system.
- Fixed: many memory leaks in Foundation and AppKit.
- Optimization of the runtime function
objj_msgSend
.
- (a1ea371) New:
CPCoding
forCPAttributedString
. - (7c6ef51) New:
CPDate +dateByAddingTimeInterval:
. - (e7ae969) New:
CPNotificationCenter -addObserverName:object:queue:usingBlock:
. - (fa5fd1e) New:
CPDiacriticInsensitiveSearch
support inCPString
for the method-(CPRange)rangeOfString:options:range:
. Added support for strip variants of 'E' 'I' 'O' 'U'.
Bug Fixes:
- (1dc84f9) Fixed: issue with
CPDateFormatter -_dateWithTimeZone:
when timeZone is null. - (acd5442) Fixed:
CPDateFormatter
'srelativeDateFormating
didn't work in January and was inaccurate for some time intervals around daylight saving time changes. - (d176dd0) Fixed:
CPNumber +numberWithBool:
brokeCPComparisonPredicate
. - (a31ad2c) Fixed:
CPAttributedString -isEqual:
true despite attribute differences. - (9119e08) Fixed:
CPDateFormatter
didn't work for non-"en" locales. - (06240d1) Fixed:
CPUserDefault -setFloat:forKey:
used@selector(aValue)
instead of@selector(floatValue)
. - (d3490f6) The method
encodeValueOfObjCType
has been renamed toencodeValueOfObjJType
inCPCoder
. - (eb883bc) Refactoring of the classes
CPURLRequest
andCPURLConnection
:- The property
withCredentials
has been moved fromCPURLConnection
toCPURLRequest
. - The accessors
originalRequest
andcurrentRequest
have been added toCPURLConnection
. - Added the possibility to make a deep copy of the
CPURLRequest
.
- The property
- (b1382e8) Fixed: a
CPOperation
marked as cancelled could not be restarted. - (fa7b71c) Fixed: constructors of
CPDate
did not raise warnings when the arguments were notfloats
orints
.
- (7b86465) New: protocols
CPTableViewDelegate
andCPTableViewDataSource
. - (09eca10) New: protocol
CPAlertDelegate
. - (4d266f4) New: protocol
CPCollectionViewDelegate
. - (5b2bfce) New: protocol
CPApplicationDelegate
. - (db113da) New: protocols
CPOutlineViewDelegate
andCPOutlineViewDataSource
. - (7d14676) New: protocol
CPTabViewDelegate
. - (5dd4266) New: protocol
CPToolbarDelegate
. - (cc9d896) New: protocol
CPPopoverDelegate
. - (f8ae610) New: protocol
CPSplitViewDelegate
. - (7ccdc50) New: protocol
CPAnimationDelegate
. - (d5af980) New: protocol
CPSoundDelegate
. - (0a85b4b) New: protocol
CPImageDelegate
. - (1825887) New: protocol
CPMenuDelegate
. - (59b80ab) New: protocol
CPComboDelegate
. - (9b39724) New: protocol
CPRuleEditorDelegate
. - (1171c9a) New: protocol
CPTokenFieldDelegate
. - (9d2fba3) New: protocol
CPWindowDelegate
. - (26118ee) New: protocols
CPControlTextEditingDelegate
andCPTextFieldDelegate
. - (2513cf0) New: protocol
CPBrowserDelegate
. - (25bb51f) New: protocol
CPComboBoxDataSource
. - (6cae917) New: bidirectional
CPLevelIndicator
behavior. - (7d304fb) New: support for unlimited number of
CPTheme
state definitions. - (970b176) New: graphical
CPDatePicker
now reacts correctly to clicks on the arrow buttons with Cmd / ctrl / alt depressed. - (c1fb54e) New: delegate method
CPTableView -tableView:willRemoveView:forTableColumn:row
. - (904454d) New: delegate method
CPOutlineView -outlineView:willRemoveView:forTableColumn:item:
. - (1b351ad) New:
CPColor +checkerBoardColor
for debug use. - (050fcf2) New:
CPThemeStateFirstResponder
forCPView
. - (025a43e) New:
CPThemeStateKeyWindow
forCPView
. - (a544854) New: feature to select a set of dates with a shift click in a
CPDatePicker
. - (0f2ec90) New: support for
documentVisibleRect
inCPClipView
andCPScrollView
. - (7470f4f) New:
CPEvent
scrollingDeltaX
,scrollingDeltaY
andhasPreciseScrollingDeltas
. - (07c0de7) New: support line-by-line scrolling with old scroll wheel devices in Firefox.
- (12c427a) New: added the method
CPControl -setControlSize:
. - (3dc581e) New: added the theme attribute
nib2cib-adjustment-frame
. - (a3796fe) New: the method
-(void)bind:toObject:withKeyPath:options:
now checks if another exclusive binding exists. - (a3796fe) New: added the private method
+(void)_reverseSetValueFromExclusiveBinderForObject:
inCPBinder
to send the value back to the bound object when you don't know the original binding name. - (9c6cca7) New: multi-line support for
CPTextField
. - (e1d92bd) New:
CPDatePicker
now has a focus ring when editing. - (fa3f18c) Optimizaton:
CPWindow -setContentView:
now checks that the new view is not the same as the existing content view.
Bug Fixes:
- (8b975f5, 8147f64) Fixed:
CPDatePicker
textual issues. - (21aac76) Fixed: crash in
CPDateFormatter -getObjectValue:forString:errorDescription:
with nil errorDescription. - (2fc501f) Fixed:
CPDateFormatter -stringFromDate:
did not return a default date. - (ebccbf2) Fixed: issues with timeZone and the
CPDatePicker
. - (93b48ba) Fixed: support for dates (
CPDatePicker
) inCPPredicateEditor
. - (1814f6b) Fixed: crash when clicking on an empty
CPTableView
with variable row height. - (821f8fe) Fixed: error when several objects were bound to the same
objectController.selection.keyPath
and the objectController selection changed. - (d7b5382) Fixed:
CPTabView
did not update its tab's labels when laid out. - (974942a) Fixed: OS X two finger scrolling issue.
- (86f0724) Fixed:
CPRoundRectBezelStyle
gave aCPNull
ThemeState. - (5b4e7df) Fixed: placeholder string shown while editing empty
CPTextField
. - (be3c4ab) Fixed:
CPPopover
not closing in some browsers. - (15e16d8) Fixed: editing text fields on different windows could clobber each other's contents.
- (8bdaeab) Fixed: selection behavior when implementing
CPTableView -selectionIndexesForProposedSelection:
- (1557c56) Fixed: crash due to wrong delegate bitmask in
CPOutlineView
. - (af83065) Fixed: warning due to use of
aDOMEvent.returnValue
. - (3e187df) Fixed:
CPPopover transitionend
not correctly called in random cases. - (07f7ad0) Fixed: crash on Cmd + Z keypress within a control in a
CPPopover
. - (de4bc67) Fixed:
CPToolTip
added toCPWindow
wrong. - (af37616) Fixed:
CPToolTip
still shown when closing a window asynchronously. - (4dadf0c) Fixed:
CPPopover
did not update its frame aftersetContentSize:
. - (3c0f6d3) Fixed:
CPMenu
enabled state was not visually updated upon change of a bound value. - (951e811) Fixed:
CPPopover -popverWillShow:
was called too early. - (584955c) Fixed:
CPPopover -updateFrameWithSize:
always assumed the popover was open. - (59a9727) Fixed: crash due to
CPTooltip
remaining attached to a closedCPWindow
. - (26d6450) Fixed: variable scope in
CPSegmentedControl
. - (7fc014f) Fixed:
contentInset
theme value read two times inCPToolBar
. - (d46b9b5) Fixed: textual
CPDatePicker
stepper incorrectly enabled after decode. - (61f6ef4) Fixed: crash in
CALayer
when running non-DOM platform. - (ba27a4c) Fixed: new first responder and key window theme states not always applied.
- (a4702d4) Fixed: illegible white on grey text in
CPTableView
. - (f953b4d) Fixed: warning when closing a
CPPopover
for the first time. - (741ac31) Fixed: issue when making the first paste with a right click.
- (089d564) Fixed:
CPDatePicker
firstResponder issue. - (ac53b30) Fixed:
CPComboBox
doesn't work in modal. - (1e12973) Fixed: wrong text colour in a
CPTableView
cell when editing another cell. - (a129f2c) Fixed:
CPTextField
didn't update its style while editing. - (3364e6c) Fixed: unsigned delegate methods of
CPTokenField
erased byCPTextField
. - (cd6ffba) Fixed:
CPPanel
andCPPopover
didn't close when hitting escape. - (972c142) Fixed:
CPDatePicker
value became wrong after a stepper was clicked. - (148f317) Fixed: when closing a
CPPanel
with escape, the delegates were not called. - (3b9a012) Fixed:
CPTextField -setTextColor:
did not change the color of the placeholder. - (43ed8be) Fixed: delegate method
popoverWillShow:
called when the popover was already open. - (7bd27eb) Fixed: crash of press tool when missing theme attribute(s).
- (34072f3) Fixed:
stringValue
was used instead ofintValue
inCPDatePicker
. - (f8457bd) Fixed:
CPPopover _closeOnBlur
had accessors. - (c274f27) Fixed: escape on a
CPanel
or aCPPopover
broke the key chain event. - (88954b9) Fixed:
CPCollectionView
height was too low. - (7de3022) Fixed: animation of a
CPPopover
didn't work as in Cocoa. - (c642d76) Fixed:
CPPopover
didn't handle semi-transient behavior. - (3652931) Fixed:
CPTextField -setTextFieldBackgroundColor:
had not effect. - (4a3f51e) Fixed:
CPDatePicker
did not use days, months, year when used within aCPPredicateEditor
. - (293114f) Fixed: delete methods erased entire field in
CPTextField
. - (01b631a) Fixed:
CPPopover
not showing in correct platform window. - (d686a0d) Fixed:
CPTextField
bindings delete data in case of multiple selection after tabbing out with no editing. - (7890085) Fixed:
CPPopover
animation issues. - (26e29df) Fixed:
CPRuleEditor/CPPredicateEditor
alignments. - (3e4c038) Fixed: memory leaks in
CPOutlineView
and corrupted itemInfos dictionary. - (55861a8) Fixed: transient popovers were not closed by a right click.
- (b3f7f44) New: set user event flag based on presence of DOMEvent in
CPTextField
. - (a04f104) Fixed: checking if a
CPTextField
is usable in aCPPlatformWindow
. - (48b3eb2) Fixed: delegate method
popoverDidShow:
not called with a none animatedCPPopover
. - (b1981bb) Fixed:
activateIgnoringOtherApps:shouldIgnoreOtherApps
did not call_didBecomeActive
inCPApplication
. - (4cebfbc) Removed outdated
collectionViewDidChangeSelection:
delegate method. - (b2f1477) Fixed: wrong condition in
CPApplication
in_didBecomeActive
. - (9ed30f5) Fixed: methods
viewDidMoveToSuperview
,viewDidMoveToWindow
,viewWillMoveToSuperview
andviewWillMoveToWindow
not called as in Cocoa. - (abdf115) Fixed: memory leaks with
CPNotification
. - (92a5fa1) Fixed: crash of the
CPOutlineView
when reloading and asssigning an item to another parent. - (f1cfa14) Fixed: buttons in
CPButtonBar
were never removed from theCPButtonBar
- (3f4ba87) Fixed:
CPTooltip
content alignement was mistakenly set to be justified. - (b922144) Fixed: some tooltips were truncated.
- (fe6a576) Fixed: Aristo 1 close button of inactive windows looked like the same in active windows.
- (f007ecf) Fixed: wrong text-color for
CPDatePicker
. - (ae5b3c4) Fixed:
CPDatePicker
didn't work in aCPTableView
. - (ab4f0f8) Fixed: display-issue in Google Chrome caused by a negative z-index.
- (48276f9) Fixed:
CPPlatformString +sizeWithFont:inWidth
sometimes calculated a width 1 px too narrow. - (8d036ab) Fixed: backspace in a non-editable or disabled
CPTextField
triggered the browser's page back button. - (b9b396a) Fixed:
CPButton -setHidden:
in a button bar was not working. - (1e39281) Fixed: the method
-(void)unbindAllForObject:
of the classCPBinder
did not work. - (7db488c) Fixed: memory leaks in
CPImageView
due to theCPImageDidLoadNotification
. - (a3796fe) Fixed: memory leaks for the classes
CPPopUpButton
,CPRadio
andCPSegmentedControl
when using bindings. - (83ec89f) Fixed:
CPDatePicker
incorrectly sent an action to its target when using the method-(void)setObjectValue:
or-(void)setDateValue:
. - (c1e89bd) Fixed:
CPDatePicker
did not behave a aCPTextField
in aCPTableView
with regards to row selection. - (b617d60) Fixed: when encoding and decoding a
CPTableView
, several_CPTableDrawView
s were added to the view. - (921fcbd) Fixed: the first responder would sometimes stop being the first responder when moved between two views in the same window.
- (5979baa) Fixed:
CPPopover
's-popoverShouldClose:
delegate method was not called in transient or semi-transient mode. - (608480c)
CPPopover
windows now trap the next mouse event automatically if the popover is still visible after aperformClose:
. - (09e3c5e) Fixed: ability to select part of a textual
CPDatePicker
when dragging. - (f295667) Fixed:
Key Value Observing
generated new and old values in the change dictionary regardless of the options provided when adding the observer. Now it respects the options passed in the methodaddObserver:forKeyPath:options:context:
. This can result in speed improvements of up to 200%. - (8e346f1) Fixed: when a
CPTableView
had its selection style set toCPTableViewSelectionHighlightStyleNone
, two clicks were required to select a control in a row. - (328172c) Fixed:
CPTableView
enabled the bezeled state of a non-selectableCPTextField
when right clicked. - (a75e5d9) Fixed: a selectable text mouse cursor style was not shown when the mouse hovered above an enabled and editable or selectable
CPTextField
. - (2e3c658) Fixed: when closing and reopening a
CPWindow
the first responder would not reset. - (459374d) Fixed: the menu of
CPComboBox
would not move in tandem with its control's window. - (f486c02) Fixed: some
CPComboBox
APIs. You can now set thefont
,alignment
,intercellSpacing
anditemHeight
of theCPComboBox
withoutlistDelegate
. - (2dff805) The
content-inset
of aCPComboBox
has been changed for better alignment. - (5cad5b0) Fixed: the text cursor of a
CPTextField
didn't take thecontent-inset
into account. - (d8718cc) Fixed: when switching between two
CPPlatformWindow
s, the new targeted window didn't get the firstCPEvent
which instead went to the previous window. - (d8718cc) Fixed: a
CPPanel
could not be opened in aCPPlatformWindow
other than the main one. - (afe326c) New: you can now set a specific height for a
CPTextField
even if a control size is set. - (5a99e18) Fixed: chaining sheet dialogs in a
CPWindow
wouldn't work. - (d5b4d66) Fixed: opening a
CPMenu
with items and then opening aCPMenu
without any items would cause a crash. - (05d602c)
CPDatePicker
no longer holds the characterCPCarriageReturnCharacter
. - (c4fbef2) Fixed: crash when dragging the first filter of a
CPRuleEditor
above the first line of the rule editor. - (f17898d, 0fb7399) Fixed:
CPPopover
would no longer move together with the control it was attached to. - (3aa8eb9) Fixed: blank screen in some browser. The
z-index
of the maindiv
of the Cappuccino is now set to 0 instead of -1000. - (82dc126) Fixed: memory leaks in the classes
CPTableView
,CPScrollView
,CPClipeView
,CPComboBox
,CPTextField
andCPView
. - (82dc126) Fixed: a null
intercellSpacing
would crashCPComboBox
. The delegate methodcomboBoxWillDismiss:
did not work. - (f4c2a0a) Fixed: the add and remove button of a
CPPredicateEditor
were blurred. - (0265fc3) Fixed: the size of a
CPCheckBox
was incorrectly calculated when using the constructorcheckBoxWithTitle:
. - (02f301d) Fixed:
CPStepper
class method returnedid
instead ofCPStepper
type. - (f2528b5) Fixed: inconsistent naming of
CPDOMDisplayServerSetStyleBackgroundSize
- (a2c0b47) Fixed:
CPDatePicker
did not gray out dates outside of minDate and maxDate.
- (5ab346e) New: the keyword
@typedef
has been added to Objective-J. This keyword allows you to define new types for your application. - (d3490f6) New:
CFError
has been added to the framework.CPError
is now toll-free bridged withCFError
. This mirrors the implementation in Cocoa. - (d3490f6) New:
CPURLErrors
andCFNetworkErrors
have been added to the framework. They respect the same error codes as in Cocoa. - (2411edd) New: faster
objj_msgSend
. - (3331778) New:
CFHTTPRequest
now accepts the withCredentials property. - (ffcef90) New:
CPURLRequest
now accepts withCredentials.
Bug Fixes:
- (ee668df) Fixed: ivars with accessors in a Category caused a duplicate ivar error.
- (8c43f4f) Fixed: potential error while skipping whitespace in XML plists.
- (1dbd41a) Fixed: error in Internet Explorer if Info.plist was served with the wrong content type.
- (d629a13) Fixed: issue with InvalidStateError when using
CPURLConnection
in IE11. - (2f7681f) Fixed: the compiler did not show erorrs on the first line of a file.
- (13fe318) Fixed:
Objective-J
now gives an understandable error when the compiler cannot find a protocol in a class declaration. - (6f90e76) Fixed: the keyword
@ref
did not work correctly if the variable was an ivar.
- (973940f) New: integration of
capp_lint
in XcodeCapp. - (f14add2) New: added option in XcodeCapp for displaying errors in notifications.
- (4806c52) New: update Cappuccino from XcodeCapp.
- (b028e62) New: support of objj in XcodeCapp.
- (148960e) New: XcodeCapp now has an option to select if it becomes active or not when opening the errors & warnings panel.
Bug Fixes:
- (8f5aa0e) Fixed: XcodeCapp documentation was outdated.
- (0cc1679) New:
nib2cib
support for the standard color panel toolbar item.
Bug Fixes:
- (4a31467) Fixed:
CPSegementedControl
causes an error innib2cib
. - (e7a0e9a) Fixed: "the built in image NSRadioButton is not supported" error.
- (b28e0d1) Fixed:
nib2cib
ofCPDatePicker
would not convert enabled state. - (c28da78) Fixed:
nib2cib
of segmented control would not convert enabled state.
- (fadffee) New:
bootstrap.sh
now uses SSL. - (febce68) New: don't run Travis setup quietly to make it easier to track setup errors.
- (2e015c9) New:
Doxygen
theme refresh. - (6334458) New:
CFPropertyList
unit tests have been added. - (79c2576) New: manual
AppKit
tests have been added. - (9e918cc) New: ability to perform offline bootstraping.
- (cd19fc7) New:
capp_lint
is installed withjake install
. - (02f36a1) New: theme kitchen sink manual test to exercise many themable controls in many states at once.
- (b028e62) New: options
-m
,-I
,-h
added toobjj
to compile several files. - (64a15db) New: when building your application you can now disable the
CommonJS
build phase by setting the system environement variableIGNORE_ENV_COMMONJS
. - (ef4cd6a) New:
--theme
option for capp tool. - (06d0357) The Objective-J VIM highlighting has been updated and is similar to the official
Objective-C
VIM highlighting and the officialJavaScript
VIM highlighting. - (fdc5ed9) New: the configuration files of
doxygen
have been redesigned. The commandjake docset
has been added.
Bug Fixes:
- (fa66c26) Fixed: broken documentation.
- (23ff035) Fixed: wrong link to install
homebrew
. - (d51f179) Fixed: error when running some XML tests with rhino.
- (c21d0c6) Fixed: dependency on tusk in
jakefile
. - (372372a) Fixed:
capp_lint
didn't handle protocol. - (8d7c47a) Remove explicit use of Mac OS X 10.5 SDK, replace with latest OS X in
fontinfo
. - (7958775, 75a4d8a) Fixed:
bootstrap.sh
didn't handle specific OpenJDK Runtime Environment version.bootstrap.sh
could not filter the OpenJDK version key out correctly. - (a822ec7) Fixed:
jake
did not work in the Cappuccino directory for non-Mac OS X systems. - (e155cca) Old CI scripts have been removed from the Tools directory.
- (c484e4a) NativeHost is no longer built by default.
- (c3fc6a0) Fixed: the URL of the current release version of Cappuccino was wrong in the documentation.
- (e40612a) Fixed: in the
Jakefile
template, the configuration build environment parameter could have multiple values. Now this variable is correctly set by detecting the build environment. - (de3eb86) Fixed: some warnings when compiling Cappuccino with
rhino
. - (ee688d9) Fixed: showcase of themes was broken.
- (1ab1ac2) New: ability to launch a set of tests from a test file.
- (9bb55a2) New:
+setUp
and+tearDown
methods. - (410d9ce) New: print the number of tests launched by
OJTest
. - (080b5b7) New: warnings raised when tests are declared several times.
Bug Fixes:
- (1f6cc19) Fixed: coverage options for
OJTest
.
The changes above summarise a few hundred of the most important changes in Cappuccino 0.9.8. You can review the other 700 or so changes in the 0.9.7...0.9.8 compare view.