Skip to content

Releases: brisklib/brisk

Brisk v0.9.5

13 Jan 17:57
Compare
Choose a tag to compare

What's Changed

  • Scrolling for every Widget in #20
  • Windows ARM64 support in #21

Full Changelog: v0.9.4...v0.9.5

Brisk v0.9.4

20 Dec 19:03
Compare
Choose a tag to compare

This is a bug-fix release that includes improvements to exception safety, memory alignment, and the resolution of several bugs.

Brisk v0.9.3

18 Dec 14:47
52ba77b
Compare
Choose a tag to compare

What's Changed

  • Updated the showcase demo app with additional features
  • Fixed screenshot capture issues caused by nested event loops
  • Added ""_Text UDL as an alias for new Text{""}
  • Introduced a transform function that accepts multiple Values and a lambda
  • Refactored package building process
  • Reduced the size of release binaries
  • Expanded and improved documentation
  • Updated CxxDox to the latest version
  • Enabled testing of demo app building in GitHub Actions
  • Disabled inlining enforcement in debug mode
  • Applied layout fixes
  • Prevented letter spacing from disabling kerning
  • Refactored TextEditor and Pages components
  • Added properties for ScrollBox
  • Various fixes and general improvements

Full Changelog: v0.9.2...v0.9.3

Brisk v0.9.2

03 Dec 14:54
4aa943b
Compare
Choose a tag to compare

What's Changed

Added

  • New BRISK_ICU CMake option to control ICU inclusion
  • Added support for multiline text editors
  • Added wordWrap property for the Text widget to control word breaking
  • Added dynamicFocus property for the Item widget
  • Added support for *-windows-static vcpkg triplets
  • New fontFeatures property
  • Enhanced OS dialogs (file and folder dialogs, message boxes)
  • Updated vcpkg to 2024.09.23
  • Wayland support for Linux
  • Temporarily disabling style transitions

Changed

  • Updated example projects
  • Optimized dependency size
  • Improved Linux support
  • Major update to the font engine
  • Improved text rendering
  • Enhanced .natvis support
  • Stylesheet updates
  • Documentation improvements
  • Text widget: improved caching
  • vcpkg: Use Clang if available

Fixed

  • Fixed trim function
  • Fixed drawImage coordinates
  • Fixed WebP reading issues
  • Fixed selected state behavior
  • Improved keyboard focus behavior
  • Various performance optimizations

Full Changelog: v0.9.1...v0.9.2

Brisk v0.9.1 (alpha)

05 Nov 15:13
Compare
Choose a tag to compare

See https://docs.brisklib.com/ for the documentation.

Key Features and Updates

Modular Components

  • Core Module:

    • String Manipulation: UTF support for versatile string handling.
    • Data Compression & Cryptography: Basic cryptographic functions and data compression support.
    • Reflection and Serialization: Reflection support for runtime type inspection and JSON serialization.
    • App-Global Settings & Threading: Manages global settings and threading with multi-thread-safe bindings.
  • Graphics Module:

    • Color & Geometry Support: Native color spaces and geometry types for UI element positioning and transformations.
    • SVG Rasterization & Image Processing: SVG rendering and basic image manipulation functions.
    • Font Handling: Advanced text shaping using HarfBuzz and support for font caching, improving rendering speed.
  • Window Module:

    • Clipboard & Native Dialogs: OS-level clipboard access and support for native file dialogs.
    • Display Information: Access to monitor/display information for responsive design.
  • GUI Module:

    • CSS-Like Flex Layout & Styling: Flexbox-inspired layout engine with support for stylesheets, enabling CSS-style inheritance of properties.
    • Drag-and-Drop: Drag-and-drop support for interactivity.
    • Binding Support: Supports data binding with transform functions for enhanced reactivity.
  • Widgets Module:

    • UI Components: Initial set of widgets includes buttons, sliders, text editors, lists, toggles, combo boxes, progress bars, and more.
    • Layouts: CSS flex-style layout support for responsive designs.
    • Text Editor: LTR and RTL text support in text editors for multilingual editing capabilities.

Platform & Backend Support

  • Platform Support:
    • Windows, macOS, and Linux platforms with partial support for widgets and graphics, and alpha support for the window system.
  • Graphics Backend Support:
    • Windows: D3D11, D3D12, and WebGPU.
    • macOS: Metal and WebGPU.
    • Linux: Vulkan and OpenGL.

Development Requirements

  • C++20 Compiler: Requires a C++20-compatible compiler (MSVC 2022, Clang, XCode, GCC).
  • Dependency Management: Uses vcpkg for simplified dependency management across platforms.

Known Issues & Limitations

  • Documentation: The documentation is in progress and may not reflect the latest updates; developers are encouraged to refer to the code examples provided.
  • API Stability: API may experience breaking changes as we refine the design and improve functionality.

Example Projects

Refer to the examples directory and the brisk-helloworld repository for a minimal demonstration of the Brisk library’s capabilities.


Licensing

  • GPL v2.0 or Commercial License: Brisk is available under the GPL v2.0 license for open-source use. A commercial license is also available for proprietary applications.

For feedback, contributions, or commercial licensing inquiries, please contact us at [email protected].