I've just created release 1.0.109 which contains quite a number of changes.
* please checkout tag 1.0.109 before building the Docker image because then the
versions of components will be configured correctly in the Dockerfile.
* You will need to know about or may need to perform some action post deploy
for those items marked with "**" below.
* This deploy has some non-trivial data-migrations in it that unfortunately had
to be split in two transactions; if you want to coordinate a time to deploy
when I'm online then we can do that, but it should go through fine.
Thank you to those people helping out with the localization once again.
## Package Supplement
This is a significant change because it will hit most areas of the application.
It introduces new data structures that are able to provide better sharing
between the packages in relation to icons, screenshots and localizations. In
the past this 'sharing' has been achieved by actually copying the data, but
this copying process was messy in concept, code and reality. This new change
means that the same data is being edited from various packages rather than
copies being taken. Examples of packages that might have shared data in this
This has the down-side that it is not possible to 'tweak' the data for each
type of package, but the up-side is that the logic in HDS is more sane and
there are no strange edge cases to deal with.
The data-model diagram in the documentation has been updated to illustrate this
## Rebuild of Authorization Logic
The authorization logic in the single-page application was not working too well
because it was not coalescing the requests for authentication together very
efficiently. This lead to more calls than necessary back into the application
server. This should work better now. Thanks to the introduction of an LRU
cache library, the caching of authorization should work better as well.
## Request Permission from User to use Local Storage
This ensures that the user is informed as to what is being stored in their
browser from the single page application.
## Built-in Scheduling **
As requested by Alex, the scheduled maintenance tasks will now be run via
in-application-server scheduling rather than relying on external ```cron``` and
```curl```. The endpoints that were being hit by cron are still there, but
will be removed in the next version. Actions; Alex please remove the
cron-based scheduling post-deploy.
## Repository Access Password **
As requested by Alex, the repository is now able to have a password configured.
If supplied, the password secures the Repository endpoints; primarily for
triggering repository updates. Actions; Alex, please configure as needed for
HaikuDepot. BeSly / FatElk / Clasqm -- can you please coordinate with Alex if
you are externally triggering repository updates. The API documentation has
been updated around this.
Various areas of documentation have been updated. Also the documentation links
may have changed. A section has been added to outline how data is used in HDS.
Links to this information have been added in the system.
## x86_64 Default
x86_64 is now the default architecture in the web interface. Also the default
is communicated from the backend to the single-page application dynamically
rather than having a default both in the SPA and the backend.
## Frontend Logout Problem
There was a problem where during logout the single-page application may have
experienced some instability. This bug should be resolved now.
## Last Import for Repo
For a given Repository Source, the last import is stored and displayed to help
## Mirror Added More Than Once
If a Repository Mirror is added more than once then the user is shown an error
in the UI and are disallowed from doing this.
## Repository Forced Internal Base URL
Each Repository Source is able to provide a forced base URL. This allowed for
the situation we had previously where the internal network is not able to call
out from HDS and back into itself to get repo data. Alex has actually fixed
this at the Docker network level, but this application-level fix is supposed to
work around this.
## Ability to Remove Repository Source Mirrors
This was previously not working.
## Storage and Display of Users' Last Logged in Time
This is so that in a few years' time it will be possible to identify inactive
## Package Vanity URL
The package has a small 'link icon' on the RHS of the view package screen.
This links to a short URL for the package that can be used from elsewhere to
link to this package. Note that the link is not to the version, but to the
## Schema Generation Changes
The schema-generation files used in the C++ HaikuDepot application have been
renamed etc... to make them more logical to find. The python scripts for
converting the schema files to C++ are removed because that process occurs in
the Haiku main source now.
## Data Masking Script
A data masking script has been added to support getting test data for
development / testing / diagnostic purposes.
## Portugese localizations
Thanks Victor for adding those in.
## Bulk Download API Removed
This API was used by older versions of HaikuDepot desktop application, but was
removed from the desktop application in early 2018. It is now removed from the
HDS system as well.