v0.30.3 - 2024-06-18
- Ensure that site-wide repo trust settings are correctly reflected for content that is loaded without its repo currently being open in the sidebar. (#91)
v0.30.2 - 2024-06-16
-
Rework widgets
- Uniformize widget field names to always use lower camel case.
- Uniformize widget field value types across annos and Sphinx pages. Now the same JSON types that are used in annos are also required in Sphinx.
param
widgetdefault
arg is renamed toinit
.
(#66)
-
Authors must supply names for
goal
widgets. (#67) -
Rename root module fields:
dependencies
-->deps
change_log
-->changeLog
(#76)
-
In
param
widgets,tex
field is now required, andname
field is no longer accepted. (#80) -
Require proper libpaths (not strings) in
link
widgetref
field. (#83)
-
Improve
ctl
widgets- Add support for several "default" settings.
- Extend support to Sphinx pages. (#61)
-
Improve error message if a docref begins with a "#" character. (#63)
-
Support multi-page widget groups. (#64)
-
Improve widgets in general
- Introduce type checking for widget fields.
- Raise exception on presence of unexpected widget fields.
- The string format that was introduced for
color
andhoverColor
in Sphinx is now accepted both in Sphinx and in annos, as an alternative to the older, dictionary format. The older format is also still accepted in both places. - Improve error reporting on malformed JSON in widgets in Sphinx pages.
(#66)
-
Improve build process
- Support automatically building repo dependencies (recursively) in PISE.
- Report missing dependencies earlier.
- Roll back build outputs and graph db indexing, upon failed build.
- Add opt-in-only startup check for sync between build output and graph db. Automatically cleans up any excess build output.
-
Improve
disp
widgets- Support making trust settings through PISE.
- More flexible whitespace on
build
field indisp
widgets: leading and trailing blank lines, and basic indentation, are ignored.
(#82)
- Prevent
ctl
widgets from having any presence in generated HTML or page data. (#61) - Require angle brackets around boxlisting keywords. (#66)
- Auto-generated widget names in annotations now begin with underscore. (#67)
- Repair context menus in Sphinx pages, so that they load source panels with
proper
rst
syntax highlighting. (#68) - Repair issue with chart widget
select
field, where libpath was interpreted asfalse
. (#69) - Raise exception if user supplies entity with prohibited name
("
true
", "false
", or "null
"). (#74) - Error messages on
disp
widgets are now visible in the page. (#82) - Repair node --> anno link click functionality. (#84)
- The OCA now fails gracefully when checking for updates, if you have no internet connection. (Previously, reported a 500 error.) (#85)
Bug Fixes:
- Repair panel spawn for
link
widgets (#53).
Breaking Changes:
pdf
widgets are nowdoc
widgets (#36).- Underscores in
owner
andrepo
libpath segments translate to hyphens in remote URLs (#48). - Require colon after name in Sphinx widgets that do not accept a label (#51).
Improvements:
- Update management docs (#34).
- Improve context menus for highlights in doc panels, correcting the offset, and increasing readability of the options (#39).
- Improve the selection combiner dialog, in overall layout and copy functionality (#43).
- Improve the template box in the selection combiner dialog (#47).
Bug Fixes:
- Make Sphinx doc widgets properly accept libpaths for
sel
field (#37). - Support forward references for doc label clones (#38).
- Resolve issues with internal links in Sphinx panels, ensuring location updates are not reset by panel splits or rebuilds (#41).
- Make Sphinx panels become the active tab, upon internal click (#42).
- Repair load-and-nav operation for PDF panels (#44).
- Make doc panels enter enrichments mode before auto-navigating to highlights (#45).
- Debug issue with extra rewrites on Sphinx rebuilds, wherein certain unchanged pages were becoming broken (due to losing required Proofscape data object) (#46).
- Repair issues with the linking dialog, in the case that the only existing link is a tree-link (#49).
- Repair issues with the linking dialog, when adding new tree-links (#50).
Upgrades:
urllib3 2.0.4 --> 2.0.7
Werkzeug 2.3.7 --> 2.3.8
This version introduces major changes to the build system, the most
visible of which is that you can now write rst
files alongside pfsc
files, in order to build Sphinx pages.
Sphinx pages provide an alternative to the old annotation pages (which are also still supported). They use the Furo theme, and have sidebar tables of contents, and are linked to each other using all the standard ref mechanisms as in any Sphinx project.
Certain built-in extensions are provided, including various directives and roles
for Proofscape widgets, allowing you to include many of the same widget types (chart,
pdf, etc.) in Sphinx pages as in annotation pages. There is also a .. pfsc::
directive,
under which you can write arbitrary pfsc
module syntax, and thus make imports, define
deductions, etc.
Internally, rst
files are regarded as defining first-class Proofscape modules,
just as do pfsc
files. Their libpath mirrors their filesystem path. They always
define one special object, called _page
, which represents the Sphinx page they define.
This _page
object contains any widgets defined using widget roles and directives,
and sits alongside anything defined under any .. pfsc::
directives. Imports
between and among rst
and pfsc
files are supported in all directions.
Breaking Changes:
-
The build process now exhibits
make
-like behavior, wherein all and only those parts of a given repo are rebuilt that have changed since the last build. Accordingly, building at the CLI now requires a repopath (not an arbitrary modpath), no longer accepts an-r
("recursive") switch, and you can no longer request to build a single module in isolation. -
No more programmatic generation of widget names in source modules. The names are still generated wherever missing, and written into the built products, but no longer into the source code. The generated names now begin with an underscore.
Upgrades:
Eventlet 0.33.1 --> 0.33.3
Breaking Changes:
- Doc refs can no longer be defined under
pdf
field in nodes; instead, must now usedoc
field (#21). - New pdf widget syntax:
selection
becomessel
;sel: true
is new default (#21).
Improvements:
- Improve output of
pfsc.blueprints.cli.auto_deps_build()
. - Support editable sections in display widgets (#13).
- When nodes define both latex and docref labels, the latter now only serves to navigate a linked doc; it contributes to the label only when no latex label is defined (#18).
- In addition to the old navigation links
N --> C
(notes to charts), we now supportD --> T
(doc to tree) as well asN <--> D <--> C
(#21). - Navigation links are editable via drag-and-drop, and via tab context menu (#21).
- When defining a docref
doc#code
for a node, may omit thedoc#
part if adocInfo
field is defined in the surrounding deduc (#21). - New pdf widget syntax: added
doc
field;sel
may point to a node libpath, to clone its doc ref (#21). - Add
z
command to combiner code syntax (#21). - Add
clone
command to pfsc module syntax (#22).
Bug Fixes:
- Widget group control mappings across windows used to be able to create an inconsistent state after the primary window was reloaded. Now such mappings are properly saved and restored (#16).
- Manual sorting of tabs is now properly recorded in the saved state (#17).
- Stopped build from crashing if a whole module was (accidentally) named in a meson script (#19).
- Debugged issue with closing theory map panels (#24).
- Repaired static dir in OCA image (#29).
- Repaired issue with pages with examp widgets being closed before Pyodide finished loading (#31).
Upgrades:
Flask 2.1.2 --> 2.3.2
Flask-Login 0.6.1 --> 0.6.2
Flask-SocketIO 5.1.2 --> 5.3.5
Requests 2.25.1 --> 2.31.0
Werkzeug 2.1.2 --> 2.3.7
pfsc-examp 0.22.8 --> 0.23.0
Improvements:
- Add
--auto-deps
option toflask pfsc build
command. Also improve error handling in this command (#12).
Bug Fixes:
- Repair image name in
admin.sh
script generated bypfsc deploy generate
when--official
switch is used.
Breaking Changes:
- (Re)combined
pfsc-server
,pfsc-ise
, andpfsc-manage
into onepise
repository. These projects were taken at their latest versions,0.25.1
,25.4
, and0.25.1
respectively.
Improvements:
- Record more useful information in the manifest. For MODULE nodes, we now
provide both
isTerminal
andhasSubmodules
(#6). - Add
PFSC_DEFAULT_TRUSTED_LIBPATHS
config var. - Support env-var-based startup for
pfsc-server
docker containers (command- based is still supported).
Bug Fixes:
- Prevent redundant edges from crashing the build process when factored through a method node (#8).
Upgrades:
pytest==7.2.0
addresses a Dependabot alert repy<=1.11.0
.pytest-cov==4.0.0
while we're at it.
Breaking Changes:
- In a move to no longer repeat ourselves with JS version numbers, we load JS assets in new ways (#4).
Requires:
pfsc-ise >= 25.0
pfsc-manage >= 0.25.0
Features:
- Add
pdfjsURL
to the served state. The URL includes a version number (#3).
Breaking Changes:
- Serve native static assets under URLs including this project's version number (#3).
Requires:
pfsc-manage >= 0.24.0
Features:
- Add
loginsPossible
to served state.
Bug Fixes:
- Make demo repos usable when ALLOW_WIP is False (#2).