Release 0.11.0

This commit is contained in:
2026-08-17 13:29:05 -04:00
parent 49f68081c3
commit 7df79e50d9
3 changed files with 28 additions and 2 deletions

View File

@@ -10,11 +10,17 @@ ADR-007 and ADR-002.
## [Unreleased]
## [0.11.0] - 2026-08-17
The floor map became a set of drawings instead of one picture. A site can hold
more than one building, a building more than one level, and every map position
now records which drawing its coordinates belong to. Driven by a real move: a
second floor was added, a new blueprint changed size, and machines relocated.
Alongside it, a sweep of what search can actually reach. Two identifiers the UI
collects were findable in almost no way, and two plugins' records were findable
in no way at all.
### Added
- Buildings and levels (ADR-017). Each level owns its own blueprint per theme
@@ -62,6 +68,26 @@ second floor was added, a new blueprint changed size, and machines relocated.
place so a rollback still finds them. Verified end to end on MySQL 5.6 from a
production-shaped database.
### Fixed
- `gaugelabreference` was matched only on measuring tools and
`maintenancereference` was matched nowhere at all, for any asset type, while
Settings offers both identifiers on machines, PCs, printers and network
devices. Both are now matched by global search AND by every asset list's
`?search=`. An identifier that can be entered has to be findable, or it is a
write-only field, and the tag is read off the physical machine by someone
looking at the list page.
- USB devices and printed items were unreachable from global search entirely.
Neither is an asset, so the generic asset search could not see them and no
searcher existed. They now match on serial, asset tag and label, and on bin
code (`itemcode`), gage-lab tag, name and description respectively - both
honouring `isactive`, both with Settings toggles, result labels and filter
chips.
- Global search returned knowledge-base articles whose topic application is
retired, while `GET /api/knowledgebase` hid them. A filter that only some paths
apply is not a filter: the article stayed two keystrokes away and the result
printed the retired application as its subject.
### Known gaps
- The Pascal printer-installer map still compiles in one drawing's dimensions and

View File

@@ -1,6 +1,6 @@
{
"name": "shopdb-frontend",
"version": "0.10.0",
"version": "0.11.0",
"private": true,
"type": "module",
"scripts": {

View File

@@ -63,7 +63,7 @@ __contract_version__ = '0.20.0'
# plugin-contract version above are distinct series with independent
# bump rules. Not part of the shopdb.api contract surface, so it is
# not re-exported there.
__version__ = '0.10.0'
__version__ = '0.11.0'
def create_app(config_name: str = None) -> Flask: