Version History

OttoFMS Version History

For instructions on how to update OttoFMS, see the update guide.

4.8.1

Released: 12/18/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • Added support for container data transfers to/from the additional container data folders. This does not require any additional options other than the "Include Container Data" option introduced in OttoFMS 4.8.0. (NOTE: for additional container data to be included in a build when you are not closing the files, the "Back Up Container Data Folder" option must be enabled in the FileMaker Admin Console.)
  • The API Keys tab has been split into subtabs for the Data API and the Admin API.
  • The File Browser can now display sizes for folders, as well as for individual files. This should help find folders that are taking up a significant amount of space on the server. This will not display sizes for the root folders in the file browser, or for the direct children of the Live Databases folder.
  • The File Browser has been optimized, and should now perform significantly faster for nested folders.
  • The Spotlight search (CMD+K) now has direct links to the subpages of the api keys, filemaker server, and settings pages.
  • Reworked the webhooks table so it is more compact, sortable, and filterable.
  • When sending offsite backups, only files in folders with the schedule name will be sent. Previously all files in the backup destination folder would be sent.
  • When sending offsite backups with a backup schedule that is set to keep 0 backups, OttoFMS will now only delete the folder that was created for that backup rather than emptying the entire directory.
  • Fixed an issue where OttoFMS would not properly pick up changes to offsite schedules made in the admin console if the schedule name did not change.
  • Fixed an error where backups of clones could fail to create if the ClonesOnly folder is not present on the server.
  • Fixed an issue where having concurrency set greater than 1 would throw an error for invalid backup files.
  • Sending a push build request to a source server will now have a better error if the source server returns an errored http code.
  • Fixed an issue where network errors when sending a jit build request to a source server would not log a helpful error.

4.8.0

Released: 12/3/2024

Download for Linux, Linux (arm), Windows, Mac

Minor Changes

  • When renaming multiple files, you can now use the FMDeveloperTool to rename the files, so file references will be updated when file names are changed.
  • Multiple files can now be renamed simultaneously.
  • Renaming files now updates the name of the remote container data folder of the same name.
  • When renaming files using the file system, files can now be copied instead of renamed in place. This means a new copy of the file can be created in a different folder/subfolder. External container data will be copies along with the .fmp12 file that is copied.
  • Chained Actions can now be passed in as an array, which will all be kicked off at the end of the build/deployment.
  • External container data can now be managed when running a deployment using the "transferContainerData" option. This will transfer the container data from the source to your target server. If the source has container data and this option is turned on, the container data for replacements and installs will be put in place on the target server. For installs it will create the proper folder, for replacements it will replace the existing container data with the source container data. This feature does not currently support container data in the "Additional Container Data" folders or in the "Secure" database folder.
  • External container data can now be included in builds. This will zip the RC_Data_FMS folder for each copy included in the build into the build zip file. This feature does not currently support container data in the "Additional Container Data" folders or in the "Secure" database folder.
  • When opening multiple encrypted files from the OttoFMS console, you can now optionally use the same encryption key for all files.
  • OttoFMS now has a setting for the days to keep files in the Removed_By_FMS folders. If set, OttoFMS will scan the Removed_By_FMS folders once a day and remove any files older than the number of days set. It will also clean up any empty folders left behind by the deletions.
  • The default value for the "pushBuild" option on otto4 and otto4jit deployment source types has changed from false to true. This means that deployments sent without this key specified will now push the build from the source to the destination for these source types.

Patch Changes

  • Fixed an error where deployments with multiple sub deployments would have improperly displayed statuses in the console when they used the "abort remaining on failure" setting and aborted subsequent deployments.
  • The verbose option can now be passed into the migration options for a file. This will log more information for the migration during a deployment.
  • The global filter on the databases table is now persisted in the browser.
  • Fixed errors due to hard links in the FileMaker folder paths.
  • Settings in the File Browser are now persistent. Pagination, filters, sorting, and column visibility are saved off to your browser, and the current folder is saved in the URL, so a page refresh will no longer take you back to the root of the file browser.
  • When using the "push build" feature, OttoFMS will now propely error out when the upload from the source server fails. This requires that both the source and destination servers be on version 4.8.0 to work.
  • Fixed an issue where closed files could not be downloaded when using the download via link method. This affected the Ottomatic Cloud console download functionality.
  • Changed the name of the File Manager to the File Browser to match the Ottomatic Cloud Console and reduce confusion.
  • Fixed an issue where deleting multiple files at the same time via the File Browser would fail and crash OttoFMS if the files were within the Live Databases folder.

4.7.2

Released: 10/24/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • Fixed an issue introduced in 4.7.1 where builds would not be found in the build inbox when using the build inbox as a source for a deployment.
  • Added the inboxOrOutbox query parameter to more of the build endpoints. This defaults to outbox, which matches previous behavior.
  • Fixed an issue where downloads of a closed file would fail and crash OttoFMS.

4.7.1

