Skip to content
This repository has been archived by the owner. It is now read-only.

Releases: fomkin/korolev

v0.8.0

13 Feb 12:29
68efe5a
Compare
Choose a tag to compare

Features

  1. New access.eventData method allows to read data from client side event object.
  2. New access.evalJs method allows to execute arbitrary JavaScript on the client side.
  3. Heartbeats now configurable.
  4. window.resize event now can be handled on body.
  5. elementId now can be derived from name.

Bug fixes

  1. Connection now doesn't breaks by Google Cloud balancer
  2. Fixed session leaks

Breaking changes

  1. Static and dynamic routers now unified.
  2. EvnConfigurator now has access to browser.

v0.7.0

20 Jan 14:09
2c09f92
Compare
Choose a tag to compare

Release notes

Features

  1. Monix support
  2. AkkaHttp based server now can use any async instance

Bugs

  1. Fixed a lot of bugs in AkkaHttp based server
  2. #196 Double clicking problem

Breaking changes

EventResult and stop propagation had been removed.

v0.6.0

18 Nov 21:04
b75559e
Compare
Choose a tag to compare

Release notes

Features

  1. Stateful components #162
  2. Inline styles #1
  3. New API for effects (see #164 for details)

Bugs

  1. Protocol breaks when string started with '[' char #149

Misc

  1. New protocol. Faster page initialization, lower memory and traffic consumption #15

Breaking changes

  1. Scheduler moved to korolev.execution package
  2. StageManager was removed. StageManager.Transition moved to top korolev package
  3. StateStorage moved to korolev.state package. API was changed.
  4. State now requires StateSerialized and StateDeserialized typeclasses. You should import korolev.state.javaSerialization._ or implement it by yourself.

v0.5.2

16 Aug 11:38
1a4e817
Compare
Choose a tag to compare
Fix #159 Make property.set work

v0.5.1

16 Aug 11:38
b176623
Compare
Choose a tag to compare
Fix attribute removing

v0.5.0

05 Aug 18:42
5146218
Compare
Choose a tag to compare

Release notes

This release contains a lot of improvements. New Levsha's optimisation algorithm gave better performance. Also now you can use SVG xmlns (see GameOfLifeExample). Starting 0.5 Korolev's client side will be optimised with Google Closure Compiler. Now it reduce size of Korolev's JavaScript to 8kB uncompressed.

As an alternative to Blaze network backend now you can use mature Akka-http. See documentation for details.

Features

  1. Use Levsha 0.5 with xmlns support #156
  2. Indexabilty helper #140
  3. Akka http support #136
  4. Send a text focus event to a DOM element #109

Misc

  1. Compress JavaScript using Google Closure Compiler #151
  2. Integration test for Delay #146
  3. Integration test for FormData #145
  4. Integration test for non-blaze server modules #144
  5. Write documentation #17

v0.4.3

11 Jul 14:47
953de3d
Compare
Choose a tag to compare
Fix #141: Clean events before render

v0.4.2

03 Jul 11:25
effbef5
Compare
Choose a tag to compare

FormData does not working #133

v0.4.1: Merge pull request #130 from fomkin/hotfix-129

03 Jul 11:26
Compare
Choose a tag to compare

Deferred transition can be applied after immediate #129

v0.4.0

01 Jul 17:39
2a4ee6b
Compare
Choose a tag to compare

Release notes

Features

  1. New template and changes inferring engines #102
  2. "Connection lost" widget #116
  3. Developer mode #123

Bugs

  1. Diff algorithm preforms poorly on prepend #66
  2. Connectivity problems #121

Misc

  1. Remove Scala.js version #126
  2. Legacy browsers support #74
  3. WebComponent example #106

Migration guide

Effects renamed to ApplicationContext. Shtml trait is no more available. Also korolev package doesn't provide DSL too.
You need import symbolDsl._ from your application context.

val applicationContext = ApplicationContext[Future, MyState, Any]
import applicationContext.symbolDsl._

VDom trait replaced with Document trait from Levsha project. Render and ElementId types was simplified and moved to ApplicationContext.

Features overview

New template and changes inferring engines

New template DSL and changes inferring engine based on Levsha project. It should provide same developer experience as before.

Connection lost widget

Now, on client connection lost, a small widget pops up. It's shown until connection is resumed. You can customize it in KorolevServiceConfig.

  val service = blazeService[Future, State, Any] from KorolevServiceConfig [Future, State, Any] (
    ...
    connectionLostWidget = 'div(
      'style /= "position: absolute; top: 0; left: 0; right: 0;" +
                "background-color: yellow; border-bottom: 1px solid black; padding: 10px;",
      "Connection lost. Waiting to resume."
    )
  )

Developer mode

Developer mode provides "hot reload" expirience. Run your application with korolev.dev=true system property (or environment variable) and session will be kept alive after restart. We recommend to use sbt-revolver plugin.

re-start --- -Dkorolev.dev=true

Make a change in the source code of your app. Save the file. Switch to a browser and wait for changes to deliver.

Also CSS files will be reloaded too.