Releases - PermanentOrg/meta GitHub Wiki

2024

April 30, 2024

Bugfixes

  • Prevent left hand panel and file workspace from getting out of sync regarding which archive a user is in
  • Handle text wrapping better in item descriptions
  • Fix upload button for older browsers

Process

  • Refactored RecordVO and added tests in web-app
  • Dependency updates in upload-service and sftp-service

April 25, 2024

Bugfixes

  • Fix bug causing left side archive info to not match the file list items displayed

Process

  • Remove Facebook integration messaging from web-app
  • Refactor web-app MessageService

New features

  • Add new checklist endpoint

April 17, 2024

Bugfixes

  • Let users log in even if they are removed from their default archive
  • Store emails in lowercase
  • Fix copy so that we don't have orphaned records with no parent folder

Process

  • Add account space to /login response
  • donations-firebase, notification-service, sftp-service, upload-service dependency updates
  • Update Stripe API and client
  • URL-encode filenames in tests

New features

  • Add admin endpoint to recalculate record thumbnails

April 10, 2024

Process

  • Formatting improvements in back-end
  • Github actions update in web-app
  • New linting rule in web-app
  • Dependency updates in upload-service
  • Rotate FusionAuth API key
  • Documentation updates in stela

Bugfixes

  • Attempting to send a text message to a missing phone number now results in the correct error
  • You can now upload a file multiple times in a row without refreshing

April 3, 2024

Process

  • Update donations-firebase, web-app, upload-service, notifications-service dependencies
  • Prettier formatting for PHP
  • Fix inconsistent web-app unit tests

March 28, 2024

Process

  • Update donations-firebase, web-app, upload-service, sftp-service, notifications-service, stela dependencies
  • New linting rules for PHP
  • Prettier formatting for PHP
  • Explicitly add a folder link to shares
  • Fix more strtolower deprecation warnings

New features

  • Give users a specific error if an upload fails because of permissions
  • Add glam checkbox
  • Send Mixpanel calls to the back-end API from the web-app

March 12, 2024

Process

  • Dependency updates in sftp-service, upload-service, and web-app
  • New linting rules in back-end
  • Update node version in upload-service's Dockerfile (used for testing)
  • web-app now passes archive type "group" instead of "family" in API calls

Bugfixes

  • Stop passing nulls to PHP functions for which this is deprecated
  • Pass a valid comparison function to PHP's usort function

New Features

  • Added POST /api/v2/event endpoint for recording events in our database (and optionally Mixpanel)
  • Added POST /api/v2/promo endpoint, allowing admins to create promo codes

March 6, 2024

Process

  • Update dependencies for donations-firebase, sftp-service, and upload-service.
  • Enforce more PHP linting rules
  • Enforce more web-app linting rules

Bugfixes

  • Fix rare web-app test failure
  • Fix permission errors when searching in subfolders

February 28, 2024

Process

  • New button component and form input component for GLAM
  • New key source for PHP packages
  • Enforce more PHP linting rules
  • Update dependencies for upload-service, donations-firebase, and stela
  • Add a new event table
  • Accept the "group" type for archives
  • Remove deprecated PHP constant
  • Speed up stela local tests
  • Update back-end Twilio client

Bugfixes

  • Fix copying folders
  • Fix public search

New features

  • Display text files in the browser

February 21, 2024

Process

  • New linting rule in back-end
  • CI fix in back-end
  • Dependency updates in web-app

New Features

  • Banner to direct users to the mobile app on mobile web
  • Add RootsTech 2024 promo codes
  • New toggle component in web-app (added, not yet used)

February 14, 2024

Process

  • PHP linting rules
  • Handle a file not found error so the client gets a sensible response

New Features

  • Tell the user the destination of their uploaded file(s)
  • Indicate which fields are editable in the record editor

February 8, 2024

Bugfixes

  • Fixed issue with picking a new banner/profile image.

February 7, 2024

Process

  • Add and enforce new back-end linting rules
  • Web-app, sftp-service, and upload-service dependency updates
  • Upgrade to Angular 17

Bugfixes

  • Fix how profile completion percentage is calculated
  • Handle error if ProcessUploadedRecord can't find the file
  • Throw invalid request error if tags is empty string in v2 search
  • Fix permission check when updating profile items
  • Return full SharebyUrlVO on successful share link update

New Features

  • Fetch featured archives from API
  • Accept v2 requests to /share/updateShareLink

January 30, 2024

Process

  • Dependency updates in upload-service and sftp-service
  • Added /admin/account/set_null_subjects endpoint to clean up accounts missing subjects due to age or the bug we fixed last week
  • Update the transaction email client library in back-end

Bugfixes

  • Fixed authentication bug in /share/updateShareLink
  • The assetlinks.json file used for Android deeplinking will now be properly set on the backend instance

New Features

  • Added "Your Public Archives" section to public gallery
  • /share/generateShareLink now supports v2 requests

January 25, 2024

Process

  • New deeplinking updates for iOS

Bugfixes

  • FusionAuth account IDs are now recorded in all account creation flows

New Features

  • /share/generateShareLink now supports v2 requests
  • Profile information of public archives can now expand/collapse on mobile web

January 23, 2024

Process

  • New deeplinking updates for Android and iOS
  • Deprecation fixes: fix casting to int, remove utf8_decode and utf8_encode, check for null argument to is_file, update Stripe client, stop passing null to DateTime constructor
  • Error (instead of warn) on new web-app linting rule

January 22, 2024

Bugfixes

  • Share link creation permissions check

Process

  • Upgrade PHP libphonenumber and call Guzzle correctly
  • Stop setting dynamic properties in VO constructors

New features

  • Login is case-insensitive

January 19, 2024

Bugfixes

  • Fix some PHP deprecation warnings
  • Reduce Sentry sampling rate
  • Fix large file uploads

January 17, 2024

Bugfixes

  • Fix error in Firebase JWT validation
  • Fix issue with permissions in share link generation

Process

  • Upgrade back-end, upload-service, and sftp-service dependencies
  • Update Mixpanel events in web-app
  • Upgrade to PHP 8.3
  • Upgrade to Debian 11

January 10, 2024

Bugfixes

  • Confirmation message for upload to a public folder now appears when file is submitted via drag-and-drop
  • Display an error message when upload is attempted with a zero-byte file
  • Viewers can now get links to public archive items
  • Public gallery page no longer redirects users with invalid sessions to the login page
  • Attempting to create an archive without a session now causes the correct error

Process

  • Enable linting rules in web-app
  • Improve formatting in back-end
  • Dependency updates in sftp-service, upload-service, and back-end
  • Remove unused Facebook integration code from back-end
  • Update back-end to PHP 7.4
  • Standardize how apt source files are copied to images
  • Install packer plugins explicitly during image builds

2023

December 12, 2023

Bugfixes

  • Return custom metadata correctly for folders
  • Make it easier to highlight text in modals
  • Make archive.public a boolean everywhere
  • Fix archive search
  • Return size for shared folders correctly
  • Fix archive rollback / hard deletion
  • Update permission checks for profile items and relationships

Process

  • Improve event tracking
  • Update public archive design
  • Improve rclone usage documentation
  • Stop using ts-node in stela
  • Pin the permanent sdk in the sftp-service
  • Update sftp-service and upload-service dependencies

New features

  • Add a setting to allow/disallow deletion over SFTP

December 5, 2023

Process

  • Upgrade web-app to Angular 16
  • Stop waiting to retrieve file data in the sftp-service, since it's now returned by /registerRecord
  • Dependency updates in donations-firebase, sftp-service, and upload-service
  • Onboarding emails are now sent from Mailchimp instead of through back-end

Bugfixes

  • Folders with special characters in their names will no longer be duplicated on Permanent when syncing via SFTP/rclone
  • Custom metadata is now returned correctly from /folder/get (so will now display correctly for folders)

New Features

  • Search within an archive now supports searching for internal substrings in file and folder names.
  • When searching archives, archives belonging to test accounts will no longer appear in the results.
  • Report upload time in the console on the web-app in test environments

November 29, 2023

Process

  • Optimize caching in SFTP service
  • Include email in Mixpanel requests
  • Populate FileVOs in registerRecord response
  • Dependency upgrades for sftp-service

Bugfixes

  • Fix bug with colon in search queries
  • Fix issues with panning in file viewer

November 15, 2023

Process

  • refactor refresh tokens on SFTP
  • upload service dependency updates
  • sftp service dependency updates
  • remove anonymous checkbox for storage purchases

Bugfixes

  • expand long titles in public archive

New features

  • add bulk gifting endpoint
  • add email for gift recipients that already have an account
  • add UI for multiple gift recipients
  • autofill the storage signup promo code from a link

November 7, 2023

Process

  • Refactor temporary storage in sftp-service
  • Dependency updates in sftp-service, upload-service, and donations-firebase

Bugfixes

  • A missing value in a FamilySearch fact object no longer causes an error
  • A colon in a search query no longer causes an error

November 1, 2023

New Features

  • Storage gifting feature interface
  • Show gifting amount in invitations
  • Add /billing/gift endpoint
  • Add notification email send for gift recipients

Process

  • Give invitees 100 MB
  • Enable additional linting rule in web-app

Bugfixes

  • Upsert to mailchimp on account creation
  • Fix parameters in GetToEmailNotificationVOs query

October 25, 2023

Process

  • Improved SFTP docs
  • Upgrade Storybook and dependencies
  • Update SFTP service, notification-service, stela, and upload-service dependencies
  • Add human-readable transaction types for gifting

Bugfixes

  • Show redeemed storage in storage bar immediately
  • Tags persist on scroll in folders
  • Search works with quotation marks

Features

  • Backend: transfer storage when an invitation with a gift is first created

October 18, 2023

Process

  • Add a new invitation code that doesn't get system-generated emails
  • Add a new activity type for non-system-generated emails

October 17, 2023

Process

  • Added a test coverage analyzer to web-app
  • Dependency updates in upload-service and sftp-service

Bugfixes

  • Users invited with a storage gift can now sign up even if the inviter doesn't have enough storage to make the gift

October 11, 2023

Process

  • Dependency updates in notification-service, upload-service, sftp-service, and web-app
  • Fix some unreliable web-app tests
  • Check space before gifting storage

Bugfixes

  • Fix access roles on items returned by shares
  • Fix zip file downloads of shared records and folders
  • Extend duration of system messages in web-app
  • Show "Add Tags" label even if tags already exist

October 4, 2023

Process

  • Refresh auth tokens for SFTP service
  • Update sftp-service dependencies
  • Delete deprecated API endpoints

Bugfixes

  • Fix email and phone verification
  • Storage bar updates after uploading/deleting files
  • Use branded icons for image zooming
  • Remove extra slash from public archive link

New features

  • Users can navigate through tags with keyboard arrow buttons
  • Add featured archives to database
  • Add endpoints to manage featured archives

September 26, 2023

Process

  • Dependency updates for sftp-service
  • Dependency updates for upload-service

September 15, 2023

Process

  • Switch PHP/Apache config to mpm_event + php-fpm
  • Add mixpanel events to goal setting flow
  • Dependency updates for upload-service
  • Dependency updates for sftp-service

New Features

  • New onboarding flow focusing on goal setting
  • Add alt text metadata field

Bugfixes

  • Fix "keep me logged in" functionality
  • Fix grid/list display buttons
  • Fix error when signing into a new account with multifactor authentication enabled

September 6. 2023

Process

  • Enable two new linting rules for web-app
  • Dependency updates for upload-service
  • Dependency updates for sftp-service
  • Add SSH key for a contractor
  • Change node installation path
  • Update SFTP to node 18

Bugfixes

  • Use correct content type for jpg files, to fix FamilySearch integration
  • Search now returns expected results in the workspace

New features

  • New functional sign up test suite

August 31, 2023

Process

  • Dependency upgrades in sftp-service
  • Set Mailchimp tags in test environments

Bugfixes

  • Fix scrolling when signing up through a share link

August 29, 2023

Process

  • Update featured archives
  • Add MixPanel event for signup
  • Upgrade upload-service to node 16
  • Upgrade notification-service to node 16
  • Add linting rules to web-app
  • Dependency updates in sftp-service
  • Dependency updates in upload-service

August 23, 2023

Process

  • Dependency updates in web-app, upload-service, notification-service, and sftp-service.
  • Update linting in sftp-service.
  • Update featured archives in public gallery.

August 16, 2023

Process

  • Activate new linting rules in web-app
  • Dependency updates in upload-service
  • Dependency updates in sftp-service

Bugfixes

  • Stop trying to use deleted records as folder thumbnails
  • Fix a bug wherein cached login data on the frontend can cause the app to hang if the user isn't actually logged in
  • Handle non-sequential writes correctly in SFTP

New Features

  • Add a service to clean up temporary files created by the SFTP service
  • Add alt text field to records (backend only so far)
  • Add support for processing smaller, more carefully specified batches with the folder thumbnail regeneration endpoint
  • Add messages to SFTP failure statuses
  • Display available storage for archives with payer accounts

August 9, 2023

Process

  • Dependency updates for sftp-service, permanent-sdk, and upload-service
  • Update SDK to Node 18
  • Delete deprecated location endpoints from back end
  • Change instances of "family" to "group" in web app
  • Set up new end-to-end (functional) test
  • New linting rules on webapp
  • Fix environment typing errors on webapp
  • Make dependabot faster and better targeted for permanent-sdk

Bugfixes

  • Make folder creation requests in small batches

New features

  • Add an admin endpoint to trigger folder thumbnail generation
  • Install/integrate Mixpanel into the webapp

August 2, 2023

Process

  • Bump dependencies for notification-service, sftp-service, stela, and upload-service
  • Do not run terraform validation for stela when it's not modified
  • Enable web-app linting rules: import/no-default-export, import/no-duplicates, import/no-extraneous-dependencies

Bugfixes

  • Standardize sending empty object instead of empty array from back-end
  • Validate giftStorage requests

New Features

  • Add payer account storage endpoint

July 27, 2023

Process

  • More logging of errors for SFTP
  • Bump SFTP dependency

Bugfixes

  • Archive profile modal always opens

July 25, 2023

Bugfixes

  • Fix keyword and custom metadata editing in the full screen editor

New Features

  • Archive owners and managers can now set themselves as the payer account for an archive
  • Welcome messages are now more personalized based on how a new user signed up

Process

  • Delete deprecated invite endpoints
  • Dependency updates in web-app and back-end
  • Generate usable folder thumbnails on the back end

July 19, 2023

Bugfixes

  • Stop regenerating CDN urls on displayName change
  • Make search work with multiple sequential separators

New features

  • Get all public tags for an archive
  • Gift storage endpoint

Process

  • Set up Sentry for stela
  • Add newline-after-import linting rule for web-app
  • Delete deprecated device/used endpoint

July 13, 2023

Process

  • Unset archives' payer accounts if they become ineligible
  • Delete deprecated connector endpoints
  • Set up linting on web-app repository
  • web-app and sftp-service dependency upgrades

New Features

  • Use multipart uploads in web app for files over 100MB

June 30, 2023

Bugfixes

  • Eliminated a security vulnerability
  • Fix arrow buttons for navigating between files
  • Fix arrow key navigation while editing metadata
  • Fix PDF display on mobile

June 29, 2023

Bugfixes

  • Restore search by tag functionality
  • Fix display of spreadsheets, presentations, and .txt files

June 28, 2023

New Features

  • Add support for multipart upload on the backend
  • Add reminder to claim additional storage to the welcome message for users who have storage to claim
  • Add "show more" option to view or hide long archive descriptions
  • Add payer account property to archives (not yet in use)
  • Add option to download original or converted version of files
  • Add an endpoint to retrieve the promo code an account signed up with
  • Add an endpoint to retrieve all tags on public items in an archive

Process

  • Use the /data volume for temporary storage in the SFTP service

Bugfixes

  • Copy corrections in frontend (related to account funding and ownership transfer)
  • Flatten multilayer images when converting to .jpgs for in-browser display (previously this conversion failed)
  • Fix unclickable links in public archives
  • When an archive is transferred to a new owner, the old owner now becomes a manager instead of a curator

June 14, 2023

Legacy planning

  • Automate prod deployments for stela
  • Allow clearing note to the steward
  • Create the legacy contact modal
  • Add option to send legacy plan email on ownership transfer, with note
  • Let users with MFA see legacy planning
  • Show error when trying to update steward to a non-account-holder
  • Stop accounts from setting themselves as legacy contact or steward
  • Email new legacy contacts and new archive stewards
  • Send emails from stela (with MailChimp Transactional API)
  • Final legacy planning front-end changes (from QA)

Process

  • Fix SFTP remote address documentation

June 8, 2023

Bugfixes

  • Use proper file extension when downloading converted files
  • Fix bug where Archive Profile can't open
  • Log out users when their authentication token is expired
  • Point web-app to proper API subdomains
  • Recolor archive settings modal to be blue

Process

  • sftp-service dependency updates
  • Use updated version of node for upload service
  • Add custom redirect

New Features

  • Add legacy contact modal screens (currently not used in the web-app)
  • Add legacy contact API methods to web-app

May 30, 2023

Process

  • Dependency upgrades in the SFTP service and web app

Bugfixes

  • Longer archive descriptions no longer cause the archive title and search bar to overlap with the banner image.

New Features

  • Add directives modal (hidden until the full legacy planning release)

May 25, 2023

Process

  • SFTP service dependency upgrades
  • Undeprecate /archive/getByArchiveId endpoint

Bugfixes

  • Fixed archive title display in public archive
  • Made HTML formatting appear correctly on public archives

Stela updates

  • Fix SSL cert
  • Return a steward object with name and email instead of just the account id

May 17, 2023

Process

  • Update sftp-service dependencies
  • Use country-list package instead of vendored dataset in web-app

Bugfixes

  • Fix error preventing TIF files from being viewed

New Features

  • Public archives are redesigned, including a new search bar

May 11, 2023

Process

  • Enable manual runs of the more holistic functional tests
  • Configure linting rules in back-end
  • Update sftp-service dependencies
  • Apply Prettier formatting in more of back-end
  • Remove deprecated /account/getAllAccounts endpoint
  • Update upload-service dependencies

New Features

  • Connect directive screens (still hidden in production) in web app to the directives API

Bugfixes

  • Use maximum resolution images when zooming
  • Fix search by tag

May 4, 2023

Process

  • Upgrade to Angular 15
  • Linting: unary_operator_spaces, visibility_required
  • Deploy stela to staging
  • Update Node to 14 on backend
  • Upgrade SFTP service dependencies
  • Upgrade upload service dependencies
  • Upgrade notification service dependencies