Released: 10/23/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • Exposed an option to create an XML of a file from the OttoFMS console. This process creates a clone of the file and an xml of the clone. This xml can then be downloaded immediately or saved to the documents directory to be downloaded later.
  • Added a loading state to the OttoFMS dashboard, so the page will now load in before all of the data is fully fetched. This means the page will render faster if server-side processes are slowed down for some reason.
  • Fixed an issue where a deployment with multiple sub-deployments using a build-inbox source with the same build would fail to find the build on all but the first sub-deployment.
  • The data api proxy will now properly pass the Content-Type header from the request along to the Data API.
  • The schedule created to run scripts (pre-build, pre-deployment, post-deployment, and scripts via the API) will now have a timeout that matches the input timeout, if one is provided. If not, the default timeout will be 30 minutes.
  • Fixed an issue where the log would be stored improperly when initially storing a deployment.
  • When uploading files, you can now choose to keep the files closed after the deployment completes.
  • All dates in the OttoFMS console should now internationalize to the users browser setup.
  • The admin api key creation modal will no longer clear the form when entering invalid credentials.
  • Added protections for instances where Filemaker Server is in an unstable state and the fmsadmin CLI command hangs, which can cause long (or infinite) load times on the OttoFMS console, interminable hangs in deployments, and more.
  • Fixed an issue where webhooks with a space in the database name would be encoded with a %20 when auto-registered and not encoded when registered manually. Now they should all be stored without a %20 to ensure database parsing works properly.
  • Added a notification menu to the top right of the OttoFMS console. This menu will show you processes that are currently running or recently ran (clones, copies, xmls). This menu will be extended to more process types and more general notifications in the future.
  • Fixed improperly stored webhooks errors that appeared in the UI as successes sometimes. Also fixed improperly formatted error messages for webhooks.
  • Added a new env variable PUBLIC_HIDE_SERVER_INFO which can obfuscate urls and ip addresses in the OttoFMS console if you need to do demos or show people your console who should not see your server/user information.
  • The error page on the OttoFMS web console now displays the error message for the offending error.
  • The "Admin API token refreshed" log and other logs related to the handling of the first failure of Admin API calls in OttoFMS have been adjusted to be debug logs rather than base info logs. This means they will no longer appear in the logs unless the DEBUG env variable has been set.
  • Fixed an issue where builds in which the zip file fails to create (due to running out of space or other errors) would be improperly marked as successful.
  • Fixed an issue where deployments with multiple sub-deployments that had a crash in an earlier sub-deployment (causing subsequent sub-deployments to remain queued) would display an incorrect status badge on the deployments table.

4.7.0

Released: 9/24/2024

Download for Linux, Linux (arm), Windows, Mac

Minor Changes

  • Added a new redirect url to OttoFMS. This redirect is at /otto/redirect/fm/[filename]/[scriptname] and it will redirect the user to a filemaker file (using an fmp url) and it will run the specified script. It will also take all query parameters on the url and set them as variables when running the script. This can be used as a redirect for an OAuth flow or for other circumstances where you need to redirect a user to a FileMaker file and collect information from the url as you do.
  • OttoFMS now has support for a pre-deployment script. This is very similar in setup to post-deployment scripts, just with a different results filename and it will default to prevent your deployment if the pre-deployment script fails or does not return a "done" results file. This script is run before files are closed during the deployment.
  • Chained actions can now be sent as a generic api call to any url. The method, body, and headers can be specified. This can be used to kick off non-OttoFMS processes when deployments or builds complete.
  • Added a new env variable USE_DATABASE_FOLDER_FOR_MIGRATIONS which will perform migrations in the database folder instead of in the build inbox in the backup directory. Migrations are performed within the Removed_By_FMS folder so that partially migrated files will be ignored by the server in the case a deployment crashes. When a migration completes the files will be moved out of the Removed_By_FMS folder and into the databases folder.
  • In some cases, the migration process should now be significantly faster.

Patch Changes

  • OttoFMS will no longer throw an error if the folder is not found for a file that is not in the deployment
  • Offsite locations without delete access or list buckets access can now be connected to OttoFMS.
  • Files can now be deployed from a folder in an offsite location. This enables deploying files directly from offsite backups.
  • Fixed an issue where old uploads were not being cleaned up from the temp uploads and uploads folders. All files in these folders older than 72 hours will be removed.
  • Fixed an error where filenames containing non-Ascii characters would be improperly handled in the backend.
  • Fixed an issue were renaming a file would fail due to the file id not being recognized.
  • Added a new toggle in the offsite schedules table that can enable or disable the filemaker backup schedule right from the ottofms console
  • Fixed an issue where folders and subfolders in the database folders which did not allow read access would cause deployments to fail.
  • Fixed an issue where servers running FileMaker Server version 21 or higher would be unable to create new offsite backup schedules.
  • Added a bit of clarification to the offsite schedule modal.
  • Fixed an issue causing the console to flash the plain version of the navbar for a second when opening if using hte colored variant of the navbar.
  • When a deployment completes successfully but has errors (ie. the post-deplopyment script fails, but it is not set to fail the entire deployment), the OttoFMS console will display a warning in the deployments table and the slack notification will include a warning count.

4.6.2

Released: 8/26/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • Fixed an issue where scheduled deployments would send 127.0.0.1 in the slack notifications instead of the server hostname.
  • Added a new "inboxOrOutbox" query parameter to the list build endpoint which allows for listing of builds in the inbox. This option defaults to "outbox", which matches previous behavior.
  • Expanded logging for offsite backups will now list how many files and how much data was sent to the offsite location with each backup.
  • Fixed an issue where JIT build options would not all be passed through to the build on the source server.
  • Fixed an error caused by errors in the license check response causing servers to stop working.
  • Added a new "build_inbox" deployment source type. This does not change deployment behavior in any way, it just more discretely states that you are pulling the build from the build inbox rather than from a source server.
  • Fixed an issue where the webhook test would incorrectly show that a webhook failed if the webhook had a custom response.
  • Fixed an issue where folders would be parsed improperly for databases on windows servers.

