Releases: vdhamer/Photo-Club-Hub
Release 2.7.1
Who's Who screen
- Added support for a new role for club officers called "Other" (needed for fgDeGender).
Readme screen
- Updated Dutch and English versions of the text
- Fixed screen size on iPad under iOS 18 (using presentationSizing)
- Updated several screenshots
- Added "optional" to Level 1 example (although it hasn't been implemented yet)
Preferences screen
- Fixed screen size on iPad under iOS 18 (using presentationSizing)
Code Maintenance
- Added "optional:" keyword to level1.json files. Reason: easier to read and helps document the format.
- Consequence: users who don't want to or can't upgrade to newer versions get marginally reduced functionality.
- Tested on SwiftLint 0.57.1 and iOS 18.2 RC (22C150) and Xcode 16.2 beta (16C5023f) and MacOS 15.1.1
- SwiftJSON imported as an external package. Preceding versions included it as a single Swift source file.
- Entered trader status (not a trader) in Apple App Store. And accepted new terms and conditions.
- Minor update to OrganizationType.swift (to stay in sync with Photo-Club-Hub-HTML).
- removed Organization parameter from Photographer.createFindUpdate() as it was used for debugging only.
- set LSMinimumSystemVersion to (MacOS) 15.0.0 in case the app is run on a Mac.
- removed 7 source files that were no longer used
- renamed isScrollLocked to isMapScrollLocked in data model
- Level 2 support for photographerImage added. Not shown in the user interface yet.
- removed temproot.level1.json file (needed for beta testing build 4632/4633)
Data Maintenance
- Added website for member WH in fgDeGender and added a few birthdays (not visible yet in user interface).
- Added 14 photo clubs in Brabant Oost (NL).
- Fixed web site URL for Collectief Brabant and Fotogroep Oirschot.
- Added examples of a remark to fgDeGender.level2.json file. Not needed, but nice if the file is used as a template.
This build #4634 was built using Xcode 16.2 and was distributed via the App Store.
Build 4633
Working on a new standalone MacOS app (see GitHub/vdhamer) that generates HTML membership lists for club web sites. This version requires at least iOS version 17.6.
WHO'S WHO SCREEN
- Added support for club officers with role "other" (used for LA and HK in fgDeGender).
README SCREEN
- Updated Dutch and English versions of the text
- Fixed screen size on iPad under iOS 18 (using presentationSizing)
- Updated several screenshots
- Added "optional" to Level 1 example (although it hasn't been implemented yet)
PREFERENCES SCREEN
- Fixed screen size on iPad under iOS 18 (using presentationSizing)
CODE MAINTENANCE
- Added "optional:" keyword to level1.json files. Reason: easier to read and helps document the format.
- Tested on SwiftLint 0.57.1 and iOS 18.2 (22C5142a) and Xcode 16.2 beta (16C5023f) and MacOS 15.1.1
- SwiftJSON imported as an external package. Preceding versions included it as a single Swift source file.
- Entered trader status (not a trader) in Apple App Store. And accepted new terms and conditions.
- Minor update to OrganizationType.swift (to stay in sync with Photo-Club-Hub-HTML).
- removed Organization parameter from Photographer.createFindUpdate() as it was used for debugging only.
- set LSMinimumSystemVersion to (MacOS) 15.0.0 in case the app is run on a Mac.
- removed 2 source files that were no longer used
DATA MAINTENANCE
- Added website for member WH in fgDeGender and added a few birthdays (not visible yet in user interface).
- Added 14 photo clubs in Brabant Oost (NL).
- Fixed web site URL for Collectief Brabant.
This build #4633 was built using Xcode 16.1 and used for (TestFlight) beta testing.
Release 2.7.0
PORTFOLIO and WHO’S WHO SCREENS
- Milestone: lists of club members are now loaded from
Level2
json files. See README on GitHub for how to add your own club. - Swiping down top of screen erases and reloads database content. Wait a bit before swiping again (yes, concurrency issue).
- Added option to provide Dutch Fotobond membership numbers. This may be displayed in the future.
- Added option to provide start and end dates of club membership. This may be displayed in the future.
- Removed option to provide e-mail addresses and phone numbers. Previous versions encrypted this data.
CODE MAINTENANCE
- Three toggles in Settings for testing and debugging purposes. If you play with them, best to return them to their defaults.
- Tested on Xcode 16.1 beta 1 (16B5001e), iOS 18.1 beta 2 (22B5023e), VisionOS 2.0 beta 1 (22N5297d), MacOS 14.6.1.
- Code improvement regarding try/catch for
Level 2
JSON file loading submitted by codifyme from St. Petersburg. Thanks.
DATA MAINTENANCE
- Added portfolios for Fotogroep de Gender (Eindhoven). These portfolios (HTML/JS) will also be shown on the club website.
- Various minor corrections to json
Level 1
andLevel 2
files. - Added a Wikipedia link for the club fgDeGender. The link is mainly to show that it is supported for both clubs and museums.
DOCUMENTATION
- Updated
dataModel.png
diagram as shown in README file on GitHub.
This version was released as 2.7.0 (4630) to TestFlight and to the App Store.
Build 4629
Preview of release 2.7.0
Main change: uses JSON "Level 2" files to load membership data for all photo clubs.
This replaces hardcoded files for particularly the club Fotogroep Waalre.
Note: Fotogroep de Gender's portfolios still need filling, so you should be gradually seeing images become available as the Level 3 data gets generated and put online.
Release 2.6.3
MULTIPLE SCREENS
- Removed ability to delete rows by swiping left.
CLUBS AND MUSEUMS SCREEN
- Remark texts about clubs and museums were missing (bug in v2.6.2).
- Added smart scrolling with optimization for iOS 18.
PREFERENCES SCREEN
- Added direct link to Photo Club Hub section of Settings app with advanced settings.
README SCREEN
- Removed text about deleting elements by swiping left (GitHub readme also updated).
- Changed the first image (now shows 3 levels as screenshots) and removed apple-in-glass image.
iOS SETTINGS
- Settings didn't always allow you to select all supported languages (UIPrefersShowingLanguageSettings).
Release 2.6.2
STABILITY IMPROVEMENTS
- This release is mainly about improved stability during background data loading.
- One-time 'forced' reload of in-app database content. This removes any potentially outdated data records.
- In-memory state is committed to disk less often te ensure user interface consistency (transactions).
- iOS Settings now has toggles about stress testing that are used in developing the app.
- New compliance to Swift 6 guidelines for preventing concurrency issues (strict data-race checking).
PORTFOLIOS SCREEN
- Swiping down the top of screens with lists will clear (new) and reload the app's locally saved data.
iOS SETTINGS
- The iOS Settings app now shows version info as well as some additional information about the app.
PRELUDE SCREEN
- Changed the large software-generated logo for a better match to the app's icon (red/blue swap).
- App icon itself slightly updated and prepared for iOS's dark and tinted modes (WWDC24).
DOCUMENTATION
- Improved documentation for achieving Level 1 club support. See the README file on GitHub.
- Removed documentation section on Privacy and encryption. It is no longer relevant.
APP STORE
- Fixed incorrect (old) app name for the Dutch language App Store.
MAINTENANCE
- Tested on MacOS 14,5, and latest available versions of Swift, Xcode, iOS and Vision Pro.
• Data encryption and any sensitive data (like member e-mail addresses) are now removed.
This release corresponds to build 4627.
Build 4626
- Swiping down major screens will now erase and reload stored data
- Added info and debug options to the Settings App
- App's icon prepared for new iOS 18 features (dark mode and tinted)
- App data is erased and downloaded again (thereby refreshing the app's stored data)
- Prepared for Swift 6 strict concurrency checking
- Robustness improvements
Build 4625
CLUBS AND MUSEUMS SCREEN
- Changed icon by which organization type (other than club or museum) is displayed on map. It is not normally used.
MAINTENANCE
- Tested on iOS 18.0 beta 1, and Xcode 16.0 beta (16A5171c).
- Improved robustness of OrganizationType.getter (gave crash if value was somehow missing).
- Forced one-time reloading (from scratch) of CoreData information when release is 2.6.2 or higher.
- Changes to prepare for Swift 6 language mode (with its static data-race checking).
- Added "No clubs mode" (compile-time) for testing.
- Removed some hard-coded member data for FGW club that was no longer needed.
Build 4624
MAINTENANCE
- Tested on iOS 17.5.1
- Enabled full Xcode concurrency checking. Required several code changes. In preparation of Swift 6.0.
- Cleaned up code around OrganizationType. That code contained a temporary hack to prevent crashes.
Build 4623
WHO'S WHO SCREEN
- Cleaned up usage notes at the bottom of the screen.
DOCUMENTATION
- Cleaned up level 1 description of README.md file on Github.
- Removed section on Privacy (because sensitive info and associated encryption have been removed).
MAINTENANCE
- Added Photo Club Bernheeze to the list (
root.level1.json
). - Tested on MacOS 14,5 (23F79), Xcode 15.4 (15F31d), SwiftLint 0.55.1, iOS 17.5 and Vision Pro 1.2 beta 5 (21O5565d).
- Fixed a SwiftLint warning about returning void.
- Removed encryption using git-crypt. Data is now fetched directly without using an encrypted URL.
Build 4623 was distributed via TestFlight only.