InterSystems Official
· Dec 17, 2024

IPM 0.9.0 Released

We have released IPM 0.9.0. I previously remarked on some of the history and reasoning here; to summarize, this is a big release for two reasons: it represents a long-overdue reunification of our internal and community-driven work around IRIS-centric ObjectScript package management, and it has some backwards incompatibilities. There are several necessary backwards incompatibilities in our roadmap, and we've lumped them together; this will not be some new norm.

Under the hood, the class naming and package structure has completely changed. If you're making direct use of calls to (most likely) %ZPM.PackageManager, the equivalent class is now %IPM.Main. For community projects that are impacted by this name change, we've submitted a bunch of PRs to get things up to date, and some use of old %ZPM.* class names is migrated automatically on installation via ZPM to allow packages to work with both old and new versions of IPM.

If you update from IPM 0.7.x to 0.9.0, everything should "just work" as before - it's available instance-wide, with data migrated to new storage locations.

On a new/fresh installation, things are a little different; by default, the community registry is not enabled, and IPM is only available in the namespace in which it was installed. To get to equivalent behavior of 0.7.x on a new installation, you need to run the following commands to map IPM everywhere and use the default community registry, respectively:

zpm "enable -map -globally"
zpm "repo -reset-defaults"

There's a 0.9.1 patch coming *very* soon (today/tomorrow - soon enough that I'll just update this post) which will streamline this process to some extent; see https://github.com/intersystems/ipm/issues/662 for context/updates.

If you encounter any issues or questions, please file a GitHub issue; we'll be keeping an eye out on the Developer Community as well.

Discussion (3)3
Log in or sign up to continue

Congratulations to the IPM team for achieving this hugely significant milestone.

To show my appreciation I installed 0.9.0 into a fresh namespace called IPM and told Doxygenerate to build documentation (HTML and PDF). Then I published the output on the George James Software website.

To see the results as a set of static web pages, go to https://georgejames.com/files/doxygenerate/IPM/index.html

To view the documentation as a PDF it's https://georgejames.com/files/doxygenerate/IPM/refman.pdf (586 pages).

And for a variant of the PDF with simplified inheritance diagrams it's https://georgejames.com/files/doxygenerate/IPM/refman-brief.pdf (364 pages).

The difference between the two PDFs can be seen by comparing page 63 (numbered 37 because of the extensive Table of Contents).

Also of interest is this inheritance diagram from page 59 (aka 33):

If you like the results please consider voting for Doxygenerate before the current contest ends on Sunday night.