Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
12a2076
First pass
otrok7 Sep 25, 2025
677f82c
Only Translate if specifically asked to
otrok7 Sep 26, 2025
11bc9b4
Erase cookie when not translating
otrok7 Sep 26, 2025
60161ff
add check for missing autoconfig file (#1297)
alanb2718 Oct 5, 2025
76564a6
update install directions and eliminate need to copy initial starter …
alanb2718 Oct 13, 2025
a89a599
ensure unqiue slugs (#1301)
pjaudiomv Oct 13, 2025
c0aba28
fix migrations check (#1302)
jbraswell Oct 13, 2025
390678f
upgrade @googlemaps/js-api-loader to v2 and centralize initialization…
pjaudiomv Oct 14, 2025
de6da30
Bump vite from 7.1.3 to 7.1.9 in /src (#1304)
dependabot[bot] Oct 14, 2025
8c280b4
bump svelte and fix pagination (#1305)
pjaudiomv Oct 14, 2025
2f1f314
fix passing null value to strlen in GetSearchResults (#1310)
jbraswell Oct 16, 2025
bdffbd9
change strlen to mb_strlen for SearchString (#1312)
jbraswell Oct 18, 2025
02422ba
mv from legacy url list (#1307)
pjaudiomv Oct 18, 2025
5c4fe4f
log aggregator server list and make invalid root server fatal (#1314)
jbraswell Oct 20, 2025
1582fd9
add revision and date to docker builds (#1315)
pjaudiomv Oct 20, 2025
25c2370
add docs for developing typescript client (#1317)
pjaudiomv Oct 21, 2025
419d132
Bump vite from 7.1.9 to 7.1.11 in /src (#1316)
dependabot[bot] Oct 21, 2025
4fc3739
add logging for aggregator results (#1318)
jbraswell Oct 24, 2025
ba0b7b5
upgrade to al2023 ecs amis (#1319)
pjaudiomv Oct 26, 2025
da31097
Force PHP to always check for file mods when debugging. (#1321)
brotskydotcom Oct 30, 2025
01399e4
Add last access timestamp to User API resource (#1322)
pjaudiomv Oct 30, 2025
1e4fd82
Rename to last active at (#1323)
pjaudiomv Oct 30, 2025
1cbd155
show last active at for user in ui (#1324)
pjaudiomv Oct 30, 2025
53f2c35
Store user last login time in database instead of computing from toke…
pjaudiomv Oct 31, 2025
8d57c7a
Correctly map JS 'da' to database 'dk'. (#1329)
brotskydotcom Oct 31, 2025
5df8ba2
disable fields for auto geocoding (#1330)
pjaudiomv Oct 31, 2025
672b80c
Fix color of labels in FormatForm. (#1331)
brotskydotcom Nov 1, 2025
9e6e0ee
Fix color of chevron in BasicAccordion. (#1332)
brotskydotcom Nov 1, 2025
e9ac4b4
Expand error modal by default (#1333)
pjaudiomv Nov 1, 2025
f4b8058
more lightmode fixes for basic accordian (#1334)
pjaudiomv Nov 1, 2025
2e8cab2
better error handling for geocoding using gm_authFailure callback; lo…
alanb2718 Nov 1, 2025
642b922
bump flobite, resolve #1278 (#1335)
pjaudiomv Nov 2, 2025
435d007
Add french translations (#1336)
pjaudiomv Nov 2, 2025
1607807
Add spanish translations for new ui (#1337)
pjaudiomv Nov 2, 2025
24922a2
fix issue with login title not being centered on mobile devices (#1338)
pjaudiomv Nov 3, 2025
d509e28
rm changes loading from effect (#1339)
pjaudiomv Nov 3, 2025
de99176
mv init map to onmount, not effect (#1340)
pjaudiomv Nov 3, 2025
e533958
fix ts recognition of global settings object (#1341)
pjaudiomv Nov 3, 2025
9718eb2
update changelog for 4.0.0 release (#1343)
pjaudiomv Nov 4, 2025
1ee8bc1
disable long/lat entry when autoGeocodingEnabled set (#1344)
pjaudiomv Nov 4, 2025
f74e609
Fix Meeting edit modal not warning about unsaved changes after map ma…
pjaudiomv Nov 4, 2025
6732f29
add comments field to notes (#1346)
pjaudiomv Nov 5, 2025
423ea7e
Fix MultiSelect badge close button and header styling (#1347)
pjaudiomv Nov 5, 2025
1a833ee
update changelog for 4.0.1 release (#1348)
pjaudiomv Nov 6, 2025
16a9674
Add italian translations (#1349)
pjaudiomv Nov 6, 2025
2cdcdbc
Fix tests (#1350)
pjaudiomv Nov 6, 2025
135f16f
only disable missing config death under github actions (#1351)
jbraswell Nov 6, 2025
5b2ea69
Mask visibility=1 fields with 8 asterisks in GetChanges json_data for…
pjaudiomv Nov 8, 2025
87ea2d0
show full details for admin api meeting changes (#1353)
pjaudiomv Nov 8, 2025
a9adda4
fix favicon (#1354)
pjaudiomv Nov 9, 2025
583143c
Update German translations (#1357)
pjaudiomv Nov 9, 2025
bf43e72
filter out orphaned user ids from meeting editors (#1358)
jbraswell Nov 9, 2025
bb1586b
temporarily disable translation spreadsheet tests until we figure out…
alanb2718 Nov 9, 2025
ddc47c6
fix tests (#1360)
pjaudiomv Nov 10, 2025
da2fde6
add migration to remove nonexistant users from service body assignmen…
pjaudiomv Nov 10, 2025
252ac00
fix loading of protected routes with user details (#1363)
pjaudiomv Nov 10, 2025
0d6137d
bump ci actions and node to 22 (#1365)
pjaudiomv Nov 10, 2025
c9ae3ee
trim user fields whitespace (#1366)
pjaudiomv Nov 11, 2025
efddf7c
update changelog (#1367)
pjaudiomv Nov 11, 2025
164a11a
Set 4.0.2 release date (#1368)
pjaudiomv Nov 11, 2025
06bacb0
address security advisories (#1371)
pjaudiomv Nov 13, 2025
8ae8e23
support RewriteOptions inherit by making static file rule explicit (#…
jbraswell Nov 14, 2025
0af4a16
Format lang names fix for UI (#1374)
pjaudiomv Nov 14, 2025
85a73da
fix geocoding issue with passing in old values for county and/or zip …
alanb2718 Nov 15, 2025
345773a
Add state persistence (#1375)
pjaudiomv Nov 15, 2025
4e870ae
always scroll to top for navigation (#1378)
pjaudiomv Nov 16, 2025
1ac9868
fixes for format key validation (#1380)
jbraswell Nov 18, 2025
083cb41
remove all legacy code (#1221)
jbraswell Nov 19, 2025
cd4f1f8
rm crouton from build (#1382)
pjaudiomv Nov 19, 2025
4b98ab0
fix tree expansion state persistence across re-renders (#1383)
pjaudiomv Nov 19, 2025
8125494
remove unused meeting_time_zones_enabled setting (#1384)
pjaudiomv Nov 19, 2025
480df4b
cleanup release build of dev files (#1385)
pjaudiomv Nov 19, 2025
ae50116
add composer back (#1386)
pjaudiomv Nov 19, 2025
6c67bb1
Update Portuguese translations (#1387)
pjaudiomv Nov 20, 2025
9198d89
prevent deletion of english translation of reserved format (#1388)
jbraswell Nov 20, 2025
34dcaf2
Strip legacy #@-@# separator from custom field values in UI display (…
pjaudiomv Nov 22, 2025
0a3c7c5
fix problems with format key validation; add more format tests
alanb2718 Nov 23, 2025
e9c7a9e
set 4.0.3 release date (#1393)
pjaudiomv Nov 23, 2025
4cb4d3f
Hide meeting search UI for users without assignments (#1395)
pjaudiomv Nov 25, 2025
5861335
hide close button for sb multi select (#1396)
pjaudiomv Nov 25, 2025
259ce82
fix error modal text area to be full width (#1399)
pjaudiomv Nov 26, 2025
925fa17
Add back semanticAdmin to GetServerInfo (#1402)
pjaudiomv Nov 27, 2025
b0f9691
bump version
pjaudiomv Nov 27, 2025
227d186
Fix location map errors when auto geocoding is disabled (#1404)
pjaudiomv Nov 27, 2025
9531142
bump version
pjaudiomv Nov 27, 2025
d2f7ffa
Add download spreadsheet button to users and servicebodies for server…
pjaudiomv Nov 28, 2025
510f0ed
add translation key helper cmds (#1407)
pjaudiomv Dec 2, 2025
8d10409
fix last entry comma scenario (#1408)
pjaudiomv Dec 3, 2025
7307722
label errors with the language they apply to (#1412)
alanb2718 Dec 12, 2025
a5c518c
migrate server settings to db (#1389)
pjaudiomv Dec 14, 2025
4fd9819
update CONTRIBUTING and README files to account for new settings UI (…
alanb2718 Dec 14, 2025
0a17d0e
Ab/fix format migrations (#1413)
alanb2718 Dec 14, 2025
5408e95
changelog fix (#1414)
pjaudiomv Dec 14, 2025
0a79cb4
add comment about format fix (#1416)
alanb2718 Dec 14, 2025
c6f4255
move USER_AGENT into a constant at top of file for better visibility …
alanb2718 Dec 19, 2025
400bdc3
Aggregator user agent setting (#1418)
pjaudiomv Dec 19, 2025
5460e66
make getSettingType static method in ConfigBase abstract (#1419)
pjaudiomv Dec 19, 2025
83f596d
remove blank line (#1420)
pjaudiomv Dec 19, 2025
5e6a83d
Add PHP 8.5 base image (#1421)
pjaudiomv Dec 21, 2025
ce50cc5
update dev docs (#1422)
pjaudiomv Dec 21, 2025
550fc64
update base
pjaudiomv Dec 21, 2025
4dec184
update base to noble
pjaudiomv Dec 22, 2025
c329369
fix php type warnings (#1423)
alanb2718 Dec 24, 2025
3071cd5
doc fix for php version switching (#1424)
pjaudiomv Dec 24, 2025
1eadedc
fix global var name for database host (#1426)
jbraswell Dec 25, 2025
8a230af
Change coding standard to PSR-12 (#1427)
pjaudiomv Dec 27, 2025
ad41980
include users last login in spreadsheet (#1430)
pjaudiomv Dec 28, 2025
1e74241
Fix danish language code (#1428)
pjaudiomv Dec 28, 2025
490d826
Add Translator Role
otrok7 Dec 29, 2025
13b0c32
lint
otrok7 Dec 29, 2025
bbf3fca
Don't use session variables
otrok7 Dec 30, 2025
66ca4ad
small corrections to CONTRIBUTING.md (#1431)
alanb2718 Dec 31, 2025
27406d7
Correct order of arguments in routes
otrok7 Dec 31, 2025
e61ba53
add orphaned format ids migration (#1433)
pjaudiomv Jan 1, 2026
8e41127
Translation editing for SB Admins
otrok7 Jan 2, 2026
4313734
Add test and de-lint
otrok7 Jan 3, 2026
a1e75cc
Squash Multilingual-Data Branch
otrok7 Jan 3, 2026
8bca543
Fix TargetLanguage select
otrok7 Jan 3, 2026
12ce57c
Merge branch 'Multilingual-Data' of https://github.com/bmlt-enabled/b…
otrok7 Jan 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 6 additions & 5 deletions .github/workflows/docker-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
packages: write
strategy:
matrix:
php_version: [8.2, 8.3, 8.4]
php_version: [8.2, 8.3, 8.4, 8.5]
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -26,7 +26,7 @@ jobs:
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3.5.0
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
Expand All @@ -45,6 +45,7 @@ jobs:
org.opencontainers.image.vendor=BMLT
org.opencontainers.image.created={{date 'YYYY-MM-DDTHH:mm:ssZ'}}
org.opencontainers.image.version=${{ matrix.php_version }}
org.opencontainers.image.revision=${{ github.sha }}
php.version=${{ matrix.php_version }}

- name: Build and push Base
Expand All @@ -66,7 +67,7 @@ jobs:
packages: write
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -76,7 +77,7 @@ jobs:
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3.1.0
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
Expand Down
36 changes: 16 additions & 20 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ jobs:

- name: php ${{ matrix.php }} 🐘
id: setup-php
uses: shivammathur/setup-php@2.35.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2.8.8
tools: composer:v2.8.12

- name: make composer 🎼
run: |
Expand All @@ -58,7 +58,7 @@ jobs:

- name: Send coverage data to codecov.io 📀
if: matrix.db == 'latest' && matrix.php == '8.4'
uses: codecov/codecov-action@v5.5.0
uses: codecov/codecov-action@v5
with:
files: src/coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -69,10 +69,10 @@ jobs:
- name: checkout 🛒
uses: actions/checkout@v5

- name: node 20 ❇️
uses: actions/setup-node@v4.4.0
- name: node 22 ❇️
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22

- name: make npm ♦️
run: |
Expand All @@ -98,32 +98,28 @@ jobs:
contents: write
steps:
- name: Checkout 🛒
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: php 8.2 🐘
id: setup-php
uses: shivammathur/setup-php@2.35.4
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer:v2.8.8
tools: composer:v2.8.12

- name: make composer 🎼
run: |
make composer

- name: setup node 20 ❇️
uses: actions/setup-node@v4.4.0
- name: setup node 22 ❇️
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22

- name: make frontend 🐥
run: |
make frontend

- name: make crouton 🍞
run: |
make crouton

- name: Write .env with APP_VERSION and COMMIT_SHA 🧃
shell: bash
run: |
Expand All @@ -137,7 +133,7 @@ jobs:
make zip

- name: Configure S3 AWS Credentials 🪪
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions/gh-ci-s3-artifact
role-session-name: gh-actions
Expand All @@ -149,7 +145,7 @@ jobs:

- name: Configure AWS Credentials 🪪
if: contains(github.ref_name, 'main') || contains(github.ref_name, 'unstable')
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions/gh-ci-tf-bmlt-rs
role-session-name: gh-actions-bmlt
Expand Down Expand Up @@ -182,7 +178,7 @@ jobs:
echo "RELEASE_TYPE=${RELEASE_TYPE}" >> $GITHUB_ENV

- name: Create Release 🎉
uses: ncipollo/release-action@v1.18.0
uses: ncipollo/release-action@v1
if: github.ref_type == 'tag'
with:
artifacts: "build/bmlt-server.zip"
Expand All @@ -208,7 +204,7 @@ jobs:
uses: actions/checkout@v5

- name: Configure AWS Credentials 🪪
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions/gh-ci-tf-bmlt-rs
role-session-name: gh-actions-bmlt
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ jobs:
options: --health-cmd="${{ (matrix.db == 'latest') && 'mariadb-admin' || 'mysqladmin' }} ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: checkout 🛒
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: php ${{ matrix.php }} 🐘
id: setup-php
uses: shivammathur/setup-php@2.35.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2.6.5
Expand All @@ -58,10 +58,10 @@ jobs:
- name: checkout 🛒
uses: actions/checkout@v5

- name: node 20 ❇️
uses: actions/setup-node@v4.0.0
- name: node 22 ❇️
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22

- name: make npm ♦️
run: |
Expand Down
39 changes: 37 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,42 @@
## 4.0.0 (UNRELEASED)
* Added new user interface implemented in Svelte. This includes a brand-new UI code base and various improvements. It is mostly backward compatible, except as noted here:
## 4.1.0 (UNRELEASED)
* Settings Management UI:
* All server settings (except database credentials) are now fully configurable through the
Admin UI's Settings page. Settings are stored in the database and can also be managed via the Admin API (/api/v1/settings).
* A migration was added to automatically seed settings from legacy `auto-config.inc.php` file on upgrade.
* Fix location map errors when auto geocoding is disabled.
* Fix duplicate format keys in the initial migrations schema and in existing databases

## 4.0.4 (November 26, 2025)
* Modified the UI to hide the New Meeting button and show a helpful message when a user does not have editing privileges on any service bodies.
* Fixed an issue that prevented users from logging in to Yap servers that use this BMLT server.

## 4.0.3 (November 23, 2025)
* Fixed an issue that prevented the UI from loading on servers with a `RewriteOptions inherit` configuration.
* Fixed `$format_lang_names` setting to work with the new UI.
* Fixed a geocoding issue -- if the county and/or zip code is automatically computed by the geocoder, we don't want to feed old and possibly incorrect values to the geocoder if the user edits an address.
* Fixed problems with format key validation.
* Added Portuguese translations.
* Strip legacy `#@-@#` separator from custom field values in UI display.

## 4.0.2 (November 11, 2025)
* Added Italian translations.
* Updated German translations.
* Fix favicon.
* Mask visibility=1 fields with asterisks in GetChanges json_data for unauthorized users.
* Fixed an issue where a service body couldn't be edited if one of its meeting editor users had been deleted.
* Fixed admin routes failing to load when accessed via direct URL or bookmark.
* Added database migrations to trim user fields whitespace and to remove nonexistent users from service body assignments.

## 4.0.1 (November 5, 2025)
* Fixed longitude/latitude fields to be read-only when auto-geocoding is enabled

## 4.0.0 (November 4, 2025)
* Added new user interface implemented in Svelte. This includes a brand-new UI code base and various improvements, including support for mobile devices and dark mode. It is mostly backward compatible, except as noted here:
- Dropped support for the installer wizard -- see `installation/README.md` for new directions.
- Deprecated the auto-config parameter `$default_minute_interval` (now just set to 5 minutes).
* The new UI is mobile-friendly and includes dark mode support.
* Added newly rewritten semantic workshop.
* Added new `$bmlt_notice` setting for `auto-config.inc.php` to display custom notices on the login screen. Example: `$bmlt_notice = 'We've upgraded the BMLT to 4.0.0 with a new interface! Please report any issues to bmlt@example.org';`
* Fixed a bug that prevented the NAWS Export from working with newer versions of MySQL.

## 3.1.2 (May 2, 2025)
Expand Down
Loading
Loading