Skip to content

EV3-G API - breaking changes #381

Closed
Closed

Description

@dwalton76

Use this issue to track breaking changes that need to be documented.

PR #374 removed these classes

  • RemoteControl
  • BeaconSeeker

Activity

  1. dlech commented on Sep 26, 2017

    @dlech
    Member

    If we are going to make breaking changes can we do the following:

    1. Release a 1.x version on ev3dev-stretch that includes 06ae05f - this should get OpenRoberta working on stretch - it is currently broken (someone just asked about this on IRC this morning).
    2. Rename the root namespace and package names so that 1.x and 2.x can be installed in parallel (e.g. ev3dev > ev3dev2). This way, 2.x can be released so people can use it and OpenRoberta can keep working without constant maintenance while 2.x stabilizes.
  2. ddemidov commented on Sep 26, 2017

    @ddemidov
    Member

    For reference: #339 (comment)

  3. ddemidov commented on Sep 26, 2017

    @ddemidov
    Member

    Rename the root namespace and package names so that 1.x and 2.x can be installed in parallel (e.g. ev3dev > ev3dev2).

    I understand the package name change, but why the root namespace?

  4. dlech commented on Sep 26, 2017

    @dlech
    Member

    It doesn't have to be the root namespace, but if both version are installed at the same time there has to be something different in the namespace, does there not? Otherwise, how would imports work?

  5. dwalton76 commented on Sep 29, 2017

    @dwalton76
    CollaboratorAuthor

    auto_mode for Sensors has been removed

  6. dwalton76 commented on Oct 1, 2017

    @dwalton76
    CollaboratorAuthor

    For InfraredSensor we changed the following names

    • red_up is now top_left
    • red_down is now bottom_left
    • blue_up is now top_right
    • blue_down is now bottom_right

    and the on_red_up, etc handlers now support multiple channels and are named on_channel1_top_left, etc

  7. dwalton76 commented on Oct 4, 2017

    @dwalton76
    CollaboratorAuthor

    Importing core.py and auto.py will no longer work

  8. ddemidov commented on Oct 5, 2017

    @ddemidov
    Member

    Which is better: rename stable package (and namespace) for OpenRoberta to ev3dev-v1 or ev3dev-jessie, or rename future packages to ev3dev-v2?

  9. ensonic commented on Oct 5, 2017

    @ensonic
    Contributor

    I'd appreciate if we keep things stable for jessie. If we break things for stretch anyway I'll need to do some porting and depend on the right version. So please collect a list of things that are changed.

  10. dwalton76 commented on Oct 5, 2017

    @dwalton76
    CollaboratorAuthor

    Can we keep just one package name but with different versions?

  11. WasabiFan commented on Oct 5, 2017

    @WasabiFan
    Member

    @ensonic see above. This thread is devoted to tracking breaking changes to make sure we can adequately document it.

  12. ddemidov commented on Oct 5, 2017

    @ddemidov
    Member
  13. dlech commented on Oct 5, 2017

    @dlech
    Member

    @ddemidov: If you rename the v1.x package and/or namespace, it breaks OpenRoberta, which defeats the purpose of trying to not break it. I like just adding a 2 to the names (instead of -v2), like you can have gtk2 and gtk3 installed at the same time or qt4 and qt5 installed at the same time. It is a common pattern in Linux.

    @ensonic: I don't think there are any plans to make an breaking changes in ev3dev-jessie. The discussion here is the possibility of having parallel 1.x and 2.x versions in ev3dev-stretch so that OpenRoberta will keep working in ev3dev-stretch by using the 1.x version without you having to keep up with breaking changes in the 2.x version.

  14. ensonic commented on Oct 5, 2017

    @ensonic
    Contributor

    @dlech if it is not too much of a hassle having both api version installable in parallel would be great of course.
    I think it would also be fair to then tell people that the new development happens on v2 and v1 is maybe getting a few patches for a while to keep it working (if needed). Sounds like a plan to me.

  15. ddemidov commented on Oct 5, 2017

    @ddemidov
    Member

    I'll try to publish stable version compatible with stretch tomorrow.

  16. 1 remaining item

  17. ddemidov commented on Oct 9, 2017

    @ddemidov
    Member

    @dlech, I am trying to create stretch packages. Do I understand correctly that I need to do OS=debian ARCH=amd64 DIST=stretch pbuilder-ev3dev base (instead of OS=debian ARCH=amd64 DIST=jessie pbuilder-ev3dev base)? The command gives me

    E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
    W: Aborting with an error
    I: cleaning the build env 
    I: removing directory /var/cache/pbuilder/build/6468 and its subdirectories
    
    
  18. dlech commented on Oct 9, 2017

    @dlech
    Member

    The command looks correct. It seems odd that you wouldn't have gnupg installed. Have you tried installing it?

  19. ddemidov commented on Oct 9, 2017

    @ddemidov
    Member
    gnupg2 is already the newest version (2.1.11-6ubuntu2).
    

    But that is on my host system. I thought the error comes from withing pbuilder environment. Also, the command with DIST=jessie does work.

  20. dlech commented on Oct 10, 2017

    @dlech
    Member

    I use pbuilder-ev3dev all the time with stretch, so I'm not sure what the difference would be (unless pbuilder-ev3dev needs to be upgraded?).

  21. ddemidov commented on Oct 12, 2017

    @ddemidov
    Member

    I upgraded both the host machine (virtual image of Ubuntu 16.04.3 LTS) and pbuilder-ev3dev package. I am still getting

    E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
    

    when I do OS=debian ARCH=amd64 DIST=stretch pbuilder-ev3dev base. I do have gnupg and gnupg2 installed on Ubuntu though. @dlech, perhaps you have something in .pbuilderrc (mine is empty)? Do I need to add anything to archive list for stretch to work?

  22. ddemidov commented on Oct 12, 2017

    @ddemidov
    Member

    pbulder.log
    Here is the complete log of OS=debian ARCH=amd64 DIST=stretch pbuilder-ev3dev base.

  23. dwalton76 commented on Oct 12, 2017

    @dwalton76
    CollaboratorAuthor

    The Screen class is now called Display, this was done to match the EV3-G API 1:1

  24. WasabiFan commented on Oct 12, 2017

    @WasabiFan
    Member

    @ddemidov @dlech Can you open a new issue to discuss the packaging problems? I want to keep this thread clear so we can use it to track the list of breaking changes.

  25. ddemidov commented on Oct 13, 2017

    @ddemidov
    Member

    Can you open a new issue to discuss the packaging problems?

    Or we could use #400.

  26. WasabiFan commented on Nov 16, 2017

    @WasabiFan
    Member

    Breaking change: Sound-related methods now take time in seconds (#431)

  27. dwalton76 commented on Aug 6, 2018

    @dwalton76
    CollaboratorAuthor

    @WasabiFan did we have anything left to do for the new API?

  28. WasabiFan commented on Aug 6, 2018

    @WasabiFan
    Member

    AFAIK, the only place where we haven't done a true EV3-G mapping is for LEDs, and in that case I think our API is the better form anyway for Python code. So I don't believe that there are any outstanding tasks for enabling the new base API surfaces. That being said, we do have issues open for other API sets which we'd like to implement.

  29. WasabiFan commented on Aug 6, 2018

    @WasabiFan
    Member

    Over the past week or two I've tagged things which I think are next on the to-do list with a 2.1 milestone (I just took a guess at a version number which seemed reasonable, it can be renamed) so we can get a sense of what would be immediately helpful.

  30. WasabiFan commented on Dec 19, 2018

    @WasabiFan
    Member

    Closing as I believe this has been addressed. Please reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions