Electron Release Server Versions Save

A fully featured, self-hosted release server for electron applications, compatible with auto-updater.

v2.1.3

1 year ago

What's Changed

Full Changelog: https://github.com/ArekSredzki/electron-release-server/compare/v2.1.2...v2.1.3

v2.1.2

1 year ago

What's Changed

Full Changelog: https://github.com/ArekSredzki/electron-release-server/compare/v2.1.1...v2.1.2

v2.1.1

1 year ago

What's Changed

This improves some configuration documentation, especially for data encryption keys. With these changes, it should be clear that users must generate a unique DATA_ENCRYPTION_KEY.

Additionally, the Dockerfile is updated for Node 19 as that is the recommended version (the latest stable release at this time).

Full Changelog: https://github.com/ArekSredzki/electron-release-server/compare/v2.1.0...v2.1.1

v2.1.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/ArekSredzki/electron-release-server/compare/v2.0.0...v2.1.0

v2.0.0

1 year ago

This updates most of the packages used in this project to their latest versions (with rare exceptions)

Breaking Changes

Since version 2.0.0 updates many packages, it may require updates to your forked modifications. Most importantly, this upgrades to SailsJS 1.x.x. At a bare minimum, you must rename connections to datastores in your config/local.js file. You may need to make further changes depending on how significantly you have customized the project. See this SailsJS v1.x.x migration guide for more insights: https://sailsjs.com/documentation/upgrading/to-v-1-0

What's Changed

Full Changelog: https://github.com/ArekSredzki/electron-release-server/compare/v1.5.2...v2.0.0

v1.5.2

4 years ago

Bug Fixes:

  • Fix download response for RELEASES endpoint (#215) (db419cc)
  • Fixes for Electron Forge publishing (#214) (55c823a)
  • Fixed issues found by LGTM (db10a19)

Documentation and Code Health:

  • Add CodeFactor and LGTM to README (3b47268)
  • Change prerelease version example according to semver specification. (#119) (9153f9c)
  • Add Stale Issue Bot config (73ef936)
  • Add response to setFeedURL related FAQ in docs (Fixes #143) (cd1007a)

🎉 Thanks to @DustinBrett for all of his help! 🎉

The repo has now hit 101 commits!

v1.5.1

4 years ago

Bug Fixes:

  • Change to uglify-es to fix prod builds (#210)
  • Fix version comparison bugs by upgrading semver to at least 5.5.0 (Fixes #184)

v1.5.0

4 years ago

Features:

Added flavors feature (#202)

  • Added flavor filtering on the Download page
  • Added flavor filtering, flavor column & Add New Flavor button/modal on Version Management page
  • Added flavor information to Edit Version modal
  • Added ability to have overlapping version names between flavors (Ex: 1.0.0 default & 1.0.0 minimal can both exist with different assets)
  • Added ability to delete flavors via the API which also updates the UI (This deletes the flavor, it’s associated versions, their assets & files)
  • Added script to allow migration of the database to support flavors (Currently the migration script is only built with PostgreSQL queries, but others could be added if desired) (Migration ability is in this PR)
  • Added flavor routes for all applicable current routes while keeping backward compatible by using the default flavor on pre-existing routes
  • Updated documentation to reflect changes

Added availability date for versions (#205)

  • Added the ability to set/edit a date of availability for each version
  • Updating can be done via the UI or the API
  • API uses unix timestamp in milliseconds
  • If the version is not yet available it will not show on the Download page and will not be sent as a response to calls to the /update api
  • Availability date can be any time after the opening of the New Version modal
  • If the availability date ends up being some time between when the modal is opened and when the record is created, then the availability date is automatically set to the creation date
  • The date/time picker is using the built in HTML 5 input datetime-local
  • Added Make Available button to Edit Version modal which sets the availability date to the current date/time

Improvements to assets (#204)

  • Allow specifying name during asset creation
    • If not specified then uses filename like previously
  • Allow editing asset names
    • If input is empty then name remains as it was
  • Display asset file extension name in Edit Asset Modal
  • Change assets PK to come from a combination of version, platform & file type
  • Created migration script
  • Now only allows 1 unique asset per version of a specific platform & file type
    • Before it would allow adding many assets of the same platform & file type as long as the name was different, but this didn’t work well because the Download page would show multiple (unidentifiable) entries and whichever you clicked it would give you the same file, even though the URL would be different. The file it would serve was whatever the newest asset was that matched the platform & file type.
    • File names do NOT have to be unique anymore

Added database migration functionality

Migrate commands:

npm run migrate up npm run migrate down

Parameterize the asset storage path in Docker (#192)

Leave the default /tmp/ path in place, but check for an ASSETS_PATH environment variable. This will help avoid conflicts that arise when trying to store assets on a persistent volume outside the Docker container.

Other Improvements

  • Update add-version-modal.pug (#181)
  • Remove maxlength from add-version-modal
  • Fixed URL "/download/latest/:platform?" can download even when the latest version has no assets.
  • Add electron-updater compatible mac updater
  • Added applicable channels to the version search query
  • Added routes for latest.yml in order to support NSIS auto-update. Added VersionController.nsis action. Added sha256 hash generation for .exe files.
  • Paginate available versions and return them in descending semver order
  • Secret Key Clarification (#141)
  • Update using-it.md (#114)
  • Add support for Delta versions (#111)
  • Improved Dockerfile (#110)
  • Dokku support (#136)
  • Improved documentation

Bug Fixes:

  • Fix /releases when accessing directly
  • Fix: undefined ChannelService.availableChannels
  • Fixes #81 by allowing multiple file types per platform
  • Fixes #148 by making app channels configurable
  • Fix Angular versions to prevent errors (#133)
  • Fix typos (#126)
  • Fixed various 404's (#206)
  • Fix releases when accessing directly (#207)
  • Added Sails call to init version updates (#203)
  • Check for DATABASE_URL before splitting it (#209)
  • Fix bug where assets and channels for releases were not being displayed
  • Fix grunt uglify errors in production mode
  • Fixed typos in the documentation
  • Fix (#180): add a period to the GUI text word.
  • Added sails call to init version updates (fixes bug added to #166)

v1.4.3

7 years ago

Updated grunt-sass to 2.0.0 (node-sass to 4.0.0, libsass to 3.4.0)

v1.4.2

7 years ago

Fix Angular dependency strictness.

This is a temporary fix to avoid Angular 1.6.0 until all dependencies have been updated.

Unfortunately the loose matching in bower.json means that all electron-release-server versions prior to this one will break on their next bower install.