4.6.1

Released: 8/13/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • Fixed an issue where circular file paths in the database folder would cause build and deployments to fail with a "maximum call stack size exceeded" error.
  • OttoFMS on Linux now logs stderr and stdout to a stderr.log and a stdout.log file. This should make bedugging errors on OttoFMS startup much simpler.
  • Fix mis-spelling of receiver in the register webhook api.
  • Fixed an issue where OttoFMS would fail to start with new installs in version 4.6.0.
  • Add create-only endpoint for data api keys.

4.6.0

Released: 8/7/2024

Download for Linux, Linux (arm), Windows, Mac

Minor Changes

  • Offsite backups now support multiple offsite locations and offsite schedules. Multiple schedules can point at a single offsite location or different offsite locations. Existing offsite schedules and setups are converted to the new format automatically.
  • Builds can now be deployed from offsite storage locations. With publishing functionality, this allows you to put builds up on s3 locations and pull them back down onto a different server.
  • Existing backup schedules can now be used as offsite schedules. Simply select "Use Existing Schedule" when setting up an offsite schedule to send backups from that schedule offsite, no changes to the schedule needed!
  • Builds can now be published to any of the server's offsite storage locations.
  • Added a full suite of APIs to the developer API which can manage OttoFMS webhooks. Check out the API documentation for more information.
  • Exposed new APIs in the Developer API that allow you to get and set OttoFMS settings like theme color, auto register webhooks, and the number of deployment backups to keep.
  • The message sent when closing files during a deployment can now be customized.
  • Added a new endpoint in the developer API to get details about an Admin API Key.

Patch Changes

  • Fixed an issue where the JIT_BUILD_TIMEOUT_IN_SEC env variable was not properly applied.
  • Added a new env option DEBUG which will print extra logs to a new otto-debug.log file. This provides deeper insight into webhooks, builds, deployment, and server api calls. It can be a useful tool to provide for support questions and for troubleshooting.
  • Added more details to the response from the data api key and admin api key endpoints in the developer API.
  • Setting the "Max backups to keep" setting on an offsite backup schedule to 0 will now properly rename the backup folder to include the timestamp, send the timestamped folder to your offsite location, and delete the folder after the offsite is sent. This ensures that the offsite backups do not take up any space on your server after they have been sent to your offsite location.
  • Added a "Run Now" button to the OttoFMS Offsite Backup Settings which will immediately run the selected offsite backup schedule and send the backups to your offsite.
  • Usage data now includes a count of webhooks sent.
  • Made the JIT build poller hardier to errors.
  • Increased the default timeout time of pre-build and post-deployment scripts from 2 minutes to 1 hour. These values can be overriden using new env variables POST_DEPLOYMENT_SCRIPT_TIMEOUT_IN_SEC and PRE_BUILD_SCRIPT_TIMEOUT_IN_SEC.
  • Usage data now includes offsite backups. Data sent is the number of files, size of the files, and time elapsed.
  • Fixed an error where using a Data API Key for the incorrect database would crash OttoFMS.

4.5.0

Released: 7/15/2024

Download for Linux, Linux (arm), Windows, Mac

Minor Changes

  • Builds can now be published from the source server build outbox to a destination server build inbox or to the source server's HTTP folder. More options for build publish locations are planned, including web servers and offsite storage locations. This will be useful to set up public URLs to pull builds from, send builds for a deployment ahead of time so you can ensure that downtimes occur precisely when you expect them to, and more.
  • Overhauled the OttoFMS File Browser with a whole new UI and backend. The new File Browser has resumable uploads, faster handling, a refresh button, and more customizable settings.
  • The FileMaker Database folders are now exposed in the OttoFMS File Browser under the "Live Databases" folder. These will not allow you to make any changes to live FileMaker files, but you will be able to see folder structure, manage external container data, and access the Removed_by_FM folders.
  • Added the additional container data folders to the OttoFMS File Browser. These are displayed within the "Live Databases" folder.
  • Builds and deployments can now be chained off of each other. This allows for multi-stage deployments to different destination servers, as well as more complex build and deployment management. Support for this feature is coming to OttoDeploy soon.
  • Deployments now have a "pushBuild" option in the API. This option will upload the build from the source instead of downloading the build to the destination. When using this option, transfers of large builds from Windows servers should be significantly faster as we avoid the IIS issues that cause slow downloads.
  • OttoFMS now uses a login redirect to navigate you to your originally intended page after login. This means that if you follow a link to OttoFMS and are presented with the login page you can continue to the original page instead of being redirected to the dashboard page.
  • The webhook receiver now accepts GET requests. By default this will include all query parameters in the body sent to the receiver script, and the includeHeaders query option is still respected.
  • Converted the "Download both" button on the deployment page to download a full set of debug information. This zip will include the deployment log, the build log, the otto-info.log for 5 minutes before the deployment until 5 minutes after it end, the Event.log for that same time period, a combined log which has all four of these logs sorted by time, and a json file of server details.