Bugfixes

  • Show full name of file or folder on hover in public gallery
  • Increase MaxRequestWorkers to mitigate against SFTP-caused crashes
  • Stop fatal errors when an incorrect share link is opened
  • Fix share preview toggle

New features

  • Backend support for search in public archives
  • Add timestamps to legacy contact table (part of directives)

April 27, 2023

Process

  • Dependency updates in back end
  • Enabled linting rules in back end: trim_array_spaces, trailing_comma_in_multiline

New Features

  • Add ability to navigate the metadata editor with the tab key
  • Add the feature to zoom in and pan around images

April 25, 2023

Process

  • Dependency updates in SFTP service
  • stela's POST /directive endpoint takes steward account email instead of ID
  • add documentation to SFTP service

Bugfixes

  • SFTP: fix parameter types for stat handlers
  • back-end: Update task runner so timeouts apply to document conversions

April 19, 2023

New Features

  • SFTP/SDK: use the new "allow SFTP deletion" setting from backend

Bugfixes

  • SFTP: throw more specific errors
  • SFTP: always resolve calls
  • Back-end: retry move operations

Process

  • Linting: ternary operator spaces
  • SFTP dependency updates

April 13, 2023

New Features

  • Add SFTP delete
  • Add enableSFTPDelete setting to backend

Bugfixes

  • Handle FamilySearch keys case-insensitively

Process

  • Add non-security dependabot to SFTP service and update a bunch of dependencies accordingly
  • Consistent function naming in SFTP service
  • Reorganize CI and deployment to make migrations run in CI

April 12, 2023

