Skip to content
This repository has been archived by the owner on May 28, 2024. It is now read-only.

Latest commit

 

History

History
183 lines (125 loc) · 8.87 KB

CHANGELOG.md

File metadata and controls

183 lines (125 loc) · 8.87 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning starting from 1.x releases.

Merged, but not yet released

All recent changes are published


Table of contents

0.x Releases


Released on 2020-08-31

Changed

  • Updated contentful.swift dependency to 5.2.0.
  • Fixed updating relationships between entry and its parent when that entry has been unpublished and published between synchronization calls.

Released on 2018-11-07

Changed

  • BREAKING: contentful.swift has removed its own dependency on Interestellar and therefore the package is no longer a required import. The Contentful SDK now has its own Result type. If you were relying on fetch methods that returned an Observable, you will need to update your code to simply switch on the result.
  • BREAKING: Another side-effect of the updated dependency on contentful.swift is that the localeCode property on your NSManagedObject subclasses must now be marked as optional. Don't forget to check the "Optional" box in the assistant Xcode editor for your @NSManaged variable in the CoreData model editor.
  • The project is now updated to Swift 4.2.

Released on 2018-07-30

Fixed


Released on 2018-07-02

Changed

  • If there are ever any (currently) unresolvable relationships returned on a page, they will now be cached to disk so that if the user quits the app, the relationship will still be resolved when the target resources are returned in subsequent sync operations. Thanks to @marcin-bo for submitting the fix in #60

Released on 2018-04-18

Changed

  • BREAKING: If you were using the methods to seed a CoreData database on first launch, you will need to re-run the command from contentful-utilities.swift to generate the bundle files. This change coencides with the fact that environments are now locale specific.
  • BREAKING: Upgrades project to Xcode 9.3 and Swift 4.1

Released on 2018-04-05

Added

  • BREAKING: Ability to store all asset metadata in AssetPersistable has been added. Conforming to the new protocol contstraints is a breaking change and you should make sure to resync all data to ensure this metedata is stored properly.
  • You can now use the fetchData(for:with:) method from contentful.swift on AssetPersistable instances

Changed

  • BREAKING: The library is now upgraded to Swift 4.1 and Xcode 9.3

FIXED

  • Assets that contained media files that were not images failed to deserialize the metadata about the file properly, see contentful.swift #182

Released on 2018-02-07

Fixed

  • Relationships were not resolving when seeding a database from bundled content if the source and destination resources were in different files. Fixed in #48

Released on 2017-01-09

Improved

  • Improved test coverage to capture edge cases for various models.

Added

  • Contentful.Location can now be stored as an 'Transformable' attribute on a CoreData entity in the Xcode data model editor and on your NSManagedObject subclasses.

Released on 2017-11-27

Changed

  • Travis now deploys the reference documentation from the gh-pages branch when a new tag is pushed.
  • Upgraded dependency on Contentful to 1.0.0-beta3 and updated development dependencies.

Fixed

  • Issue where seeding CoreData db from bundled JSON files only created entities for the spaces default locale in #39

Released on 2017-10-05

Changed

  • BREAKING: Migrated to Swift 4; you must now use Xcode 9 in order to develop with the persistence library.

Released on 2017-09-20

Fixed

  • Bug that caused SynchronizationManager to fail seeding a CoreData database from bundled content because of lack of localization context.

Released on 2017-09-08

Added

  • Methods on SynchronizationManager to seed a CoreData database from bundled content.

Fixed

  • Project configuration so that contentful-persistence.swift may be built from source without warnings. Implications:
    • Dependencies are still managed via Carthage but using the --use-submodules flag. Thus, dependencies are all tracked as submodules and the source (i.e. Carthage/Checkouts) is now tracked in git.
    • Now travis doesn't install carthage or use it at all to build the project and ContentfulPersistence.xcodeproj framework search paths are cleared.

Released on 2017-07-31

Added

  • The ability to a LocalizationScheme on SynchronizationManager which determines for which locales data should be saved to your persistent store.

Changed

  • BREAKING: ContentPersistable is now called ContentSysPersistable
  • BREAKING: mapping() is now called fieldMapping() to clarify that only 'fields' from your Entries ContentModel must be mapped.
  • BREAKING: localeCode: String is now a necessary property for ContentSysPersistable model classes.

Fixed

  • Removed use of try! in the codebase Issue #25. Fix by @tapwork in #26

Released on 2017-07-18

Fixed

  • Bug where "clearing" a field in an Entry did not nullify the corresponding persisted property.
  • Bug where deleting a relationship in Contentful did not nullify the corresponding persisted relationship.
  • Crash caused by explicitly defining mapping for relationships.

Changed

  • BREAKING: Mapping must be explictly define for types conforming to EntryPersistable

Released on 2017-06-20

Changed

BREAKING: ContentfulSynchronizer is now called SynchronizationManager BREAKING: Rather than initializing SynchronizationManager with a Contentful.Client instance, the Contentful.Client is now initialized with a SynchronizationManager instance as the persistenceIntegration parameter in the Client initializer. BREAKING: The manner in which content type identifiers map Contentful responses to NSManagedObject model classes is now changed: SynchronizationManager is initialized with a PersistenceModel which is constructed by passing in your NSManagedObject subclasses that conform to either SyncSpacePersistable AssetPersistable or EntryPersistable.