Releases: deislabs/hippo
v0.6.1
v0.6.0
A few small but significant changes have been introduced to Hippo 0.6.
Introducing Spin
We replaced the internal WebAssembly runtime Hippo uses to run apps. wagi
has been replaced with spin
. Spin offers a more expressive and structured interface for applications while providing backwards-compatibilty support for applications written with WAGI.
Example app
In WAGI, an application written in Rust would define a main
function, handling I/O following the Common Gateway Interface 1.1 specification. For example:
fn main() {
println!("Content-Type: text/plain\nHello, World!\n");
}
Spin introduces the WebAssembly component model. This hello_world
function written in Rust defines a component that takes an http::Request
and returns a Result<http::Response>
:
#[http_component]
fn hello_world(_req: http::Request) -> Result<http::Response> {
Ok(http::Response::builder()
.status(200)
.body(Some("Hello, World!\n".into()))?)
}
Spin executes the component(s) as a result of events being generated by the trigger(s) defined in the spin.toml
file.
Work in progress
The change from WAGI to Spin introduces several breaking change to the Hippo CLI. hippo push
will no longer work as it has not been updated to generate a Spin manifest. These commands will eventually be removed and replaced with spin
commands. This is a work in progress. We will update the documentation when those changes go live.
For now, follow Spin's Quickstart Guide to download and run the Spin example applications, and follow the Packaging and Distribution Guide to publish your application to Hippo's Bindle server.
Fixes
- Fixed a bug where events were not being fired when a Channel was created with a specific
ActiveRevisionId
. - Fixed a bug where the API would not accept Enum types (like
ChannelRevisionSelectionStrategy
) as JSON strings.
Hippo v0.5.0
We have made a lot of progress (and a lot of changes) since 0.4.4. Here are the highlights:
Features
The web UI has now completed its transition from ASP.NET MVC to Angular. The core architecture is now considered stable, and the UI team is transitioning focus to simple UI enhancements, better form ergonomics, custom UI theming, and fixing bugs.
With ASP.NET MVC views being removed, the API is solely focused on serving requests from incoming clients (including the web UI). Exceptions raised are now filtered through the ApiExceptionFilterAttribute
, ensuring all exceptions are caught and a proper HTTP response code is returned to the client.
The Job API has been overhauled. Hippo now queues and dequeues jobs to a JobScheduler, which is part of the Hippo.Application.Jobs
package. Hippo.Infrastructure.Jobs
includes two job types: one for forking new wagi
processes locally, and one for scheduling jobs onto nomad
. As part of this refactor, jobs can now be updated in-place.
Fixes
- Environment variables are now being propagated to the job scheduler.
- Jobs scheduled locally now bind to a free port available on the system.
- Bindle Storage IDs now accept dots in the name.
Looking ahead
We have some big things coming:
- edit/update APIs for certain resources, e.g. requesting to change your password, or change a channel's name.
- emailing services. Registering an account on Hippo will require a valid email address, and will send verification emails. This is what we'll allow us to implement the classic "forgot your password?" button.
- custom UI theming!
- improvements to account registration, including alternative registration methods and OAuth integration.
If you want to get involved, join us on Discord and tell us how you're using Hippo! Hope to see you there.
v0.4.4
v0.4.3
v0.4.2
🐛 Fixes
📦 Dependencies
- Bump sass from 1.49.6 to 1.49.7 in /src/Web/ClientApp
- PR: #439
- Bump css-loader from 6.5.1 to 6.6.0 in /src/Web/ClientApp
- PR: #438
- Bump coverlet.collector from 3.1.1 to 3.1.2 in /tests/Core.UnitTests
- PR: #437
- Bump coverlet.collector from 3.1.1 to 3.1.2 in /tests/Hippo.FunctionalTests
- PR: #436
- Bump coverlet.collector from 3.1.1 to 3.1.2 in /tests/Application.UnitTests
- PR: #435
- Bump FluentAssertions from 6.4.0 to 6.5.1 in /tests/Hippo.FunctionalTests
- PR: #444
- Bump Microsoft.AspNetCore.Authentication.JwtBearer from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #445
- Bump Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #446
- Bump Microsoft.AspNetCore.Authentication.JwtBearer from 6.0.1 to 6.0.2 in /src/Infrastructure
- PR: #447
- Bump Microsoft.AspNetCore.Mvc.Testing from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #448
- Bump Microsoft.Extensions.FileProviders.Embedded from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #465
- Bump Microsoft.EntityFrameworkCore.InMemory from 6.0.1 to 6.0.2 in /src/Infrastructure
- PR: #461
- Bump Microsoft.EntityFrameworkCore from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #455
- Bump Microsoft.EntityFrameworkCore.Sqlite from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #468
- Bump Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #467
- Bump Microsoft.EntityFrameworkCore.Tools from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #466
- Bump Microsoft.EntityFrameworkCore.Sqlite from 6.0.1 to 6.0.2 in /src/Infrastructure
- PR: #463
- Bump Microsoft.AspNetCore.Identity.UI from 6.0.1 to 6.0.2 in /src/Web
- PR: #462
- Bump Microsoft.AspNetCore.Identity.EntityFrameworkCore from 6.0.1 to 6.0.2 in /tests/Application.UnitTests
- PR: #459
- Bump Microsoft.AspNetCore.Identity.EntityFrameworkCore from 6.0.1 to 6.0.2 in /src/Web
- PR: #470
- Bump Microsoft.AspNetCore.SpaServices.Extensions from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #469
- Bump Microsoft.AspNetCore.SpaServices.Extensions from 6.0.1 to 6.0.2 in /src/Web
- PR: #460
- Bump Microsoft.AspNetCore.Mvc.Testing from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #472
🏷️ Uncategorized
v0.4.1
- no changes
v0.4.0
📦 Dependencies
- Bump coverlet.collector from 3.1.0 to 3.1.1 in /tests/Core.UnitTests
- PR: #412
- Bump coverlet.collector from 3.1.0 to 3.1.1 in /tests/Hippo.FunctionalTests
- PR: #411
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.2 to 6.0.3 in /src/Web
- PR: #410
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.2 to 6.0.3 in /tests/Hippo.FunctionalTests
- PR: #409
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.2 to 6.0.3 in /tests/Application.UnitTests
- PR: #408
- Bump coverlet.collector from 3.1.0 to 3.1.1 in /tests/Application.UnitTests
- PR: #407
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.2 to 6.0.3 in /src/Infrastructure
- PR: #406
- Bump sass from 1.49.4 to 1.49.6 in /src/Web/ClientApp
- PR: #420
🏷️ Uncategorized
- fix: emit ActiveRevisionChangedEvent when ActiveRevision is set
- PR: #393
- set default range rule if none set
- PR: #397
- fix(ui): delete confirmations using correct method
- PR: #400
- fix(api): fix API routes for Delete, Export, and Index
- PR: #401
- remove ReverseProxy::Enabled config
- PR: #403
- fix: emit CertificateBindEvent when Certificate changes
- PR: #402
- introduce ApiExceptionFilter
- PR: #405
- feat(nomad): add module caching
- PR: #404
- emit Deleted events
- PR: #416
- implement NullJobScheduler
- PR: #415
- npm update
- PR: #418
- Move client to an (internal) ClientApp package
- PR: #419
- fix jQuery import
- PR: #423
- better openapi generation
- PR: #424
- mark DTO fields as required
- PR: #425
- fix: display Certificate in ChannelDTO
- PR: #427
- generate postgresql database migrations
- PR: #428
v0.3.0
v0.2.0
🚀 Features
- break out into Core, Application, Infrastructure, and Web
- PR: #311
📦 Dependencies
- Bump set-value from 2.0.1 to 4.0.1 in /Hippo
- PR: #260
- Bump set-value from 4.0.1 to 4.1.0 in /Hippo
- PR: #265
- Bump sass from 1.41.1 to 1.42.1 in /Hippo
- PR: #264
- Bump sass from 1.42.1 to 1.43.2 in /Hippo
- PR: #267
- Bump xterm from 4.14.1 to 4.15.0 in /Hippo
- PR: #273
- Bump Microsoft.EntityFrameworkCore from 5.0.10 to 6.0.0 in /Hippo
- PR: #272
- Bump Microsoft.EntityFrameworkCore.Sqlite from 5.0.10 to 6.0.0 in /Hippo
- PR: #271
- Bump Microsoft.AspNetCore.Identity.EntityFrameworkCore from 5.0.10 to 6.0.0 in /Hippo
- PR: #270
- Bump Microsoft.AspNetCore.Authentication.JwtBearer from 5.0.10 to 6.0.0 in /Hippo
- PR: #269
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 5.0.10 to 6.0.0 in /Hippo
- PR: #282
- Bump Microsoft.Data.SQLite from 5.0.10 to 6.0.0 in /Hippo
- PR: #281
- Bump Microsoft.EntityFrameworkCore.Tools from 5.0.10 to 6.0.0 in /Hippo
- PR: #283
- Bump Microsoft.EntityFrameworkCore.InMemory from 5.0.10 to 6.0.0 in /Hippo
- PR: #268
- Bump Microsoft.VisualStudio.Web.CodeGeneration.Design from 5.0.2 to 6.0.0 in /Hippo
- PR: #284
- Bump Microsoft.VisualStudio.Azure.Containers.Tools.Targets from 1.11.1 to 1.14.0 in /src/Web
- PR: #314
- Bump sass from 1.43.2 to 1.45.0 in /src/Web
- PR: #315
- Bump Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore from 6.0.0 to 6.0.1 in /src/Web
- PR: #318
- Bump bootstrap from 5.1.0 to 5.1.3 in /src/Web
- PR: #319
- Bump FluentValidation.AspNetCore from 10.3.4 to 10.3.6 in /src/Web
- PR: #320
- Bump Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore from 6.0.0 to 6.0.1 in /tests/Hippo.FunctionalTests
- PR: #321
- Bump Microsoft.EntityFrameworkCore from 6.0.0 to 6.0.1 in /src/Application
- PR: #322
- Bump Microsoft.EntityFrameworkCore from 6.0.0 to 6.0.1 in /src/Infrastructure
- PR: #325
- Bump Microsoft.AspNetCore.Mvc.Testing from 6.0.0 to 6.0.1 in /tests/Hippo.FunctionalTests
- PR: #326
- Bump FluentValidation.DependencyInjectionExtensions from 10.3.4 to 10.3.6 in /src/Application
- PR: #328
- Bump Microsoft.AspNetCore.Mvc.Testing from 6.0.0 to 6.0.1 in /tests/Application.UnitTests
- PR: #334
- Bump Microsoft.Extensions.FileProviders.Embedded from 6.0.0 to 6.0.1 in /tests/Hippo.FunctionalTests
- PR: #335
- Bump Microsoft.EntityFrameworkCore.InMemory from 6.0.0 to 6.0.1 in /src/Web
- PR: #323
- Bump Microsoft.EntityFrameworkCore.InMemory from 6.0.0 to 6.0.1 in /tests/Application.UnitTests
- PR: #324
- Bump Microsoft.AspNetCore.Identity.EntityFrameworkCore from 6.0.0 to 6.0.1 in /tests/Hippo.FunctionalTests
- PR: #331
- Bump Microsoft.AspNetCore.Identity.UI from 6.0.0 to 6.0.1 in /src/Web
- PR: #327
- Bump Microsoft.AspNetCore.Authentication.JwtBearer from 6.0.0 to 6.0.1 in /tests/Application.UnitTests
- PR: #329
- Bump Microsoft.EntityFrameworkCore.Sqlite from 6.0.0 to 6.0.1 in /src/Infrastructure
- PR: #336
- Bump Microsoft.EntityFrameworkCore.Sqlite from 6.0.0 to 6.0.1 in /tests/Application.UnitTests
- PR: #337
- Bump Microsoft.EntityFrameworkCore.Sqlite from 6.0.0 to 6.0.1 in /tests/Hippo.FunctionalTests
- PR: #338
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.0 to 6.0.1 in /src/Infrastructure
- PR: #339
- Bump Microsoft.EntityFrameworkCore.Tools from 6.0.0 to 6.0.1 in /src/Web
- PR: #345
- Bump Microsoft.AspNetCore.SpaServices.Extensions from 6.0.0 to 6.0.1 in /src/Web
- PR: #332
- Bump Swashbuckle.AspNetCore from 6.2.1 to 6.2.3 in /src/Web
- PR: #347
- Bump Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore from 6.0.0 to 6.0.1 in /src/Web
- PR: #343
- Bump Npgsql.EntityFrameworkCore.PostgreSQL from 6.0.1 to 6.0.2 in /tests/Hippo.FunctionalTests
- PR: #352
- Bump xterm from 4.15.0 to 4.16.0 in /src/Web
- PR: #357
- Bump FluentAssertions from 6.2.0 to 6.3.0 in /tests/Hippo.FunctionalTests
- PR: #358
- Bump sass from 1.45.0 to 1.45.2 in /src/Web
- PR: #359
- Bump sass from 1.45.2 to 1.47.0 in /src/Web
- PR: #365
- Bump sass from 1.47.0 to 1.48.0 in /src/Web
- PR: #378
🏷️ Uncategorized
- Udpate dependencies
- PR: #256
- update container definitions
- PR: #261
- s/environments/channels/g
- PR: #262
- Enforce Anitforgery and HttpVerb Attributes
- PR: #192
- Hippo footer docs link broken
- PR: #276
- remove editorconfig
- PR: #278
- remove .db-shm and .db-wal
- PR: #285
- switch to package-lock version 2
- PR: #286
- upgrade to .NET 6
- PR: #287
- move to src/ and tests/
- PR: #280
- remove .editorconfig
- PR: #288
- simplify naming: ApiControllers -> Api, ControllerCore -> Controllers
- PR: #279
- (re)introduce Hippo.FunctionalTests
- PR: #295
- fix spacing
- PR: #296
- use namespace declaration syntax
- PR: #297
- fix gitgnore path for hippo.db*
- PR: #300
- subscribe to channel start/stop events
- PR: #302
- collapse into one job scheduler class
- PR: #305
- new Program.cs
- PR: #301
- change default listening ports to 5308/5309
- PR: #307
- fix src location
- PR: #312
- update dependabot watch locations
- PR: #317
- add basic field validation
- PR: #348
- require unique domain name
- PR: #349
- fix failing functional tests
- PR: #360
- require user to sign in
- PR: #364
- start serving requests for the channel via IReverseProxy
- PR: #370
- stop all channels when storage ID has been updated
- PR: #374
- apply default domain to channel if none provided
- PR: #377
- handle ValidationExceptions
- PR: #379
- fix controller input model
- PR: #380
- extract to IConfigProvider
- PR: #382
- apply BeUniqueNameForApp validator to UpdateChannelCommand
- PR: #383
- introduce Certificate
- PR: #384
- enable swagger in development
- PR: #385