Releases: varabyte/kobweb
Releases · varabyte/kobweb
v0.7.12
- Potentially improved server stability, but still keeping an eye out (Bug #89)
- Fixed occasionally cases where nested columns / rows/ boxes wouldn't lay out properly due to ambiguous CSS class names
- External links are now opened in a new tab
- Markdown improvements
- Soft line breaks are handled now (before, separate lines were appended together with no space between them)
- Indented code blocks are now handled (in addition to fenced code blocks, which were working before)
- You can now use
val ctx = rememberPageContext(); ctx.markdown....
to get theMarkdownContext
for the current page- Potentially useful for widgets used inside markdown
- At the moment, key/values from the front matter block are included in the context, e.g.
ctx.markdown.frontMatter["key"]
- The
kobwebx.markdown.useSilk
property will automatically be set to false if your project doesn't depend on silk
v0.7.11
v0.7.10
A fairly minor update, but with a breaking API change, so getting it out sooner than later.
- BREAKING CHANGE Simplified SimpleGrid API
- Before I was trying to add a constraint using non-
@Compose
child callbacks but later realized it wasn't actually necessary, so I removed them to simplify the API
- Before I was trying to add a constraint using non-
- Fixed bug with
Modifier.borderLeft
/Right
/Bottom
extension methods - Updated
Kotter
version, which means we can now render a border around some of the output inkobweb create
v0.7.9
A pretty hefty change consisting of a variety of features
- Fixed issue with accessing
SilkTheme
when defining styles ininitSilk
- Split
web-compose-ext
module into two- The original module is just for extending web compose APIs
- The new module is for adding Jetpack Compose-like APIs on top
- This new module includes a style sheet, so we moved "box", "row", etc. styles there, making debugging the DOM much easier
- Added a tag to for a much better experience on mobile
- This value can be configured via your
kobweb
block in your project'sbuild.gradle
file
- This value can be configured via your
- Added support for making elements show conditionally based on sizes (
Modifier.displayIf(Breakpoint.MD)
for example) - Generalized
ComponentStyle
so you can add any media query, not justmin-width
via breakpoints - Fixed the way vararg parameters were joined for CSS property values
- Added Modifier.overflow and Modifier.gap extensions
./gradlew clean
now removes Kobweb server files.
v0.7.8
The focus of this patch was to extend the kobweb
binary to play nicer with Docker containers
- Pass "no-sandbox" arg into Chrome when doing an export
- See 6eaab70 for details.
- Force --no-daemon in production mode (so the server doesn't have a hanging Gradle daemon hogging up its resources)
- Add a way to query
.kobweb/conf.yaml
values- For example,
kobweb conf server.port
so you don't have to hardcode the port number anymore
- For example,
Also:
- Tweaked link colors in dark mode (they were still a bit too dark on a black background)
- Fixed a handful of shadowing warnings so they stop showing up every time you compile the project.
v0.7.7
The focus of this patch was to close a lot of gaps in various APIs
- Update / add a handful of various Web Compose css extensions
- Add a bunch of missing
Modifier
extensions, so you don't need to callstyleModifier
as much- Cleaned up all templates to use them
- Update names to match html / css names instead of Jetpack Compose names
- It turns out trying to stick to names that Android uses causes ambiguous overlaps or inconsistencies with html / css names
⚠️ Backwards incompatible:background
renamed tobackgroundColor
⚠️ Backwards incompatible:clickable
renamed toonClick
v0.7.6
- Fixed a bug with Surface children not inheriting expected transition values (so that background / foreground colors animate)
- API routes must now set either the response body or status explicitly or else it will return a 400
- Added a handful of warnings to the Kobweb Gradle plugin to highlight behavior that was previously silently ignored
v0.7.5
- No longer apply classnames that have no styles associated with them
- This almost removes 50% of all tags we were applying to elements, because before we were applying base styles AND color-aware styles, when we usually only needed one or the other.
- Breakpoints are now defined in the
theme
(notconfig
) and can be read later (e.g.SilkTheme.breakpoints.md
) - Users can now use component styling for global site themes at init time
- So you can write
ctx.config.registerStyle("body") { Modifier... }
instead of using Web Compose StyleSheets
- So you can write
- Added new extension methods for defining simple styles that will only ever have just a base style
- Moved the "Building..." indicator to the highest possible z-index, so it always shows on top of the user's site
v0.7.4
kobweb
commands will no longer fail silently if they can't findgradlew
kobweb
commands will search their ancestor path forgradlew
if not in the current directory- This will allow users to organize their kobweb project in a submodule of some parent gradle project
- Updated how
ComponentStyle
works under the hood so you can chain pseudo elements- e.g.
(Breakpoint.MD + hover + firstLetter) { Modifier.color(Red) }
- e.g.
- You can now use your build.gradle's
kobweb
block to extend the generated index.html's head block.- This is useful if you want to add extra stylesheets or scripts for example
- Now only add the Font Awesome script if the user is using the "kobweb-silk-icons-fa" artifact
v0.7.3
A very minor release, tagged a bit early mostly to update the kobweb binary.
- Code cleanup around how Kotlin and HTML files are generated
- For Kobweb commands that supported it, the
--headless
option has been removed and replaced with--mode dumb
- The default value for mode is
--mode interactive
- The reason behind the change is
headless
implies the same software but without access to a GUI (for example, it could still handle input). However, this option is strictly more about whether we expect a user to be sitting there interacting with the kobweb commands or if they're running in a "fire and forget" environment. It's a terminal UI both ways.
- The default value for mode is