We - the Udash team @AVSystem - are proud to announce the availability of Udash 0.8.0.
Udash 0.8 is not binary backwards compatible with 0.7, although from our experience in internal product upgrades, the update should not pose any issues undetected by the Scala compiler. Please note that
0.8.x is the last release series with Scala 2.11 support, as we’ll be moving to support 2.13 in
0.9.x. We always aim to support at least 2 latest stable Scala major versions, so 2.12 will still be supported (at least until 2.14.0 is widely available).
You might’ve noticed that we’re a team now as opposed to a single maintainer, which is both good and bad news, since in this case it doesn’t only mean more resources, but also that the previous maintainer, @Starzu, went on to follow other projects (involving Udash from what we heard!). We want to thank Mateusz for his work and we’re very happy to have him as an active member of the @UdashFramework organization and community. In case you need a point of contact about anything regarding Udash, I(@ddworak) had stepped up to the role of the main maintainer now.
We want Udash to enable developers to build frontend applications mostly based on their existing Scala experience. The framework has been a great success for our full-stack teams and has been extensively deployed to production since its first inception 4 years ago. We’re now focused on polishing existing features of the framework to allow easier entry for Scala developers of all levels. Please feel free to submit issues, PRs or hit us up on our Gitter channel - any help or feedback is highly appreciated.
- Udash artifacts are now simpler - the JVM and JS dependencies are no longer distinguished by name, so you can just include e.g.
"io.udash" %%% "udash-core" % “0.8.0”in your shared project, no more
udash-restwas completely revamped. It is now an independent module, has more complete support on both front- and back-end and generates shiny OpenAPI specs. The default backend is based on sttp with alternative Jetty implementation in
rest-jetty. Make sure to check it out on https://guide.udash.io/rest#overview.
- Properties & bindings received a lot of love with better support for collections, less magic/macros, covariance, better callback handling and a ton of bugfixes.
udash-bootstrap4module wrapping Bootstrap 4 components was added with FontAwesome 5.10.1. Bootstrap 3 goes EOL and will be only bugfixed across
0.8.xminor releases to eventually disappear in 0.9.0.
- As always, all of our dependencies are updated, from now on with the help of Scala Steward.
- All of our demos in Udash Guide are up-to-date and open source, with code snippets generated via macros. Now you can be twice as sure it works in your code as well :)
- We’re now successfully testing against OpenJDK11 and Graal.
- Cookie parameters #240
- UdashDropdown in Bootstrap 4 #243
- Bootstrap 4 wrapper #205
- Support REST interfaces exposing #207
- REST: Allow multipart RESTName #200
- REST: incremental compilation support #199
- Support application/x-www-form-urlencoded #198
- SeqPropertyCreators not created for Seqs nested in Properties #321
- Killed binding fires again #282
- UrlChangeProvider throws error when clicking anchor elements that don't have an href attribute #277
- Divergent Implicit Type Error for SeqProperty #271
A complete list of merged pull requests is appended to the end of these release notes.
0.9.x series we intend to:
- Add cats compatibility module.
udash-rpcmodule for more customizability and less dependencies with pure Scala implementation.
- Reduce the responsibility of Properties (e.g. by moving validations to components) and allow uniform usage across the API.
Bindingcleanup for dynamic views.
- Remove jQuery requirement from charts module.
- Remove Bootstrap 3 module in favour of new Bootstrap 4 one.
This release wouldn’t happen without the help of our wonderful committers - thanks to all of you for the great work!
commits added removed 329 59862 20691 Mateusz Starzec <email@example.com> 226 5820 29546 Dawid Dworak <firstname.lastname@example.org> 173 12483 7678 ghik <email@example.com> 64 5902 5901 Michał Wolny <firstname.lastname@example.org> 36 40 40 Scala Steward <email@example.com> 15 7256 1357 malchik <firstname.lastname@example.org> 13 434 4157 bgrochal <email@example.com> 10 342 61 Mateusz Owczarek <firstname.lastname@example.org> 7 7338 160 Sören Brunk <email@example.com> 5 68 41 Kamil Pietruszka <firstname.lastname@example.org> 4 71 58 bartpr <email@example.com> 3 61 35 Grzegorz Kozłowski <firstname.lastname@example.org> 3 45 9 smiklos <email@example.com> 2 2 2 Leonard Ehrenfried <firstname.lastname@example.org> 1 3 1 Szymon Seget <email@example.com> 1 2 2 Gregory <firstname.lastname@example.org> 1 1 1 peteraa <email@example.com> 1 1 1 Kyle Goodale <KGoodale13@users.noreply.github.com>
Merged pull requests:
- B4 missing
- FontAwesome 5.10.1 #371
- Date Range Picker and List Group BS Guides restoration #370
- Tempus Dominus date picker fixes #369
- Final 0.8.0 updates #368
- Allow unboxed series data #367
- Fix broken brand name style #361
- Fix produce updates on SeqFrag / DocumentFragments #350
- Bootstrap4 improvements #346
- Covariant ReadableProperties #348
- transformToSeq fixes #347
- showIf/Else with simple conditions #341
- Add committer list generation script #337
- Single file support #336
- Remove Bootstrap-only component from default io.udash API #324
- SeqPropertyCreator simplified #322
- Use coursier for fetching plugins as well #320
- Test on OpenJDK 11 with Graal #318
- Remove GNU GPL from guide #313
- Common build.sbt #309
- Driver update #303
- Seq subProp regressions fix #300
- PropertyTest split #297
- Automatic demo snippet generation PoC #284
- Share platform-independent CSS utils #289
- Allow replacing current state instead of pushing a new one #287
- Callback queuing fixes #285
- Callback queuing cleanup #283
- Fixed typo (.fixedWidht -> .fixedWidth) #281
- rest-jetty module with Jetty based REST client #280
- Handle anchor without href #278
- Property implicits cleanup #276
- Initial doc update before 0.8 #269
- RestServlet now has a configurable limit on request payload size #268
- Bootstrap4 remastered #267
- REST docs in guide #266
- Cookie parameters #264
- Binary HttpBody #262
- REST: bunch of improvements #261
- Better REST errors #260
- Presenter contravariance #259
- Exception should be logged on the server side. #257
- Bootstrap popover and tooltip should accept a DOM node as content/title #255
- Description in OpenAPI Response object is required #253
- Customization of button in dropdown #251
- Seq property fixes #250
- SttpRestClient with implicit SttpBackend parameter #249
- Allow regex special characters to be used as replacements in translat… #248
- propertySeq2SeqProperty does not require elements to be Property #247
- doc changes and transformations for Async #237
- Utils improvements #236
- RestSchema for Either, to match the fact that there's GenCodec for it #235
- Fixed error handling for bad REST requests #233
- Parameterized URLEncoding with plusAsSpace/spaceAsPlus #231
- Commons bump #230
- Remove deprecated code #229
- Bootstrap 4 #219
- Customizable navbar content #254
- Avoid queuing trivial async callbacks #227
- Binding benchmarks and minor performance improvements #226
- New REST, ported from commons #225
- Fix script path in benchmarks #224
- Un-framework RPC #222
- Project structure simplified #220
- Toggle method for boolean property #211
- Selenium tests #212
- Fixed problem with wildcards in generic subproperties #217
- Http Response in fileuploader #216
- ReadableWrapper #196
- Atmosphere security upgrade #214
- Use sttp for default HTTP clients in udash-rest #213
- UrlChangeProviders fixes #209