Update ChangeLog

This commit is contained in:
Daniel Ferreira 2017-06-29 08:28:51 +10:00 committed by Ivan Vučica
parent 270c1bcea9
commit a8c2c4965d

254
ChangeLog
View file

@ -1,3 +1,257 @@
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSFileManager.h
* Source/NSFileManager.m:
Implement a method for getting attribytes of a file system path. Reuse
the implementation of -fileSystemAttributesAtPath: for this purpose but
export the last system errors to the caller. Make
-fileSystemAttributesAtPath: use the new implementation, without
exposing error info to the caller.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/Foundation.h
* Headers/Foundation/NSFileCoordinator.h
* Headers/Foundation/NSFilePresenter.h
* Headers/Foundation/NSFileVersion.h
* Headers/Foundation/NSURLSession.h
* Source/GNUmakefile
* Source/NSFileCoordinator.m
* Source/NSFileVersion.m
* Source/NSURLSession.m:
Generate class stubs (without any method definition) for
NSFileCoordinator, NSFilePresenter, NSFileVersion and NSURLSession.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURLConnection.h:
Currently, NSURLConnectionDelegate methods were defined as a category of
an NSObject. The same definitions were copied over to a new
NSURLConnectionDelegate protocol, introduced in OSX 10.7.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURLCredential.h
* Source/NSURLCredential.m:
Declare the NSURLCredentialPersistenceSynchronizable enumeration case to
NSURLCredential persistence options. Since GNUstep does not support
iCloud synchronization for credentials, this case will default to
NSURLCredentialPersistencePermanent.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURLProtectionSpace.h
* Source/GSHTTPAuthentication.m
* Source/NSURLProtectionSpace.m:
Improve handling of NSURL authentication methods. Make "HTMLForm"
authentication a no-op as it should be instead of making it fall back to
Basic authentication.
Add stubs for NTLM and Negotiate IIS methods. They should be easily
implementable given the current framework for authentication methods.
Add stubs for ClientCertificate and ServerTrust authentication methods.
A blocker for supporting them is the lack of a Security.framework
implementation (since they rely on SecTrustRef). They would also require
additions to the current SSL handling code for GNUstep https requests.
Also stub the -distinguishedNames property of NSURLProtectionSpace,
which also deals with certificate-related authentication methods.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURLRequest.h:
Add new values for the NSURLCachePolicy enum. Although
NSURLRequestReloadIgnoringLocalAndRemoteCacheData and
NSURLRequestReloadRevalidatingCacheData have been left unimplemented,
the same applies for the reference platform, so not supporting it does
not break API compatibility.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSZone.h:
Implement NSMakeCollectable(), an interface which makes CoreFoundation
objects eligible for garbage collection.
Since garbage collection is a totally deprecated API, its implementation
is a no-op, which may cause objects that rely on it to leak. However, it
doesn't look like supporting actual garbage collection at this point
will bring a gain to the project -- and having this function available
will avoid breaking builds that rely on it.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSProcessInfo.h
* Source/NSProcessInfo.m:
Add stubs for sudden termination APIs and for application activity
management methods.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSProcessInfo.h
* Source/NSProcessInfo.m
* Tests/base/NSProcessInfo/general.m:
Introduce the systemUptime property to NSProcessInfo, which can compute
platform-independently what is the uptime of the system.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Source/NSHTTPCookie.m
* Tests/base/NSHTTPCookie/basic.m:
Fix a bug in NSHTTPCookie's Set-Cookie parser where it would fail to
parse more than one key-only cookie (such as "Secure; HTTPOnly;") in a
header.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSHTTPCookie.h
* Source/NSHTTPCookie.m
* Tests/base/NSHTTPCookie/basic.m:
Add support for parsing HTTPOnly cookies (those that cannot be accessed
by clients). Implement -[NSHTTPCookie isHTTPOnly].
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSHTTPCookie.h:
Make -[NSHTTPCookie isSessionOnly] and -[NSHTTPCookie isSecure] methods
become properties if possible, so that they can be also queried as
`cookie.sessionOnly` and `cookie.secure`. This increases compatibility
with applications that rely on this notation.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSFileManager.h
* Source/NSFileManager.m:
Create NSFileManagerDelegate, a more modern manner to verify whether to
proceed a file operation after an error or whether an operation should
actually be performed by NSFileManager.
No functionality using the delegate is yet implemented.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURL.h
* Source/NSURL.m
* Source/externs.m:
Create an unimplemented stub for NSURL's -getResourceValue:... method,
which can gather a numerous set of information about a URL.
Define the constants which are passed into -getResourceValue:... for
requiring information so that a build that relies on this method does
not break.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURL.h:
Create the NSURL.fileURL property to increase compatibility with
applications that rely on this.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURL.h
* Source/NSURL.m:
The OSX filesystem implements "aliases", a species of symlink which
tracks its source if it was moved. Create stubs for the NSURL functions
which handle these aliases.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSURL.h
* Source/NSURL.m:
Implement +[NSURL fileURLWithPath:isDirectory:], a class method added in
OSX 10.5, which was missing from the implementation.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSCoder.h
* Headers/Foundation/NSObject.h
* Source/NSCoder.m
* Source/NSKeyedUnarchiver.m:
Implement stubs for NSSecureCoding which do not break projects that rely
on it.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSDate.h
* Source/NSDate.m:
Declare a system clock change notification. Base still does not emit
this notification, but this allows applications that wait for it not to
have their build broken.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSObjCRuntime.h:
Create the NS_ROOT_CLASS macro, a wrapper around the objc_root_class
compiler attribute.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSObjCRuntime.h:
Make NS_AVAILABLE and NS_CLASS_AVAILABLE macros no-ops so that their
absence does not break projects that rely on it.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSCalendar.h:
Update NSCalendarUnit definitions with a newer specification from Cocoa.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSCalendar.h:
Add the NSCalendarOptions enum to NSCalendar for compatibility purposes.
While NSCalendar does not yet know how to handle them, it will not
generate build errors in projects that attempt to use them.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSCalendar.h
* Source/NSCalendar.m
* Source/NSLocale.m:
Add new calendar identifier constants to NSCalendar, to add
compatibility for newer OSX applications. Some identifiers do not hold
parity with the older equivalents and have been left unimplemented, with
the gregorian calendar as a fallback.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/NSGeometry.h
* Source/NSGeometry.m
* Tests/base/Functions/NSGeometry1.m:
Create the NSEdgeInsets struct in NSGeometry, introduced in OSX 10.7.
Add helper functions for creating these insets.
This struct is not used in Base. Rather, it is used as part of newer
APIs in GUI.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/Foundation/FoundationErrors.h:
Create a no-file-exists error to the FoundationErrors enums. No function
is yet implemented to throw this error, but it has been added for
compatibility with applications that handle it.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* Headers/GNUstepBase/GSVersionMacros.h:
To keep compatibility with compilers prior to Objective-C 2.0 support,
added in the GCC 4.6 series, we are unable to always declare @property
attributes in classes. However, compatibility with dot-syntax
applications require us to define properties if we can.
We already had some checks for the GS_HAS_DECLARED_PROPERTIES macro to
see whether we could or could not declare properties (or whether we
should fall back to manual getter/setter defining). However, it seems
this macro never got defined.
This commit adds this macro, checking whether we possess either GCC >=
4.6 or Clang.
2017-06-29 Daniel Ferreira <dtf@stanford.edu>
* .gitignore:
Create a .gitignore file to ease Base development using the Git version
control system. This stops object files, automake products and test
files from being accidentally inserted into the tree.
2017-06-21 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSDistributedLock.m: Revert recent changes to use O/S