Note: This is a pre-release of BagaWork. Many things will likely change before the first stable release.

Changelog

All notable changes to BagaWork and this website will be documented on this page.

BagaWork versions follow the SemVer numbering convention.

0.0.50 - 2024-12-21

  • Made the sw unit the default unit for numbers that uses mm/sw
  • Added the mm() function
  • Removed Font.sizeMm()
  • Removed Font.sizeSw()
  • Added Font.size()
  • Added the Units docs page
  • Fixed a bug where the Text component didn't show all of its text if it overflowed
  • Renamed Component.growMax() to Component.growShrink()

0.0.49 - 2024-12-17

  • Fixed bug where Button components didn't inherit font() from ancestors
  • Renamed Font.size() to Font.sizeMm()
  • Added Font.sizeSw()
  • Renamed Component.size() to Component.grow()
  • Added Component.growMax()

0.0.48 - 2024-12-13

  • Improved the docs for Page.onAfter()
  • Display error message if an error occurs in a method passed to Button.onClick(), EnterNumber.onChange(), EnterText.onChange(), Paper.onClick(), PaperFigure.onClick() and PaperGroup.onClick()
  • Removed Html.elementCreator(), and added Html.initializer()
  • The framework will automatically stop timeouts and intervals when an error occurs or when loading a new page
  • Added type definitions for the Paper component and the different paper figures to the editor
  • Changed App.createIcon(), so it should now return a PaperFigure, and not a Paper component

0.0.47 - 2024-11-17

  • Added the component Html, and documentation and similar for that
  • A lot of small text improvements all over the website
  • When the same page is implicitly reloaded, don't pass along the args the page was loaded with before
  • Added the class Duration, and documentation and similar for that
  • Added the method Time.getDurationTo(), and documentation and similar for that

0.0.46 - 2024-11-05

  • Fixed build error

0.0.45 - 2024-11-05

  • Added App.createErrorRecoveringPage(), and documentation and similar for that
  • Removed the Image component (will be added again when network permissions have been added in the future)
  • Added the method PaperFigure.onClick(), and documentation and similar for that
  • Made the Updater component also work as a child in the Paper component
  • Added the method Paper.onClick(), and documentation and similar for that
  • Fixed so PaperCircle.radius() scales to an ellipse if the coordinate system is not uniformed
  • Added the PaperGroup figure, and documentation and similar for that
  • showAppInElement() now returns a stop() function one can call to stop the app from running (such as stopping Updaters in it to run)
  • Updaters now stops running when an error in the app occurs

0.0.44 - 2024-10-27

  • Fixed bug where background color of Paper component in app icons don't always show

0.0.43 - 2024-10-24

  • Gave created app icons an SVG viewBox to specify they are squared

0.0.42 - 2024-10-23

  • Framework:
    • Added the method App.createIcon()
    • Added the runtimeSetting onIconCreated()
    • Changed how PaperCircle.radius() and PaperLine.thickness() work so they can be implemented without CSS (to make app icons work outside web browsers)
  • Editor:
    • Added type definitions for App.createIcon()
    • Added the "Icon" tab to preview the created app icon
  • Docs:
    • Added docs for App.createIcon()
    • Added docs for for runtimeSettings.onIconCreated()
    • On the run app page, use the app icon as the favicon
    • Updated the docs for PaperCircle.radius() and PaperLine.thickness()

0.0.41 - 2024-10-23

  • Docs:
    • Added the example GUI Horizontal Scrolling
    • Added the page glossary
    • Added categories to changelog entries
  • Editor:
    • Improved the GUI in edit page modal
    • Added type definitions for Box
  • Framework:
    • Fixed bug occurring when Rows.children() hasn't been called

0.0.40 - 2024-10-23

  • Failed to publish

0.0.39 - 2024-10-07

  • Renamed Button.handler() to Button.onClick()
  • Renamed EnterNumber.handler() to EnterNumber.onChange()
  • Renamed EnterText.handler() to EnterText.onChange()
  • Added the method Font.strikethrough()
  • Removed debugging functionality
  • Added the function log()
  • Added the docs page log()
  • Added a log panel in the editor
  • Reworked the GUI in the editor
  • Improved documentation on state and update

0.0.38 - 2024-09-24

  • Added the class Font
  • Added the method Component.font()
  • Added the docs page Font
  • Made EnterText.handler() and EnterText.store() run on every input change
  • Made EnterNumber.handler() and EnterNumber.store() run on every input change
  • Added the speaker variable
  • Added the docs page speaker

0.0.37 - 2024-09-17

  • Improved how Box components are handled in Rows and Columns components

0.0.36 - 2024-09-13

  • Added the method Button.stay()
  • Added the Updater component
  • Added the runUpdater() function
  • In the editor, made it possible to resize the app screen when editing app/page/template
  • Changed the default coordinate system in the Paper component to 10x10
  • Added the docs page PaperCircle
  • Added the docs page PaperLine
  • Added the docs page PaperRectangle
  • Made layout components update their child elements accordingly when the children are created anew with the Updater component
  • Fixed a bug in the EnterText component (the height was not 100%)

0.0.31 - 2024-08-24

  • Added the tutorial "Formatting Text with BBCode"
  • Added a link to run app on the start page in a new window
  • Fixed bug where some links on the website triggers a full page load instead of functioning as an SPA
  • Marked the app screens as not translatable on the website
  • Improved Box (no more flashing!), and minor implementation improvements to other components

0.0.30 - 2024-05-20

  • Fixed deployment bug

0.0.29 - 2024-05-20

  • Fixed deployment bug

0.0.28 - 2024-05-20

  • Added exercises to the "Programming" tutorials
  • Added the method Text.textWithBBCode()
  • Added the method Button.textWithBBCode()
  • Added the docs page BBCode

0.0.27 - 2024-05-06

  • Added the example app Personal Website
  • Added the method EnterNumber.decimals()
  • When loading the editor and the BagaCode contains no pages (empty array), don't populate it with default pages
  • Added exercises to the "Fundamentals" tutorials
  • All links on this website that leads to another website or to our online editor open in new window/tab

0.0.26 - 2024-04-11

  • Validate args passed to framework methods
  • Added the example game Tic Tac Toe
  • Added the example game 21 Sticks
  • Added the example game Chess
  • Added favicons (bad logo until a proper one is made)
  • Added motivation page
  • Added the component EnterNumber

0.0.25 - 2024-02-03

  • Added the tutorial "Dynamically sized paper"
  • Added Paper.coordinateSystem()
  • Fixed lag problems with Box component

0.0.24 - 2024-01-13

  • Added the example app Glossaries
  • Added the addXXX() methods to the Time class
  • Added the components Paper, PaperLine, PaperCircle and PaperRectangle
  • Added the tutorial Paper
  • Merged the npm packages @bagawork/core and @bagawork/web-components into @bagawork/framework, and stopped using web components

0.0.23 - 2023-12-28

  • Fixed bug where the editor didn't show created after directions
  • Updated example app Quiz to use new Direction syntax
  • Added intellisense and link to the Image component
  • Added the tutorial Styling
  • Improved docs for the Box component
  • Improved docs for the Image component
  • Added the tutorial Layouts
  • Added the tutorial Images

0.0.22 - 2023-12-20

  • Fixed a bug with Time.setDate() (month was wrong)

0.0.21 - 2023-12-20

  • Added example to the start page
  • Made Time objects comparable
  • Added the Direction class
  • Added Page.createBeforeDirections()
  • Added Page.createAfterDirections()

0.0.20 - 2023-12-15

  • Fixed bug where a page can't refer to itself
  • Added the example app Contacts
  • Added arguments to handlers
  • Added the Image component

0.0.19 - 2023-12-12

  • Fixed bug where default navigation (going to the same page) didn't work
  • Fixed bug where page templates weren't shown
  • Added the EnterText component