Patch Changes

  • Made the admin api running from the OttoFMS server even hardier to issues
  • If a migration errors, subsequent migrations will no longer attempt to run while the rest of the deployment continues.
  • The settings you choose for the Databases table in the filemaker server tab will now be saved to your browser so your settings are kept across sessions.
  • Added the option to download the build log for a deployment if available.
  • Fixed an issue where the Additional Container Data Folder 2 would not be properly uploaded to offsite backups.
  • Prevented a bug where webhooks without .fmp12 in the url would be saved separately from webhooks with .fmp12 in the url.
  • The databases table on the filemaker server tab can now group files by status, client count, folder, sub folder, and privilege sets. This grouping will be saved off to your browser and carried across sessions.
  • The cancel button in the ip filter settings modal on the OttoFMS console works now.
  • Prevented blocking when restoring large backups.
  • Removed the 32 character limit on the encryption modal confirm field.

4.4.0

Released: 6/20/2024

Download for Linux, Linux (arm), Windows, Mac

Minor Changes

  • OttoFMS now supports recurring deployments. To set up a recurring deployment, schedule your deployment through OttoDeploy. Once it is scheduled, go to the FMS admin console and update the schedule (named OTTO_<deployment title>_<string of 5 random characters>) to whatever frequency you want the deployment to run. When the deployment finishes, a new deployment will be created and the schedule will be updated to run the new deployment the next time it runs.
  • You can now set a custom environment tag and environment tag color.
  • OttoFMS now allows for custom theme colors.
  • Files can now be renamed via the api and from the databases list in the ottofms console. This rename is does not currently handle external file references or other plcaes where the filename is referenced.
  • Expanded OttoFMS to support the File Browser and Log Viewer in the Ottomatic Cloud Console.
  • Added the "ensureFilesOpen" option to the build API. This option will ensure that all files in the build are open after the build completes.

Patch Changes

  • Added database health checks on OttoFMS restart to prevent certain types of database corruption.
  • Prevented an issue where the "sync custom hostname" setting would not stop syncing the custom hostname when turned off.
  • Added a column for the next run time of scheduled deployments.
  • The log select on the log viewer is now more responsive to long log names. we have also removed the ".log" from the end of the log names since they are all .log files.
  • Fixed an issue where the status on the databases page would be vertically offset outside of the status badge when in a "loading" status (ie. when it was closing).
  • The extended privelages column in the databases table will now allow filtering on multiple privelage sets and will allow selection of all privelage sets available in the files rather than a specific set.
  • Fixed a typo causing "large_yellow_square" to appear in the aborted slack notification rather than a large yellow square.
  • When aborting a deployment during a data migration, we will no longer migrate files after the one that was running when the deployment was aborted.
  • There will no longer be a shortcut to the uninstaller stored right next to the uninstaller on Windows.
  • When deleting a scheduled deployment, OttoFMS will now also delete the script schedule that will run said deployment.
  • Added retries to the database fetching for the database page on the FileMaker admin tab in the OttoFMS console. This should harden the page to issues caused by 502 errors on Windows servers.
  • The clients table will now account for the server timezone when displaying the time when a client logged in.
  • Fix typo in the crashed slack notification.
  • The data api proxy and webhooks now add the .fmp12 to the filename in the url if not present. It is no longer necessary to include the .fmp12 in the url when using the proxy or webhooks.
  • OttoFMS no longer logs an error when redirecting to login since it is intended behavior.
  • Starting, stopping, and restarting the FMS Database Server can now be performed via the API with an OttoFMS Admin API Key rather than requiring Basic Authentication. This means that the FMS Database Server can now be managed from the Ottomatic Cloud Console.

4.3.5

Released: 5/7/2024

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • fixes an issue with data api proxy that caused query parameters like _limit and _sort to fail

4.3.4

Released: 5/4/2024

THIS IS A CRITICAL UPDATE CONTAINING SECURITY FIXES.

Download for Linux, Linux (arm), Windows, Mac

Patch Changes

  • made offsite backup test errors more readable
  • the offsite settings modal will no longer change when clicking outside it
  • fixed an error adding an offsite backup location if there is no "/" at the end of the endpoint.
  • fixed a security vulnerability in the OttoFMS console. This vulnerability is present in all versions prior to 4.3.4, we recommend that you update to this version as soon as possible.

4.3.3

Released: 4/29/2024

Patch Changes

  • the backup timeout time can now be overrided using the BACKUP_FILE_TIMEOUT_IN_SEC env variable. this defaults to 600 seconds (10 minutes).
  • fixed links in the PLEASE-READ-FIRST.txt file
  • The Just In Time build timeout can now be adjusted using the JIT_BUILD_TIMEOUT_IN_SEC env variable. This timeout is 30 minutes (1800 seconds) by default.
  • moved the OttoFMSTempUploads folder from the fms Data directory into the OttoFMS folder inside of the FMS Backups folder. This should ensure that large files go onto a drive that has enough storage.
  • the running deployment timer (and the values in the deployment log) will no longer roll back to 0 when the time surpasses 24 hours.
  • copies can now be run on closed files in builds. copies run on closed files run much faster than copies on open files.
  • encode special characters in fmp urls
  • added the closeFiles option to the build input, allowing copies to be closed before running, speeding up the build dramatically.
  • Webhooks used to upload files can now be registered in the OttoFMS console UI.
  • Change icon for expanding sub-deployments in deployments table

4.3.2

Released: 4/22/2024

Patch Changes

  • files used in multiple sub-deployments will no longer be duplicated in the deployments table
  • files closed during a deployment (using the close additional files option) will no longer be included in the files or file count in the deployments table.
  • added the keepFilesClosedAfterComplete option to the deployment input, which prevents files from opening at the end of a sub-deployment.
  • fixed an issue in the data api proxy causing the token refresh to fail.
  • fixed an issue in which an unhandled rejection could occur in the file backup process during builds.

