Skip to content

Commit 321b310

Browse files
authored
Merge pull request #6 from jplexer/alloy
Alloy
2 parents 2e160bf + 5077f5d commit 321b310

File tree

173 files changed

+8067
-3684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+8067
-3684
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Checkout pebble-firmware
1717
uses: actions/checkout@v6
1818
with:
19-
repository: pebble-dev/pebble-firmware
19+
repository: coredevices/pebbleos
2020
ref: main
2121
submodules: true
2222

_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ links:
7171
pebble_tool_root: https://s3.amazonaws.com/assets.getpebble.com/pebble-tool/
7272
libpebble: https://github.com/coredevices/libpebble3
7373
kickstarter3: https://www.kickstarter.com/projects/597507018/pebble-2-time-2-and-core-an-entirely-new-3g-ultra
74+
cloudpebble: https://cloudpebble.repebble.com/
7475
discord_invite: https://discordapp.com/invite/aRUAYFN
7576

7677
# Jekyll collections.

lib/pebble_documentation_c.rb

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
module Pebble
2222
# Pebble C documentation processing class.
2323
class DocumentationC < Documentation
24-
MASTER_GROUP_IDS = %w(foundation graphics u_i smartstrap worker standard_c)
24+
MASTER_GROUP_IDS = %w(foundation graphics u_i worker standard_c)
2525

2626
def initialize(site, source, root, language='c')
2727
super(site)
@@ -43,7 +43,6 @@ def language
4343
def run
4444
cleanup
4545
download_and_extract(@source, @tmp_dir)
46-
hack_smartstraps
4746
process
4847
add_images
4948
end
@@ -64,22 +63,6 @@ def download_and_extract(zip, folder)
6463
end
6564
end
6665

67-
# This is a hack to get around a limitation with the documentation generator.
68-
# At present, it cannot handle the situation where a top level doc group exists on
69-
# Basalt but not Aplite.
70-
# Smartstraps is the only group that fits this pattern at the moment.
71-
# This hack copies the XML doc from the Basalt folder to the Aplite folder and removes
72-
# all of its contents.
73-
def hack_smartstraps
74-
basalt_xml = Nokogiri::XML(File.read("#{@tmp_dir}/basalt/xml/group___smartstrap.xml"))
75-
basalt_xml.search('.//memberdef').remove
76-
basalt_xml.search('.//innerclass').remove
77-
basalt_xml.search('.//sectiondef').remove
78-
File.open("#{@tmp_dir}/aplite/xml/group___smartstrap.xml", 'w') do |file|
79-
file.write(basalt_xml.to_xml)
80-
end
81-
end
82-
8366
def process
8467
DocumentationC::MASTER_GROUP_IDS.each do |id|
8568
@groups << DocGroup.new(@url_root, @tmp_dir, 'aplite', id)

plugins/pebble_markdown_parser.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
require 'cgi'
1516
require 'redcarpet'
1617
require 'pygments'
1718
require 'slugize'
@@ -80,7 +81,9 @@ def block_code(code, language)
8081
language = language[3..-1]
8182
end
8283
if language == 'text'
83-
"<div class=\"#{classes.join(' ')}\"><pre>#{code}</pre></div>"
84+
escaped = CGI.escapeHTML(code)
85+
escaped.gsub!(/^\$ /m, '<span class="prompt">$ </span>')
86+
"<div class=\"#{classes.join(' ')}\"><pre>#{escaped}</pre></div>"
8487
else
8588
set_classes(Pygments.highlight(code, lexer: language), classes)
8689
end

plugins/tag_screenshot_viewer.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ def render(context)
1919
site = context.registers[:site]
2020
data = JSON.parse(super)
2121

22-
viewer_html = '<div class="screenshot-viewer">'
22+
default_platform = data['default']
23+
viewer_html = '<div class="screenshot-viewer"'
24+
viewer_html += " data-default-platform=\"#{default_platform}\"" if default_platform
25+
viewer_html += '>'
2326

2427
viewer_html += '<div class="screenshot-viewer__tabs js-screenshot-tabs">'
2528
data['platforms'].each do |platform|

source/_changelogs/4.9.127.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
# Copyright 2026 Core Devices LLC
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
title: Pebble SDK 4.9.127 - Changelog
17+
date: 2026-02-20
18+
---
19+
20+
After some test releases and a lot of hard work, we're excited to announce the release of Pebble SDK 4.9.127! This release includes a number of new features and improvements,
21+
such as the new Alloy JavaScript framework, support for Pebble Round 2, and much more. We also made various bug fixes and stability improvements to ensure a better development experience.
22+
23+
### Changes to Firmware
24+
25+
* Added QEMU virtual platforms for development: ``silk_flint``,
26+
``snowy_emery``, and ``spalding_gabbro``.
27+
* Added legacy app rendering mode, allowing apps compiled for older platforms
28+
to run scaled on larger displays.
29+
* Added Arabic text shaping and right-to-left (RTL) text support, including
30+
mixed RTL-LTR text with correct justification.
31+
* Added SpO2 support in the HRM manager.
32+
* Added accent/highlight color settings with contrast-compatible colors.
33+
* Added display orientation / left-handed mode support.
34+
* Added QR code rendering support.
35+
* Notification improvements: custom vibration patterns, timed mute options,
36+
alternative notification designs, and expanded known app icon mappings.
37+
* Various bug fixes and stability improvements!
38+
39+
### Changes to SDK
40+
41+
* Added Alloy, a modern JavaScript framework based on the Moddable SDK, for building Pebble apps with support for
42+
the latest features and platforms.
43+
* Ported all SDK scripts and tools to Python 3.
44+
* Updated WAF build system to 2.1.4.
45+
* Updated Toolchain to GCC 14 (note that this may cause some warnings in older code).
46+
* Added ``ctx.pbl_suppress_newer_gcc_warnings()`` to suppress warnings in legacy code when using the new toolchain. (Add to configure in your wscript)
47+
* Added BDF and PBF font support for resources.
48+
* Added ``moddable`` project type to create apps using the Alloy framework.
49+
* Added ``Flint`` and ``Gabbro`` platforms.
50+
* Increased ``MAX_FONT_GLYPH_SIZE`` to 512 for emery and gabbro.
51+
* Added 1% battery reporting granularity on new QEMU platforms.
52+
* Requires ``pebble-tool`` ≥5.0.23.

0 commit comments

Comments
 (0)