Walrus - Fast, Secure and Reliable System Backup, Set up in Minutes.

Walrus

Fast, Secure and Reliable System Backup, Set up in Minutes.


Dashboard Screenshots

Walrus is a fast, secure and reliable backup system suitable for modern infrastructure. With walrus, you can backup services like MySQL, PostgreSQL, Redis, etcd or a complete directory with a short interval and low overhead. It supports AWS S3, digitalocean spaces and any S3-compatible object storage service.

Documentation

Deployment

Download the latest walrus binary. Make it executable from everywhere.

$ curl -sL https://github.com/Clivern/Walrus/releases/download/vx.x.x/walrus_x.x.x_OS.tar.gz | tar xz

Then install etcd cluster or single node, please refer to etcd docs or bin directory inside this repository.

Run Walrus Tower:

Create the tower configs file tower.config.yml from config.dist.yml. Something like the following:

Please make sure to update the apiKey and encryptionKey to a different random values.

# Tower configs
tower:
    # Env mode (dev or prod)
    mode: ${WALRUS_APP_MODE:-dev}
    # HTTP port
    port: ${WALRUS_API_PORT:-8000}
    # URL
    url: ${WALRUS_API_URL:-http://127.0.0.1:8000}
    # TLS configs
    tls:
        status: ${WALRUS_API_TLS_STATUS:-off}
        pemPath: ${WALRUS_API_TLS_PEMPATH:-cert/server.pem}
        keyPath: ${WALRUS_API_TLS_KEYPATH:-cert/server.key}

    # API Configs
    api:
        key: ${WALRUS_API_KEY:-6c68b836-6f8e-465e-b59f-89c1db53afca}
        encryptionKey: ${WALRUS_ENCRYPTION_KEY:-B?E(H+Mb}

    # Async Workers
    workers:
        # Queue max capacity
        buffer: ${WALRUS_WORKERS_CHAN_CAPACITY:-5000}
        # Number of concurrent workers
        count: ${WALRUS_WORKERS_COUNT:-4}

    # Runtime, Requests/Response and Walrus Metrics
    metrics:
        prometheus:
            # Route for the metrics endpoint
            endpoint: ${WALRUS_METRICS_PROM_ENDPOINT:-/metrics}

    # Application Database
    database:
        # database driver
        driver: ${WALRUS_DB_DRIVER:-etcd}

        etcd:
            # etcd database name or prefix
            databaseName: ${WALRUS_DB_ETCD_DB:-walrus}
            # etcd username
            username: ${WALRUS_DB_ETCD_USERNAME:- }
            # etcd password
            password: ${WALRUS_DB_ETCD_PASSWORD:- }
            # etcd endpoints
            endpoints: ${WALRUS_DB_ETCD_ENDPOINTS:-http://127.0.0.1:2379}
            # Timeout in seconds
            timeout: 30

    # Log configs
    log:
        # Log level, it can be debug, info, warn, error, panic, fatal
        level: ${WALRUS_LOG_LEVEL:-info}
        # output can be stdout or abs path to log file /var/logs/walrus.log
        output: ${WALRUS_LOG_OUTPUT:-stdout}
        # Format can be json
        format: ${WALRUS_LOG_FORMAT:-json}

The run the tower with systemd

walrus tower -c /path/to/tower.config.yml

Run Walrus Agent:

Create the agent configs file agent.config.yml from config.dist.yml. Something like the following:

# Agent configs
agent:
    # Env mode (dev or prod)
    mode: ${WALRUS_APP_MODE:-dev}
    # HTTP port
    port: ${WALRUS_API_PORT:-8001}
    # URL
    url: ${WALRUS_API_URL:-http://127.0.0.1:8001}
    # TLS configs
    tls:
        status: ${WALRUS_API_TLS_STATUS:-off}
        pemPath: ${WALRUS_API_TLS_PEMPATH:-cert/server.pem}
        keyPath: ${WALRUS_API_TLS_KEYPATH:-cert/server.key}

    # API Configs
    api:
        key: ${WALRUS_API_KEY:-56e1a911-cc64-44af-9c5d-8c7e72ec96a1}

    # Async Workers
    workers:
        # Queue max capacity
        buffer: ${WALRUS_WORKERS_CHAN_CAPACITY:-5000}
        # Number of concurrent workers
        count: ${WALRUS_WORKERS_COUNT:-4}

    # Tower Configs
    tower:
        url: ${WALRUS_TOWER_URL:-http://127.0.0.1:8000}
        # This must match the one defined in tower config file
        apiKey: ${WALRUS_TOWER_API_KEY:-6c68b836-6f8e-465e-b59f-89c1db53afca}
        # This must match the one defined in tower config file
        encryptionKey: ${WALRUS_ENCRYPTION_KEY:-B?E(H+Mb}
        # Time interval between agent ping checks
        pingInterval: ${WALRUS_CHECK_INTERVAL:-60}

    # Backup settings
    backup:
        tmpDir: ${WALRUS_BACKUP_TMP_DIR:-/tmp}

    # Log configs
    log:
        # Log level, it can be debug, info, warn, error, panic, fatal
        level: ${WALRUS_LOG_LEVEL:-info}
        # output can be stdout or abs path to log file /var/logs/walrus.log
        output: ${WALRUS_LOG_OUTPUT:-stdout}
        # Format can be json
        format: ${WALRUS_LOG_FORMAT:-json}

The run the agent with systemd

walrus agent -c /path/to/agent.config.yml

Now you can open the walrus tower dashboard http://127.0.0.1:8000 and start the setup.

To run the Admin Dashboard (Development Only):

Clone the project or your own fork:

$ git clone https://github.com/Clivern/Walrus.git

Create the dashboard config file web/.env from web/.env.dist. Something like the following:

VUE_APP_TOWER_URL=http://localhost:8080

Then you can either build or run the dashboard

# Install npm packages
$ cd web
$ npm install

# Run Vuejs app
$ make serve_ui

# Build Vuejs app
$ make build_ui

# Any changes to the dashboard, must be reflected to cmd/pkged.go
# You can use these commands to do so
$ go get github.com/markbates/pkger/cmd/pkger
$ make package

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Walrus is maintained under the Semantic Versioning guidelines and release process is predictable and business-friendly.

See the Releases section of our GitHub project for changelogs for each release version of Walrus. It contains summaries of the most noteworthy changes made in each release.

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/clivern/walrus/issues

Security Issues

If you discover a security vulnerability within Walrus, please send an email to [email protected]

Contributing

We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.

License

ยฉ 2020, Clivern. Released under MIT License.

Walrus is authored and maintained by @clivern.

Comments
  • Support non-S3 path (MinIO-like)

    Support non-S3 path (MinIO-like)

    Is your feature request related to a problem? Please describe. I've tested the farthest that I was able to - but I couldn't get MinIO to work with Walrus - after loads of debug (public/download policies, IP/port change, new access key/secret, etc, I was not able to use MinIO with Walrus.

    I was also not able to find the reason why on the logs - but if you advise me how to find, I'll try my head to send it all here and send you.

    Describe the solution you'd like MinIO, by default, uses: hostname.tld/bucket-name/object-name, while S3 uses something like bucket-name.hostname.tld/object-name.

    Thus, a great way would be to add a switch or a case, if possible, for both situations.

    If I'm mistaken, I'm looking forward to correct soon enough - and also contribute to the project if possible! ๐Ÿ˜„

  • Update dependency eslint to v7.27.0

    Update dependency eslint to v7.27.0

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 7.18.0 -> 7.27.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v7.27.0

    Compare Source

    v7.26.0

    Compare Source

    v7.25.0

    Compare Source

    v7.24.0

    Compare Source

    v7.23.0

    Compare Source

    v7.22.0

    Compare Source

    v7.21.0

    Compare Source

    v7.20.0

    Compare Source

    v7.19.0

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป๏ธ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Update dependency vuex to v4

    Update dependency vuex to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vuex | 3.6.2 -> 4.1.0 | age | adoption | passing | confidence |


    Release Notes

    vuejs/vuex

    v4.1.0

    Compare Source

    Vue Core Version Requirement Change

    This release contains an important fix (#โ€‹1883) that relies on the effectScope API from Vue core, which is only available in Vue 3.2+.

    Bug Fixes

    4.0.2 (2021-06-17)

    Bug Fixes

    4.0.1 (2021-05-24)

    Features

    v4.0.2

    Compare Source

    Bug Fixes

    v4.0.1

    Compare Source

    Features

    v4.0.0

    Compare Source

    This is the official Vuex 4 release.

    The focus for Vuex 4 is compatibility. Vuex 4 supports Vue 3, and it provides the exact same API as Vuex 3, so users can reuse their existing Vuex code with Vue 3.

    There are a few breaking changes described in a later section, so please check them out.

    You can find basic usage with both Option and Composition API in the example directory.

    It's still released under next tag in NPM package as same as Vue 3. We're planning to remove next tag once Vue 3 is ready to remove it.

    There have been a lot of contribution to make Vuex 4 stable. Thank you all for your very much appreciated help. It wouldn't have been possible without this wonderful Vue community!

    Documentation

    To check out docs, visit next.vuex.vuejs.org.

    Breaking changes

    Installation process has changed

    To align with the new Vue 3 initialization process, the installation process of Vuex has changed.

    To create a new store instance, users are now encouraged to use the newly introduced createStore function.

    import { createStore } from 'vuex'
    
    export const store = createStore({
      state() {
        return {
          count: 1
        }
      }
    })
    

    Whilst this is not technically a breaking change, you may still use the new Store(...) syntax, we recommend this approach to align with Vue 3 and Vue Router Next.

    To install Vuex to a Vue instance, pass the store instance instead of Vuex.

    import { createApp } from 'vue'
    import { store } from './store'
    import App from './App.vue'
    
    const app = createApp(App)
    
    app.use(store)
    
    app.mount('#app')
    
    Bundles are now aligned with Vue 3

    The following bundles are generated to align with Vue 3 bundles:

    • vuex.global(.prod).js
      • For direct use with <script src="..."> in the browser. Exposes the Vuex global.
      • Global build is built as IIFE, and not UMD, and is only meant for direct use with <script src="...">.
      • Contains hard-coded prod/dev branches and the prod build is pre-minified. Use the .prod.js files for production.
    • vuex.esm-browser(.prod).js
      • For use with native ES module imports (including module supporting browsers via <script type="module">.
    • vuex.esm-bundler.js
      • For use with bundlers such as webpack, rollup and parcel.
      • Leaves prod/dev branches with process.env.NODE_ENV guards (must be replaced by bundler).
      • Does not ship minified builds (to be done together with the rest of the code after bundling).
    • vuex.cjs.js
      • For use in Node.js server-side rendering with require().
    Typings for ComponentCustomProperties

    Vuex 4 removes its global typings for this.$store within Vue Component to solve issue #โ€‹994. When used with TypeScript, you must declare your own module augmentation.

    Place the following code in your project to allow this.$store to be typed correctly:

    // vuex-shim.d.ts
    
    import { ComponentCustomProperties } from 'vue'
    import { Store } from 'vuex'
    
    declare module '@&#8203;vue/runtime-core' {
      // Declare your own store states.
      interface State {
        count: number
      }
    
      interface ComponentCustomProperties {
        $store: Store<State>
      }
    }
    
    createLogger function is exported from the core module

    In Vuex 3, createLogger function was exported from vuex/dist/logger but it's now included in the core package. You should import the function directly from vuex package.

    import { createLogger } from 'vuex'
    
    Bug Fixes Included Since 4.0.0-rc.2

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue to v3

    Update dependency vue to v3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue (source) | 2.7.14 -> 3.2.45 | age | adoption | passing | confidence |


    Release Notes

    vuejs/core

    v3.2.45

    Compare Source

    Bug Fixes

    v3.2.44

    Compare Source

    Bug Fixes

    v3.2.43

    Compare Source

    Bug Fixes
    • watch: ensure oldValue in multi-source watcher is always an array (23e85e2), closes #โ€‹7070

    v3.2.42

    Compare Source

    Bug Fixes

    v3.2.41

    Compare Source

    Bug Fixes

    v3.2.40

    Compare Source

    Bug Fixes

    v3.2.39

    Compare Source

    Bug Fixes

    v3.2.38

    Compare Source

    Bug Fixes
    Features
    • custom-elements: automatically respect custom elements when compiling in browser (9f8f07e)
    Performance Improvements

    v3.2.37

    Compare Source

    Bug Fixes

    v3.2.36

    Compare Source

    Bug Fixes
    Performance Improvements

    v3.2.35

    Compare Source

    Bug Fixes

    v3.2.34

    Compare Source

    Bug Fixes

    v3.2.33

    Compare Source

    Bug Fixes

    v3.2.32

    Compare Source

    Bug Fixes

    v3.2.31

    Compare Source

    Bug Fixes

    v3.2.30

    Compare Source

    Features
    • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #โ€‹5304
    Performance Improvements
    • reactivity: optimize effect/effectScope active state tracking (2993a24)

    v3.2.29

    Compare Source

    Bug Fixes

    v3.2.28

    Compare Source

    v3.2.27

    Compare Source

    Bug Fixes
    Features
    • types: simplify ExtractPropTypes to avoid props JSDocs being removed (#โ€‹5166) (a570b38)
    Performance Improvements
    • improve memory usage for static vnodes (ed9eb62)

    v3.2.26

    Compare Source

    v3.2.25

    Compare Source

    Bug Fixes
    • compiler-sfc: generate valid TS in script and script setup co-usage with TS (7e4f0a8), closes #โ€‹5094
    • compiler: force block for custom dirs and inline beforeUpdate hooks (1c9a481)
    • runtime-core: disallow recurse in vnode/directive beforeUpdate hooks (a1167c5)
    Features
    • compiler-core: support aliasing vue: prefixed events to inline vnode hooks (4b0ca87)
    • experimental: allow const for ref sugar declarations (9823bd9)
    • reactivity-transform/types: restructure macro types + export types for all shorthand methods (db729ce)
    • reactivity-transform: $$() escape for destructured prop bindings (198ca14)
    • reactivity-transform: rename @โ€‹vue/ref-transform to @โ€‹vue/reactivity-transform (d70fd8d)
    • reactivity-transform: support $-shorthands for all ref-creating APIs (179fc05)
    • reactivity-transform: support optionally importing macros (fbd0fe9)
    • reactivity-transform: use toRef() for $() destructure codegen (93ba6b9)
    • reactivity: support default value in toRef() (2db9c90)
    • sfc-playground: add github link (#โ€‹5067) (9ac0dde)
    • sfc-playground: prevent ctrl+s default behavior (#โ€‹5066) (b027507)
    • support ref in v-for, remove compat deprecation warnings (41c18ef)

    v3.2.24

    Compare Source

    Bug Fixes
    Features
    • types/script-setup: add gene

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue-router to v4

    Update dependency vue-router to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue-router | 3.6.5 -> 4.1.5 | age | adoption | passing | confidence |


    Release Notes

    vuejs/router

    v4.1.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.0

    Compare Source

    Vue Router 4.1

    We are excited to announce the release of Vue Router 4.1 with a few new interesting features, better support for Node ESM and no breaking changes.

    Omitting the component/components option in routes

    It's now possible to completely omit the component option when defining routes with children. While nested routes are about defining layouts, they are also directly connected to a path and users often found themselves defining a pass through component that would just render a <RouterView> component to reuse the path structure. You can now simplify this to:

    - import { RouterView } from 'vue-router'
    - import { h } from 'vue'
    -
     const routes = [
       {
         path: '/admin',
    -     component: () => h(RouterView),
         children: [
           { path: 'users', component: AdminUserList },
           { path: 'users/:id', component: AdminUserDetails },
         ],
       },
     ]
    

    In other words, you can now nest paths without having to define a component.

    Passing History State in navigations

    Passing History State through router.push() has been implemented and used by the router since its version 4.0 but hasn't been exposed as a public API until now. This enables passing a state property when calling router.push() or router.replace(). This is useful to pass global state to be associated with the history entry that cannot be shared by copying the URL. One common example of this are Modals:

    // go to /users/24 but show a modal instead
    router.push({ name: 'UserDetail', params: { id: 24 } state: { backgroundView: ... } })
    

    To see a full example, check the modal e2e test, it has been updated to use the state property.

    It's worth noting this shouldn't be used to pass fetched data or complex objects such as classes because of type and size limitations. Check the History State documentation for more information about the state property.

    Given the nature of the <RouterView>'s route prop, there is also a new function loadRouteLocation() that can be used on a resolved route location to load a route with lazy loading:

    import { loadRouteLocation } from 'vue-router'
    
    const loadedRoute = await loadRouteLocation(router.resolve('/users/24'))
    

    Typed Routes

    RouterLink to autocomplete

    In v4.1 we were initially planning to introduce types to automatically detect the params from a path property, creating autocomplete and type safety in router.push() and <RouterLink>'s to prop. It was implemented but also turned out to be extremely slow after ~50 routes due to the nature of the types relying on nesting and complex unions. Instead, we are introducing a build plugin to generate the types of the routes for you based your file structure. This is similar to Nuxt and Vite Plugin Pages but with full type support (similar to nuxt-typed-router) while allowing you to keep using the exact same API, just with Autocompletion and typing hints ๐Ÿ˜„. The plugin currently supports Vite, Webpack (with some caveats), and rollup and it's currently experimental to gather feedback from the community and build a flexible solution. We hope to release a stable version in the following months.

    Check out the plugin GitHub repository for installation instructions and documentation.

    Here are some other examples of how much this plugin can improves your developer experience: |params validation in RouterLink|Route infer from if condition|Typed routes in navigation guards| |-|-|-|

    CJS/MJS support for Node

    We now expose a few extra entry points for Node but kept the old ones as well to prevent any disruption to the existing users. You can find more information about this in the corresponding pull request.


    Please refer to CHANGELOG.md for details.

    v4.0.16

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.15

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.14

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.13

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.12

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.11

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.10

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.9

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.8

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.7

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.6

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.0

    Compare Source

    Vue logo

    A more complete but lighter Router

    Today Vue Router 4 is officially released as stable. After 14 alphas, 13 betas and 6 release candidates, Vue Router v4 is ready to bring the best of routing to your Vue 3 applications with improved bundle size, TypeScript integration, new features and consistency improvements for modern apps.

    It has taken almost 2 years of work, around 1500 commits, 15 RFCs, and the help of many users and their bug reports and feature requests to get here. Thank you all for your very much appreciated help!

    Project Organization improvements

    Vue Router is now divided in three modules:

    • History implementation: handles the address bar and is specific to the environment Vue Router runs on (Node, Browser, Mobile, etc)
    • Router Matcher: handles the parsing of routes /users/:id and its ranking
    • Router: connects everything together and handle routing specific features like navigation guards
    Dynamic Routing

    One the most wanted features on Vue Router is Dynamic Routing. It makes the router more flexible and powerful and open possibilities for applications that were not possible before! This is possible thanks to an advanced path parsing with automatic ranking, allowing the router to guess what route should be matched based on the URL string representation, allowing user to define routes in any order.

    Improved Navigation system

    The new navigation system is more consistent and improves the experience of Scroll Behavior to match native browser behavior. It also gives users almost more information about the status of a navigation and allow using that information to improve user experience through global UI elements like progress bars and modals.

    More powerful Devtools

    Thanks to the new Vue Devtools, Vue Router is able to create more advanced integrations: navigation in the timeline and a complete route directory that helps you debug routes.

    Better Navigation guards

    Say good bye to next and avoid easy-to-make mistakes inside navigation guards: return any value you were passing to next. The previous version is still supported to ease migration!

    More information on the updated documentation.

    Consistent encoding in routes

    Encoding has been adapted to make it consistent across different browsers and route location properties (params, query and hash). You don't need to encode these properties when passing them to router.push() and they will always appear decoded in the route locations (e.g. $route and useRoute()).

    Small migration path

    Vue Router 4 focus on improving the existing Router while keeping a very similar API, migration should be short and almost limited to a few renames if you were using the basics of Vue Router. You can check the full migration guide on the documentation

    The future of the Router

    Vue Router has been effectively stable for the past couple of months and makes it possible to now focus on:

    • Better Developer experience with existing tooling (Vetur, Vite, Devtools, etc)
    • Better integration with modern features like Suspense
    • RFCs to improve the existing API or bring new ones
    • Lighter versions of the router
    Trying It Out

    If you want to give Vue Router 4 a quick try, you can check this CodeSandbox, this Vite template with Tailwind CSS, or use the CLI to get started.

    To Learn more about Vue Router 4, check out our new documentation. If you are an existing Vue 2.x user, go directly to the Migration Guide.

    Supporting Vue Router Development

    If your company uses Vue Router, please consider supporting its development by supporting me ๐Ÿ™ . It will mean a lot and really help me to keep working on improving the Vue Ecosystem.


    If you were already using the release candidate version of vue router, you can find the list of improvements on the CHANGELOG.md.


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue-router to v4

    Update dependency vue-router to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue-router | 3.5.4 -> 4.1.2 | age | adoption | passing | confidence |


    Release Notes

    vuejs/router

    v4.1.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.1.0

    Compare Source

    Vue Router 4.1

    We are excited to announce the release of Vue Router 4.1 with a few new interesting features, better support for Node ESM and no breaking changes.

    Omitting the component/components option in routes

    It's now possible to completely omit the component option when defining routes with children. While nested routes are about defining layouts, they are also directly connected to a path and users often found themselves defining a pass through component that would just render a <RouterView> component to reuse the path structure. You can now simplify this to:

    - import { RouterView } from 'vue-router'
    - import { h } from 'vue'
    -
     const routes = [
       {
         path: '/admin',
    -     component: () => h(RouterView),
         children: [
           { path: 'users', component: AdminUserList },
           { path: 'users/:id', component: AdminUserDetails },
         ],
       },
     ]
    

    In other words, you can now nest paths without having to define a component.

    Passing History State in navigations

    Passing History State through router.push() has been implemented and used by the router since its version 4.0 but hasn't been exposed as a public API until now. This enables passing a state property when calling router.push() or router.replace(). This is useful to pass global state to be associated with the history entry that cannot be shared by copying the URL. One common example of this are Modals:

    // go to /users/24 but show a modal instead
    router.push({ name: 'UserDetail', params: { id: 24 } state: { backgroundView: ... } })
    

    To see a full example, check the modal e2e test, it has been updated to use the state property.

    It's worth noting this shouldn't be used to pass fetched data or complex objects such as classes because of type and size limitations. Check the History State documentation for more information about the state property.

    Given the nature of the <RouterView>'s route prop, there is also a new function loadRouteLocation() that can be used on a resolved route location to load a route with lazy loading:

    import { loadRouteLocation } from 'vue-router'
    
    const loadedRoute = await loadRouteLocation(router.resolve('/users/24'))
    

    Typed Routes

    RouterLink to autocomplete

    In v4.1 we were initially planning to introduce types to automatically detect the params from a path property, creating autocomplete and type safety in router.push() and <RouterLink>'s to prop. It was implemented but also turned out to be extremely slow after ~50 routes due to the nature of the types relying on nesting and complex unions. Instead, we are introducing a build plugin to generate the types of the routes for you based your file structure. This is similar to Nuxt and Vite Plugin Pages but with full type support (similar to nuxt-typed-router) while allowing you to keep using the exact same API, just with Autocompletion and typing hints ๐Ÿ˜„. The plugin currently supports Vite, Webpack (with some caveats), and rollup and it's currently experimental to gather feedback from the community and build a flexible solution. We hope to release a stable version in the following months.

    Check out the plugin GitHub repository for installation instructions and documentation.

    Here are some other examples of how much this plugin can improves your developer experience: |params validation in RouterLink|Route infer from if condition|Typed routes in navigation guards| |-|-|-|

    CJS/MJS support for Node

    We now expose a few extra entry points for Node but kept the old ones as well to prevent any disruption to the existing users. You can find more information about this in the corresponding pull request.


    Please refer to CHANGELOG.md for details.

    v4.0.16

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.15

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.14

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.13

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.12

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.11

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.10

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.9

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.8

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.7

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.6

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.5

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.4

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.3

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.2

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.1

    Compare Source

    Please refer to CHANGELOG.md for details.

    v4.0.0

    Compare Source

    Vue logo

    ##### A more complete but lighter Router

    Today Vue Router 4 is officially released as stable. After 14 alphas, 13 betas and 6 release candidates, Vue Router v4 is ready to bring the best of routing to your Vue 3 applications with improved bundle size, TypeScript integration, new features and consistency improvements for modern apps.

    It has taken almost 2 years of work, around 1500 commits, 15 RFCs, and the help of many users and their bug reports and feature requests to get here. Thank you all for your very much appreciated help!

    Project Organization improvements

    Vue Router is now divided in three modules:

    • History implementation: handles the address bar and is specific to the environment Vue Router runs on (Node, Browser, Mobile, etc)
    • Router Matcher: handles the parsing of routes /users/:id and its ranking
    • Router: connects everything together and handle routing specific features like navigation guards
    Dynamic Routing

    One the most wanted features on Vue Router is Dynamic Routing. It makes the router more flexible and powerful and open possibilities for applications that were not possible before! This is possible thanks to an advanced path parsing with automatic ranking, allowing the router to guess what route should be matched based on the URL string representation, allowing user to define routes in any order.

    Improved Navigation system

    The new navigation system is more consistent and improves the experience of Scroll Behavior to match native browser behavior. It also gives users almost more information about the status of a navigation and allow using that information to improve user experience through global UI elements like progress bars and modals.

    More powerful Devtools

    Thanks to the new Vue Devtools, Vue Router is able to create more advanced integrations: navigation in the timeline and a complete route directory that helps you debug routes.

    Better Navigation guards

    Say good bye to next and avoid easy-to-make mistakes inside navigation guards: return any value you were passing to next. The previous version is still supported to ease migration!

    More information on the updated documentation.

    Consistent encoding in routes

    Encoding has been adapted to make it consistent across different browsers and route location properties (params, query and hash). You don't need to encode these properties when passing them to router.push() and they will always appear decoded in the route locations (e.g. $route and useRoute()).

    Small migration path

    Vue Router 4 focus on improving the existing Router while keeping a very similar API, migration should be short and almost limited to a few renames if you were using the basics of Vue Router. You can check the full migration guide on the documentation

    The future of the Router

    Vue Router has been effectively stable for the past couple of months and makes it possible to now focus on:

    • Better Developer experience with existing tooling (Vetur, Vite, Devtools, etc)
    • Better integration with modern features like Suspense
    • RFCs to improve the existing API or bring new ones
    • Lighter versions of the router
    Trying It Out

    If you want to give Vue Router 4 a quick try, you can check this CodeSandbox, this Vite template with Tailwind CSS, or use the CLI to get started.

    To Learn more about Vue Router 4, check out our new documentation. If you are an existing Vue 2.x user, go directly to the Migration Guide.

    Supporting Vue Router Development

    If your company uses Vue Router, please consider supporting its development by supporting me ๐Ÿ™ . It will mean a lot and really help me to keep working on improving the Vue Ecosystem.


    If you were already using the release candidate version of vue router, you can find the list of improvements on the CHANGELOG.md.


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency prettier to v2.7.1

    Update dependency prettier to v2.7.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.6.2 -> 2.7.1 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.7.1

    Compare Source

    diff

    Keep useful empty lines in description (#โ€‹13013 by @โ€‹chimurai)

    v2.7.0

    Compare Source

    """ First line Second Line """ type Person { name: String }

    v2.6.2

    Compare Source

    diff

    Fix LESS/SCSS format error (#โ€‹12536 by @โ€‹fisker)
    // Input
    .background-gradient(@&#8203;cut) {
        background: linear-gradient(
            to right,
            @&#8203;white 0%,
            @&#8203;white (@&#8203;cut - 0.01%),
            @&#8203;portal-background @&#8203;cut,
            @&#8203;portal-background 100%
        );
    }
    
    // Prettier 2.6.1
    TypeError: Cannot read properties of undefined (reading 'endOffset')
    
    // Prettier 2.6.2
    .background-gradient(@&#8203;cut) {
      background: linear-gradient(
        to right,
        @&#8203;white 0%,
        @&#8203;white (@&#8203;cut - 0.01%),
        @&#8203;portal-background @&#8203;cut,
        @&#8203;portal-background 100%
      );
    }
    
    Update meriyah to fix several bugs (#โ€‹12567 by @โ€‹fisker, fixes in meriyah by @โ€‹3cp)

    Fixes bugs when parsing following valid code:

    foo(await bar());
    
    const regex = /.*/ms;
    
    const element = <p>{/w/.test(s)}</p>;
    
    class A extends B {
      #privateMethod() {
        super.method();
      }
    }
    

    v2.6.1

    Compare Source

    diff

    Ignore loglevel when printing information (#โ€‹12477 by @โ€‹fisker)

    v2.6.0

    Compare Source

    prettier --loglevel silent --find-config-path index.js

    v2.5.1

    Compare Source

    diff

    Improve formatting for empty tuple types (#โ€‹11884 by @โ€‹sosukesuzuki)
    // Input
    type Foo =
      Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
        ? Foo3
        : Foo4;
    
    // Prettier 2.5.0
    type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
    
    ]
      ? Foo3
      : Foo4;
    
    // Prettier 2.5.0 (tailingCommma = all)
    // Invalid TypeScript code
    type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
      ,
    ]
      ? Foo3
      : Foo4;
    
    // Prettier 2.5.1
    type Foo =
      Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
        ? Foo3
        : Foo4;
    
    
    Fix compatibility with Jest inline snapshot test (#โ€‹11892 by @โ€‹fisker)

    A internal change in [email protected] accidentally breaks the Jest inline snapshot test.

    Support Glimmer's named blocks (#โ€‹11899 by @โ€‹duailibe)

    Prettier already supported this feature, but it converted empty named blocks to self-closing, which is not supported by the Glimmer compiler.

    See: Glimmer's named blocks.

    // Input
    <Component>
      <:named></:named>
    </Component>
    
    // Prettier 2.5.0
    <Component>
      <:named />
    </Component>
    
    // Prettier 2.5.1
    <Component>
      <:named></:named>
    </Component>
    

    v2.5.0

    Compare Source

    diff

    ๐Ÿ”— Release Notes

    v2.4.1

    Compare Source

    diff

    Fix wildcard syntax in @forward (#โ€‹11482) (#โ€‹11487 by @โ€‹niksy)
    // Input
    @&#8203;forward "library" as btn-*;
    
    // Prettier 2.4.0
    @&#8203;forward "library" as btn- *;
    
    // Prettier 2.4.1
    @&#8203;forward "library" as btn-*;
    
    Add new CLI option debug-print-ast (#โ€‹11514 by @โ€‹sosukesuzuki)

    A new --debug-print-ast CLI flag for debugging.

    v2.4.0

    Compare Source

    diff

    ๐Ÿ”— Release Notes


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency prettier to v2.7.0

    Update dependency prettier to v2.7.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.6.2 -> 2.7.0 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.7.0

    Compare Source

    diff

    ๐Ÿ”— Release Notes

    v2.6.2

    Compare Source

    diff

    Fix LESS/SCSS format error (#โ€‹12536 by @โ€‹fisker)
    // Input
    .background-gradient(@&#8203;cut) {
        background: linear-gradient(
            to right,
            @&#8203;white 0%,
            @&#8203;white (@&#8203;cut - 0.01%),
            @&#8203;portal-background @&#8203;cut,
            @&#8203;portal-background 100%
        );
    }
    
    // Prettier 2.6.1
    TypeError: Cannot read properties of undefined (reading 'endOffset')
    
    // Prettier 2.6.2
    .background-gradient(@&#8203;cut) {
      background: linear-gradient(
        to right,
        @&#8203;white 0%,
        @&#8203;white (@&#8203;cut - 0.01%),
        @&#8203;portal-background @&#8203;cut,
        @&#8203;portal-background 100%
      );
    }
    
    Update meriyah to fix several bugs (#โ€‹12567 by @โ€‹fisker, fixes in meriyah by @โ€‹3cp)

    Fixes bugs when parsing following valid code:

    foo(await bar());
    
    const regex = /.*/ms;
    
    const element = <p>{/w/.test(s)}</p>;
    
    class A extends B {
      #privateMethod() {
        super.method();
      }
    }
    

    v2.6.1

    Compare Source

    diff

    Ignore loglevel when printing information (#โ€‹12477 by @โ€‹fisker)

    v2.6.0

    Compare Source

    prettier --loglevel silent --find-config-path index.js

    v2.5.1

    Compare Source

    diff

    Improve formatting for empty tuple types (#โ€‹11884 by @โ€‹sosukesuzuki)
    // Input
    type Foo =
      Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
        ? Foo3
        : Foo4;
    
    // Prettier 2.5.0
    type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
    
    ]
      ? Foo3
      : Foo4;
    
    // Prettier 2.5.0 (tailingCommma = all)
    // Invalid TypeScript code
    type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
      ,
    ]
      ? Foo3
      : Foo4;
    
    // Prettier 2.5.1
    type Foo =
      Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
        ? Foo3
        : Foo4;
    
    
    Fix compatibility with Jest inline snapshot test (#โ€‹11892 by @โ€‹fisker)

    A internal change in [email protected] accidentally breaks the Jest inline snapshot test.

    Support Glimmer's named blocks (#โ€‹11899 by @โ€‹duailibe)

    Prettier already supported this feature, but it converted empty named blocks to self-closing, which is not supported by the Glimmer compiler.

    See: Glimmer's named blocks.

    // Input
    <Component>
      <:named></:named>
    </Component>
    
    // Prettier 2.5.0
    <Component>
      <:named />
    </Component>
    
    // Prettier 2.5.1
    <Component>
      <:named></:named>
    </Component>
    

    v2.5.0

    Compare Source

    diff

    ๐Ÿ”— Release Notes

    v2.4.1

    Compare Source

    diff

    Fix wildcard syntax in @forward (#โ€‹11482) (#โ€‹11487 by @โ€‹niksy)
    // Input
    @&#8203;forward "library" as btn-*;
    
    // Prettier 2.4.0
    @&#8203;forward "library" as btn- *;
    
    // Prettier 2.4.1
    @&#8203;forward "library" as btn-*;
    
    Add new CLI option debug-print-ast (#โ€‹11514 by @โ€‹sosukesuzuki)

    A new --debug-print-ast CLI flag for debugging.

    v2.4.0

    Compare Source

    diff

    ๐Ÿ”— Release Notes


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency core-js to v3.23.1

    Update dependency core-js to v3.23.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | core-js | 3.22.6 -> 3.23.1 | age | adoption | passing | confidence |


    Release Notes

    zloirock/core-js

    v3.23.1

    Compare Source

    • Fixed possible error on multiple core-js copies, #โ€‹1091
    • Added v flag to RegExp.prototype.flags implementation in case if current V8 bugs will not be fixed before this flag implementation

    v3.23.0

    Compare Source

    • Array find from last moved to the stable ES, according to June 2022 TC39 meeting:
      • Array.prototype.findLast
      • Array.prototype.findLastIndex
      • %TypedArray%.prototype.findLast
      • %TypedArray%.prototype.findLastIndex
    • Methods from the Array grouping proposal renamed, according to June 2022 TC39 meeting:
      • Array.prototype.groupBy -> Array.prototype.group
      • Array.prototype.groupByToMap -> Array.prototype.groupToMap
    • Changed the order of operations in %TypedArray%.prototype.with following proposal-change-array-by-copy/86, according to June 2022 TC39 meeting
    • Decorator Metadata proposal extracted from Decorators proposal as a separate stage 2 proposal, according to March 2022 TC39 meeting, Symbol.metadataKey replaces Symbol.metadata
    • Added Array.prototype.push polyfill with some fixes for modern engines
    • Added Array.prototype.unshift polyfill with some fixes for modern engines
    • Fixed a bug in the order of getting flags in RegExp.prototype.flags in the actual version of V8
    • Fixed property descriptors of some Math and Number constants
    • Added a workaround of V8 ArrayBufferDetaching protector cell invalidation and performance degradation on structuredClone feature detection, one more case of #โ€‹679
    • Added detection of NodeJS bug in structuredClone that can not clone DOMException (just in case for future versions that will fix other issues)
    • Compat data:
      • Added NodeJS 18.3 compat data mapping
      • Added and fixed Deno 1.22 and 1.21 compat data mapping
      • Added Opera Android 69 compat data mapping
      • Updated Electron 20.0 compat data mapping

    v3.22.8

    Compare Source

    • Fixed possible multiple call of ToBigInt / ToNumber conversion of the argument passed to %TypedArray%.prototype.fill in V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18
    • Fixed some cases of DeletePropertyOrThrow in IE9-
    • Fixed the kind of error (TypeError instead of Error) on incorrect exec result in RegExp.prototype.test polyfill
    • Fixed dependencies of { actual, full, features }/typed-array/at entries
    • Added Electron 20.0 compat data mapping
    • Added iOS Safari 15.5 compat data mapping
    • Refactoring

    v3.22.7

    Compare Source

    • Added a workaround for V8 ~ Chrome 53 bug with non-writable prototype of some methods, #โ€‹1083

    v3.22.6

    Compare Source

    • Fixed possible double call of ToNumber conversion on arguments of Math.{ fround, trunc } polyfills
    • Array.prototype.includes marked as fixed in FF102

    v3.22.5

    Compare Source

    • Ensured that polyfilled constructors .prototype is non-writable
    • Ensured that polyfilled methods .prototype is not defined
    • Added detection and fix of a V8 ~ Chrome <103 bug of struturedClone that returns null if cloned object contains multiple references to one error

    v3.22.4

    Compare Source

    • Ensured proper .length of polyfilled functions even in compressed code (excepting some ancient engines)
    • Ensured proper .name of polyfilled accessors (excepting some ancient engines)
    • Ensured proper source / ToString conversion of polyfilled accessors
    • Actualized Rhino compat data
    • Refactoring

    v3.22.3

    Compare Source

    • Added a fix for FF99+ Array.prototype.includes broken on sparse arrays

    v3.22.2

    Compare Source

    • Fixed URLSearchParams in IE8- that was broken in the previous release
    • Fixed __lookupGetter__ entries

    v3.22.1

    Compare Source

    • Improved some cases of RegExp flags handling
    • Prevented experimental warning in NodeJS ~ 18.0 on detection fetch API
    • Added NodeJS 18.0 compat data

    v3.22.0

    Compare Source

    • Change Array by copy proposal:
      • Moved to Stage 3, March TC39 meeting
      • Disabled forced replacement and added /actual/ entry points for methods from this proposal
      • Array.prototype.toSpliced throws a TypeError instead of RangeError if the result length is more than MAX_SAFE_INTEGER, proposal-change-array-by-copy/70
    • Added some more atob / btoa fixes:
      • NodeJS <17.9 atob does not ignore spaces, node/42530
      • Actual NodeJS atob does not validate encoding, node/42646
      • FF26- implementation does not properly convert argument to string
      • IE / Edge <16 implementation have wrong arity
    • Added /full/ namespace as the replacement for /features/ since it's more descriptive in context of the rest namespaces (/es/ โŠ† /stable/ โŠ† /actual/ โŠ† /full/)
    • Avoided propagation of removed parts of proposals to upper stages. For example, %TypedArray%.prototype.groupBy was removed from the Array grouping proposal a long time ago. We can't completely remove this method since it's a breaking change. But this proposal has been promoted to stage 3 - so the proposal should be promoted without this method, this method should not be available in /actual/ entries - but it should be available in early-stage entries to avoid breakage.
    • Significant internal refactoring and splitting of modules (but without exposing to public API since it will be a breaking change - it will be exposed in the next major version)
    • Bug fixes:
      • Fixed work of non-standard V8 Error features with wrapped Error constructors, #โ€‹1061
      • null and undefined allowed as the second argument of structuredClone, #โ€‹1056
    • Tooling:
      • Stabilized proposals are filtered out from the core-js-compat -> core-js-builder -> core-js-bundle output. That mean that if the output contains, for example, es.object.has-own, the legacy reference to it, esnext.object.has-own, no longer added.
      • Aligned modules filters of core-js-builder and core-js-compat, now it's modules and exclude options
      • Added support of entry points, modules, regexes, and arrays of them to those filters
      • Missed targets option of core-js-compat means that the targets filter just will not be applied, so the result will contain modules required for all possible engines
    • Compat data:
      • .stack property on DOMException marked as supported from Deno 1.15
      • Added Deno 1.21 compat data mapping
      • Added Electron 19.0 and updated 18.0 compat data mapping
      • Added Samsung Internet 17.0 compat data mapping
      • Added Opera Android 68 compat data mapping

    v3.21.1

    Compare Source

    • Added a bugfix for the WebKit Array.prototype.{ groupBy, groupByToMap } implementation
    • core-js-compat targets parser transforms engine names to lower case
    • atob / btoa marked as fixed in NodeJS 17.5
    • Added Electron 18.0 compat data mapping
    • Added Deno 1.20 compat data mapping

    v3.21.0

    Compare Source

    • Added Base64 utility methods:
      • atob
      • btoa
    • Added the proper validation of arguments to some methods from web standards
    • Forced replacement of all features from early-stage proposals for avoiding possible web compatibility issues in the future
    • Added Rhino 1.7.14 compat data
    • Added Deno 1.19 compat data mapping
    • Added Opera Android 66 and 67 compat data mapping
    • Added iOS Safari 15.3 and 15.4 compat data mapping

    v3.20.3

    Compare Source

    • Detects and replaces broken third-party Function#bind polyfills, uses only native Function#bind in the internals
    • structuredClone should throw an error if no arguments passed
    • Changed the structure of notes in __core-js_shared__

    v3.20.2

    Compare Source

    v3.20.1

    Compare Source

    • Fixed the order of calling reactions of already fulfilled / rejected promises in Promise.prototype.then, #โ€‹1026
    • Fixed possible memory leak in specific promise chains
    • Fixed some missed dependencies of entries
    • Added Deno 1.18 compat data mapping

    v3.20.0

    Compare Source

    • Added structuredClone method from the HTML spec, see MDN
      • Includes all cases of cloning and transferring of required ECMAScript and platform types that can be polyfilled, for the details see the caveats
      • Uses native structured cloning algorithm implementations where it's possible
      • Includes the new semantic of errors cloning from html/5749
    • Added DOMException polyfill, the Web IDL spec, see MDN
      • Includes DOMException and its attributes polyfills with fixes of many different engines bugs
      • Includes DOMException#stack property polyfill in engines that should have it
      • Reuses native DOMException implementations where it's possible (for example, in old NodeJS where it's not exposed as global)
    • Added support of cause on all Error types
    • Added Error.prototype.toString method polyfill with fixes of many different bugs of JS engines
    • Added Number.prototype.toExponential method polyfill with fixes of many different bugs of JS engines
    • Array grouping proposal:
      • Moved to stage 3
      • Added Array.prototype.groupByToMap method
      • Removed @@&#8203;species support
    • Added change Array by copy stage 2 proposal:
      • Array.prototype.toReversed
      • Array.prototype.toSorted
      • Array.prototype.toSpliced
      • Array.prototype.with
      • %TypedArray%.prototype.toReversed
      • %TypedArray%.prototype.toSorted
      • %TypedArray%.prototype.toSpliced
      • %TypedArray%.prototype.with
    • Added Iterator.prototype.toAsync method from the iterator helpers stage 2 proposal
    • Array.fromAsync proposal moved to stage 2
    • Added String.cooked stage 1 proposal:
    • Added Function.prototype.unThis stage 0 proposal
    • Added Function.{ isCallable, isConstructor } stage 0 proposal:
      • Function.isCallable
      • Function.isConstructor
    • Added a workaround of most cases breakage modern String#at after loading obsolete String#at proposal module, #โ€‹1019
    • Fixed Array.prototype.{ values, @&#8203;@&#8203;iterator }.name in V8 ~ Chrome 45-
    • Fixed validation of typed arrays in typed arrays iteration methods in V8 ~ Chrome 50-
    • Extension of the API, #โ€‹1012
      • Added a new core-js/actual/** namespace
      • Added entry points for each finished post-ES6 proposal

    v3.19.3

    Compare Source

    • Fixed internal slots check in methods of some built-in types, #โ€‹1017
    • Fixed URLSearchParams iterator .next that should be enumerable by the spec
    • Refactored Subscription
    • Added NodeJS 17.2 compat data mapping

    v3.19.2

    Compare Source

    • Added a workaround for a UC Browser specific version bug with unobservable RegExp#sticky flag, #โ€‹1008, #โ€‹1015
    • Added handling of comments and specific spaces to Function#name polyfill, #โ€‹1010, thanks @โ€‹ildar-shaimordanov
    • Prevented some theoretical cases of breaking / observing the internal state by patching Array.prototype[@&#8203;@&#8203;species]
    • Refactored URL and URLSearchParams
    • Added iOS Safari 15.2 compat data mapping
    • Added Electron 17.0 compat data mapping
    • Updated Deno compat data mapping

    v3.19.1

    Compare Source

    • Added a workaround for FF26- bug where ArrayBuffers are non-extensible, but Object.isExtensible does not report it:
      • Fixed in Object.{ isExtensible, isSealed, isFrozen } and Reflect.isExtensible
      • Fixed handling of ArrayBuffers as collections keys
    • Fixed Object#toString on AggregateError in IE10-
    • Fixed possible lack of dependencies of WeakMap in IE8-
    • .findLast methods family marked as supported from Chrome 97
    • Fixed inheritance of Electron compat data web. modules
    • Fixed Safari 15.1 compat data (some features were not added)
    • Added iOS Safari 15.1 compat data mapping

    v3.19.0

    Compare Source

    • Most built-ins are encapsulated in core-js for preventing possible cases of breaking / observing the internal state by patching / deleting of them
      • Avoid .call / .apply prototype methods that could be patched
      • Avoid instanceof operator - implicit .prototype / @@&#8203;hasInstance access that could be patched
      • Avoid RegExp#test, String#match and some over methods - implicit .exec and RegExp well-known symbols access that could be patched
    • Clearing of Error stack from extra entries experimentally added to AggregateError, #โ€‹996, in case lack of problems it will be extended to other cases
    • In engines with native Symbol support, new well-known symbols created with usage Symbol.for for ensuring the same keys in different realms, #โ€‹998
    • Added a workaround of a BrowserFS NodeJS process polyfill bug that incorrectly reports V8 version that's used in some cases of core-js feature detection
    • Fixed normalization of message AggregateError argument
    • Fixed order of arguments conversion in Math.scale, a spec draft bug
    • Fixed core-js-builder work in NodeJS 17, added a workaround of webpack + NodeJS 17 issue
    • Added NodeJS 17.0 compat data mapping
    • Added Opera Android 65 compat data mapping
    • Updated Electron 16.0 compat data mapping
    • Many other minor fixes and improvements

    v3.18.3

    Compare Source

    • Fixed the prototype chain of AggregateError constructor that should contain Error constructor
    • Fixed incorrect AggregateError.prototype properties descriptors
    • Fixed InstallErrorCause internal operation
    • Added NodeJS 16.11 compat data mapping
    • Added Deno 1.16 compat data mapping
    • Object.hasOwn marked as supported from Safari 15.1

    v3.18.2

    Compare Source

    • Early { Array, %TypedArray% }.fromAsync errors moved to the promise, per the latest changes of the spec draft
    • Internal ToInteger(OrInfinity) operation returns +0 for -0 argument, ES2020+ update
    • Fixed theoretical problems with handling bigint in Number constructor wrapper
    • Fixed String.raw with extra arguments
    • Fixed some missed dependencies in entry points
    • Some other minor fixes and improvements
    • Refactoring

    v3.18.1

    Compare Source

    • Fixed String.prototype.substr feature detection and compat data
    • Removed mistakenly added .forEach from prototypes of some DOM collections where it shouldn't be, #โ€‹988, #โ€‹987, thanks @โ€‹moorejs
    • Added cause to AggregateError constructor implementation (still without adding to the feature detection)
    • Families of .at and .findLast methods marked as supported in Safari TP
    • Added Electron 16.0 compat data mapping

    v3.18.0

    Compare Source

    • Added Array.fromAsync stage 1 proposal:
      • Array.fromAsync
      • %TypedArray%.fromAsync
    • .name and .toString() on polyfilled functions improved in many different cases
    • Improved internal IsConstructor and IsCallable checks
    • Fixed some internal cases of GetMethod operation
    • Fixed a bug of MS Edge 18- parseInt / parseFloat with boxed symbols
    • Fixed es.array.{ index-of, last-index-of } compat data
    • Added Deno 1.15 compat data mapping
    • Some other minor fixes and optimizations

    v3.17.3

    Compare Source

    • Fixed some possible problems related to possible extension of %IteratorPrototype% and %AsyncIteratorPrototype% in the future
    • Fixed DOMTokenList.prototype.{ forEach, @&#8203;@&#8203;iterator, keys, values, entries } in old WebKit versions where element.classList is not an instance of global DOMTokenList
    • Added NodeJS 16.9 compat data mapping
    • Added Samsung Internet 16.0 compat data mapping

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue-router to v3.5.4

    Update dependency vue-router to v3.5.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue-router | 3.5.3 -> 3.5.4 | age | adoption | passing | confidence |


    Release Notes

    vuejs/router

    v3.5.4

    Compare Source

    v3.5.3

    Compare Source

    v3.5.2

    Compare Source

    v3.5.1

    Compare Source

    v3.5.0

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency core-js to v3.22.8

    Update dependency core-js to v3.22.8

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | core-js | 3.22.6 -> 3.22.8 | age | adoption | passing | confidence |


    Release Notes

    zloirock/core-js

    v3.22.8

    Compare Source

    • Fixed possible multiple call of ToBigInt / ToNumber conversion of the argument passed to %TypedArray%.prototype.fill in V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18
    • Fixed some cases of DeletePropertyOrThrow in IE9-
    • Fixed the kind of error (TypeError instead of Error) on incorrect exec result in RegExp.prototype.test polyfill
    • Fixed dependencies of { actual, full, features }/typed-array/at entries
    • Added Electron 20.0 compat data mapping
    • Added iOS Safari 15.5 compat data mapping
    • Refactoring

    v3.22.7

    Compare Source

    • Added a workaround for V8 ~ Chrome 53 bug with non-writable prototype of some methods, #โ€‹1083

    v3.22.6

    Compare Source

    • Fixed possible double call of ToNumber conversion on arguments of Math.{ fround, trunc } polyfills
    • Array.prototype.includes marked as fixed in FF102

    v3.22.5

    Compare Source

    • Ensured that polyfilled constructors .prototype is non-writable
    • Ensured that polyfilled methods .prototype is not defined
    • Added detection and fix of a V8 ~ Chrome <103 bug of struturedClone that returns null if cloned object contains multiple references to one error

    v3.22.4

    Compare Source

    • Ensured proper .length of polyfilled functions even in compressed code (excepting some ancient engines)
    • Ensured proper .name of polyfilled accessors (excepting some ancient engines)
    • Ensured proper source / ToString conversion of polyfilled accessors
    • Actualized Rhino compat data
    • Refactoring

    v3.22.3

    Compare Source

    • Added a fix for FF99+ Array.prototype.includes broken on sparse arrays

    v3.22.2

    Compare Source

    • Fixed URLSearchParams in IE8- that was broken in the previous release
    • Fixed __lookupGetter__ entries

    v3.22.1

    Compare Source

    • Improved some cases of RegExp flags handling
    • Prevented experimental warning in NodeJS ~ 18.0 on detection fetch API
    • Added NodeJS 18.0 compat data

    v3.22.0

    Compare Source

    • Change Array by copy proposal:
      • Moved to Stage 3, March TC39 meeting
      • Disabled forced replacement and added /actual/ entry points for methods from this proposal
      • Array.prototype.toSpliced throws a TypeError instead of RangeError if the result length is more than MAX_SAFE_INTEGER, proposal-change-array-by-copy/70
    • Added some more atob / btoa fixes:
      • NodeJS <17.9 atob does not ignore spaces, node/42530
      • Actual NodeJS atob does not validate encoding, node/42646
      • FF26- implementation does not properly convert argument to string
      • IE / Edge <16 implementation have wrong arity
    • Added /full/ namespace as the replacement for /features/ since it's more descriptive in context of the rest namespaces (/es/ โŠ† /stable/ โŠ† /actual/ โŠ† /full/)
    • Avoided propagation of removed parts of proposals to upper stages. For example, %TypedArray%.prototype.groupBy was removed from the Array grouping proposal a long time ago. We can't completely remove this method since it's a breaking change. But this proposal has been promoted to stage 3 - so the proposal should be promoted without this method, this method should not be available in /actual/ entries - but it should be available in early-stage entries to avoid breakage.
    • Significant internal refactoring and splitting of modules (but without exposing to public API since it will be a breaking change - it will be exposed in the next major version)
    • Bug fixes:
      • Fixed work of non-standard V8 Error features with wrapped Error constructors, #โ€‹1061
      • null and undefined allowed as the second argument of structuredClone, #โ€‹1056
    • Tooling:
      • Stabilized proposals are filtered out from the core-js-compat -> core-js-builder -> core-js-bundle output. That mean that if the output contains, for example, es.object.has-own, the legacy reference to it, esnext.object.has-own, no longer added.
      • Aligned modules filters of core-js-builder and core-js-compat, now it's modules and exclude options
      • Added support of entry points, modules, regexes, and arrays of them to those filters
      • Missed targets option of core-js-compat means that the targets filter just will not be applied, so the result will contain modules required for all possible engines
    • Compat data:
      • .stack property on DOMException marked as supported from Deno 1.15
      • Added Deno 1.21 compat data mapping
      • Added Electron 19.0 and updated 18.0 compat data mapping
      • Added Samsung Internet 17.0 compat data mapping
      • Added Opera Android 68 compat data mapping

    v3.21.1

    Compare Source

    • Added a bugfix for the WebKit Array.prototype.{ groupBy, groupByToMap } implementation
    • core-js-compat targets parser transforms engine names to lower case
    • atob / btoa marked as fixed in NodeJS 17.5
    • Added Electron 18.0 compat data mapping
    • Added Deno 1.20 compat data mapping

    v3.21.0

    Compare Source

    • Added Base64 utility methods:
      • atob
      • btoa
    • Added the proper validation of arguments to some methods from web standards
    • Forced replacement of all features from early-stage proposals for avoiding possible web compatibility issues in the future
    • Added Rhino 1.7.14 compat data
    • Added Deno 1.19 compat data mapping
    • Added Opera Android 66 and 67 compat data mapping
    • Added iOS Safari 15.3 and 15.4 compat data mapping

    v3.20.3

    Compare Source

    • Detects and replaces broken third-party Function#bind polyfills, uses only native Function#bind in the internals
    • structuredClone should throw an error if no arguments passed
    • Changed the structure of notes in __core-js_shared__

    v3.20.2

    Compare Source

    v3.20.1

    Compare Source

    • Fixed the order of calling reactions of already fulfilled / rejected promises in Promise.prototype.then, #โ€‹1026
    • Fixed possible memory leak in specific promise chains
    • Fixed some missed dependencies of entries
    • Added Deno 1.18 compat data mapping

    v3.20.0

    Compare Source

    • Added structuredClone method from the HTML spec, see MDN
      • Includes all cases of cloning and transferring of required ECMAScript and platform types that can be polyfilled, for the details see the caveats
      • Uses native structured cloning algorithm implementations where it's possible
      • Includes the new semantic of errors cloning from html/5749
    • Added DOMException polyfill, the Web IDL spec, see MDN
      • Includes DOMException and its attributes polyfills with fixes of many different engines bugs
      • Includes DOMException#stack property polyfill in engines that should have it
      • Reuses native DOMException implementations where it's possible (for example, in old NodeJS where it's not exposed as global)
    • Added support of cause on all Error types
    • Added Error.prototype.toString method polyfill with fixes of many different bugs of JS engines
    • Added Number.prototype.toExponential method polyfill with fixes of many different bugs of JS engines
    • Array grouping proposal:
      • Moved to stage 3
      • Added Array.prototype.groupByToMap method
      • Removed @@&#8203;species support
    • Added change Array by copy stage 2 proposal:
      • Array.prototype.toReversed
      • Array.prototype.toSorted
      • Array.prototype.toSpliced
      • Array.prototype.with
      • %TypedArray%.prototype.toReversed
      • %TypedArray%.prototype.toSorted
      • %TypedArray%.prototype.toSpliced
      • %TypedArray%.prototype.with
    • Added Iterator.prototype.toAsync method from the iterator helpers stage 2 proposal
    • Array.fromAsync proposal moved to stage 2
    • Added String.cooked stage 1 proposal:
    • Added Function.prototype.unThis stage 0 proposal
    • Added Function.{ isCallable, isConstructor } stage 0 proposal:
      • Function.isCallable
      • Function.isConstructor
    • Added a workaround of most cases breakage modern String#at after loading obsolete String#at proposal module, #โ€‹1019
    • Fixed Array.prototype.{ values, @&#8203;@&#8203;iterator }.name in V8 ~ Chrome 45-
    • Fixed validation of typed arrays in typed arrays iteration methods in V8 ~ Chrome 50-
    • Extension of the API, #โ€‹1012
      • Added a new core-js/actual/** namespace
      • Added entry points for each finished post-ES6 proposal

    v3.19.3

    Compare Source

    • Fixed internal slots check in methods of some built-in types, #โ€‹1017
    • Fixed URLSearchParams iterator .next that should be enumerable by the spec
    • Refactored Subscription
    • Added NodeJS 17.2 compat data mapping

    v3.19.2

    Compare Source

    • Added a workaround for a UC Browser specific version bug with unobservable RegExp#sticky flag, #โ€‹1008, #โ€‹1015
    • Added handling of comments and specific spaces to Function#name polyfill, #โ€‹1010, thanks @โ€‹ildar-shaimordanov
    • Prevented some theoretical cases of breaking / observing the internal state by patching Array.prototype[@&#8203;@&#8203;species]
    • Refactored URL and URLSearchParams
    • Added iOS Safari 15.2 compat data mapping
    • Added Electron 17.0 compat data mapping
    • Updated Deno compat data mapping

    v3.19.1

    Compare Source

    • Added a workaround for FF26- bug where ArrayBuffers are non-extensible, but Object.isExtensible does not report it:
      • Fixed in Object.{ isExtensible, isSealed, isFrozen } and Reflect.isExtensible
      • Fixed handling of ArrayBuffers as collections keys
    • Fixed Object#toString on AggregateError in IE10-
    • Fixed possible lack of dependencies of WeakMap in IE8-
    • .findLast methods family marked as supported from Chrome 97
    • Fixed inheritance of Electron compat data web. modules
    • Fixed Safari 15.1 compat data (some features were not added)
    • Added iOS Safari 15.1 compat data mapping

    v3.19.0

    Compare Source

    • Most built-ins are encapsulated in core-js for preventing possible cases of breaking / observing the internal state by patching / deleting of them
      • Avoid .call / .apply prototype methods that could be patched
      • Avoid instanceof operator - implicit .prototype / @@&#8203;hasInstance access that could be patched
      • Avoid RegExp#test, String#match and some over methods - implicit .exec and RegExp well-known symbols access that could be patched
    • Clearing of Error stack from extra entries experimentally added to AggregateError, #โ€‹996, in case lack of problems it will be extended to other cases
    • In engines with native Symbol support, new well-known symbols created with usage Symbol.for for ensuring the same keys in different realms, #โ€‹998
    • Added a workaround of a BrowserFS NodeJS process polyfill bug that incorrectly reports V8 version that's used in some cases of core-js feature detection
    • Fixed normalization of message AggregateError argument
    • Fixed order of arguments conversion in Math.scale, a spec draft bug
    • Fixed core-js-builder work in NodeJS 17, added a workaround of webpack + NodeJS 17 issue
    • Added NodeJS 17.0 compat data mapping
    • Added Opera Android 65 compat data mapping
    • Updated Electron 16.0 compat data mapping
    • Many other minor fixes and improvements

    v3.18.3

    Compare Source

    • Fixed the prototype chain of AggregateError constructor that should contain Error constructor
    • Fixed incorrect AggregateError.prototype properties descriptors
    • Fixed InstallErrorCause internal operation
    • Added NodeJS 16.11 compat data mapping
    • Added Deno 1.16 compat data mapping
    • Object.hasOwn marked as supported from Safari 15.1

    v3.18.2

    Compare Source

    • Early { Array, %TypedArray% }.fromAsync errors moved to the promise, per the latest changes of the spec draft
    • Internal ToInteger(OrInfinity) operation returns +0 for -0 argument, ES2020+ update
    • Fixed theoretical problems with handling bigint in Number constructor wrapper
    • Fixed String.raw with extra arguments
    • Fixed some missed dependencies in entry points
    • Some other minor fixes and improvements
    • Refactoring

    v3.18.1

    Compare Source

    • Fixed String.prototype.substr feature detection and compat data
    • Removed mistakenly added .forEach from prototypes of some DOM collections where it shouldn't be, #โ€‹988, #โ€‹987, thanks @โ€‹moorejs
    • Added cause to AggregateError constructor implementation (still without adding to the feature detection)
    • Families of .at and .findLast methods marked as supported in Safari TP
    • Added Electron 16.0 compat data mapping

    v3.18.0

    Compare Source

    • Added Array.fromAsync stage 1 proposal:
      • Array.fromAsync
      • %TypedArray%.fromAsync
    • .name and .toString() on polyfilled functions improved in many different cases
    • Improved internal IsConstructor and IsCallable checks
    • Fixed some internal cases of GetMethod operation
    • Fixed a bug of MS Edge 18- parseInt / parseFloat with boxed symbols
    • Fixed es.array.{ index-of, last-index-of } compat data
    • Added Deno 1.15 compat data mapping
    • Some other minor fixes and optimizations

    v3.17.3

    Compare Source

    • Fixed some possible problems related to possible extension of %IteratorPrototype% and %AsyncIteratorPrototype% in the future
    • Fixed DOMTokenList.prototype.{ forEach, @&#8203;@&#8203;iterator, keys, values, entries } in old WebKit versions where element.classList is not an instance of global DOMTokenList
    • Added NodeJS 16.9 compat data mapping
    • Added Samsung Internet 16.0 compat data mapping

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update golang Docker tag to v1.19.4

    Update golang Docker tag to v1.19.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | golang | final | minor | 1.18.5 -> 1.19.4 |


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Update dependency vue to v3

    Update dependency vue to v3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | vue (source) | 2.7.14 -> 3.2.45 | age | adoption | passing | confidence |


    Release Notes

    vuejs/core

    v3.2.45

    Compare Source

    Bug Fixes

    v3.2.44

    Compare Source

    Bug Fixes

    v3.2.43

    Compare Source

    Bug Fixes
    • watch: ensure oldValue in multi-source watcher is always an array (23e85e2), closes #โ€‹7070

    v3.2.42

    Compare Source

    Bug Fixes

    v3.2.41

    Compare Source

    Bug Fixes

    v3.2.40

    Compare Source

    Bug Fixes

    v3.2.39

    Compare Source

    Bug Fixes

    v3.2.38

    Compare Source

    Bug Fixes
    Features
    • custom-elements: automatically respect custom elements when compiling in browser (9f8f07e)
    Performance Improvements

    v3.2.37

    Compare Source

    Bug Fixes

    v3.2.36

    Compare Source

    Bug Fixes
    Performance Improvements

    v3.2.35

    Compare Source

    Bug Fixes

    v3.2.34

    Compare Source

    Bug Fixes

    v3.2.33

    Compare Source

    Bug Fixes

    v3.2.32

    Compare Source

    Bug Fixes

    v3.2.31

    Compare Source

    Bug Fixes

    v3.2.30

    Compare Source

    Features
    • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #โ€‹5304
    Performance Improvements
    • reactivity: optimize effect/effectScope active state tracking (2993a24)

    v3.2.29

    Compare Source

    Bug Fixes

    v3.2.28

    Compare Source

    v3.2.27

    Compare Source

    Bug Fixes
    Features
    • types: simplify ExtractPropTypes to avoid props JSDocs being removed (#โ€‹5166) (a570b38)
    Performance Improvements
    • improve memory usage for static vnodes (ed9eb62)

    v3.2.26

    Compare Source

    v3.2.25

    Compare Source

    Bug Fixes
    • compiler-sfc: generate valid TS in script and script setup co-usage with TS (7e4f0a8), closes #โ€‹5094
    • compiler: force block for custom dirs and inline beforeUpdate hooks (1c9a481)
    • runtime-core: disallow recurse in vnode/directive beforeUpdate hooks (a1167c5)
    Features
    • compiler-core: support aliasing vue: prefixed events to inline vnode hooks (4b0ca87)
    • experimental: allow const for ref sugar declarations (9823bd9)
    • reactivity-transform/types: restructure macro types + export types for all shorthand methods (db729ce)
    • reactivity-transform: $$() escape for destructured prop bindings (198ca14)
    • reactivity-transform: rename @โ€‹vue/ref-transform to @โ€‹vue/reactivity-transform (d70fd8d)
    • reactivity-transform: support $-shorthands for all ref-creating APIs (179fc05)
    • reactivity-transform: support optionally importing macros (fbd0fe9)
    • reactivity-transform: use toRef() for $() destructure codegen (93ba6b9)
    • reactivity: support default value in toRef() (2db9c90)
    • sfc-playground: add github link (#โ€‹5067) (9ac0dde)
    • sfc-playground: prevent ctrl+s default behavior (#โ€‹5066) (b027507)
    • support ref in v-for, remove compat deprecation warnings (41c18ef)

    v3.2.24

    Compare Source

    Bug Fixes
    Features
    • types/script-setup: add gene

    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    docker-compose
    deployment/docker-compose/docker-compose.yml
    • docker.io/bitnami/etcd 3-debian-10
    dockerfile
    Dockerfile
    • golang 1.18.5
    github-actions
    .github/workflows/api.yml
    • actions/checkout v3
    • actions/setup-go v3
    .github/workflows/release.yml
    • actions/checkout v3
    • actions/setup-go v3
    • goreleaser/goreleaser-action v4
    .github/workflows/release_package.yml
    • actions/checkout v3
    • actions/setup-go v3
    .github/workflows/todo.yml
    • alstr/todo-to-issue-action v4.9.1
    .github/workflows/ui.yml
    • actions/checkout v3
    • actions/cache v3
    • actions/setup-node v3
    gomod
    go.mod
    • go 1.17
    • github.com/aws/aws-sdk-go v1.44.174
    • github.com/drone/envsubst v1.0.3
    • github.com/franela/goblin v0.0.0-20211003143422-0a4f594942bf@0a4f594942bf
    • github.com/gin-gonic/gin v1.8.2
    • github.com/prometheus/client_golang v1.14.0
    • github.com/satori/go.uuid v1.2.0
    • github.com/sirupsen/logrus v1.9.0
    • github.com/spf13/cobra v1.6.1
    • github.com/spf13/viper v1.14.0
    • github.com/stretchr/testify v1.8.1
    • go.etcd.io/etcd/client/v3 v3.5.6
    • golang.org/x/crypto v0.5.0
    npm
    web/package.json
    • axios 0.27.2
    • buefy 0.9.22
    • core-js 3.27.1
    • vue 2.7.14
    • vue-router 3.6.5
    • vuex 3.6.2
    • @babel/core 7.20.12
    • @babel/eslint-parser 7.19.1
    • @vue/cli-plugin-babel 5.0.8
    • @vue/cli-plugin-eslint 5.0.8
    • @vue/cli-service 5.0.8
    • eslint 8.31.0
    • eslint-plugin-vue 9.8.0
    • vue-template-compiler 2.7.14

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
  • Docker Volume Backup Support

    Docker Volume Backup Support

    Docker Volume Backup Support

    https://github.com/Clivern/Walrus/blob/9da247bbcbbbbe81cea893502d88aa7dada0f98d/core/model/cron.go#L54

    	BackupEtcd = "@BackupEtcd"
    
    	// BackupDockerVolume constant
    	// TODO Docker Volume Backup Support
    	BackupDockerVolume = "@BackupDockerVolume"
    
    	// BackupSQLite constant
    	BackupSQLite = "@BackupSQLite"
    )
    ew file mode 100644
    ndex 0000000..b3f64de
    ++ b/deployment/docker-compose/README.md
    

    7664f8ac8a1867b175d3d4cec9958bdc38577429

Distributed reliable key-value store for the most critical data of a distributed system

etcd Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order

Jan 9, 2023
Secure storage for personal records built to comply with GDPR
Secure storage for personal records built to comply with GDPR

Databunker Databunker is a Personally Identifiable Information (PII) Data Storage Service built to Comply with GDPR and CCPA Privacy Requirements. Pro

Jan 8, 2023
Set out to become the de facto open-source alternative to MongoDB

MangoDB MangoDB is set out to become the de facto open-source alternative to MongoDB. MangoDB is an open-source proxy, which converts MongoDB wire pro

Dec 29, 2022
Nipo is a powerful, fast, multi-thread, clustered and in-memory key-value database, with ability to configure token and acl on commands and key-regexes written by GO

Welcome to NIPO Nipo is a powerful, fast, multi-thread, clustered and in-memory key-value database, with ability to configure token and acl on command

Dec 28, 2022
Fast and simple key/value store written using Go's standard library
Fast and simple key/value store written using Go's standard library

Table of Contents Description Usage Cookbook Disadvantages Motivation Benchmarks Test 1 Test 4 Description Package pudge is a fast and simple key/valu

Nov 17, 2022
Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.
Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.

unitdb Unitdb is blazing fast specialized time-series database for microservices, IoT, and realtime internet connected devices. As Unitdb satisfy the

Jan 1, 2023
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
VictoriaMetrics: fast, cost-effective monitoring solution and time series database

VictoriaMetrics VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database. It is available in binary release

Jan 8, 2023
rosedb is an embedded and fast k-v database based on LSM + WAL
rosedb is an embedded and fast k-v database based on LSM + WAL

A simple k-v database in pure Golang, supports string, list, hash, set, sorted set.

Dec 30, 2022
BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go
BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go

BadgerDB BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go. It is the underlying database for Dgraph, a fast,

Dec 10, 2021
Eagle - Eagle is a fast and strongly encrypted key-value store written in pure Golang.

EagleDB EagleDB is a fast and simple key-value store written in Golang. It has been designed for handling an exaggerated read/write workload, which su

Dec 10, 2022
The Prometheus monitoring system and time series database.

Prometheus Visit prometheus.io for the full documentation, examples and guides. Prometheus, a Cloud Native Computing Foundation project, is a systems

Dec 31, 2022
IceFireDB - Distributed disk storage system based on Raft and RESP protocol.
IceFireDB - Distributed disk storage system based on Raft and RESP protocol.

Distributed disk storage database based on Raft and Redis protocol.

Dec 27, 2022
Fast key-value DB in Go.
Fast key-value DB in Go.

BadgerDB BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go. It is the underlying database for Dgraph, a fast,

Dec 29, 2022
Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead

fastcache - fast thread-safe inmemory cache for big number of entries in Go Features Fast. Performance scales on multi-core CPUs. See benchmark result

Dec 30, 2022
moss - a simple, fast, ordered, persistable, key-val storage library for golang

moss moss provides a simple, fast, persistable, ordered key-val collection implementation as a 100% golang library. moss stands for "memory-oriented s

Dec 18, 2022
Fast Database engine in Go.

gaeadb gaeadb is a pure Go Database engine designed by nnsgmsone. The goal of the project is to provide a database engine for table or other complex d

Oct 14, 2022
Fsyncperf - A very simple program to tell how fast/slow is fsync on your disk

fsyncperf This is a very simple program to tell you who fast/slow is fsync on yo

May 9, 2022
Badger - Fast Key-Value DB in Go

BadgerDB This is a fork of dgraph-io/badger, maintained by the Outcaste team. Ba

Jan 8, 2023
A distributed MySQL binlog storage system built on Raft
A distributed MySQL binlog storage system built on Raft

What is kingbus? ไธญๆ–‡ Kingbus is a distributed MySQL binlog store based on raft. Kingbus can act as a slave to the real master and as a master to the sl

Dec 31, 2022