You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new IHP release with new features and many bug fixes. This release is also the first release that comes with an IHP Pro release 🚀
Major Changes
Allow scheduling jobs at a specific time with runAt:
The job queue table's now have a run_at column. Jobs are only executed after the specified time.
The job runner is now also polling the job queue at regular intervals as otherwise scheduled jobs will not be picked up when there's no activity on the job queue table.
Here's an example of a job scheduled to run in ten minutes from now:
inTenMinutes <- addUTCTime (10*60) <$> getCurrentTime
newRecord @DeleteContainerJob|> set #containerId (get #containerId containerBuild)
|> set #runAt inTenMinutes
|> createRecord
New IHP Logo:
The dev server now displays our new beautiful IHP logo 💘
Customize File Upload Limits:
By default IHP has a max file size limit when uploading files to the IHP server. You can now customize these limits inside your Config/Config.hs.
New Form Helper: fileField:
Previously you had to manually type the HTML code for <input type="file"/> fields in your forms. We've finally added the missing helper 🎉
renderForm::Company->Html
renderForm company = formFor company [hsx|
{(textField #name)}
{(fileField #logoUrl)}
{submitButton}
|]
New Function: createTemporaryDownloadUrlFromPathWithExpiredAt: Get signed S3 download urls with a custom expiration time
This function is similiar to createTemporaryDownloadUrlFromPath, but you can pass a custom expiration time. The createTemporaryDownloadUrlFromPath function always generates urls that are valid for 7 days.
E.g. this example generates a presigned S3 url to a logo that expires in 5 minutes:
let validInSeconds =5*60
signedUrl <- createTemporaryDownloadUrlFromPathWithExpiredAt validInSeconds "logos/8ed22caa-11ea-4c45-a05e-91a51e72558d"let url ::Text= get #url signedUrl
let expiredAt ::UTCTime= get #expiredAt signedUrl
Improved Support for GitPod & GitHub Codespaces:
Previously IHP's dev tooling was only running when it was called at localhost:8000. This is a problem in services like GitPod or GitHub spaces, where the the host might not be localhost.
There are now two env variables IHP_BASEURL and IHP_IDE_BASEURL to override the BaseUrl configured in Config/Config.hs at runtime:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
A new IHP release with new features and many bug fixes. This release is also the first release that comes with an IHP Pro release 🚀
Major Changes
Allow scheduling jobs at a specific time with
runAt
:The job queue table's now have a
run_at
column. Jobs are only executed after the specified time.The job runner is now also polling the job queue at regular intervals as otherwise scheduled jobs will not be picked up when there's no activity on the job queue table.
Here's an example of a job scheduled to run in ten minutes from now:
New IHP Logo:
The dev server now displays our new beautiful IHP logo 💘
Customize File Upload Limits:
By default IHP has a max file size limit when uploading files to the IHP server. You can now customize these limits inside your
Config/Config.hs
.Learn more about this in the docs.
📫 Email Confirmation:
One of the first IHP Pro features now made it :) There's now a built-in standard way to deal with email confirmation.
Check out the documentation on how to set this up
OAuth:
Login with Google and Google are now finally available in IHP.
This new feature is also part of IHP Pro. Once you're app is running IHP Pro, follow this Guide on how to set it up.
New Form Helper:
fileField
:Previously you had to manually type the HTML code for
<input type="file"/>
fields in your forms. We've finally added the missing helper 🎉New Function:
createTemporaryDownloadUrlFromPathWithExpiredAt
: Get signed S3 download urls with a custom expiration timeThis function is similiar to
createTemporaryDownloadUrlFromPath
, but you can pass a custom expiration time. ThecreateTemporaryDownloadUrlFromPath
function always generates urls that are valid for 7 days.E.g. this example generates a presigned S3 url to a logo that expires in 5 minutes:
Improved Support for GitPod & GitHub Codespaces:
Previously IHP's dev tooling was only running when it was called at
localhost:8000
. This is a problem in services like GitPod or GitHub spaces, where the the host might not belocalhost
.There are now two env variables
IHP_BASEURL
andIHP_IDE_BASEURL
to override theBaseUrl
configured inConfig/Config.hs
at runtime:We've already integrated this into the IHP GitPod template. If you're curious, follow this link to start a GitPod development session (it's free) with the IHP Template.
These new env vars might also be useful if you run your IHP dev tooling on a different device than your editor inside your local network.
Other Changes
error
call inside a view.Feature Voting
Help decide what's coming next to IHP by using the Feature Voting!
Updating
See the UPGRADE.md for upgrade instructions.
If you have any problems with updating, let us know on the IHP forum.
📧 To stay in the loop, subscribe to the IHP release emails. Or follow digitally induced on twitter.
This discussion was created from the release v0.14.0 (Beta 27.08.2021).
Beta Was this translation helpful? Give feedback.
All reactions