home.social

#versioning — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #versioning, aggregated by home.social.

  1. [Перевод] Эволюция API без боли: ArchUnit, Gradle и правила для библиотек

    В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей. С новом переводе от команды Spring АйО разбираемся, как ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе. Решение - ArchUnit + Nebula ArchRules. ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения.

    habr.com/ru/companies/spring_a

    #java #kotlin #api #versioning #neflix #spring #spring_boot #spring_framework #springboot

  2. [Перевод] Эволюция API без боли: ArchUnit, Gradle и правила для библиотек

    В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей. С новом переводе от команды Spring АйО разбираемся, как ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе. Решение - ArchUnit + Nebula ArchRules. ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения.

    habr.com/ru/companies/spring_a

    #java #kotlin #api #versioning #neflix #spring #spring_boot #spring_framework #springboot

  3. [Перевод] Эволюция API без боли: ArchUnit, Gradle и правила для библиотек

    В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей. С новом переводе от команды Spring АйО разбираемся, как ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе. Решение - ArchUnit + Nebula ArchRules. ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения.

    habr.com/ru/companies/spring_a

    #java #kotlin #api #versioning #neflix #spring #spring_boot #spring_framework #springboot

  4. [Перевод] Эволюция API без боли: ArchUnit, Gradle и правила для библиотек

    В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей. С новом переводе от команды Spring АйО разбираемся, как ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе. Решение - ArchUnit + Nebula ArchRules. ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения.

    habr.com/ru/companies/spring_a

    #java #kotlin #api #versioning #neflix #spring #spring_boot #spring_framework #springboot

  5. As a small independent front end developer I (for now) still use GitHub but only for versioning.

    Does anybody knows a simple alternative for just that purpose?

    #GitHub #Alternative #Simple #Versioning

  6. As a small independent front end developer I (for now) still use GitHub but only for versioning.

    Does anybody knows a simple alternative for just that purpose?

    #GitHub #Alternative #Simple #Versioning

  7. As a small independent front end developer I (for now) still use GitHub but only for versioning.

    Does anybody knows a simple alternative for just that purpose?

    #GitHub #Alternative #Simple #Versioning

  8. As a small independent front end developer I (for now) still use GitHub but only for versioning.

    Does anybody knows a simple alternative for just that purpose?

    #GitHub #Alternative #Simple #Versioning

  9. As a small independent front end developer I (for now) still use GitHub but only for versioning.

    Does anybody knows a simple alternative for just that purpose?

    #GitHub #Alternative #Simple #Versioning

  10. Problems out of scope for the first web must necessarily be in-scope for /#SocialWeb:

    Privacy and Security

    Search

    Data & hosting

    publishing code

    switching browsers

    Disintermediation ( must be its own platform, must facilitate/obviate brokering)

    all of the above, in other words:

    () & &

    Navigation of semantic adjacency in terms of a hyperspatial manifold. (got a term for this?)

  11. Problems out of scope for the first web must necessarily be in-scope for #TheNextWeb/#SocialWeb:

    #Identity

    Privacy and Security #privsec

    Search

    Data & hosting

    publishing code

    switching browsers

    Disintermediation (#WWW must be its own platform, must facilitate/obviate brokering)

    all of the above, in other words: #Disenshittification

    #Versioning (#DVCS) & #Archiving & #Publishing

    Navigation of semantic adjacency in terms of a hyperspatial manifold. (got a term for this?)

    #DWeb

  12. Problems out of scope for the first web must necessarily be in-scope for #TheNextWeb/#SocialWeb:

    #Identity

    Privacy and Security #privsec

    Search

    Data & hosting

    publishing code

    switching browsers

    Disintermediation (#WWW must be its own platform, must facilitate/obviate brokering)

    all of the above, in other words: #Disenshittification

    #Versioning (#DVCS) & #Archiving & #Publishing

    Navigation of semantic adjacency in terms of a hyperspatial manifold. (got a term for this?)

    #DWeb

  13. Problems out of scope for the first web must necessarily be in-scope for #TheNextWeb/#SocialWeb:

    #Identity

    Privacy and Security #privsec

    Search

    Data & hosting

    publishing code

    switching browsers

    Disintermediation (#WWW must be its own platform, must facilitate/obviate brokering)

    all of the above, in other words: #Disenshittification

    #Versioning (#DVCS) & #Archiving & #Publishing

    Navigation of semantic adjacency in terms of a hyperspatial manifold. (got a term for this?)

    #DWeb

  14. Problems out of scope for the first web must necessarily be in-scope for #TheNextWeb/#SocialWeb:

    #Identity

    Privacy and Security #privsec

    Search

    Data & hosting

    publishing code

    switching browsers

    Disintermediation (#WWW must be its own platform, must facilitate/obviate brokering)

    all of the above, in other words: #Disenshittification

    #Versioning (#DVCS) & #Archiving & #Publishing

    Navigation of semantic adjacency in terms of a hyperspatial manifold. (got a term for this?)

    #DWeb

  15. Владение и локальность

    Итак, Вы – руководитель разработки (главный инженер, архитектор и т.п.) большой системы. После здравых размышлений Вы (обосновано) выбираете для системы микросервисную архитектуру. Далее Вы (и опять обоснованно) разделяете систему на микросервисы, продумываете API, рисуете стрелочки и диаграммы и можно программировать. Можно? Наверное, но лучше сначала рассмотреть принципы владения данными, обеспечения передачи данных потребителям, поддержки версионирования контрактов данных. В этой статье мы рассматриваем два принципа: «Данными владеет только владелец» и «Локальность данных». Понимание принципов, понимание возможностей проектирования доступов к данным позволит Вам спроектировать устойчивые и надежные системы.

    habr.com/ru/articles/1010798/

    #api #kafka #topic #contract #контракт #versioning #версионирование_api

  16. Explains the OneDrive version number format: year, yearly increment, date, and build sequence. The “_1” can appear when a version installs twice. Windows/Mac installers provided for testing.

    Blog Post: bit.ly/4qKh7Fy

    #OneDrive #Microsoft365 #Versioning

  17. DEVONthink 4 supports automatic versioning, quietly saving snapshots of your documents as you work. But sometimes you want more control over which versions are preserved. That's where DEVONthink 4.2 Cassini's named versions come in. Here's how to use them. #devonthink #versioning #backups #notetaking devontechnologies.com/blog/202

  18. 🎉BREAKING: Claude's code CLI is "broken" because someone decided the year 2026 was a great place to start version numbering 🤖. Meanwhile, #GitHub continues to vomit #buzzwords like an over-caffeinated startup intern at a hackathon 🌀.
    github.com/anthropics/claude-c #Versioning #TechHumor #CodingNews #HackerNews #ngated

  19. 🎉BREAKING: Claude's code CLI is "broken" because someone decided the year 2026 was a great place to start version numbering 🤖. Meanwhile, #GitHub continues to vomit #buzzwords like an over-caffeinated startup intern at a hackathon 🌀.
    github.com/anthropics/claude-c #Versioning #TechHumor #CodingNews #HackerNews #ngated

  20. 🎉BREAKING: Claude's code CLI is "broken" because someone decided the year 2026 was a great place to start version numbering 🤖. Meanwhile, #GitHub continues to vomit #buzzwords like an over-caffeinated startup intern at a hackathon 🌀.
    github.com/anthropics/claude-c #Versioning #TechHumor #CodingNews #HackerNews #ngated

  21. 🎉BREAKING: Claude's code CLI is "broken" because someone decided the year 2026 was a great place to start version numbering 🤖. Meanwhile, #GitHub continues to vomit #buzzwords like an over-caffeinated startup intern at a hackathon 🌀.
    github.com/anthropics/claude-c #Versioning #TechHumor #CodingNews #HackerNews #ngated

  22. Мифы об обратной совместимости

    В любой дискуссии о версионировании — самые горячие споры обычно ведутся вокруг надуманной проблемы: «как нам при помощи правильной заверсионированности нивелировать нерадивость и низкую компетенцию наших сотрудников, не способных создавать обратно-совместимый код?». Эти споры не сто́ят выеденного яйца

    habr.com/ru/articles/983178/

    #semver #versioning #semantic_versioning #версионирование #версии

  23. New tutorial on The Main Thread!

    Ever had a demo break because an internal API changed overnight?
    Yeah… me too.

    Today’s article shows how to build Stripe-style API versioning in Quarkus — using date-based versions, adapters, and a clean canonical model.

    Perfect for Java devs who want zero-breakage API evolution.

    👉 the-main-thread.com/p/quarkus-

    #Java #Quarkus #API #Versioning #Stripe #JavaDev #CloudNative

  24. Today, DEVONthink To Go 4.0 Kepler has lifted off the launch ramp, following DEVONthink 4's course with all power levers full forward. Say hello to generative AI, custom metadata, a new powerful search language, smart groups, versioning, and revision-proof databases, all packaged into a user interface that embraces iOS 26's Liquid Glass design. #devonthinktogo #devonthink4 #upgrade #update #ai #search #metadata #versioning #auditproof #ios26 #pressrelease devontechnologies.com/blog/202

  25. Oh yes @carlton, please move Django to a calendar versioning! Django is one of the package with non-standard real major version change.

    One of the annoying issue with the current versioning:

    > Django 6.0 is (by design!) not a major change from the 5.2 LTS. Any x.0 release of Django could well have been the w.3 of the previous serious.

    See buttondown.com/carlton/archive

    #django #versioning

  26. My FOSS laws:

    1. You can ask, but not demand.
    2. You can help, but not enforce.
    3. You can critic, but not rant.
    4. You can compare, but not disparage.
    5. You can compete, but not sabotage.

    That should be the guidelines for any FOSS discussion.

    #FOSS #Free #OpenSource #FreeOpenSource #OpenSourceSoftware #Software #Subversion #Versioning #Git #GitHub #GitLab #Mercurial #OSS #SoftwareDevelopment #GNU #MIT

  27. My FOSS laws:

    1. You can ask, but not demand.
    2. You can help, but not enforce.
    3. You can critic, but not rant.
    4. You can compare, but not disparage.
    5. You can compete, but not sabotage.

    That should be the guidelines for any FOSS discussion.

    #FOSS #Free #OpenSource #FreeOpenSource #OpenSourceSoftware #Software #Subversion #Versioning #Git #GitHub #GitLab #Mercurial #OSS #SoftwareDevelopment #GNU #MIT

  28. My FOSS laws:

    1. You can ask, but not demand.
    2. You can help, but not enforce.
    3. You can critic, but not rant.
    4. You can compare, but not disparage.
    5. You can compete, but not sabotage.

    That should be the guidelines for any FOSS discussion.

    #FOSS #Free #OpenSource #FreeOpenSource #OpenSourceSoftware #Software #Subversion #Versioning #Git #GitHub #GitLab #Mercurial #OSS #SoftwareDevelopment #GNU #MIT

  29. My FOSS laws:

    1. You can ask, but not demand.
    2. You can help, but not enforce.
    3. You can critic, but not rant.
    4. You can compare, but not disparage.
    5. You can compete, but not sabotage.

    That should be the guidelines for any FOSS discussion.

    #FOSS #Free #OpenSource #FreeOpenSource #OpenSourceSoftware #Software #Subversion #Versioning #Git #GitHub #GitLab #Mercurial #OSS #SoftwareDevelopment #GNU #MIT

  30. My FOSS laws:

    1. You can ask, but not demand.
    2. You can help, but not enforce.
    3. You can critic, but not rant.
    4. You can compare, but not disparage.
    5. You can compete, but not sabotage.

    That should be the guidelines for any FOSS discussion.

    #FOSS #Free #OpenSource #FreeOpenSource #OpenSourceSoftware #Software #Subversion #Versioning #Git #GitHub #GitLab #Mercurial #OSS #SoftwareDevelopment #GNU #MIT

  31. 🟦 Adding Version Numbers to Copilot Studio Agents
    Confused whether end users are running the latest agent build? This video walks through simple, practical ways to surface agent version numbers so you can confirm deployments and audit changes. 💡

    • Add version info to the agent subtitle or conversation metadata for immediate visibility.
    • Read the version from Dataverse or expose it in the UX for quick checks.
    • Use no-code options (subtitle, conversations) or a low-code approach for tighter governance.

    ▶︎ hubsite365.com/en-ww/citizen-d

    Want a one-page checklist for implementation?
    #CopilotStudio #CustomAgents #Versioning #NoCode

  32. 🟦 Adding Version Numbers to Copilot Studio Agents
    Confused whether end users are running the latest agent build? This video walks through simple, practical ways to surface agent version numbers so you can confirm deployments and audit changes. 💡

    • Add version info to the agent subtitle or conversation metadata for immediate visibility.
    • Read the version from Dataverse or expose it in the UX for quick checks.
    • Use no-code options (subtitle, conversations) or a low-code approach for tighter governance.

    ▶︎ hubsite365.com/en-ww/citizen-d

    Want a one-page checklist for implementation?
    #CopilotStudio #CustomAgents #Versioning #NoCode

  33. 🟦 Adding Version Numbers to Copilot Studio Agents
    Confused whether end users are running the latest agent build? This video walks through simple, practical ways to surface agent version numbers so you can confirm deployments and audit changes. 💡

    • Add version info to the agent subtitle or conversation metadata for immediate visibility.
    • Read the version from Dataverse or expose it in the UX for quick checks.
    • Use no-code options (subtitle, conversations) or a low-code approach for tighter governance.

    ▶︎ hubsite365.com/en-ww/citizen-d

    Want a one-page checklist for implementation?

  34. [Перевод] Как структурировать маршруты в Gin: практическое руководство по созданию масштабируемого веб-API

    Команда Go for Devs подготовила перевод статьи о том, как грамотно организовать маршруты в Gin. Автор показывает, как группировка маршрутов помогает писать чистый, масштабируемый и легко поддерживаемый код. Если вы строите веб-API на Go — это навык, который стоит освоить.

    habr.com/ru/articles/955802/

    #go #golang #gin #api #routing #versioning

  35. [Перевод] Давай уже переключайся на Jujutsu: короткий туториал

    Если тебе не нравится Jujutsu - ты не прав. Как и многие разработчики, я пользуюсь git с начала времён - с тех пор, как его команды были непостижимым набором плохо сочетающихся заклинаний. И таким, по большей части, он остаётся по сей день. Не нужно и говорить, что я просто не понимаю git. Никогда не понимал, хотя прочитал кучу материалов о том, как он всё это внутри представляет. Годами я пользовался им, зная, что делают несколько команд, и каждый раз, когда git входил в какое-то странное состояние из-за того, что я промахнулся по клавише, у меня был мой надёжный алиас fuckgit , который удаляет директорию .git , клонирует репозиторий заново во временную папку, переносит оттуда .git в мою директорию - и так я как-то ухитрялся зарабатывать на жизнь и кормить семью. За последние несколько лет я всё чаще видел, как люди восторгаются Jujutsu , и всегда хотел попробовать, но мне казалось, что возни слишком много - даже несмотря на то, что я ненавижу git. Я лениво почитал несколько туториалов, пытаясь понять, как это работает, но в итоге решил, что это не для меня. Однажды я случайно решил попробовать снова, но на этот раз попросил Claude объяснить, как сделать в Jujutsu то, что я хотел сделать в git. И вот тогда в моей голове наконец сложилась ментальная модель jj - и я понял всё. Даже то, как работает git. Никогда бы не подумал, что система контроля версий может приносить радость, но вот я тут. И я решил, что, может быть, смогу написать что-то, что заставит jj «щёлкнуть» и у тебя.

    habr.com/ru/articles/955766/

    #git #jujutsu #versioning

  36. Cursed version numbering:

    v0.1, v0.5, v0.9, v1.0, v2.0
    v3.0
    v3.1
    v3.14
    v3.1415
    v3.14159
    v3.141599
    v26.0
    ....

    #versioning #funny #softwaredevelopment #dev