4.3.1

Released: 4/16/2024

Patch Changes

  • running a same server migration using a pre-run build on the same server will no longer fail with a "incoming file not found for install" error

4.3.0

Released: 4/12/2024

Minor Changes

  • Files can now be encrypted and decrypted from the FMS Admin databases tab. This feature is only available on servers running FMS 20.3 or later.
  • File backups can now be restored directly from the OttoFMS File Browser.
  • OttoFMS now has the ability to only allow access to a list of IP addresses. This will only allow access to the OttoFMS api, console, and webhooks from the listed IP addresses or IP ranges. See the documentation for details on setting up a specific set of IPs or ranges of IPs.
  • Added OttoFMS app log at /otto/api/app-log. See docs for instructions on setting up the OttoFMS app log to use logging in your FileMaker solutions or other systems.
  • Added Slack notifications as an option to each sub-deployment. Notifications are sent when a sub-deployment starts, succeeds, fails, or crashes. See OttoFMS docs for details on setting up the slack integration.
  • Added the closeFilesAfterBuild option to the deployment input, allowing depoyment files to be closed after the build fetches fully rather than before. This should cut down on the file downtime if the build process takes a while.
  • Added the list deployments endpoint at /otto/api/deployments. This endpoint lists all deployments in the ottofms database. API Keys and passwords are encrypted in the response.
  • Added the /deployment/rerun endpoint, which can rerun or schedule a rerun of a deployment or sub-deployment with the initially input options. Also added the ability to rerun a deployment or sub-deployment from the OttoFMS console. This is available in the three dot menu on the deployments table or in the deployment details view.
  • Added a server preferences endpoint which returns the database folder preferences for the server. this endpoint is available at /otto/api/settings/serverPrefs.
  • Added the ability to abort an ongoing deployment from the OttoFMS console and from the api. This function will only abort the deployment if no files have been replaced with their new versions. Builds that were downloaded will be removed, just in time builds will be deleted from your source server if applicable.
  • A new api endpoint and options from the ui allow for undoing a deployment, including all of its sub-deployments. Previously only a single sub-deployment could be undone at a time.

Patch Changes

  • Builds now log to the build manifest.json as well as otto-info.log.
  • The build manifest now includes individual file sizes. The file sizes get added upon the backups of the file being complete.
  • A deployment failing before a build finishes downloading will now delete the build from the inbox.
  • Added a startedAt key to the build manifest which stores the time the build was started
  • The build log now displays in the deployment detail view on the build log tab.
  • Build status calls for just in time builds are more hardy to 502 errors from windows source servers.
  • Just in time builds will now be deleted before other builds when applying the "max builds to keep in outbox" setting.
  • Builds that are ongoing during the time of an OttoFMS crash will now be marked as crashed.
  • Partially downloaded builds will now be deleted when ottofms restarts.
  • Just in time builds now have a "jit_" prefix in the build id.
  • Added the ability to send messages to clients from the clients table in the fms admin tab
  • The clients table now has the ability to disconnect multiple clients at a time.
  • Added an option to immediately disconnect clients from the clients table.
  • Added an additional option when creating Data API keys via the OttoFMS API to not create duplicate keys. If the option is set to true, an existing data api key that uses the input credentials will be returned rather than creating a new key.
  • File Launch links can not be copied from the databases table.
  • A table with no deployments is now handled better in the deployments table.
  • Usage data now includes durations and total size of built or deployed files.
  • The Ottomatic backups folder in the File Browser is now only created for Ottomatic servers.
  • Added crashed deployment events to the usage data.
  • Deployments and sub-deployments can now be renamed from the OttoFMS console after they have been run.
  • If deployment is longer than 1 hour, the hours spot will always be displayed for each log message. This ensures that the first number you see is always the hours spot rather than suddenly becoming the hours spot at the hour mark.
  • Files that are used in subsequent sub-deployments will not be opened at the end of a sub-deployment. For example, if you have 5 sub-deployments and a file is listed in your first and your last sub-deployment the file will be closed for the full duration of the deployment.
  • Added the option to view the full detailed log for a running deployment.
  • Users will now be redirected to the OttoFMS console if they are already logged in and go to the login page.
  • The get deployment endpoint now returns more information about the deployment.
  • Added the fms extended privelages column to the FMS admin databases table. This column is hidden by default and can be revealed in the top right of the table.
  • Added folder and subfolder to databases table in the fms admin tab. These columns are hidden by default but can be revealed in the menus in the top right. Full file path can be revealed by hovering over the folder field in the table.
  • The File Browser no longer logs information about access to the otto-info.log. this can be reverted by setting the FILE_MANAGER_LOGGING environment variable to true.

4.2.4

Released: 3/19/2024

Patch Changes

  • Prevent an unnecessary error in the logs on otto-cli symlink creation during startup.
  • Overhauled the FMS admin databases and clients table, as well as the deployments table. New tables have better filtering, sorting, and the ability to go fullscreen.
  • OttoFMS will now prevent two builds from running simultaneously
  • Better uncaught exception and unhandled rejection logging
  • Fetched failed errors will no longer cause OttoFMS to crash unecessarily
  • Actions can now be taken on multiple rows in the fms admin databases table
  • Added the source to the Deployment details page
  • Added files column to the deployments table

