0.13.6
- Buffers and every other Processing operation run on layers that
carry a
list in an attribute, such as the image_corners field on Mapdex
extraction previews. QGIS stopped at the first feature ("Could not
store
attribute image_corners"); the list now travels as text and the answer
says which field it was.
0.13.5
- A buffer in metres is a buffer in metres. On a layer whose
coordinates
are in degrees (most GeoJSON and KML), "buffer by 25 m" grew every
shape
by 25 degrees, about 2,800 km. The work now runs in the layer's local
UTM
zone and the result comes back in the layer's own coordinate system.
The
same applies to a simplification tolerance, and a layer in feet gets
its
distance in feet.
- Elevation operations (slope, aspect, hillshade, contours, watershed
and
the rest) refuse a vector layer, or a grid measured in degrees, and
say
why. On the route your requests actually take they were started anyway
and failed out of sight.
- A Processing run that fails now says so in the conversation, with
QGIS's
own reason, instead of only on the status line.
- The geometry check works. It never received its input layer, and a
clean
result is reported as "no invalid geometries" rather than as an empty
layer.
- Answers state their result. They read "Nivo prepared a QGIS action.:
24
values ..." - the sentence written before the action ran, in front of
the
proof that it had.
0.13.4
- A released build never connects to a server on your own computer. An
address such as 127.0.0.1 or localhost left in your QGIS profile by an
earlier local setup used to be followed, so a production install could
send its requests there while calling itself production. Such an
address
is now ignored, the session that came with it is dropped, and you are
asked to connect to Mapdex again.
- Settings no longer offers a local development address in a released
build, and typing one in is refused with the reason. Pointing a
released
build at your own Mapdex server still works as before.
0.13.3
- Back azimuth and forward azimuth were reported the wrong way round.
Walking due north, Nivo called the direction of travel at the far end
180
and the sight back 0, which are each other's answer. A backsight set
from
that figure was 180 degrees out. Both are now what their names say.
- The field profile said every text column was empty. A column of
parcel
numbers came back as entirely blank while the same column counted
correctly elsewhere in the plugin, because the count was of values
that
would not read as a NUMBER rather than of values that were missing.
- Answers that were computed and never shown now appear. Asked for a
total
area Nivo measured it and printed "geometry measurement"; bearings,
traverses, misclosures, scale factors and MGRS references all printed
"Done." Thirteen capabilities state their result, with the frame it
was
measured in where that decides the number.
- A vector layer is no longer accepted where a raster is needed.
Applying a
raster style to a parcel layer reported success and changed nothing,
and
a slope or contour on a vector layer started an algorithm that could
only
fail later. Both refuse now and say which layer and why.
- Smaller things you see every time: the workflow card reads
"Validate & deliver" rather than "Validate _deliver", the Jobs list
names
the workflow instead of printing its internal key, and a single-symbol
style no longer claims to have "None classes".
0.13.2
- The Task page is one list of sheets rather than a picker that holds
one
answer. Files you choose or drop and QGIS layers you tick in a picker
go
into the same list, and more than one of them is a batch: nothing has
to
be switched on. Every sheet is named and removable, and the count is
on
the Start button.
- Sending several open layers at once is new. Nothing is sent that you
did
not tick: the picker opens with nothing selected and no control
submits
your project. A layer this workflow cannot read is shown with the
reason
rather than hidden.
- Options that Mapdex has always accepted are now yours to set: one
sheet
per PDF page, skip sheets already finished in this project, and how
many
sheets run at once. Each is offered only where it can do something, so
"every PDF page" is unavailable, with the reason, over a list holding
no
PDF.
- What a task will cost is stated before you start it, and the total
is on
the Start button itself. The figure comes from Mapdex and is a
ceiling: a
sheet is charged only when its result is produced, so a sheet that
fails
or abstains costs nothing.
- A batch your balance cannot cover no longer starts and then stops
halfway
through. Start is unavailable, the amount you are short is stated, and
there is a direct route to billing. Where a price or a balance cannot
be
read, nothing is claimed and nothing is blocked.
0.13.1
- Nivo requires a Mapdex connection. Every runtime, including your own
provider key, is offered after connecting rather than before.
- The AI vectorizer and the assisted raster tracing tool were removed.
0.13.0
- QGIS now connects through the browser-approved Mapdex connector flow
and
returns to the plugin without exposing or retyping credentials.
- Device approval opens on app.mapdex.ai, keeps the linked code
immutable,
and makes the account and consent steps explicit before access is
granted.
- Nivo onboarding now presents one clear provider choice at a time,
keeps
the chat at full available height, and separates starter prompts from
the
conversation instead of mixing them into assistant replies.
- New chat, history, stop, Settings and Open project controls use
consistent
icon-led actions and preserve their behavior across narrow and wide
docks.
- Development packages expose localhost API and web endpoints for
testing.
Production packages hide endpoint controls and stay pinned to hosted
Mapdex services.
0.12.4
- Fixes for what the plugin repository's own scan found on 0.12.3,
none of
which changes what the plugin does.
- Flat Qt5 enum names in three files would each have raised an error
on
QGIS 4, in branches no test opens: choosing a raster or vector layer,
deciding whether the layer you are digitizing into holds lines or
areas,
drawing the trace bands, suppressing the attribute form, and writing a
plan sheet. They now resolve on both Qt5 and Qt6.
- The catalogue query behind the PostGIS diagnostic is written out as
a
constant instead of assembled from pieces. Nothing user-supplied ever
reached it, but a query built by string formatting reads as an
injection
site whether or not it is one.
- Removed an unused import and tidied three lines the style check
flagged.
0.12.3
- Nivo could not finish a question that took more than one step. Every
measurement it made was written into the conversation as though Nivo
had
said it, so the moment one step ran the turn ended on Nivo's own voice
and
the model was asked to carry that sentence on rather than answer. What
came back was more of the sentence, which is not a decision, and the
turn
spent its steps arriving nowhere. The first question of a conversation
always worked, because nothing had been measured yet, so this looked
like
Nivo losing the thread on the follow-up.
- Work chosen on the last available step used to run anyway, so a
project
gained a layer that no answer accounted for. The last step now asks
for a
conclusion, and work arriving there is not started.
- A turn that measured nothing no longer offers "here is what I
measured so
far", and an answer written as a sentence rather than in the expected
form
is shown to you instead of being discarded.
- The panel no longer names your model vendor. It read "Asking
openai..."
for the length of a request, and a failed turn repeated the vendor's
own
error word for word. Which provider answers is a routing detail; a
failure
now says "your provider", and the settings panel remains the one place
that states where a turn goes.
0.12.2
- What you trace now looks like QGIS digitizing: the rubber band takes
its
colour and width from Settings > Digitizing instead of a hardcoded
blue
that matched neither your settings nor your map, an area being traced
is
drawn as an area with a fill, and the vertices are marked.
0.12.0
- Improved spatial reasoning and digitizing workflows.
- Your QGIS snapping now applies.
- Areas close themselves cleanly when drawing polygons.
0.11.0
- Mapdex has its own toolbar with panel actions. Show or hide it under
View > Toolbars.
0.10.3
- The upload scan blocked the plugin over a false positive: the
vendored nivo-gis commit sha (a 40-char hex string) read as a "high
entropy secret". Split into four short fields that reassemble to the
same sha; no provenance data changed.
0.10.2
- QGIS 4 Ready: scoped every PyQt6 enum the repository check flagged
(QgsFeatureRequest.Flag.NoGeometry, QgsWkbTypes.GeometryType.*) and
removed a raw PyQt5/PyQt6 import that must come only from qgis.PyQt.
0.10.1
- Your own model key is now used. With a provider configured the
assistant talks to it directly from QGIS: the turn does not pass
through Mapdex servers, and it needs no Mapdex account. A local Ollama
keeps the whole conversation on your machine.
- In that mode Nivo does everything QGIS and your saved PostGIS
connections do locally. Mapdex georeferencing, digitization,
validation, batch and review run on Mapdex, so they are not offered
inside a conversation that never contacts Mapdex; they still work from
the task panel with your account.
- A provider failure never becomes a Mapdex request on its own. You
are told what failed and asked whether to send the question to Mapdex
instead; nothing is sent unless you say yes.
- The Model field now shows the default it would use for the chosen
provider, instead of the word "default".
0.10.0
- Nivo can now analyse your data, not just drive the map: layer
profiles, descriptive statistics, histograms, category breakdowns,
ranking, outlier detection with a stated rule, group-by aggregation
and selection-vs-dataset comparison.
- Analysis lands on the map: results become a real feature selection
or a categorized/graduated renderer with a legend that states how its
classes were derived.
- Read-only PostGIS analytics in natural language. Your question
becomes a typed request that trusted code turns into a parameterised
SELECT; no SQL is generated by a model, and writes are refused.
- Multi-step objectives: Nivo inspects before it decides, chains the
steps an answer needs, and reports what it measured. A step it could
not complete is stated, not dropped.
- Store your own model key: OpenAI, Anthropic, Gemini, any
OpenAI-compatible endpoint or a local Ollama. Keys live only in the
QGIS Authentication Manager and are never echoed back. The assistant
still runs through Mapdex on your plan; a stored key is not yet used
to reach that provider directly.
- Undo for reversible map changes: selection, visibility, opacity,
filters, labels and symbology restore their previous state.
- Distances respect the layer CRS. A metric distance on a geographic
layer is never silently applied in degrees.
- Fix: a greeting before a request ("selam, aktif katmana git") no
longer drops the turn into a generic workflow failure.
0.9.13
- Add Nivo, the QGIS companion chat for active-layer context,
reversible map actions and confirmed Processing operations.
- Add optimized Nivo avatar and loading animation assets to the dock.
0.9.12
- Clean the plugin repository scan: lint policy, narrowed exception
handling, no silent notice drops.
0.9.11
- Released builds are pinned to mapdex.ai; endpoint fields are
development only.
0.9.10
- Zoom to an imported result in the canvas CRS instead of jumping
across the world.
0.9.9
- Fix a QGIS crash caused by background tasks reporting back after
unload.
0.9.8
- Stop leaking a QGIS layer-change callback on every plugin reload.
0.9.7
- Fix a QGIS 4 start-up crash in the responsive panel layout.
0.9.6
- Get result from Mapdex: import the approved layer, or the draft
split into review layers.
- QGIS 4 (Qt6) fix for the review confirmation dialog.
0.9.5
- Panel opens wide enough to use and adapts to a narrow dock.
- Plugin icon and Qt6 support declared for QGIS 4.
0.9.4
- Batch tasks resume after QGIS is restarted.
yes
mehmetymw
2026-09-14T10:16:10.974504+00:00
3.34.0
4.99.0
None
no
Plugin Tags