New Features

  • Archive type can now be updated
  • Directive edit screen now exists (but is hidden until the full feature launch)
  • SFTP now supports delete operations (but they're presently disabled for all users)

Process

  • New linting rule on back-end standardizes style around increment operations
  • dependabot is now enabled for upload-service

April 6, 2023

Process

  • Create v2 account access endpoint
  • Linting: enable space_after_semicolon rule
  • Add new routes for tabs in the Storage Dialog

March 30, 2023

Process

  • Rotate token to make slack alerts work
  • Linting: single quotes everywhere, single space after construct
  • Take DELETE verb on folder/delete

Bugfixes

  • Long archive names wrap on left side
  • Canceling out of the description field now works
  • Download works for files with commas in their names
  • Update session generation to use random_int
  • Make it possible to change archive type

Bugfixes

March 22, 2023

New Features

  • Directive display screen (built and deployed, but currently hidden in the app itself)

Process

  • Added single_line_comment_style linting rule to back-end

Bugfixes

  • Prevent multiple directives of the same type on one archive
  • SFTP now fails explicitly on unimplemented delete
  • SFTP stops closing already closed files
  • SFTP no longer makes blocking filesystem calls
  • SFTP now waits to access files until they're done processing
  • SFTP now bypasses the cache when a file is missing

March 16, 2023

New Features

  • Add link to Public Gallery page in archive manager

Process

  • Activate and enforce short_scalar_cast PHP linting rule
  • Redirect to Fusion Auth in web-app when resetting password
  • Add reset password / signup deeplinks

March 9, 2023

New Features

  • Add default access role as new share link setting
  • Allow admins to transfer archive ownership (for legacy planning)

Bugfixes

  • Remove uppercase extensions from displayName / user-visible title (to match behavior of lowercase extensions)

Process

  • SFTP: use archiveNbr instead of archiveId in archive folder naming, show correct dates on folders, be smarter with caching
  • Limit to one trigger per directive

March 1, 2023

New Features

  • SFTP: cache per user instead of per connection, handle AWS errors, allow null display dates

Process

  • Notification service dependency update
  • Improve downloadName script to handle names ending in "."

February 23, 2023

New Features

  • Add support for v2 requests on record deletions
  • Update v2 record endpoint to include all files

Process

  • Remove some SSH keys
  • Activate database migrations
  • Do account signup in one API call
  • Add legacy_contact and directives tables
  • Update initial storage gift to 100 MB
  • Don't send welcome email to users with specific code
  • Remove our fork of vis-timeline in web-app and replace it with the standard release
  • Activate and enforce PHP linting rules: phpdoc_summary, phpdoc_single_line_var_spacing, phpdoc_to_comment, phpdoc_types.

Bugfixes

  • Stop treating empty string after dot like a file extension

February 7, 2023

New Features

  • Added clarification on supported regions to phone number verification helptext

Process

  • Added linting rules to enforce more consistency in phpdoc comments
  • Updated dependencies in web-app, back-end, notification-service, and upload-service

Bugfixes

  • Updated the Debian Buster AMI used by our EC2 instances, fixing a breakage in our deploy process

February 2, 2023

Bugfixes

  • Style fixes on metadata in public gallery: scroll works and tags don't fall off the side of the page
  • Change password fix for users with MFA
  • Make breadcrumbs clickable in public archive

Process

  • Linting: no alias tag and no "package" tag
  • Describe new migrations correctly in README
  • Tag new mailchimp entries with invitation type
  • Add giveaway banner in app
  • Dependency updates in donations-firebase and web-app

SFTP Service

  • Update instructions for running rclone against Permanent
  • Bugfixes: improved file vs folder detection, skip records that failed processing (i.e. have no original files), handle archive/folder paths with numbers in their names, get files for all records, get size and updated time of files correctly

January 25, 2023

Process

  • Add wiggle room for JWT timestamps
  • presignedPost v2 now returns the url, not the whole object
  • Dependency updates for web-app, upload-service, and notification-service
  • Add all new users to Mailchimp (again)
  • Ignore deleted files when setting downloadName
  • Fix phpdoc indentation
  • Set up for Postgres migrations
  • Fix config loading
  • Paginate downloadName script

January 18, 2023

New Features

  • Add new custom metadata manager
  • Remove custom metadata values from the tag manager

Process

  • Remove more unused MySQL code
  • Activate and enforce phpdoc_annotation_without_dot linting rule
  • Throw useful ApiException for MicroserviceClient::MakeCurlRequest
  • Update Github actions in back-end

January 10, 2023

New Features

  • Separate keywords and custom metadata in the public archive file viewer

Process

  • Returns a JWT for future use a proof of authentication, and an auth token for use in FusionAuth MFA, from login endpoint
  • Support creating tags that aren't yet used on the backend
  • Create credentials in FusionAuth before creating any part of an account in Permanent
  • Support v2 requests to folder deletion endpoints
  • Add structure to errors from v2 requests
  • Remove unnecessary CSRF tokens from v2 endpoint responses
  • Update dependencies in notification-service
  • Remove unused MySQL code
  • Remove deprecated endpoints

2022

December 15, 2022

New Features

  • Point local instances at a shared database running in docker
  • Add Dockerfile so stela can be run in its own container
  • Add support for v2 requests on POST folder

Bugfixes

  • Fix for failing functional test
  • Fix SQL syntax error in FTSFolderVOsInArchiveIdWithTags query

Process

  • Dependency upgrades for stela, notification-service, and upload-service

December 8, 2022

New Features

  • Final change password updates for IdP upgrade

Process

  • Linting: standardize phpdoc alignment
  • Dependency upgrades for web-app, upload-service, notification-service

December 1, 2022

New Features

  • Prompt for MFA code when changing password on an account with MFA enabled
  • Return trust token from auth/verify endpoint

Bugfixes

  • Center banner images on public gallery
  • Wrap tags and custom metadata properly

Process

  • Separate FusionAuth account creation from Permanent account creation
  • Add upload-service to docker-compose stac
  • Add static IPs to SFTP deployments

November 22, 2022

New Features

  • SFTP service deployed

Bugfixes

  • Move and copy work as expected for shared items

Process

  • Deprecate unused endpoints
  • Linting: Enforce ordered imports
  • Update web-app dependency
  • Use new SSH port

November 9, 2022

New Features

  • Updated custom metadata UI in archive manager

November 3, 2022

Bugfixes

  • Fix bug handling hanging separators on search queries
  • Disable folder thumbnails in archive manager

Process

  • Delete MySQL tests
  • Update /share/generateShareLink endpoint to allow caller to set defaultAccessRole

New Features

  • Show reCAPTCHA before verifying phone numbers
  • Add /tag/getTagsByArchiveAndType endpoint
  • Add functionality to send a different welcome email for a specific invitation code

October 25, 2022

Bugfixes

  • Donation form accepts two entries in a row
  • Send share activity emails as designed
  • Return certain booleans as integers, for backwards compatibility
  • Fix owner permissions on all uploads to a shared folder

Process

  • Use a PostgreSQL database instead of MySQL
  • Linting: no spaces before commas in arrays

October 18, 2022

Bugfixes

  • Fix a bug that caused errors viewing imported FamilySearch memories
  • Fix a bug that caused errors opening public folders

Process

  • Remove sensitive data from error objects so the useful parts of those objects can be freely returned to the caller
  • Activate downtime notice banner for next week's database migration

October 13, 2022

New features

  • New design for banner on share preview page

Bugfixes

  • Fix DateTimeHelper error
  • Fix bugs with processing invitations

Process

  • Linting and code readability: remove unnecessary curly braces
  • Delete more deprecated endpoints

October 6, 2022

Process

  • Rename /myfiles url to /private
  • Optimize folder opening endpoints
  • Allow 3 attempts at entering the MFA code
  • Linting and code readability: improve RecordDAO class, remove unnecessary parentheses
  • Extend private thumbnail CDN life to 6 months
  • Deprecate unused notify endpoint
  • Handle illegal characters in downloadName for SFTP

Bugfixes

  • Make it possible to move folders containing folders

New features

  • Allow users to hide the "Download" button on files in their public archives

September 21, 2022

Process

  • Activate and enforce a PHP linting rule to forbid redundant PHP doc tags
  • Update jose from 2.0.5 to 2.0.6 in notification-service

Bugfixes

  • Fix login page so it correctly autofills emails when "Remember Me" checkbox has been clicked
  • Fix upload logic to allow users whose accounts are out of storage to still upload to nonprofit archives

New features

  • Replace banner instructing users who are not logged in on the share preview page how to proceed with new modal

September 14, 2022

Process:

  • Linting: no singleline whitespace before semicolons, no multiline whitespace around double arrow
  • Remove deprecated endpoints
  • Dependency updates for web-app

September 7, 2022

Process:

  • Run a local instance of the app on either Postgres or MySQL
  • Run tests in CI on PostgreSQL and MySQL
  • Address bugs found during testing on PostgreSQL: syntax, remove getColumnMeta calls, change getter/setter format for the FS connection, order query responses
  • Linting: forbid empty comments, no leading import slash
  • Stop running migrations on dev and staging in preparation to move to PostgreSQL
  • Upgrade to Angular 13

New Features:

  • Notify people that they can download our app when they're using a mobile web browser on either Android or iOS

August 23, 2022

Process:

  • Activate and enforce three new PHP linting rules: native_function_casing, native_function_type_declaration_casing, and new_with_braces
  • Delete unused frontend components
  • Add SQL linting
  • Fix broken tags tests in web-app and broken account deletion tests in back-end

New Features:

  • Recalculate downloadName when folders or records move to avoid duplicate download paths
  • Update DB interactions to be compatible with both MySQL and PostgreSQL (in preparation for migration to PostgreSQL)

August 17, 2022

Process:

  • Add new /gallery path to web-app
  • Add support for v2 requests to get records
  • Activate and enforce two new PHP linting rules: lowercase_keywords and method_argument_space
  • Update getWithChildren to v2

Bugfixes:

  • Remove the worst back-end unit test side effects
  • Treat all soffice error codes as errors (not just 1)
  • Public Gallery Landing page bugs: Fix environment detection and specific archiveNbr

New Features:

  • Add initial static Public Gallery Landing page

August 11, 2022

Process:

  • Add migration script to vcs
  • Remove unused "recent share activity" endpoint

Bugfixes:

  • Fix broken share preview
  • Show less information in errors

August 4, 2022

Process:

  • Update web-app to stop using deprecated syntax for division

Bugfixes:

  • Fix handling of default archive for accounts opened via invitation

July 28, 2022

Process:

July 21, 2022

Process:

  • Add support for json_encode
  • New linting rules: class_definition, concat_space, include, increment_style
  • Dependency updates for upload-service and notification-service
  • Drop unused index on text_data.valueText

Bugfixes:

  • Correctly set db floats to floats in the code

New Features:

  • Add downloadName when a file is uploaded or displayName is changed

July 7, 2022

Process:

  • Refactor DB credentials to allow separate credentials in each environment
  • Activate linting rule to enforce whitespace between method definitions
  • Update getRoot endpoint to support v2 request/responses

Bugfixes:

  • Fix bug that prevented users from importing up to a full 8 generations of family from FamilySearch
  • Redeploy mysqli -> PDO switchover, with fix for the bug that caused ints to become strings in certain API responses

June 30, 2022

Process:

  • Update linter to enforce spaces before a cast
  • Replace mysqli with PDO
  • Dependency updates on upload-service

June 22, 2022

Process

  • Add downloadNameOk property to Folders and Records
  • Upgrade Prettier
  • Modify linting rules
  • Build and use local Docker image in CI

June 15, 2022

Process

  • Add downloadNameOk field to folder & record tables
  • Format and simplify folder sorting SQL
  • Support parameters to archive root queries
  • Stop using database name in queries
  • Activate and enforce binary_operator_spaces linting rule
  • Activate and enforce array_syntax linting rule
  • Remove CleanupBadUploads task
  • Remove the old directives code
  • Remove references to directives
  • Deactivate cleanup-bad-uploads cron job

Bugfixes

  • Curators should not be able to move or copy to public folder

June 8, 2022

Process

  • Remove old payment endpoints (backend) and the code that used to call them (webapp)
  • Start removing the old Directives code
  • Add a node version for prettier
  • Drop now-unused tables for removed third-party integrations
  • Remove database transactions from account space updates
  • Linting: enforce no-unused-imports rule

May 31, 2022

Process

  • Deprecate billing endpoints
  • Upgrade Sentry to v3.5.0
  • Allow uploading PHP packages to S3 manually
  • Narrow type of argument to SelectVO methods
  • Add bcmath for better money calculation
  • Mark internal MysqlDB methods as private
  • Include more detail in Sentry environment name
  • Do not call execute before GetVO/GetVOs
  • Install Prettier
  • Code Removal: Remove unused GLYPHICONS font, Remove unused argument to MysqlDB::GetVOs, Remove needless broken Facebook lookup on delete, Remove never-used method BaseVO::FillRawByArray, Remove unused endpoint /api/folder/getfoldersizes, Remove unused endpoint /api/archive_nbr/delete

New Features

  • Improvements to Left Side Menu
  • Public download toggle (backend component)
  • Mobile donations (backend component)

May 25, 2022

Process

  • Code removal: Donor level, Unnecessary count implementation, unused share methods, unused notification methods, MySQL socket connection option, folder hard delete method.
  • Refactor GetMinMaxDTForFolder to use FetchResult.
  • Refactor tag link,share deletion, record, folder link deletion, directive deletion, directive deletion, folder size deletion, uberDeleteEverything to use Exec.
  • Reformat core database files
  • Wait for MySQL to start before running tests.
  • Show warning in app about scheduled downtime.
  • Split linters into parallel jobs and add Prettier.
  • Forbid spaces around offset braces.

Bugfixes

  • Check archivelist is empty before running account Engagement task

May 18, 2022

Process

  • Code removal: unused methods from BaseDAO, PDF content-type script, captcha message, captcha code, stream thumbnail API, unused arguments to BaseDAO methods, unused methods in MysqlDB, unused, misnamed loadpreference script, unused archive search endpoint, unused profile code, DAO host override constructor argument, unused method BaseDB::NoSingleton, unused arguments from SelectVOsBySql, unused task throttle methods, unused connector methods, daily Facebook task, unused Facebook controller, facebook bulk import, daily Facebook retrieve task
  • Linting updates: Use lowercase for PHP language constants,install PHP linting tooling, forbid whitespace around object operators
  • Fix ApiException namespace
  • Reformat calls to SelectVOsBySql
  • Refactor access queries to use Exec
  • Unmark /api/archive/getbyarchiveid as deprecated
  • Add Liam's SSH Key

Bugfixes

  • Fix session cookie authentication

May 5, 2022

Process

  • Code removal: record methods, unused method SortFolderVO.

Bugfixes

  • Fixing insecurity in record delete.
  • Stop adding people to all-user list.

May 5, 2022

Process

  • Code removal: unused timeline endpoint

Bugfixes

  • Fix insecure shared folder move
  • Remove unnecessary access check to enable new onboarding on mobile

May 3, 2022

Process

  • Code removal : record methods, various unused code, unused data_size constants, unused search, /search/record endpoint
  • Use colon after switch case labels
  • Deprecate unused search endpoints

Bugfixes

  • Fix insecure search

April 28, 2022

Process

  • Remove unused code: Unused activity methods, account methods, old MFA code, archive endpoints, FusionAuth feature flag, archive methods, record endpoints, record methods, batch constants
  • Deprecate unused endpoints for: archive, folder, archive_nbr controller
  • PHP Linting Fixes: Forbid PHP closing tag, Upgrade PHP-CS-Fixer
  • Remove parameters to getAllArchives
  • Add path to deeplink to public files on mobile
  • Upgrade Sentry to 3.4.0
  • Install PostgreSQL driver
  • Upgrade from Angular 10 to Angular 11

Bugfixes

  • Fix publish URLs with invalid dates
  • Show permissions error before adding members to archive
  • Fix overlap between upload progress modal and zoho widget

April 13, 2022

Process

  • Remove unused code: token verification, dependencies, CURL helpers
  • Use exit instead of die everywhere
  • Use request in route handlers

New Features

  • Change language on share links when autoapprove is on to say "Accept Share" instead of "Request Access"

April 7, 2022

Process

  • Remove unused "minor" functionality
  • Remove additional unused code
  • Use include instead of require in PHP autoloader
  • Use Illuminate/Http/Request for request processing
  • Switch new onboarding flow chance to 100%

Bugfixes

  • Fix back end unit tests
  • Update PDF content-type script to ignore error status
  • Fix sentry-cli actions in web-app

March 31, 2022

Process

  • Remove unused code
  • Remove CSRF restrictions for OAuth flow

March 22, 2022

Process

  • Remove unused code.
  • Change default settings for share links.

March 16, 2022

Process

  • Update MySQL public key
  • Add extension helpers for dedupe work
  • Update Mailchimp key

Bugfixes

  • Wording change on share links

March 10, 2022

Process

  • Point to database cluster instead of separate read/write hosts

Bugfixes

  • Metadata tags enhanced to accommodate the new manage tag feature

March 9, 2022

Bugfixes

  • Dynamic dates on cards used for unit test and code pointing to correct the Stripe exception
  • Web-app dependabots

Process

March 2, 2022

Bugfixes

March 1, 2022

New Features

  • Enable A/B testing for the new onboarding flow.

February 24, 2022

New Features

  • Prepare front-end changes for the new onboarding flow, but do not enable it yet: part 1, part 2, part 3
  • Support GEDCOM files

Process

  • Remove some unused API endpoints
  • Include more request context in Sentry errors
  • Add additional linting to PHP code

February 17, 2022

New Features

  • Add column to store whether a user went through the old or new onboarding flow
  • Add server changes for the new onboarding flow

Process

  • Mark some endpoints deprecated
  • Remove unused table

February 15, 2022

Bugfixes

  • Change default error text

Process

  • Remove some unused code for global tags
  • Remove unused "nonowner" role on front and back end
  • Fix docs for getShares endpoint

February 9, 2022

New Features

  • Managers can manage tags but curators cannot

Bugfixes

  • Curators can no longer invite members to archives
  • Check access to file before allowing a user to set it as their profile banner

Process

  • Web-app dependency updates

February 1, 2022

New Features

  • Tags are now local to an archive
  • Tags are editable and deletable

January 12, 2022

Bugfixes

  • Fix wording on unshare modal
  • Make newlines display properly on archive description

2021

December 22, 2021

Bugfixes

  • Show pointer cursor on all options in top right menu in web-app.
  • Allow an empty archive profile to be set to private.

Process

  • Rotate Etherpad token.
  • Clean up some comments in back-end codebase.

December 20, 2021

Infrastructure

  • Added an additional task-runner to the production deployment, and the ability to spin up more in the future.

December 16, 2021

Bugfixes

  • Update verification message to say that the code may be sent to email or phone

Process

  • Fix web-app unit tests and whitespace
  • Remove deprecated taskrunner tasks
  • Improve linting on backend and node-sdk
  • Move per-minute cronjobs to a new file
  • Redirect root to /app for local development environments

December 9, 2021

Bugfixes

  • Fix MFA login for members with capital letters in their email address

Process

December 8, 2021

Process

  • Add shared secret for Etherpad plugin in prod.
  • Add database migration to create downloadFileName field in the record table.
  • Document updated verification code settings.
  • Configure new relic about transaction.
  • Add pub ssh key for fenn-cs.

December 2, 2021

Process

  • Upgrade hosted-git-info on web-app.
  • Remove user e-mail address from Sentry logging.
  • Use FontAwesome for displaying the default thumbnail for ZIP files in the web-app.
  • Migrated back end repository from Bitbucket to Github.

November 23, 2021

Process

  • Allow authentication via OAuth 2.0 tokens
  • Correctly set content-type in S3 for large files

November 18, 2021

Process

  • Use FusionAuth in production! This is the first step towards enabling several important use cases, including better partner integrations and more secure authentication options.

November 17, 2021

Process

  • Dependency upgrades on web-app:
  • Start using FusionAuth in dev; coming soon in production

November 11, 2021

Process

  • Dependency upgrades on web-app.
  • Install Jest as dependency of web-app.
  • Add client code for calling new tag endpoints in web-app.
  • Disable Angular CLI Analytics.

Bugfixes

  • Generate the proper link when using the "Publish" functionality.
  • Allow user to share to an archive that they are a member of
  • Filtering of e-mails moved to query.

October 28, 2021

Process

  • Upgrade project requirements
  • Firebase hosting setup
  • Remove wordpress

Bugfixes

  • User shouldn't be allowed to share to self.
  • Remove unused /api/auth/signup endpoint

October 20, 2021

Process

  • Run database migrations on deploy.
  • Run migration on CI.
  • Functional test runs on deployment.
  • Upgrade ubuntu images used for image builds and code deploys.
  • Google API Key rotation in backend.
  • Remove needless cacert.pem.

Bugfixes

  • Work around missing nodejs bug.

October 13, 2021

Process

  • Refactor to prepare for OAuth.
  • Remove empty sessionId from request and response.
  • Bump tmpl from 1.0.4 to 1.0.5.
  • Gmaps api key rotation.

New Features

  • Fullscreen metadata editor.
  • Onboarding page

October 5, 2021

Process

  • Remove unused database table columns.
  • Back end now stops sending Session ID in responses.
  • Remove unusued fields from AccountVO in web-app.
  • Adjust universal links file for iOS to support web credentials and narrow scope of app.

New Features

  • Add endpoint for deleting tags.

Bugfixes

  • Properly show files that have just been copied into the currently open folder.
  • Fix issue with setting end dates on certain files.
  • Properly show the UI is loading when trying to navigate to a folder that hasn't loaded properly yet.

September 21, 2021

Process

  • Upgrade composer version.
  • Clean up unused back end session code.
  • Ignore sessionId value on API responses.
  • Add additional data to share notifications.

Bugfixes

  • Hide files when they are moved out of the current folder.

September 8, 2021

Process

  • Sentry reports.
  • Bump path-parse from 1.0.6 to 1.0.7.
  • Endpoint tag/delete renamed to tag/deleteTagLink.

August 25, 2021

Process

  • API key is no longer part of our API requests.
  • Updates CSS for various components.

August 17, 2021

Process

August 12, 2021

New Features

  • Add endpoint for editing tags.
  • Add Zoho widget to the web app.
  • Folder thumbnails are now cached after they are first loaded in web app.

Process

  • Update endpoint for fetching tags owned by an archive.

August 5, 2021

Process

  • Deploy security updates to donations-firebase application
  • Supporting work on account/archive separation

Bugfixes

  • Use the more-common "sync" spelling, rather than "synch"

July 29, 2021

Bugfixes

  • Fix the "Get Link" button on records that are inside a folder in the public workspace.

Process

  • Remove unused dependency in back end.
  • Add New Relic browser agent to front end.

July 22, 2021

Bugfixes

  • Remove a handful of duplicate applied tags, and prevent future duplications
  • Copying a folder or a record that has tags applied will now apply tags to the newly created copy
  • Clean up the Internet Archive section of the publish dialog box, and document the process of publishing to the Internet Archive

July 15, 2021

Process

  • Rotate Stripe API keys
  • Deploy security updates to donations-firebase application

July 13, 2021

Process

  • Backend migration
  • Removed Notification feature flag.
  • Always include upload filename in getLeanItems

July 8, 2021

New Features

  • Add download button to public gallery items

July 7, 2021

Bugfixes

  • Clarify help text on account deletion dialog
  • Clarify help text on FamilySearch integration
  • Improve handling of invalid invitation codes during account signup

Process

  • Supporting work on improving tags
  • Add additional linting to PHP code
  • Remove some unused code

June 16, 2021

Mobile app support

  • Notification service is turned on in prod

Bugfixes

  • Update command for running phplint
  • Remove getByArchiveNbr from the front end completely

June 15, 2021

Mobile app support

June 10, 2021

New Features

  • Allow move to Public and top of My Files
  • Pass invitation codes in URL params
  • Improved communication with node-sdk; get archive from session

Mobile app support

  • Delete device tokens
  • Add notification for share invitation acceptance

Bugfixes

  • Allow different archives to be open in different browser tabs

Process

  • Remove in-house error logging, and exclusively use Sentry
  • Remove unused code
  • Dependency upgrades

May 20, 2021

New Features

  • Show thumbnails for the folders on public gallery pages.

Mobile app support

May 18, 2021

New Features

  • Mobile push notification improvements: send notification on request access to a share link, add names to notifications, and send a notification for accepting an invitation to an archive

Process

  • Add the mutable content header for mobile push notifications so iOS can compose a notification from data before displaying it to the user

May 11, 2021

Bugfixes

  • Zoho integration reconnected
  • Re-enable exiftool

Process

  • Add logging for microservices (notification and upload)

May 6, 2021

Bugfixes

  • Login from share link works correctly

Process

  • Notifications can send to Firebase Console, but still only do so in staging

May 5, 2021

New Features

  • Disable Facebook integration and link to explanatory blog post

Process

  • Add initial linting to PHP code

Bugfixes

  • Check for null items on the Shares page

May 4, 2021

New Features

  • Add API-side code to send push notification after a new share

April 26, 2021

Bugfixes

  • Temporarily disable exiftool use.

New Features

  • Register device token for notification service.

April 13, 2021

Bugfixes

  • Always return location latitude and longitude as floats, never strings

Process

  • Remove outdated and unused device endpoints (to be replaced by the new notification service)
  • Don't alert when a local disk is full

March 22, 2021

New Features

  • Save metadata as different tag types (e.g. type "medium" and name "film")

March 8, 2021

Bugfixes

  • Account deletion failing issue is fixed.

March 1, 2021

New Features

  • Add an internal alert for large numbers of accounts created within an hour

Bugfixes

  • Replace the Internet Archive integration! Members can now choose to publish files or folders to the Internet Archive in addition to their public Permanent gallery.

Process

  • Unified back end repositories

Feb 22, 2021

New Features

  • Create new notifications for importing from FamilySearch and uploading to FamilySearch
  • Add a direct link to the FamilySearch folder on the left side menu (if the archive was created by FamilySearch import)
  • Allow tags that differ only by case
  • On download, give a file its original filename

Bugfixes

  • Make link to verify email work in the email sent to users

Feb 09, 2021

New Features

  • New upload service with the client uploading files directly to S3.

2020

Dec 16, 2020

Bugfix

  • Stream remote file contents directly to disk instead of reading the whole file into memory and then writing to disk
  • Update system check to work with new network layout and new hostnames

Deprecation

  • Remove the last of the unused Vault code

Dec 10, 2020

Security

  • Upgraded operation system, OS packages, and PHP version
  • Upgraded PHP libraries
  • Rotate Stripe and Mandrill secret keys

Bugfix

  • Remove check for same destination on record copy
  • Clean up routing logic

New Features

  • Sentry error logging
  • New upload service endpoints

Deprecation

  • Remove defunct reprocessing scripts and constants

Dec 8, 2020

New Features

  • Simplified design for Milestones on public profiles

Bugfix

  • Use plain date strings instead of datetime when appropriate while editing dates on profiles

Nov 23, 2020

Bugfix

  • Dates for files without EXIF metadata now correctly use the last modified file date supplied by the user's browser

Nov 20, 2020

New Features

  • Manager role for archive members
  • Load PDF version of all files categorized as Document to enable full browsing
  • Enable auto-approve feature for archives requesting access to share links
  • Improved date picker year selection

Bugfix

  • Fix bug preventing certain PDF documents from loading embedded viewer
  • Share access requests would be hidden in share dialog for items with no existing shares present
  • Re-add process-daemon to taskrunner. Turns out we need it for uploads from URLs.

Nov 16, 2020

Deprecation

  • Remove process-daemon from taskrunner
  • Remove queue-daemon from production
  • Remove resubmit-unprocessed-records job from cron and taskrunner

Security

  • Rotate and better segment all AWS access keys

Nov 4, 2020

Bugfix

  • Replace corrupted emailconverter jar with newer, upgraded jar.
  • Previously-invited users can now sign-up without the invite code

Oct 26, 2020

Bugfix

  • Fix system monitors

Oct 21, 2020

New Feature

  • Home page redesign

Oct 20, 2020

Deprecation

  • Remove code for deprecated connectors: Dropbox, Box, GDrive
  • Remove code related to Phase1 pledges

Bugfix

  • Rename production deployment path to "prod" on S3

Oct 13, 2020

Bugfix

  • Upgraded installed version of Imagemagick to 7.0.8-8 to support HEIC files

Oct 8, 2020

New Features

  • New public archive and public profile design
  • New grid view design

Oct 5, 2020

New Features

  • New archive sharing design and user flow
    • share link
    • share by relationship
    • share invitation
  • Pledges turn into donations, e.g. charged immediately instead of when a target amount of money has been pledged
    • Inline donation flow

Deprecation

  • Permanently deprecate old web-client frontend in favor of newer mdot frontend
  • Permanently deprecate files from application and deployment

Sept 21, 2020

Bug Fixes

  • Fix geocoding on file upload for files with geolocation information