0.0.18 - 2023-12-11

  • Added page arguments

0.0.17 - 2023-12-08

  • Added the Time class

0.0.16 - 2023-12-04

  • Added the edit state page in the editor
  • In the editor, double check with user when she's deleting a folder that contains pages
  • Added functionality to update apps in the framework

0.0.15 - 2023-11-29

  • Fixed a bug where starting an app with an old app state contained an array didn't work

0.0.14 - 2023-11-28

  • Re-organized programming tutorials
  • Improved the design on the website (light/dark mode + made it viewable on small screens)
  • In the editor, made it possible to show a template with the same name as a page is having
  • Added the tutorial onBefore()
  • Added the tutorial Exercises to Programming section
  • Fixed bug with nested array children
  • Added the m variables and documentation for the a, m and p variables

0.0.13 - 2023-11-22

  • Fixed failed website publish for 0.0.12

0.0.12 - 2023-11-22

  • Improved the GUI in the editor
  • Added the debug page to the editor
  • Added documentation for runtime settings
  • Added runtime settings for listening for app state changes, and resume using an old app state

0.0.11 - 2023-11-10

  • Added the Box component
  • Added the settings to change screen preview sizes
  • Made the editor and running Baga apps more secure by using a Content Security Policy
  • Added the example app Power Point Presentation
  • Made pages remember their old values when the user comes back to them
  • Renamed showIf() to keepIf(), and added showIf()
  • Added the tutorial Using Numbers
  • Added the example app Multiplication Table
  • Added the tutorial Using booleans, keepIf() and showIf()
  • Added the Text Symbols page

0.0.10 - 2023-10-09

  • Added the example GUI Navigation Drawer
  • Added the configuration method showIf(), and updated examples to use it
  • Added the run Baga app page (accessed from the editor)

0.0.9 - 2023-10-06

  • Added the Layers component
  • Added the example GUI Navigation Bar
  • Children that are null or undefined are not used (instead of crashing)
  • Added the example GUI Modal

0.0.8 - 2023-10-05

  • Improved the documentation for Button, Text, Columns and Rows
  • Rewrote docs and tutorials on how to create app/page constants/variables (so intellisense in the editor works)
  • Added docs for cornerRadius()
  • Changed the Space component to a View instead of Layout
  • Added docs for the global configuration method padding()
  • Added docs for the global configuration method border()
  • Added more intellisense to the editor

0.0.7 - 2023-10-05

  • Fixed problems with the script that releases a new version

0.0.6 - 2023-10-05

  • To simplify, all @bagawork packages and docs website use the same version (update one to a new version, then update all to a new version)
  • Added script that updates and publishes all @bagawork packages and that deploy the docs website at the same time

0.0.5 - 2023-10-05

  • Version 0.0.5 is skipped (see next version)

0.0.4 - 2023-09-23

  • Rewrote all code containing components to not be invoked as a function, but use a configuration method to set the main content instead
  • Updated the editor to v0.0.5

0.0.3 - 2023-09-18

  • Introduced tutorial sections
  • Added the app constant tutorial
  • Added the app variable tutorial
  • Added the page constant and variable tutorial
  • Updated the editor to v0.0.4

0.0.2 - 2023-09-14

  • On the editor page, read baga code from hash of the URL
  • Updated the editor to 0.0.3
  • Removed back to close button in editor
  • Added the docs plugin
  • Added tutorial 5 (going to another page)
  • Renamed tutorial 4 (positioning GUI components)
  • Added tutorial 6 (sizing GUI components)
  • Changed the name of tutorial 3 (configuring GUI components)
  • Added tutorial 7 (the app class)
  • Added tutorial 8 (exercises)

0.0.1 - 2023-07-10

  • Made it deployable to GitHub Pages

0.0.0 - 2023-07-06

  • This is a release to just get things going. Many small bugs probably exists, and breaking changes will most likely be made before 1.0.0