Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drafting 4.1 Release #824

Closed
10 of 14 tasks
ProfFan opened this issue Jul 19, 2021 · 22 comments
Closed
10 of 14 tasks

Drafting 4.1 Release #824

ProfFan opened this issue Jul 19, 2021 · 22 comments
Assignees
Labels
wip This is still a work in progress
Milestone

Comments

@ProfFan
Copy link
Collaborator

ProfFan commented Jul 19, 2021

The develop branch has been pretty stable now, so it's high time that we actually release a version 4.1.0 of GTSAM.

The Python packages are now built automatically on https://github.com/borglab/gtsam-manylinux-build/actions. Please download the artifacts there and test with your code base.

Outstanding issues and PRs:

Nice to haves:

@varunagrawal @jlblancoc @gchenfc @dellaert and all,
feel free to add the issues and PRs you think are important to this list :)

@ProfFan ProfFan added the wip This is still a work in progress label Jul 19, 2021
@ProfFan ProfFan added this to the GTSAM 4.1 milestone Jul 19, 2021
@ProfFan ProfFan self-assigned this Jul 19, 2021
@jlblancoc
Copy link
Member

Sure! I just edited it to add the 2nd and 3rd items in the "nice to have" section ;-)

@varunagrawal
Copy link
Collaborator

System Eigen to ON? That seems suspect since we might get more issues about Eigen related errors from people who don't read error logs.

@ProfFan
Copy link
Collaborator Author

ProfFan commented Jul 25, 2021

It's twofold:

  • ON, and we get issues from people with bad Eigen installs
  • OFF, and we get issues from ABI compatibility and mysterious errors originated from different options of Eigen.

I think ON is slightly better, since these should mostly be it doesn't work type of issues...

@asa
Copy link
Contributor

asa commented Aug 1, 2021

Is there a python osx wheel I could test for this build? I can't seem to get it to build locally for me. Pip installs an old build (4.0.3).

@ProfFan
Copy link
Collaborator Author

ProfFan commented Aug 1, 2021

@asa https://github.com/borglab/gtsam-manylinux-build/actions

Click artifacts and download

@asa
Copy link
Contributor

asa commented Aug 1, 2021

I was able to do that and successfully install an artifact, thank you. These actions are not run on develop branch as far as I see however. I suppose a branch will be cut for 4.1 in a pr and the artifacts will be built then... Looks like I should keep banging on getting my local builds to work... These artifacts get me relatively recent bits though. Thanks!

@ProfFan
Copy link
Collaborator Author

ProfFan commented Nov 22, 2021

We are very close to doing a 4.1 release (since the PyPI packages are very out-of-date now). Currently we only need #188 blocking, but we do have a lot of nice-to-haves outstanding.

Pinging everyone here for a last sprint on getting more in the release :)

@varunagrawal @dellaert @lucacarlone @jlblancoc @acxz

@varunagrawal
Copy link
Collaborator

#368 is solved but needs some major documentation updates which will only be done in December. We can push it to the next release.

@lucacarlone
Copy link
Contributor

I'm happy to push on PR #861 if there is interest. It has been ready for a while, but I'll need to fix a CI error.

@jlblancoc
Copy link
Member

There's a remaining issue which might need to be listed as "must fix" before release: apparently, when building a subgraph by selecting factors from a FG and inserting them into a new FG, some kind of memory corruption happens.
I've been avoding this problem in an application by serializing-and-deserializing to a temporary file to ensure the new subgraph doesn't make the optimizer to crash, but I should put together a proper bug report with a minimal test case... I'll try to do it asap.

@ProfFan
Copy link
Collaborator Author

ProfFan commented Nov 25, 2021

@jlblancoc Could you post a PoC in an issue so we can help reproduce?

@lucacarlone
Copy link
Contributor

I think we have seen similar segfaults on our side. @jlblancoc : is this in conjunction with smart factors or also happens for other factors?

@jlblancoc
Copy link
Member

@ProfFan It was 100% reproducible in my app but now I can't reproduce it anymore so can't provide a PoC... I'll report in a new issue if it shows up again.
@lucacarlone Nope, it was with "non-smart" factors only...

@ProfFan
Copy link
Collaborator Author

ProfFan commented Dec 5, 2021

@jlblancoc Can you reproduce it? If not we may just do the release and fix in 4.1.1?

@ProfFan
Copy link
Collaborator Author

ProfFan commented Dec 5, 2021

Let's cut the release next Tuesday

@dellaert
Copy link
Member

dellaert commented Dec 5, 2021

That would be amazing. Note I do not want to change the default behavior of Eigen at this moment, at least not without extensive discussion on the pros and cons

@jlblancoc
Copy link
Member

@jlblancoc Can you reproduce it? If not we may just do the release and fix in 4.1.1?

@ProfFan Sure, go ahead.

@ProfFan
Copy link
Collaborator Author

ProfFan commented Dec 7, 2021

we may delay cutting branch due to #954

@dellaert
Copy link
Member

So, I have a proposal. I (rather recently) made an API breaking change in Discrete - which I thought only I was using, really, but it turns out @keevindoherty depends on 4.1 and Discrete. I want to probably make more API breaking changes, so I propose we silently cut a release of both GTSAM and the pypi wrapper right before that PR. Then the next API will include formatting and graphing support in python notebooks, and we can make a bigger deal of it as version 4.2.

@ProfFan
Copy link
Collaborator Author

ProfFan commented Dec 19, 2021

I am back from quals (yay!) so let's do that. I'll cut the branch, compile and release artifacts at the time @dellaert makes the call.

@dellaert
Copy link
Member

Great. Actually, before cutting anything, can we talk? I’ve since then also looked at the pypi distributions from GTSam, and I wonder whether we should tag versions that have the same version number. Send me an invite for tomorrow if you can make it

@ProfFan
Copy link
Collaborator Author

ProfFan commented Dec 20, 2021

4.1.1 is out! We'll do a bigger 4.2 shortly after the discrete changes per discussions w/ @dellaert .

@ProfFan ProfFan closed this as completed Dec 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wip This is still a work in progress
Projects
None yet
Development

No branches or pull requests

6 participants