4.2.3

Released: 3/13/2024

Patch Changes

  • deployment backups now create folders and delete folders based off of full deployments instead of sub-deployments. This change means that your "deployment backups to keep" setting will now reflect the number of full deployments rather than sub-deployments. This change is not compatible with previous deployment backups, so make sure any deployment reverts or other processes you need to do with your backups through OttoFMS are done before upgrading to this version
  • when in a deployment detail screen, the page title will now be the title of the deployment rather than the id.
  • updated log message for file unzipped to say that the file is unzipping, as the log gets written at the start of the file unzipping
  • the deployment logs csv now has formatted durations
  • Fixed an issue with FileManager uploads on ubuntu
  • ottofms will no longer fail to start if there are extra folders in the File Browser root directory.
  • the deployment log csv now has the file column properly populated
  • hardening OttoFMS against an issue with the FileMaker Server Admin API
  • errors in the deployment log now have a filename where applicable
  • fixed issue with searching and filtering in the logs on the web console
  • Attempt to avoid ECONNRESET error on windows when building
  • undoing a deployment will now only revert changes for files that have backups. installs will be ignored. previously attempting to undo an install would result in a failed deployment.
  • ottofms will now more gracefully handle errors caused by the FileMaker admin server restarting in the middle of a process.
  • removed duplicate logs for number of completed files
  • fixed an issue causing the entire file path to be written in the migration log on windows. now it will just write the filename
  • fix issue with offsite backups on AWS regions other thatn us-east-1

4.2.2

Released: 3/5/2024

Patch Changes

  • Fix register webhooks regression
  • Fixed an issue with Linux servers not being able to download builds over 1 GB. The download process should now be much faster on Linux machines.
  • fixed an error in the admin api key api which would not allow an admin api key to be used immediately following its creation via the api.

4.2.1

Released: 3/1/2024

Patch Changes

  • fixed file not found error when running a deployment with the same source and destination server. Files in a local just in time build will no longer be zipped into an archive, they will just be moved from the outbox to the inbox as unzipped files.
  • added log message that just in time build has started on source server.
  • increased just in time build timeout from 10 minutes to 30 minutes
  • added a log message when a deployment crashes
  • fixed a bug in the duration cell for multi-stage deployments. The duration was not displaying or calculating correctly.

4.2.0

Released: 2/29/2024

Minor Changes

  • the create build api now has a memLevel option which can help manage the memory usage of the zipping process. by default it is set to 1, which is the least memory usage. See OttoFMS api docs for allowed values.
  • completedFiles key added to the build manifest stored in the outbox. this value will be incremented with each file fully zipped during the build so we can track progress better.
  • zipSize key added to the build manifest. This value will be set upon build completion with the size of the .build.zip in bytes.
  • added concurrency to the OttoFMS api as a sub-deployment level setting. The concurrency setting manages how many files will be installed or migrated simultaneously.

Patch Changes

  • uninstalling OttoFMS on windows will now fully remove all IIS routing rules put in place by the installer
  • improved logging for delete build and get build status endpoints
  • we are now making even fewer calls to the admin api where possible
  • added link to the webhooks guide from the error if your database is not properly set up to recieve webhooks
  • timers for running deployment will now update based on deployment start time rather than most recent log message, making them more accurate in the ui.
  • Builds will now delete each file from the outbox folder after they are successfully zipped into the .build.zip file. This should dramatically reduce folder size in the outbox.
  • OttoFMS now only logs that remaining deployments will be aborted (when using the abort remaining option) if there are remaining deployments to abort
  • added an ongoing duration to the running deployment screen
  • added better error handling within the build status endpoint
  • updated the formatting of deployment times in the deployment table, deployment details view, and the dashboard
  • added more logs to the zip creation process
  • the manifest.json inside of the .build.zip file will now have a status of "zipping" instead of "started". This value is not updated to "completed" since we update the manifest to "completed" after the zip is complete.
  • we now only log that we are removing builds from the inbox at the end of a deployment if there are builds to remove
  • changed the default compression level of build zips from -1 to 0 (this will apply very little compression to the zips by default, increasing file size and decreasing zip time). This should increase fetch time and decrease zip time. The compression level can be changed in the api, and it will be added to OttoDeployin the future.
  • Fixed an issue that caused OttoFMS to check the wrong disk for available space before starting deployments
  • zips created by ottofms will no longer have errors when unzipped with services like 7zip
  • fixed issue where the copied webhook url would include the masked api key rather than the full api key.
  • added more logging to the fetching phase of deployments so you can see progress as the deployment runs.
  • added server operating system to collected usage data. This will help us target specific operating systems which are having more trouble running processes on OttoFMS
  • Add error handling and logging for file download

4.1.1

Released: 2/21/2024

Patch Changes

  • increased single file backup timeout from 2 minutes to 10 minutes
  • fixed bug in upload ui causing sub-folders for folders that were not the default to not display. Also prevented selecting a sub-folder in the secure folder via the ui, which matches current behavior.
  • fix error causing target locale not to be carried through properly to the data migration tool
  • resuming a deployment will now run a local build rather than fetching if it makes sense to do so.
  • a failure to keep the admin api token alive while running a dpeloyment will now log an error
  • a running deployment will now make fewer calls to the admin api
  • fixed an issue that allowed Otto3 license to be recognized as valid.

4.1.0

Released: 2/12/2024

