Skip to content

v1.5.0

Compare
Choose a tag to compare
@ArekSredzki ArekSredzki released this 06 Oct 20:38
· 48 commits to master since this release
0149c3c

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)