Minor Changes

  • deployments running between the same source and destination server using a just in time build will now delete the just in time build from the outbox locally rather than making a http request to do it
  • clients can now be disconnected from the client table on the filemaker server tab
  • if doing a deployment with the same source and destination server, the build will be run locally rather than creating a http request to run the build
  • deployments running with the same source and destination server will now copy builds from the outbox to the inbox rather than make a http request for them

Patch Changes

  • scheduled deployments that fail to properly create a schedule will now delete the created deployment and the created schedule to clean up after themselves.
  • attempting to install a file into an additional folder that is not set up now results in a helpful error message
  • added better error for an invalid timestamp on scheduled deployments
  • streamlined ui and removed a couple visual bugs from the register webhooks modal
  • better error message when Just in time build fails
  • added more logging for deployments and made unhandled rejected error log better
  • fire a better error when a build tries to backup a closed file
  • fixed tooltip text in crashed deployment when there is only one sub-deployment
  • only log that we are deleting the schedule if there is a schedule to delete
  • external links in the cmd+k menu will now open in a new tab
  • deployments will now only log that you are logged into the source server if you are using the userpass authentication method since akiKeys and tokens do not need to log in.
  • usage data now includes otto version and fms version
  • fixed error in ui causing notifications to not appear
  • API errors will now be labelled as OttoFMS API errors rather than FileMaker errors
  • downloaded deployment files now have more helpful names
  • better error message for failed builds
  • scheduled deployments that fail to properly create a schedule will now display a more helpful error.
  • webhook urls can now be copied without the api key if you plan to use them with headers instead
  • uploads that take longer than an hour will no longer fail. Uploads can also now be resumed up to two days after starting
  • migrations longer than 15 minutes will no longer crash with an invalid token error
  • allow login to ottoFMS console after changing the FMS password
  • better errors for the fetch failed errors
  • we no longer log that the files were opened successfully at the end of a deployment if there were no files opened successfully
  • admin api keys now have a last used time rather than an updated time. It will display the last time that admin api key was used in the OttoFMS api or the Admin API proxy
  • use locale formatting for deployment start date and time in table and specific deployment page
  • upload fm file modal no longer shows a red X when try to upload any file. It will now show an upload icon for all files, and an error will show if the file is not a .fmp12 file.

4.0.10

Released: 2/7/2024

Patch Changes

  • fixed scheduled deployment system schedules failing on windows

4.0.9

Released: 2/5/2024

Patch Changes

  • fixed an issue with the fix to the second disk backup error released in 4.0.8

4.0.8

Released: 2/4/2024

Patch Changes

  • Fixed an issue with using a second disk as the FileMaker Server backup folder. (Error: EXDEV: cross-device link not permitted)

4.0.7

Released: 2/2/2024

Patch Changes

  • fix restore deployment navigation error. The deployments were restored, but the navigation to the deployments page failed.
  • errors in the Data API Entry modal no longer wipe out the form.
  • attempting to upload an existing or duplicate file will show a helpful error.
  • update end user license agreement
  • files can now be renamed during upload
  • fixed an issue with the number of deployment backups to keep.

4.0.6

Released: 1/26/2024

Patch Changes

  • fixed security vulnerability in the otto admin api proxy
  • fixed an issue with linux service failing to restart after server reboot and removed beta expiry
  • fixed error causing mismatch in simpleq deployment modal

4.0.5

Released: 1/25/2024

Patch Changes

  • fixed error causing uploads to fail

4.0.4

Released: 1/24/2024

Patch Changes

  • remove unnecessary headers from Services table
  • fixed issue where OttoFMS API would not refresh the session token if it was expired.

4.0.3

Released: 1/23/2024

Patch Changes

  • fixed issue with autoregister webhook toggle toggling the autoregister webhook behavior backwards

4.0.2

Released: 1/22/2024

Patch Changes

  • Fix error running migrations using encrypted files.
  • added OttoFMS build number to the info api and settings page.
  • fix padding in File Browser
  • added loading indicator to login button
  • adding an admin api token via the api before logging into the web console will now properly set up authentication
  • added a log of the license status on OttoFMS startup
  • added lots of docs links
  • fix adminapi login error with keys
  • admin api key is now encrypted in the database
  • remove expire time from stored token, make cookie expire in 30 days
  • added the option to restart the OttoFMS service from the settings page
  • Rename API Key prefix to DK_
  • closed files can now be downloaded
  • databases are now sorted alphabetically in the fms amdin tab
  • don't close create api key modal on click outside
  • update OttoFMS api doc favicon
  • Add Admin API keys and Admin API Proxy
  • add license info to tinybird
  • build download api now sends the build folder as a zip rather than just the build zip
  • added description to ottomatic folder
  • fix id column spacing in deployments table
  • fix empty database color error on license and login pages
  • allow any fms log file in the log viewer
  • added ottomatic-backups folder for use with ottomatic disaster protection
  • make settings scroll inside main shell rather than full shell
  • Fix unhandled rejection error and add splat format to console logger
  • fix otto docs link
  • await zip file completion
  • added a boolean for whether there is an existing offsite backup schedule to the get offsite settings endpoint
  • going to the /otto/license page with a valid installed license will pass through to OttoFMS
  • moved admin console link to help menu
  • fix webhook error when not returning any ScriptResult in the OttoReceiver Script
  • enable using an Ottomatic license for OttoFMS
  • files now upload in 25 MB chunks to avoid a timeout for large files over slow internet
  • removed http access on windows
  • improves settings page ui
  • fixed issue with FileMaker Servere 20.3 preserved folder
  • Add more descriptions to help buttons
  • Update UI for detail view of sub-deployments
  • deploying OttoDeploy will now only choose a schema version that has both a web version and a schema build for that version published
  • fix error unzipping files during deployments
  • Update Admin API key icon
  • Activation with a License is now required for OttoFMS
  • add required tag to API key label
  • tables in FMS tab are now sortable
  • improved build archiving
  • Added server nickname to the info endpoint
  • add idLicenseValid to the info endpoint
  • sort databases in the fms admin tab alphabetically
  • added keep me logged in functionality
  • added guidance about admin api keys to developer api docs
  • added encryption lock icon to Fm databases screen
  • convert Otto to OttoFMS in multiple places
  • skip logging close files when no files are closing
  • prevent error on deselect log in log viewer
  • Expanded deployments in the deployments table will not collapse when a deployment is running
  • handle encrypted files better when opening files.
  • show error if FileMaker is not running when accessing the OttoFMS console
  • encrypt usernames and passwords for post deployment script
  • add date to changelog in docs
  • fix password and encryption key masking in logs to match complex passwords
  • prevent error when updating offsite settings via api. Will no longer attempt to recreate the backup schedule if one is already existing
  • updated capitalization of OttoFMS
  • fixed issue with Webhook FileMaker validation
  • rename otto v4
  • check for new versions and show in footer

4.0.1-beta.21

Released: 1/11/2024

Patch Changes

  • added a log of the license status on OttoFMS startup
  • update OttoFMS api doc favicon
  • going to the /otto/license page with a valid installed license will pass through to OttoFMS
  • files now upload in 25 MB chunks to avoid a timeout for large files over slow internet
  • added OttoFMS build number to the info api and settings page.
  • adding an admin api token via the api before logging into the web console will now properly set up authentication
  • closed files can now be downloaded
  • fix id column spacing in deployments table
  • tables in FMS tab are now sortable
  • Added server nickname to the info endpoint
  • added keep me logged in functionality
  • skip logging close files when no files are closing
  • prevent error on deselect log in log viewer
  • Expanded deployments in the deployments table will not collapse when a deployment is running
  • handle encrypted files better when opening files.
  • show error if FileMaker is not running when accessing the OttoFMS console
  • encrypt usernames and passwords for post deployment script
  • Fixed error when uploading files on Windows servers

4.0.1-beta.19

Released: 12/22/2023

Patch Changes

  • await zip file completion

4.0.1-beta.18

Released: 12/22/2023

Patch Changes

  • added description to ottomatic folder
  • sort databases in the fms admin tab alphabetically
  • convert Otto to OttoFMS in multiple places

4.0.1-beta.17

Released: 12/21/2023

Patch Changes

  • fix error unzipping files during deployments
  • improved build archiving

4.0.1-beta.16

Released: 12/19/2023

Patch Changes

  • added loading indicator to login button
  • admin api key is now encrypted in the database
  • allow any fms log file in the log viewer
  • added a boolean for whether there is an existing offsite backup schedule to the get offsite settings endpoint
  • moved admin console link to help menu
  • fix webhook error when not returning any ScriptResult in the OttoReceiver Script
  • Add more descriptions to help buttons
  • add date to changelog in docs
  • prevent error when updating offsite settings via api. Will no longer attempt to recreate the backup schedule if one is already existing

4.0.1-beta.15

Released: 12/18/2023

Minor Changes

  • Fix error running migrations using encrypted files.

Patch Changes

  • Fix unhandled rejection error and add splat format to console logger
  • fixed issue with FileMaker Servere 20.3 preserved folder
  • fix password and encryption key masking in logs to match complex passwords
  • rename otto v4

4.0.1-beta.14

Released: 12/15/2023

Patch Changes

  • fix padding in File Browser
  • added lots of docs links
  • make settings scroll inside main shell rather than full shell
  • removed http access on windows
  • Update UI for detail view of sub-deployments
  • Update Admin API key icon
  • add required tag to API key label
  • check for new versions and show in footer

4.0.1-beta.13

Released: 12/15/2023

Patch Changes

  • fix adminapi login error with keys

4.0.1-beta.12

Released: 12/15/2023

Patch Changes

  • Rename API Key prefix to DK_

4.0.1-beta.11

Released: 12/13/2023

Patch Changes

  • remove expire time from stored token, make cookie expire in 30 days
  • add license info to tinybird
  • enable using an Ottomatic license for OttoFMS
  • add idLicenseValid to the info endpoint
  • added encryption lock icon to Fm databases screen

4.0.1-beta.10

Released: 12/12/2023

Patch Changes

  • fix empty database color error on license and login pages

4.0.1-beta.9

Released: 12/12/2023

Patch Changes

  • Add Admin API keys and Admin API Proxy
  • improves settings page ui
  • Activation with a License is now required for OttoFMS
  • updated capitalization of OttoFMS

4.0.1-beta.8

Released: 12/5/2023

Patch Changes

  • added the option to restart the OttoFMS service from the settings page
  • don't close create api key modal on click outside
  • added ottomatic-backups folder for use with ottomatic disaster protection

4.0.1-beta.7

Released: 11/30/2023

Patch Changes

  • build download api now sends the build folder as a zip rather than just the build zip
  • fix otto docs link
  • fixed issue with Webhook FileMaker validation